diff --git a/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/__init__.py b/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/__init__.py index 987622ae0455..0a5ec4b52c56 100644 --- a/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/__init__.py +++ b/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/__init__.py @@ -1293,6 +1293,7 @@ from ._paged_models import PipelineResourcePaged from ._paged_models import TriggerResourcePaged from ._data_factory_management_client_enums import ( + FactoryIdentityType, GlobalParameterType, PublicNetworkAccess, IntegrationRuntimeState, @@ -1334,6 +1335,8 @@ SybaseAuthenticationType, DynamicsDeploymentType, DynamicsAuthenticationType, + CosmosDbServicePrincipalCredentialType, + CosmosDbConnectionMode, OrcCompressionCodec, AvroCompressionCodec, TumblingWindowFrequency, @@ -2023,6 +2026,7 @@ 'DataFlowDebugSessionInfoPaged', 'ManagedVirtualNetworkResourcePaged', 'ManagedPrivateEndpointResourcePaged', + 'FactoryIdentityType', 'GlobalParameterType', 'PublicNetworkAccess', 'IntegrationRuntimeState', @@ -2064,6 +2068,8 @@ 'SybaseAuthenticationType', 'DynamicsDeploymentType', 'DynamicsAuthenticationType', + 'CosmosDbServicePrincipalCredentialType', + 'CosmosDbConnectionMode', 'OrcCompressionCodec', 'AvroCompressionCodec', 'TumblingWindowFrequency', diff --git a/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/_data_factory_management_client_enums.py b/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/_data_factory_management_client_enums.py index da122b92c18c..43060679f0fc 100644 --- a/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/_data_factory_management_client_enums.py +++ b/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/_data_factory_management_client_enums.py @@ -12,6 +12,13 @@ from enum import Enum +class FactoryIdentityType(str, Enum): + + system_assigned = "SystemAssigned" + user_assigned = "UserAssigned" + system_assigned_user_assigned = "SystemAssigned,UserAssigned" + + class GlobalParameterType(str, Enum): object_enum = "Object" @@ -321,6 +328,18 @@ class DynamicsAuthenticationType(str, Enum): aad_service_principal = "AADServicePrincipal" +class CosmosDbServicePrincipalCredentialType(str, Enum): + + service_principal_key = "ServicePrincipalKey" + service_principal_cert = "ServicePrincipalCert" + + +class CosmosDbConnectionMode(str, Enum): + + gateway = "Gateway" + direct = "Direct" + + class OrcCompressionCodec(str, Enum): none = "none" diff --git a/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/_models.py b/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/_models.py index 42896972d1f1..9f2028417165 100644 --- a/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/_models.py +++ b/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/_models.py @@ -8947,6 +8947,39 @@ class CosmosDbLinkedService(LinkedService): :param account_key: The account key of the Azure CosmosDB account. Type: SecureString or AzureKeyVaultSecretReference. :type account_key: ~azure.mgmt.datafactory.models.SecretBase + :param service_principal_id: The client ID of the application in Azure + Active Directory used for Server-To-Server authentication. Type: string + (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_credential_type: The service principal credential + type to use in Server-To-Server authentication. 'ServicePrincipalKey' for + key/secret, 'ServicePrincipalCert' for certificate. Type: string (or + Expression with resultType string). Possible values include: + 'ServicePrincipalKey', 'ServicePrincipalCert' + :type service_principal_credential_type: str or + ~azure.mgmt.datafactory.models.CosmosDbServicePrincipalCredentialType + :param service_principal_credential: The credential of the service + principal object in Azure Active Directory. If + servicePrincipalCredentialType is 'ServicePrincipalKey', + servicePrincipalCredential can be SecureString or + AzureKeyVaultSecretReference. If servicePrincipalCredentialType is + 'ServicePrincipalCert', servicePrincipalCredential can only be + AzureKeyVaultSecretReference. + :type service_principal_credential: + ~azure.mgmt.datafactory.models.SecretBase + :param tenant: The name or ID of the tenant to which the service principal + belongs. Type: string (or Expression with resultType string). + :type tenant: object + :param azure_cloud_type: Indicates the azure cloud type of the service + principle auth. Allowed values are AzurePublic, AzureChina, + AzureUsGovernment, AzureGermany. Default value is the data factory + regions’ cloud type. Type: string (or Expression with resultType string). + :type azure_cloud_type: object + :param connection_mode: The connection mode used to access CosmosDB + account. Type: string (or Expression with resultType string). Possible + values include: 'Gateway', 'Direct' + :type connection_mode: str or + ~azure.mgmt.datafactory.models.CosmosDbConnectionMode :param encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). @@ -8968,6 +9001,12 @@ class CosmosDbLinkedService(LinkedService): 'account_endpoint': {'key': 'typeProperties.accountEndpoint', 'type': 'object'}, 'database': {'key': 'typeProperties.database', 'type': 'object'}, 'account_key': {'key': 'typeProperties.accountKey', 'type': 'SecretBase'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'str'}, + 'service_principal_credential': {'key': 'typeProperties.servicePrincipalCredential', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, + 'connection_mode': {'key': 'typeProperties.connectionMode', 'type': 'str'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, } @@ -8977,6 +9016,12 @@ def __init__(self, **kwargs): self.account_endpoint = kwargs.get('account_endpoint', None) self.database = kwargs.get('database', None) self.account_key = kwargs.get('account_key', None) + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_credential_type = kwargs.get('service_principal_credential_type', None) + self.service_principal_credential = kwargs.get('service_principal_credential', None) + self.tenant = kwargs.get('tenant', None) + self.azure_cloud_type = kwargs.get('azure_cloud_type', None) + self.connection_mode = kwargs.get('connection_mode', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) self.type = 'CosmosDb' @@ -14195,8 +14240,9 @@ class FactoryIdentity(Model): All required parameters must be populated in order to send to Azure. - :ivar type: Required. The identity type. Default value: "SystemAssigned" . - :vartype type: str + :param type: Required. The identity type. Possible values include: + 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned' + :type type: str or ~azure.mgmt.datafactory.models.FactoryIdentityType :ivar principal_id: The principal id of the identity. :vartype principal_id: str :ivar tenant_id: The client tenant id of the identity. @@ -14207,7 +14253,7 @@ class FactoryIdentity(Model): """ _validation = { - 'type': {'required': True, 'constant': True}, + 'type': {'required': True}, 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, } @@ -14219,10 +14265,9 @@ class FactoryIdentity(Model): 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{object}'}, } - type = "SystemAssigned" - def __init__(self, **kwargs): super(FactoryIdentity, self).__init__(**kwargs) + self.type = kwargs.get('type', None) self.principal_id = None self.tenant_id = None self.user_assigned_identities = kwargs.get('user_assigned_identities', None) @@ -34723,14 +34768,16 @@ class WebActivityAuthentication(Model): for ServicePrincipal :type pfx: ~azure.mgmt.datafactory.models.SecretBase :param username: Web activity authentication user name for basic - authentication or ClientID when used for ServicePrincipal - :type username: str + authentication or ClientID when used for ServicePrincipal. Type: string + (or Expression with resultType string). + :type username: object :param password: Password for the PFX file or basic authentication / Secret when used for ServicePrincipal :type password: ~azure.mgmt.datafactory.models.SecretBase :param resource: Resource for which Azure Auth token will be requested - when using MSI Authentication. - :type resource: str + when using MSI Authentication. Type: string (or Expression with resultType + string). + :type resource: object :param user_tenant: TenantId for which Azure Auth token will be requested when using ServicePrincipal Authentication. Type: string (or Expression with resultType string). @@ -34744,9 +34791,9 @@ class WebActivityAuthentication(Model): _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, 'pfx': {'key': 'pfx', 'type': 'SecretBase'}, - 'username': {'key': 'username', 'type': 'str'}, + 'username': {'key': 'username', 'type': 'object'}, 'password': {'key': 'password', 'type': 'SecretBase'}, - 'resource': {'key': 'resource', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'object'}, 'user_tenant': {'key': 'userTenant', 'type': 'object'}, } diff --git a/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/_models_py3.py b/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/_models_py3.py index f4386d2b9084..d8bfe150b791 100644 --- a/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/_models_py3.py +++ b/sdk/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory/models/_models_py3.py @@ -8947,6 +8947,39 @@ class CosmosDbLinkedService(LinkedService): :param account_key: The account key of the Azure CosmosDB account. Type: SecureString or AzureKeyVaultSecretReference. :type account_key: ~azure.mgmt.datafactory.models.SecretBase + :param service_principal_id: The client ID of the application in Azure + Active Directory used for Server-To-Server authentication. Type: string + (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_credential_type: The service principal credential + type to use in Server-To-Server authentication. 'ServicePrincipalKey' for + key/secret, 'ServicePrincipalCert' for certificate. Type: string (or + Expression with resultType string). Possible values include: + 'ServicePrincipalKey', 'ServicePrincipalCert' + :type service_principal_credential_type: str or + ~azure.mgmt.datafactory.models.CosmosDbServicePrincipalCredentialType + :param service_principal_credential: The credential of the service + principal object in Azure Active Directory. If + servicePrincipalCredentialType is 'ServicePrincipalKey', + servicePrincipalCredential can be SecureString or + AzureKeyVaultSecretReference. If servicePrincipalCredentialType is + 'ServicePrincipalCert', servicePrincipalCredential can only be + AzureKeyVaultSecretReference. + :type service_principal_credential: + ~azure.mgmt.datafactory.models.SecretBase + :param tenant: The name or ID of the tenant to which the service principal + belongs. Type: string (or Expression with resultType string). + :type tenant: object + :param azure_cloud_type: Indicates the azure cloud type of the service + principle auth. Allowed values are AzurePublic, AzureChina, + AzureUsGovernment, AzureGermany. Default value is the data factory + regions’ cloud type. Type: string (or Expression with resultType string). + :type azure_cloud_type: object + :param connection_mode: The connection mode used to access CosmosDB + account. Type: string (or Expression with resultType string). Possible + values include: 'Gateway', 'Direct' + :type connection_mode: str or + ~azure.mgmt.datafactory.models.CosmosDbConnectionMode :param encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). @@ -8968,15 +9001,27 @@ class CosmosDbLinkedService(LinkedService): 'account_endpoint': {'key': 'typeProperties.accountEndpoint', 'type': 'object'}, 'database': {'key': 'typeProperties.database', 'type': 'object'}, 'account_key': {'key': 'typeProperties.accountKey', 'type': 'SecretBase'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'str'}, + 'service_principal_credential': {'key': 'typeProperties.servicePrincipalCredential', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, + 'connection_mode': {'key': 'typeProperties.connectionMode', 'type': 'str'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, } - def __init__(self, *, additional_properties=None, connect_via=None, description: str=None, parameters=None, annotations=None, connection_string=None, account_endpoint=None, database=None, account_key=None, encrypted_credential=None, **kwargs) -> None: + def __init__(self, *, additional_properties=None, connect_via=None, description: str=None, parameters=None, annotations=None, connection_string=None, account_endpoint=None, database=None, account_key=None, service_principal_id=None, service_principal_credential_type=None, service_principal_credential=None, tenant=None, azure_cloud_type=None, connection_mode=None, encrypted_credential=None, **kwargs) -> None: super(CosmosDbLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.connection_string = connection_string self.account_endpoint = account_endpoint self.database = database self.account_key = account_key + self.service_principal_id = service_principal_id + self.service_principal_credential_type = service_principal_credential_type + self.service_principal_credential = service_principal_credential + self.tenant = tenant + self.azure_cloud_type = azure_cloud_type + self.connection_mode = connection_mode self.encrypted_credential = encrypted_credential self.type = 'CosmosDb' @@ -14195,8 +14240,9 @@ class FactoryIdentity(Model): All required parameters must be populated in order to send to Azure. - :ivar type: Required. The identity type. Default value: "SystemAssigned" . - :vartype type: str + :param type: Required. The identity type. Possible values include: + 'SystemAssigned', 'UserAssigned', 'SystemAssigned,UserAssigned' + :type type: str or ~azure.mgmt.datafactory.models.FactoryIdentityType :ivar principal_id: The principal id of the identity. :vartype principal_id: str :ivar tenant_id: The client tenant id of the identity. @@ -14207,7 +14253,7 @@ class FactoryIdentity(Model): """ _validation = { - 'type': {'required': True, 'constant': True}, + 'type': {'required': True}, 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, } @@ -14219,10 +14265,9 @@ class FactoryIdentity(Model): 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{object}'}, } - type = "SystemAssigned" - - def __init__(self, *, user_assigned_identities=None, **kwargs) -> None: + def __init__(self, *, type, user_assigned_identities=None, **kwargs) -> None: super(FactoryIdentity, self).__init__(**kwargs) + self.type = type self.principal_id = None self.tenant_id = None self.user_assigned_identities = user_assigned_identities @@ -34723,14 +34768,16 @@ class WebActivityAuthentication(Model): for ServicePrincipal :type pfx: ~azure.mgmt.datafactory.models.SecretBase :param username: Web activity authentication user name for basic - authentication or ClientID when used for ServicePrincipal - :type username: str + authentication or ClientID when used for ServicePrincipal. Type: string + (or Expression with resultType string). + :type username: object :param password: Password for the PFX file or basic authentication / Secret when used for ServicePrincipal :type password: ~azure.mgmt.datafactory.models.SecretBase :param resource: Resource for which Azure Auth token will be requested - when using MSI Authentication. - :type resource: str + when using MSI Authentication. Type: string (or Expression with resultType + string). + :type resource: object :param user_tenant: TenantId for which Azure Auth token will be requested when using ServicePrincipal Authentication. Type: string (or Expression with resultType string). @@ -34744,13 +34791,13 @@ class WebActivityAuthentication(Model): _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, 'pfx': {'key': 'pfx', 'type': 'SecretBase'}, - 'username': {'key': 'username', 'type': 'str'}, + 'username': {'key': 'username', 'type': 'object'}, 'password': {'key': 'password', 'type': 'SecretBase'}, - 'resource': {'key': 'resource', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'object'}, 'user_tenant': {'key': 'userTenant', 'type': 'object'}, } - def __init__(self, *, type: str, pfx=None, username: str=None, password=None, resource: str=None, user_tenant=None, **kwargs) -> None: + def __init__(self, *, type: str, pfx=None, username=None, password=None, resource=None, user_tenant=None, **kwargs) -> None: super(WebActivityAuthentication, self).__init__(**kwargs) self.type = type self.pfx = pfx