diff --git a/src/datafactory/HISTORY.rst b/src/datafactory/HISTORY.rst new file mode 100644 index 00000000000..27f152061e8 --- /dev/null +++ b/src/datafactory/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/datafactory/README.md b/src/datafactory/README.md new file mode 100644 index 00000000000..2098dc964cd --- /dev/null +++ b/src/datafactory/README.md @@ -0,0 +1,5 @@ +Microsoft Azure CLI 'datafactory' Extension +========================================== + +This package is for the 'datafactory' extension. +i.e. 'az datafactory' diff --git a/src/datafactory/azext_datafactory/__init__.py b/src/datafactory/azext_datafactory/__init__.py new file mode 100644 index 00000000000..9e625245d45 --- /dev/null +++ b/src/datafactory/azext_datafactory/__init__.py @@ -0,0 +1,46 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.cli.core import AzCommandsLoader +from azext_datafactory.generated._help import helps # pylint: disable=unused-import + + +class DataFactoryManagementClientCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_datafactory.generated._client_factory import cf_datafactory + datafactory_custom = CliCommandType( + operations_tmpl='azext_datafactory.custom#{}', + client_factory=cf_datafactory) + super(DataFactoryManagementClientCommandsLoader, self).__init__(cli_ctx=cli_ctx, + custom_command_type=datafactory_custom) + + def load_command_table(self, args): + from azext_datafactory.generated.commands import load_command_table + load_command_table(self, args) + try: + from azext_datafactory.manual.commands import load_command_table as load_command_table_manual + load_command_table_manual(self, args) + except ImportError: + pass + return self.command_table + + def load_arguments(self, command): + from azext_datafactory.generated._params import load_arguments + load_arguments(self, command) + try: + from azext_datafactory.manual._params import load_arguments as load_arguments_manual + load_arguments_manual(self, command) + except ImportError: + pass + + +COMMAND_LOADER_CLS = DataFactoryManagementClientCommandsLoader diff --git a/src/datafactory/azext_datafactory/action.py b/src/datafactory/azext_datafactory/action.py new file mode 100644 index 00000000000..a846b2766c4 --- /dev/null +++ b/src/datafactory/azext_datafactory/action.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.action import * # noqa: F403 +try: + from .manual.action import * # noqa: F403 +except ImportError: + pass diff --git a/src/datafactory/azext_datafactory/azext_metadata.json b/src/datafactory/azext_datafactory/azext_metadata.json new file mode 100644 index 00000000000..7b56fb1e11a --- /dev/null +++ b/src/datafactory/azext_datafactory/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1" +} \ No newline at end of file diff --git a/src/datafactory/azext_datafactory/custom.py b/src/datafactory/azext_datafactory/custom.py new file mode 100644 index 00000000000..7f31674ce96 --- /dev/null +++ b/src/datafactory/azext_datafactory/custom.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.custom import * # noqa: F403 +try: + from .manual.custom import * # noqa: F403 +except ImportError: + pass diff --git a/src/datafactory/azext_datafactory/generated/__init__.py b/src/datafactory/azext_datafactory/generated/__init__.py new file mode 100644 index 00000000000..ee0c4f36bd0 --- /dev/null +++ b/src/datafactory/azext_datafactory/generated/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/datafactory/azext_datafactory/generated/_client_factory.py b/src/datafactory/azext_datafactory/generated/_client_factory.py new file mode 100644 index 00000000000..2c8aeec9cbb --- /dev/null +++ b/src/datafactory/azext_datafactory/generated/_client_factory.py @@ -0,0 +1,71 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def cf_datafactory(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from ..vendored_sdks.datafactory import DataFactoryManagementClient + return get_mgmt_service_client(cli_ctx, DataFactoryManagementClient) + + +def cf_factory(cli_ctx, *_): + return cf_datafactory(cli_ctx).factory + + +def cf_exposure_control(cli_ctx, *_): + return cf_datafactory(cli_ctx).exposure_control + + +def cf_integration_runtime(cli_ctx, *_): + return cf_datafactory(cli_ctx).integration_runtime + + +def cf_integration_runtime_object_metadata(cli_ctx, *_): + return cf_datafactory(cli_ctx).integration_runtime_object_metadata + + +def cf_integration_runtime_node(cli_ctx, *_): + return cf_datafactory(cli_ctx).integration_runtime_node + + +def cf_linked_service(cli_ctx, *_): + return cf_datafactory(cli_ctx).linked_service + + +def cf_dataset(cli_ctx, *_): + return cf_datafactory(cli_ctx).dataset + + +def cf_pipeline(cli_ctx, *_): + return cf_datafactory(cli_ctx).pipeline + + +def cf_pipeline_run(cli_ctx, *_): + return cf_datafactory(cli_ctx).pipeline_run + + +def cf_activity_run(cli_ctx, *_): + return cf_datafactory(cli_ctx).activity_run + + +def cf_trigger(cli_ctx, *_): + return cf_datafactory(cli_ctx).trigger + + +def cf_trigger_run(cli_ctx, *_): + return cf_datafactory(cli_ctx).trigger_run + + +def cf_data_flow(cli_ctx, *_): + return cf_datafactory(cli_ctx).data_flow + + +def cf_data_flow_debug_session(cli_ctx, *_): + return cf_datafactory(cli_ctx).data_flow_debug_session diff --git a/src/datafactory/azext_datafactory/generated/_help.py b/src/datafactory/azext_datafactory/generated/_help.py new file mode 100644 index 00000000000..681f772a568 --- /dev/null +++ b/src/datafactory/azext_datafactory/generated/_help.py @@ -0,0 +1,1024 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['datafactory factory'] = """ + type: group + short-summary: datafactory factory +""" + +helps['datafactory factory list'] = """ + type: command + short-summary: Lists factories under the specified subscription. + examples: + - name: Factories_ListByResourceGroup + text: |- + az datafactory factory list --resource-group "exampleResourceGroup" +""" + +helps['datafactory factory show'] = """ + type: command + short-summary: Gets a factory. + examples: + - name: Factories_Get + text: |- + az datafactory factory show --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" +""" + +helps['datafactory factory create'] = """ + type: command + short-summary: Creates or updates a factory. + examples: + - name: Factories_CreateOrUpdate + text: |- + az datafactory factory create --location "East US" --factory-name "exampleFactoryName" --resource-group \ +"exampleResourceGroup" +""" + +helps['datafactory factory update'] = """ + type: command + short-summary: Updates a factory. + examples: + - name: Factories_Update + text: |- + az datafactory factory update --factory-name "exampleFactoryName" --tags exampleTag="exampleValue" --res\ +ource-group "exampleResourceGroup" +""" + +helps['datafactory factory delete'] = """ + type: command + short-summary: Deletes a factory. + examples: + - name: Factories_Delete + text: |- + az datafactory factory delete --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup\ +" +""" + +helps['datafactory factory configure-factory-repo'] = """ + type: command + short-summary: Updates a factory's repo information. + examples: + - name: Factories_ConfigureFactoryRepo + text: |- + az datafactory factory configure-factory-repo --factory-resource-id "/subscriptions/12345678-1234-1234-1\ +234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName" --vst\ +s-configuration account-name="ADF" collaboration-branch="master" last-commit-id="" project-name="project" repository-na\ +me="repo" root-folder="/" tenant-id="" --location-id "East US" +""" + +helps['datafactory factory get-data-plane-access'] = """ + type: command + short-summary: Get Data Plane access. + examples: + - name: Factories_GetDataPlaneAccess + text: |- + az datafactory factory get-data-plane-access --factory-name "exampleFactoryName" --access-resource-path \ +"" --expire-time "2018-11-10T09:46:20.2659347Z" --permissions "r" --profile-name "DefaultProfile" --start-time "2018-11\ +-10T02:46:20.2659347Z" --resource-group "exampleResourceGroup" +""" + +helps['datafactory factory get-git-hub-access-token'] = """ + type: command + short-summary: Get GitHub Access Token. + examples: + - name: Factories_GetGitHubAccessToken + text: |- + az datafactory factory get-git-hub-access-token --factory-name "exampleFactoryName" --git-hub-access-cod\ +e "some" --git-hub-access-token-base-url "some" --git-hub-client-id "some" --resource-group "exampleResourceGroup" +""" + +helps['datafactory exposure-control'] = """ + type: group + short-summary: datafactory exposure-control +""" + +helps['datafactory exposure-control get-feature-value'] = """ + type: command + short-summary: Get exposure control feature for specific location. + examples: + - name: ExposureControl_GetFeatureValue + text: |- + az datafactory exposure-control get-feature-value --feature-name "ADFIntegrationRuntimeSharingRbac" --fe\ +ature-type "Feature" --location-id "WestEurope" +""" + +helps['datafactory exposure-control get-feature-value-by-factory'] = """ + type: command + short-summary: Get exposure control feature for specific factory. + examples: + - name: ExposureControl_GetFeatureValueByFactory + text: |- + az datafactory exposure-control get-feature-value-by-factory --feature-name "ADFIntegrationRuntimeSharin\ +gRbac" --feature-type "Feature" --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime'] = """ + type: group + short-summary: datafactory integration-runtime +""" + +helps['datafactory integration-runtime list'] = """ + type: command + short-summary: Lists integration runtimes. + examples: + - name: IntegrationRuntimes_ListByFactory + text: |- + az datafactory integration-runtime list --factory-name "exampleFactoryName" --resource-group "exampleRes\ +ourceGroup" +""" + +helps['datafactory integration-runtime show'] = """ + type: command + short-summary: Gets an integration runtime. + examples: + - name: IntegrationRuntimes_Get + text: |- + az datafactory integration-runtime show --factory-name "exampleFactoryName" --integration-runtime-name "\ +exampleIntegrationRuntime" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime create'] = """ + type: command + short-summary: Creates or updates an integration runtime. + examples: + - name: IntegrationRuntimes_Create + text: |- + az datafactory integration-runtime create --factory-name "exampleFactoryName" --properties "{\\"type\\":\ +\\"SelfHosted\\",\\"description\\":\\"A selfhosted integration runtime\\"}" --integration-runtime-name "exampleIntegrat\ +ionRuntime" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime update'] = """ + type: command + short-summary: Updates an integration runtime. + examples: + - name: IntegrationRuntimes_Update + text: |- + az datafactory integration-runtime update --factory-name "exampleFactoryName" --integration-runtime-name\ + "exampleIntegrationRuntime" --resource-group "exampleResourceGroup" --auto-update "Off" --update-delay-offset "\\"PT3H\ +\\"" +""" + +helps['datafactory integration-runtime delete'] = """ + type: command + short-summary: Deletes an integration runtime. + examples: + - name: IntegrationRuntimes_Delete + text: |- + az datafactory integration-runtime delete --factory-name "exampleFactoryName" --integration-runtime-name\ + "exampleIntegrationRuntime" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime create-linked-integration-runtime'] = """ + type: command + short-summary: Create a linked integration runtime entry in a shared integration runtime. + examples: + - name: IntegrationRuntimes_CreateLinkedIntegrationRuntime + text: |- + az datafactory integration-runtime create-linked-integration-runtime --name "bfa92911-9fb6-4fbe-8f23-bea\ +e87bc1c83" --data-factory-location "West US" --data-factory-name "e9955d6d-56ea-4be3-841c-52a12c1a9981" --subscription-\ +id "061774c7-4b5a-4159-a55b-365581830283" --factory-name "exampleFactoryName" --integration-runtime-name "exampleIntegr\ +ationRuntime" --resource-group "exampleResourceGroup" --subscription-id "12345678-1234-1234-1234-12345678abc" +""" + +helps['datafactory integration-runtime get-connection-info'] = """ + type: command + short-summary: Gets the on-premises integration runtime connection information for encrypting the on-premises data \ +source credentials. + examples: + - name: IntegrationRuntimes_GetConnectionInfo + text: |- + az datafactory integration-runtime get-connection-info --factory-name "exampleFactoryName" --integration\ +-runtime-name "exampleIntegrationRuntime" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime get-monitoring-data'] = """ + type: command + short-summary: Get the integration runtime monitoring data, which includes the monitor data for all the nodes under\ + this integration runtime. + examples: + - name: IntegrationRuntimes_GetMonitoringData + text: |- + az datafactory integration-runtime get-monitoring-data --factory-name "exampleFactoryName" --integration\ +-runtime-name "exampleIntegrationRuntime" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime get-status'] = """ + type: command + short-summary: Gets detailed status information for an integration runtime. + examples: + - name: IntegrationRuntimes_GetStatus + text: |- + az datafactory integration-runtime get-status --factory-name "exampleFactoryName" --integration-runtime-\ +name "exampleIntegrationRuntime" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime list-auth-key'] = """ + type: command + short-summary: Retrieves the authentication keys for an integration runtime. + examples: + - name: IntegrationRuntimes_ListAuthKeys + text: |- + az datafactory integration-runtime list-auth-key --factory-name "exampleFactoryName" --integration-runti\ +me-name "exampleIntegrationRuntime" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime regenerate-auth-key'] = """ + type: command + short-summary: Regenerates the authentication key for an integration runtime. + examples: + - name: IntegrationRuntimes_RegenerateAuthKey + text: |- + az datafactory integration-runtime regenerate-auth-key --factory-name "exampleFactoryName" --integration\ +-runtime-name "exampleIntegrationRuntime" --key-name "authKey2" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime remove-link'] = """ + type: command + short-summary: Remove all linked integration runtimes under specific data factory in a self-hosted integration runt\ +ime. + examples: + - name: IntegrationRuntimes_Upgrade + text: |- + az datafactory integration-runtime remove-link --factory-name "exampleFactoryName" --integration-runtime\ +-name "exampleIntegrationRuntime" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime start'] = """ + type: command + short-summary: Starts a ManagedReserved type integration runtime. + examples: + - name: IntegrationRuntimes_Start + text: |- + az datafactory integration-runtime start --factory-name "exampleFactoryName" --integration-runtime-name \ +"exampleManagedIntegrationRuntime" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime stop'] = """ + type: command + short-summary: Stops a ManagedReserved type integration runtime. + examples: + - name: IntegrationRuntimes_Stop + text: |- + az datafactory integration-runtime stop --factory-name "exampleFactoryName" --integration-runtime-name "\ +exampleManagedIntegrationRuntime" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime sync-credentials'] = """ + type: command + short-summary: Force the integration runtime to synchronize credentials across integration runtime nodes, and this \ +will override the credentials across all worker nodes with those available on the dispatcher node. If you already have \ +the latest credential backup file, you should manually import it (preferred) on any self-hosted integration runtime nod\ +e than using this API directly. + examples: + - name: IntegrationRuntimes_SyncCredentials + text: |- + az datafactory integration-runtime sync-credentials --factory-name "exampleFactoryName" --integration-ru\ +ntime-name "exampleIntegrationRuntime" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime upgrade'] = """ + type: command + short-summary: Upgrade self-hosted integration runtime to latest version if availability. + examples: + - name: IntegrationRuntimes_Upgrade + text: |- + az datafactory integration-runtime upgrade --factory-name "exampleFactoryName" --integration-runtime-nam\ +e "exampleIntegrationRuntime" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime-object-metadata'] = """ + type: group + short-summary: datafactory integration-runtime-object-metadata +""" + +helps['datafactory integration-runtime-object-metadata get'] = """ + type: command + short-summary: Get a SSIS integration runtime object metadata by specified path. The return is pageable metadata li\ +st. + examples: + - name: IntegrationRuntimeObjectMetadata_Get + text: |- + az datafactory integration-runtime-object-metadata get --factory-name "exampleFactoryName" --metadata-pa\ +th "ssisFolders" --integration-runtime-name "testactivityv2" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime-object-metadata refresh'] = """ + type: command + short-summary: Refresh a SSIS integration runtime object metadata. + examples: + - name: IntegrationRuntimeObjectMetadata_Refresh + text: |- + az datafactory integration-runtime-object-metadata refresh --factory-name "exampleFactoryName" --integra\ +tion-runtime-name "testactivityv2" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime-node'] = """ + type: group + short-summary: datafactory integration-runtime-node +""" + +helps['datafactory integration-runtime-node show'] = """ + type: command + short-summary: Gets a self-hosted integration runtime node. + examples: + - name: IntegrationRuntimeNodes_Get + text: |- + az datafactory integration-runtime-node show --factory-name "exampleFactoryName" --integration-runtime-n\ +ame "exampleIntegrationRuntime" --node-name "Node_1" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime-node update'] = """ + type: command + short-summary: Updates a self-hosted integration runtime node. + examples: + - name: IntegrationRuntimeNodes_Update + text: |- + az datafactory integration-runtime-node update --factory-name "exampleFactoryName" --integration-runtime\ +-name "exampleIntegrationRuntime" --node-name "Node_1" --resource-group "exampleResourceGroup" --concurrent-jobs-limit \ +2 +""" + +helps['datafactory integration-runtime-node delete'] = """ + type: command + short-summary: Deletes a self-hosted integration runtime node. + examples: + - name: IntegrationRuntimesNodes_Delete + text: |- + az datafactory integration-runtime-node delete --factory-name "exampleFactoryName" --integration-runtime\ +-name "exampleIntegrationRuntime" --node-name "Node_1" --resource-group "exampleResourceGroup" +""" + +helps['datafactory integration-runtime-node get-ip-address'] = """ + type: command + short-summary: Get the IP address of self-hosted integration runtime node. + examples: + - name: IntegrationRuntimeNodes_GetIpAddress + text: |- + az datafactory integration-runtime-node get-ip-address --factory-name "exampleFactoryName" --integration\ +-runtime-name "exampleIntegrationRuntime" --node-name "Node_1" --resource-group "exampleResourceGroup" +""" + +helps['datafactory linked-service'] = """ + type: group + short-summary: datafactory linked-service +""" + +helps['datafactory linked-service list'] = """ + type: command + short-summary: Lists linked services. + examples: + - name: LinkedServices_ListByFactory + text: |- + az datafactory linked-service list --factory-name "exampleFactoryName" --resource-group "exampleResource\ +Group" +""" + +helps['datafactory linked-service show'] = """ + type: command + short-summary: Gets a linked service. + examples: + - name: LinkedServices_Get + text: |- + az datafactory linked-service show --factory-name "exampleFactoryName" --linked-service-name "exampleLin\ +kedService" --resource-group "exampleResourceGroup" +""" + +helps['datafactory linked-service create'] = """ + type: command + short-summary: Creates or updates a linked service. + examples: + - name: LinkedServices_Create + text: |- + az datafactory linked-service create --factory-name "exampleFactoryName" --properties "{\\"type\\":\\"Az\ +ureStorage\\",\\"typeProperties\\":{\\"connectionString\\":{\\"type\\":\\"SecureString\\",\\"value\\":\\"DefaultEndpoin\ +tsProtocol=https;AccountName=examplestorageaccount;AccountKey=\\"}}}" --linked-service-name "exampleLinked\ +Service" --resource-group "exampleResourceGroup" + - name: LinkedServices_Update + text: |- + az datafactory linked-service create --factory-name "exampleFactoryName" --properties "{\\"type\\":\\"Az\ +ureStorage\\",\\"description\\":\\"Example description\\",\\"typeProperties\\":{\\"connectionString\\":{\\"type\\":\\"S\ +ecureString\\",\\"value\\":\\"DefaultEndpointsProtocol=https;AccountName=examplestorageaccount;AccountKey=\ +\\"}}}" --linked-service-name "exampleLinkedService" --resource-group "exampleResourceGroup" +""" + +helps['datafactory linked-service update'] = """ + type: command + short-summary: Creates or updates a linked service. + examples: + - name: LinkedServices_Create + text: |- + az datafactory linked-service update --factory-name "exampleFactoryName" --properties "{\\"type\\":\\"Az\ +ureStorage\\",\\"typeProperties\\":{\\"connectionString\\":{\\"type\\":\\"SecureString\\",\\"value\\":\\"DefaultEndpoin\ +tsProtocol=https;AccountName=examplestorageaccount;AccountKey=\\"}}}" --linked-service-name "exampleLinked\ +Service" --resource-group "exampleResourceGroup" + - name: LinkedServices_Update + text: |- + az datafactory linked-service update --factory-name "exampleFactoryName" --properties "{\\"type\\":\\"Az\ +ureStorage\\",\\"description\\":\\"Example description\\",\\"typeProperties\\":{\\"connectionString\\":{\\"type\\":\\"S\ +ecureString\\",\\"value\\":\\"DefaultEndpointsProtocol=https;AccountName=examplestorageaccount;AccountKey=\ +\\"}}}" --linked-service-name "exampleLinkedService" --resource-group "exampleResourceGroup" +""" + +helps['datafactory linked-service delete'] = """ + type: command + short-summary: Deletes a linked service. + examples: + - name: LinkedServices_Delete + text: |- + az datafactory linked-service delete --factory-name "exampleFactoryName" --linked-service-name "exampleL\ +inkedService" --resource-group "exampleResourceGroup" +""" + +helps['datafactory dataset'] = """ + type: group + short-summary: datafactory dataset +""" + +helps['datafactory dataset list'] = """ + type: command + short-summary: Lists datasets. + examples: + - name: Datasets_ListByFactory + text: |- + az datafactory dataset list --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" +""" + +helps['datafactory dataset show'] = """ + type: command + short-summary: Gets a dataset. + examples: + - name: Datasets_Get + text: |- + az datafactory dataset show --dataset-name "exampleDataset" --factory-name "exampleFactoryName" --resour\ +ce-group "exampleResourceGroup" +""" + +helps['datafactory dataset create'] = """ + type: command + short-summary: Creates or updates a dataset. + examples: + - name: Datasets_Create + text: |- + az datafactory dataset create --properties "{\\"type\\":\\"AzureBlob\\",\\"linkedServiceName\\":{\\"type\ +\\":\\"LinkedServiceReference\\",\\"referenceName\\":\\"exampleLinkedService\\"},\\"parameters\\":{\\"MyFileName\\":{\\\ +"type\\":\\"String\\"},\\"MyFolderPath\\":{\\"type\\":\\"String\\"}},\\"typeProperties\\":{\\"format\\":{\\"type\\":\\"\ +TextFormat\\"},\\"fileName\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@dataset().MyFileName\\"},\\"folderPath\\":{\ +\\"type\\":\\"Expression\\",\\"value\\":\\"@dataset().MyFolderPath\\"}}}" --dataset-name "exampleDataset" --factory-nam\ +e "exampleFactoryName" --resource-group "exampleResourceGroup" + - name: Datasets_Update + text: |- + az datafactory dataset create --properties "{\\"type\\":\\"AzureBlob\\",\\"description\\":\\"Example des\ +cription\\",\\"linkedServiceName\\":{\\"type\\":\\"LinkedServiceReference\\",\\"referenceName\\":\\"exampleLinkedServic\ +e\\"},\\"parameters\\":{\\"MyFileName\\":{\\"type\\":\\"String\\"},\\"MyFolderPath\\":{\\"type\\":\\"String\\"}},\\"typ\ +eProperties\\":{\\"format\\":{\\"type\\":\\"TextFormat\\"},\\"fileName\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@\ +dataset().MyFileName\\"},\\"folderPath\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@dataset().MyFolderPath\\"}}}" --\ +dataset-name "exampleDataset" --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" +""" + +helps['datafactory dataset update'] = """ + type: command + short-summary: Creates or updates a dataset. + examples: + - name: Datasets_Create + text: |- + az datafactory dataset update --properties "{\\"type\\":\\"AzureBlob\\",\\"linkedServiceName\\":{\\"type\ +\\":\\"LinkedServiceReference\\",\\"referenceName\\":\\"exampleLinkedService\\"},\\"parameters\\":{\\"MyFileName\\":{\\\ +"type\\":\\"String\\"},\\"MyFolderPath\\":{\\"type\\":\\"String\\"}},\\"typeProperties\\":{\\"format\\":{\\"type\\":\\"\ +TextFormat\\"},\\"fileName\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@dataset().MyFileName\\"},\\"folderPath\\":{\ +\\"type\\":\\"Expression\\",\\"value\\":\\"@dataset().MyFolderPath\\"}}}" --dataset-name "exampleDataset" --factory-nam\ +e "exampleFactoryName" --resource-group "exampleResourceGroup" + - name: Datasets_Update + text: |- + az datafactory dataset update --properties "{\\"type\\":\\"AzureBlob\\",\\"description\\":\\"Example des\ +cription\\",\\"linkedServiceName\\":{\\"type\\":\\"LinkedServiceReference\\",\\"referenceName\\":\\"exampleLinkedServic\ +e\\"},\\"parameters\\":{\\"MyFileName\\":{\\"type\\":\\"String\\"},\\"MyFolderPath\\":{\\"type\\":\\"String\\"}},\\"typ\ +eProperties\\":{\\"format\\":{\\"type\\":\\"TextFormat\\"},\\"fileName\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@\ +dataset().MyFileName\\"},\\"folderPath\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@dataset().MyFolderPath\\"}}}" --\ +dataset-name "exampleDataset" --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" +""" + +helps['datafactory dataset delete'] = """ + type: command + short-summary: Deletes a dataset. + examples: + - name: Datasets_Delete + text: |- + az datafactory dataset delete --dataset-name "exampleDataset" --factory-name "exampleFactoryName" --reso\ +urce-group "exampleResourceGroup" +""" + +helps['datafactory pipeline'] = """ + type: group + short-summary: datafactory pipeline +""" + +helps['datafactory pipeline list'] = """ + type: command + short-summary: Lists pipelines. + examples: + - name: Pipelines_ListByFactory + text: |- + az datafactory pipeline list --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" +""" + +helps['datafactory pipeline show'] = """ + type: command + short-summary: Gets a pipeline. + examples: + - name: Pipelines_Get + text: |- + az datafactory pipeline show --factory-name "exampleFactoryName" --pipeline-name "examplePipeline" --res\ +ource-group "exampleResourceGroup" +""" + +helps['datafactory pipeline create'] = """ + type: command + short-summary: Creates or updates a pipeline. + examples: + - name: Pipelines_Create + text: |- + az datafactory pipeline create --factory-name "exampleFactoryName" --activities "[{\\"name\\":\\"Example\ +ForeachActivity\\",\\"type\\":\\"ForEach\\",\\"typeProperties\\":{\\"activities\\":[{\\"name\\":\\"ExampleCopyActivity\ +\\",\\"type\\":\\"Copy\\",\\"inputs\\":[{\\"type\\":\\"DatasetReference\\",\\"parameters\\":{\\"MyFileName\\":\\"exampl\ +econtainer.csv\\",\\"MyFolderPath\\":\\"examplecontainer\\"},\\"referenceName\\":\\"exampleDataset\\"}],\\"outputs\\":[\ +{\\"type\\":\\"DatasetReference\\",\\"parameters\\":{\\"MyFileName\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@item\ +()\\"},\\"MyFolderPath\\":\\"examplecontainer\\"},\\"referenceName\\":\\"exampleDataset\\"}],\\"typeProperties\\":{\\"d\ +ataIntegrationUnits\\":32,\\"sink\\":{\\"type\\":\\"BlobSink\\"},\\"source\\":{\\"type\\":\\"BlobSource\\"}}}],\\"isSeq\ +uential\\":true,\\"items\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@pipeline().parameters.OutputBlobNameList\\"}}}\ +]" --parameters "{\\"JobId\\":{\\"type\\":\\"String\\"},\\"OutputBlobNameList\\":{\\"type\\":\\"Array\\"}}" --run-dimen\ +sions "{\\"JobId\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@pipeline().parameters.JobId\\"}}" --variables "{\\"Tes\ +tVariableArray\\":{\\"type\\":\\"Array\\"}}" --pipeline-name "examplePipeline" --resource-group "exampleResourceGroup" + - name: Pipelines_Update + text: |- + az datafactory pipeline create --factory-name "exampleFactoryName" --description "Example description" -\ +-activities "[{\\"name\\":\\"ExampleForeachActivity\\",\\"type\\":\\"ForEach\\",\\"typeProperties\\":{\\"activities\\":\ +[{\\"name\\":\\"ExampleCopyActivity\\",\\"type\\":\\"Copy\\",\\"inputs\\":[{\\"type\\":\\"DatasetReference\\",\\"parame\ +ters\\":{\\"MyFileName\\":\\"examplecontainer.csv\\",\\"MyFolderPath\\":\\"examplecontainer\\"},\\"referenceName\\":\\"\ +exampleDataset\\"}],\\"outputs\\":[{\\"type\\":\\"DatasetReference\\",\\"parameters\\":{\\"MyFileName\\":{\\"type\\":\\\ +"Expression\\",\\"value\\":\\"@item()\\"},\\"MyFolderPath\\":\\"examplecontainer\\"},\\"referenceName\\":\\"exampleData\ +set\\"}],\\"typeProperties\\":{\\"dataIntegrationUnits\\":32,\\"sink\\":{\\"type\\":\\"BlobSink\\"},\\"source\\":{\\"ty\ +pe\\":\\"BlobSource\\"}}}],\\"isSequential\\":true,\\"items\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@pipeline().\ +parameters.OutputBlobNameList\\"}}}]" --parameters "{\\"OutputBlobNameList\\":{\\"type\\":\\"Array\\"}}" --pipeline-nam\ +e "examplePipeline" --resource-group "exampleResourceGroup" +""" + +helps['datafactory pipeline update'] = """ + type: command + short-summary: Creates or updates a pipeline. + examples: + - name: Pipelines_Create + text: |- + az datafactory pipeline update --factory-name "exampleFactoryName" --activities "[{\\"name\\":\\"Example\ +ForeachActivity\\",\\"type\\":\\"ForEach\\",\\"typeProperties\\":{\\"activities\\":[{\\"name\\":\\"ExampleCopyActivity\ +\\",\\"type\\":\\"Copy\\",\\"inputs\\":[{\\"type\\":\\"DatasetReference\\",\\"parameters\\":{\\"MyFileName\\":\\"exampl\ +econtainer.csv\\",\\"MyFolderPath\\":\\"examplecontainer\\"},\\"referenceName\\":\\"exampleDataset\\"}],\\"outputs\\":[\ +{\\"type\\":\\"DatasetReference\\",\\"parameters\\":{\\"MyFileName\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@item\ +()\\"},\\"MyFolderPath\\":\\"examplecontainer\\"},\\"referenceName\\":\\"exampleDataset\\"}],\\"typeProperties\\":{\\"d\ +ataIntegrationUnits\\":32,\\"sink\\":{\\"type\\":\\"BlobSink\\"},\\"source\\":{\\"type\\":\\"BlobSource\\"}}}],\\"isSeq\ +uential\\":true,\\"items\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@pipeline().parameters.OutputBlobNameList\\"}}}\ +]" --parameters "{\\"JobId\\":{\\"type\\":\\"String\\"},\\"OutputBlobNameList\\":{\\"type\\":\\"Array\\"}}" --run-dimen\ +sions "{\\"JobId\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@pipeline().parameters.JobId\\"}}" --variables "{\\"Tes\ +tVariableArray\\":{\\"type\\":\\"Array\\"}}" --pipeline-name "examplePipeline" --resource-group "exampleResourceGroup" + - name: Pipelines_Update + text: |- + az datafactory pipeline update --factory-name "exampleFactoryName" --description "Example description" -\ +-activities "[{\\"name\\":\\"ExampleForeachActivity\\",\\"type\\":\\"ForEach\\",\\"typeProperties\\":{\\"activities\\":\ +[{\\"name\\":\\"ExampleCopyActivity\\",\\"type\\":\\"Copy\\",\\"inputs\\":[{\\"type\\":\\"DatasetReference\\",\\"parame\ +ters\\":{\\"MyFileName\\":\\"examplecontainer.csv\\",\\"MyFolderPath\\":\\"examplecontainer\\"},\\"referenceName\\":\\"\ +exampleDataset\\"}],\\"outputs\\":[{\\"type\\":\\"DatasetReference\\",\\"parameters\\":{\\"MyFileName\\":{\\"type\\":\\\ +"Expression\\",\\"value\\":\\"@item()\\"},\\"MyFolderPath\\":\\"examplecontainer\\"},\\"referenceName\\":\\"exampleData\ +set\\"}],\\"typeProperties\\":{\\"dataIntegrationUnits\\":32,\\"sink\\":{\\"type\\":\\"BlobSink\\"},\\"source\\":{\\"ty\ +pe\\":\\"BlobSource\\"}}}],\\"isSequential\\":true,\\"items\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@pipeline().\ +parameters.OutputBlobNameList\\"}}}]" --parameters "{\\"OutputBlobNameList\\":{\\"type\\":\\"Array\\"}}" --pipeline-nam\ +e "examplePipeline" --resource-group "exampleResourceGroup" +""" + +helps['datafactory pipeline delete'] = """ + type: command + short-summary: Deletes a pipeline. + examples: + - name: Pipelines_Delete + text: |- + az datafactory pipeline delete --factory-name "exampleFactoryName" --pipeline-name "examplePipeline" --r\ +esource-group "exampleResourceGroup" +""" + +helps['datafactory pipeline create-run'] = """ + type: command + short-summary: Creates a run of a pipeline. + examples: + - name: Pipelines_CreateRun + text: |- + az datafactory pipeline create-run --factory-name "exampleFactoryName" --parameters "{\\"OutputBlobNameL\ +ist\\":[\\"exampleoutput.csv\\"]}" --pipeline-name "examplePipeline" --resource-group "exampleResourceGroup" +""" + +helps['datafactory pipeline-run'] = """ + type: group + short-summary: datafactory pipeline-run +""" + +helps['datafactory pipeline-run show'] = """ + type: command + short-summary: Get a pipeline run by its run ID. + examples: + - name: PipelineRuns_Get + text: |- + az datafactory pipeline-run show --factory-name "exampleFactoryName" --resource-group "exampleResourceGr\ +oup" --run-id "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b" +""" + +helps['datafactory pipeline-run cancel'] = """ + type: command + short-summary: Cancel a pipeline run by its run ID. + examples: + - name: PipelineRuns_Cancel + text: |- + az datafactory pipeline-run cancel --factory-name "exampleFactoryName" --resource-group "exampleResource\ +Group" --run-id "16ac5348-ff82-4f95-a80d-638c1d47b721" +""" + +helps['datafactory pipeline-run query-by-factory'] = """ + type: command + short-summary: Query pipeline runs in the factory based on input filter conditions. + examples: + - name: PipelineRuns_QueryByFactory + text: |- + az datafactory pipeline-run query-by-factory --factory-name "exampleFactoryName" --filters operand="Pipe\ +lineName" operator="Equals" values="examplePipeline" --last-updated-after "2018-06-16T00:36:44.3345758Z" --last-updated\ +-before "2018-06-16T00:49:48.3686473Z" --resource-group "exampleResourceGroup" +""" + +helps['datafactory activity-run'] = """ + type: group + short-summary: datafactory activity-run +""" + +helps['datafactory activity-run query-by-pipeline-run'] = """ + type: command + short-summary: Query activity runs based on input filter conditions. + examples: + - name: ActivityRuns_QueryByPipelineRun + text: |- + az datafactory activity-run query-by-pipeline-run --factory-name "exampleFactoryName" --last-updated-aft\ +er "2018-06-16T00:36:44.3345758Z" --last-updated-before "2018-06-16T00:49:48.3686473Z" --resource-group "exampleResourc\ +eGroup" --run-id "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b" +""" + +helps['datafactory trigger'] = """ + type: group + short-summary: datafactory trigger +""" + +helps['datafactory trigger list'] = """ + type: command + short-summary: Lists triggers. + examples: + - name: Triggers_ListByFactory + text: |- + az datafactory trigger list --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" +""" + +helps['datafactory trigger show'] = """ + type: command + short-summary: Gets a trigger. + examples: + - name: Triggers_Get + text: |- + az datafactory trigger show --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" \ +--trigger-name "exampleTrigger" +""" + +helps['datafactory trigger create'] = """ + type: command + short-summary: Creates or updates a trigger. + examples: + - name: Triggers_Create + text: |- + az datafactory trigger create --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup\ +" --properties "{\\"type\\":\\"ScheduleTrigger\\",\\"pipelines\\":[{\\"parameters\\":{\\"OutputBlobNameList\\":[\\"exam\ +pleoutput.csv\\"]},\\"pipelineReference\\":{\\"type\\":\\"PipelineReference\\",\\"referenceName\\":\\"examplePipeline\\\ +"}}],\\"typeProperties\\":{\\"recurrence\\":{\\"endTime\\":\\"2018-06-16T00:55:13.8441801Z\\",\\"frequency\\":\\"Minute\ +\\",\\"interval\\":4,\\"startTime\\":\\"2018-06-16T00:39:13.8441801Z\\",\\"timeZone\\":\\"UTC\\"}}}" --trigger-name "ex\ +ampleTrigger" + - name: Triggers_Update + text: |- + az datafactory trigger create --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup\ +" --properties "{\\"type\\":\\"ScheduleTrigger\\",\\"description\\":\\"Example description\\",\\"pipelines\\":[{\\"para\ +meters\\":{\\"OutputBlobNameList\\":[\\"exampleoutput.csv\\"]},\\"pipelineReference\\":{\\"type\\":\\"PipelineReference\ +\\",\\"referenceName\\":\\"examplePipeline\\"}}],\\"typeProperties\\":{\\"recurrence\\":{\\"endTime\\":\\"2018-06-16T00\ +:55:14.905167Z\\",\\"frequency\\":\\"Minute\\",\\"interval\\":4,\\"startTime\\":\\"2018-06-16T00:39:14.905167Z\\",\\"ti\ +meZone\\":\\"UTC\\"}}}" --trigger-name "exampleTrigger" +""" + +helps['datafactory trigger update'] = """ + type: command + short-summary: Creates or updates a trigger. + examples: + - name: Triggers_Create + text: |- + az datafactory trigger update --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup\ +" --properties "{\\"type\\":\\"ScheduleTrigger\\",\\"pipelines\\":[{\\"parameters\\":{\\"OutputBlobNameList\\":[\\"exam\ +pleoutput.csv\\"]},\\"pipelineReference\\":{\\"type\\":\\"PipelineReference\\",\\"referenceName\\":\\"examplePipeline\\\ +"}}],\\"typeProperties\\":{\\"recurrence\\":{\\"endTime\\":\\"2018-06-16T00:55:13.8441801Z\\",\\"frequency\\":\\"Minute\ +\\",\\"interval\\":4,\\"startTime\\":\\"2018-06-16T00:39:13.8441801Z\\",\\"timeZone\\":\\"UTC\\"}}}" --trigger-name "ex\ +ampleTrigger" + - name: Triggers_Update + text: |- + az datafactory trigger update --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup\ +" --properties "{\\"type\\":\\"ScheduleTrigger\\",\\"description\\":\\"Example description\\",\\"pipelines\\":[{\\"para\ +meters\\":{\\"OutputBlobNameList\\":[\\"exampleoutput.csv\\"]},\\"pipelineReference\\":{\\"type\\":\\"PipelineReference\ +\\",\\"referenceName\\":\\"examplePipeline\\"}}],\\"typeProperties\\":{\\"recurrence\\":{\\"endTime\\":\\"2018-06-16T00\ +:55:14.905167Z\\",\\"frequency\\":\\"Minute\\",\\"interval\\":4,\\"startTime\\":\\"2018-06-16T00:39:14.905167Z\\",\\"ti\ +meZone\\":\\"UTC\\"}}}" --trigger-name "exampleTrigger" +""" + +helps['datafactory trigger delete'] = """ + type: command + short-summary: Deletes a trigger. + examples: + - name: Triggers_Delete + text: |- + az datafactory trigger delete --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup\ +" --trigger-name "exampleTrigger" +""" + +helps['datafactory trigger get-event-subscription-status'] = """ + type: command + short-summary: Get a trigger's event subscription status. + examples: + - name: Triggers_GetEventSubscriptionStatus + text: |- + az datafactory trigger get-event-subscription-status --factory-name "exampleFactoryName" --resource-grou\ +p "exampleResourceGroup" --trigger-name "exampleTrigger" +""" + +helps['datafactory trigger query-by-factory'] = """ + type: command + short-summary: Query triggers. + examples: + - name: Triggers_QueryByFactory + text: |- + az datafactory trigger query-by-factory --factory-name "exampleFactoryName" --parent-trigger-name "examp\ +leTrigger" --resource-group "exampleResourceGroup" +""" + +helps['datafactory trigger start'] = """ + type: command + short-summary: Starts a trigger. + examples: + - name: Triggers_Start + text: |- + az datafactory trigger start --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup"\ + --trigger-name "exampleTrigger" +""" + +helps['datafactory trigger stop'] = """ + type: command + short-summary: Stops a trigger. + examples: + - name: Triggers_Stop + text: |- + az datafactory trigger stop --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" \ +--trigger-name "exampleTrigger" +""" + +helps['datafactory trigger subscribe-to-event'] = """ + type: command + short-summary: Subscribe event trigger to events. + examples: + - name: Triggers_SubscribeToEvents + text: |- + az datafactory trigger subscribe-to-event --factory-name "exampleFactoryName" --resource-group "exampleR\ +esourceGroup" --trigger-name "exampleTrigger" +""" + +helps['datafactory trigger unsubscribe-from-event'] = """ + type: command + short-summary: Unsubscribe event trigger from events. + examples: + - name: Triggers_UnsubscribeFromEvents + text: |- + az datafactory trigger unsubscribe-from-event --factory-name "exampleFactoryName" --resource-group "exam\ +pleResourceGroup" --trigger-name "exampleTrigger" +""" + +helps['datafactory trigger-run'] = """ + type: group + short-summary: datafactory trigger-run +""" + +helps['datafactory trigger-run query-by-factory'] = """ + type: command + short-summary: Query trigger runs. + examples: + - name: TriggerRuns_QueryByFactory + text: |- + az datafactory trigger-run query-by-factory --factory-name "exampleFactoryName" --filters operand="Trigg\ +erName" operator="Equals" values="exampleTrigger" --last-updated-after "2018-06-16T00:36:44.3345758Z" --last-updated-be\ +fore "2018-06-16T00:49:48.3686473Z" --resource-group "exampleResourceGroup" +""" + +helps['datafactory trigger-run rerun'] = """ + type: command + short-summary: Rerun single trigger instance by runId. + examples: + - name: Triggers_Rerun + text: |- + az datafactory trigger-run rerun --factory-name "exampleFactoryName" --resource-group "exampleResourceGr\ +oup" --run-id "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b" --trigger-name "exampleTrigger" +""" + +helps['datafactory data-flow'] = """ + type: group + short-summary: datafactory data-flow +""" + +helps['datafactory data-flow list'] = """ + type: command + short-summary: Lists data flows. + examples: + - name: DataFlows_ListByFactory + text: |- + az datafactory data-flow list --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup\ +" +""" + +helps['datafactory data-flow show'] = """ + type: command + short-summary: Gets a data flow. + examples: + - name: DataFlows_Get + text: |- + az datafactory data-flow show --data-flow-name "exampleDataFlow" --factory-name "exampleFactoryName" --r\ +esource-group "exampleResourceGroup" +""" + +helps['datafactory data-flow create'] = """ + type: command + short-summary: Creates or updates a data flow. + examples: + - name: DataFlows_Create + text: |- + az datafactory data-flow create --properties "{\\"type\\":\\"MappingDataFlow\\",\\"description\\":\\"Sam\ +ple demo data flow to convert currencies showing usage of union, derive and conditional split transformation.\\",\\"typ\ +eProperties\\":{\\"script\\":\\"source(output(PreviousConversionRate as double,Country as string,DateTime1 as string,Cu\ +rrentConversionRate as double),allowSchemaDrift: false,validateSchema: false) ~> USDCurrency\\\\nsource(output(Previous\ +ConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: true,\ +validateSchema: false) ~> CADSource\\\\nUSDCurrency, CADSource union(byName: true)~> Union\\\\nUnion derive(NewCurrency\ +Rate = round(CurrentConversionRate*1.25)) ~> NewCurrencyColumn\\\\nNewCurrencyColumn split(Country == \'USD\',Country =\ += \'CAD\',disjoint: false) ~> ConditionalSplit1@(USD, CAD)\\\\nConditionalSplit1@USD sink(saveMode:\'overwrite\' ) ~> U\ +SDSink\\\\nConditionalSplit1@CAD sink(saveMode:\'overwrite\' ) ~> CADSink\\",\\"sinks\\":[{\\"name\\":\\"USDSink\\",\\"\ +dataset\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"USDOutput\\"}},{\\"name\\":\\"CADSink\\",\\"datase\ +t\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"CADOutput\\"}}],\\"sources\\":[{\\"name\\":\\"USDCurrenc\ +y\\",\\"dataset\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"CurrencyDatasetUSD\\"}},{\\"name\\":\\"CAD\ +Source\\",\\"dataset\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"CurrencyDatasetCAD\\"}}]}}" --data-fl\ +ow-name "exampleDataFlow" --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" + - name: DataFlows_Update + text: |- + az datafactory data-flow create --properties "{\\"type\\":\\"MappingDataFlow\\",\\"description\\":\\"Sam\ +ple demo data flow to convert currencies showing usage of union, derive and conditional split transformation.\\",\\"typ\ +eProperties\\":{\\"script\\":\\"source(output(PreviousConversionRate as double,Country as string,DateTime1 as string,Cu\ +rrentConversionRate as double),allowSchemaDrift: false,validateSchema: false) ~> USDCurrency\\\\nsource(output(Previous\ +ConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: true,\ +validateSchema: false) ~> CADSource\\\\nUSDCurrency, CADSource union(byName: true)~> Union\\\\nUnion derive(NewCurrency\ +Rate = round(CurrentConversionRate*1.25)) ~> NewCurrencyColumn\\\\nNewCurrencyColumn split(Country == \'USD\',Country =\ += \'CAD\',disjoint: false) ~> ConditionalSplit1@(USD, CAD)\\\\nConditionalSplit1@USD sink(saveMode:\'overwrite\' ) ~> U\ +SDSink\\\\nConditionalSplit1@CAD sink(saveMode:\'overwrite\' ) ~> CADSink\\",\\"sinks\\":[{\\"name\\":\\"USDSink\\",\\"\ +dataset\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"USDOutput\\"}},{\\"name\\":\\"CADSink\\",\\"datase\ +t\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"CADOutput\\"}}],\\"sources\\":[{\\"name\\":\\"USDCurrenc\ +y\\",\\"dataset\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"CurrencyDatasetUSD\\"}},{\\"name\\":\\"CAD\ +Source\\",\\"dataset\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"CurrencyDatasetCAD\\"}}]}}" --data-fl\ +ow-name "exampleDataFlow" --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" +""" + +helps['datafactory data-flow update'] = """ + type: command + short-summary: Creates or updates a data flow. + examples: + - name: DataFlows_Create + text: |- + az datafactory data-flow update --properties "{\\"type\\":\\"MappingDataFlow\\",\\"description\\":\\"Sam\ +ple demo data flow to convert currencies showing usage of union, derive and conditional split transformation.\\",\\"typ\ +eProperties\\":{\\"script\\":\\"source(output(PreviousConversionRate as double,Country as string,DateTime1 as string,Cu\ +rrentConversionRate as double),allowSchemaDrift: false,validateSchema: false) ~> USDCurrency\\\\nsource(output(Previous\ +ConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: true,\ +validateSchema: false) ~> CADSource\\\\nUSDCurrency, CADSource union(byName: true)~> Union\\\\nUnion derive(NewCurrency\ +Rate = round(CurrentConversionRate*1.25)) ~> NewCurrencyColumn\\\\nNewCurrencyColumn split(Country == \'USD\',Country =\ += \'CAD\',disjoint: false) ~> ConditionalSplit1@(USD, CAD)\\\\nConditionalSplit1@USD sink(saveMode:\'overwrite\' ) ~> U\ +SDSink\\\\nConditionalSplit1@CAD sink(saveMode:\'overwrite\' ) ~> CADSink\\",\\"sinks\\":[{\\"name\\":\\"USDSink\\",\\"\ +dataset\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"USDOutput\\"}},{\\"name\\":\\"CADSink\\",\\"datase\ +t\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"CADOutput\\"}}],\\"sources\\":[{\\"name\\":\\"USDCurrenc\ +y\\",\\"dataset\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"CurrencyDatasetUSD\\"}},{\\"name\\":\\"CAD\ +Source\\",\\"dataset\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"CurrencyDatasetCAD\\"}}]}}" --data-fl\ +ow-name "exampleDataFlow" --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" + - name: DataFlows_Update + text: |- + az datafactory data-flow update --properties "{\\"type\\":\\"MappingDataFlow\\",\\"description\\":\\"Sam\ +ple demo data flow to convert currencies showing usage of union, derive and conditional split transformation.\\",\\"typ\ +eProperties\\":{\\"script\\":\\"source(output(PreviousConversionRate as double,Country as string,DateTime1 as string,Cu\ +rrentConversionRate as double),allowSchemaDrift: false,validateSchema: false) ~> USDCurrency\\\\nsource(output(Previous\ +ConversionRate as double,Country as string,DateTime1 as string,CurrentConversionRate as double),allowSchemaDrift: true,\ +validateSchema: false) ~> CADSource\\\\nUSDCurrency, CADSource union(byName: true)~> Union\\\\nUnion derive(NewCurrency\ +Rate = round(CurrentConversionRate*1.25)) ~> NewCurrencyColumn\\\\nNewCurrencyColumn split(Country == \'USD\',Country =\ += \'CAD\',disjoint: false) ~> ConditionalSplit1@(USD, CAD)\\\\nConditionalSplit1@USD sink(saveMode:\'overwrite\' ) ~> U\ +SDSink\\\\nConditionalSplit1@CAD sink(saveMode:\'overwrite\' ) ~> CADSink\\",\\"sinks\\":[{\\"name\\":\\"USDSink\\",\\"\ +dataset\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"USDOutput\\"}},{\\"name\\":\\"CADSink\\",\\"datase\ +t\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"CADOutput\\"}}],\\"sources\\":[{\\"name\\":\\"USDCurrenc\ +y\\",\\"dataset\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"CurrencyDatasetUSD\\"}},{\\"name\\":\\"CAD\ +Source\\",\\"dataset\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"CurrencyDatasetCAD\\"}}]}}" --data-fl\ +ow-name "exampleDataFlow" --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" +""" + +helps['datafactory data-flow delete'] = """ + type: command + short-summary: Deletes a data flow. + examples: + - name: DataFlows_Delete + text: |- + az datafactory data-flow delete --data-flow-name "exampleDataFlow" --factory-name "exampleFactoryName" -\ +-resource-group "exampleResourceGroup" +""" + +helps['datafactory data-flow-debug-session'] = """ + type: group + short-summary: datafactory data-flow-debug-session +""" + +helps['datafactory data-flow-debug-session create'] = """ + type: command + short-summary: Creates a data flow debug session. + examples: + - name: DataFlowDebugSession_Create + text: |- + az datafactory data-flow-debug-session create --factory-name "exampleFactoryName" --resource-group "exam\ +pleResourceGroup" --integration-runtime-name "ir1" --integration-runtime-properties "{\\"type\\":\\"Managed\\",\\"typeP\ +roperties\\":{\\"computeProperties\\":{\\"dataFlowProperties\\":{\\"computeType\\":\\"General\\",\\"coreCount\\":48,\\"\ +timeToLive\\":10},\\"location\\":\\"AutoResolve\\"}}}" --time-to-live 60 +""" + +helps['datafactory data-flow-debug-session delete'] = """ + type: command + short-summary: Deletes a data flow debug session. + examples: + - name: DataFlowDebugSession_Delete + text: |- + az datafactory data-flow-debug-session delete --factory-name "exampleFactoryName" --resource-group "exam\ +pleResourceGroup" --session-id "91fb57e0-8292-47be-89ff-c8f2d2bb2a7e" +""" + +helps['datafactory data-flow-debug-session add-data-flow'] = """ + type: command + short-summary: Add a data flow into debug session. + examples: + - name: DataFlowDebugSession_AddDataFlow + text: |- + az datafactory data-flow-debug-session add-data-flow --factory-name "exampleFactoryName" --resource-grou\ +p "exampleResourceGroup" --data-flow-name "dataflow1" --data-flow-properties "{\\"type\\":\\"MappingDataFlow\\",\\"type\ +Properties\\":{\\"script\\":\\"\\\\n\\\\nsource(output(\\\\n\\\\t\\\\tColumn_1 as string\\\\n\\\\t),\\\\n\\\\tallowSche\ +maDrift: true,\\\\n\\\\tvalidateSchema: false) ~> source1\\",\\"sinks\\":[],\\"sources\\":[{\\"name\\":\\"source1\\",\\\ +"dataset\\":{\\"type\\":\\"DatasetReference\\",\\"referenceName\\":\\"DelimitedText2\\"}}],\\"transformations\\":[]}}" \ +--datasets "[{\\"name\\":\\"dataset1\\",\\"properties\\":{\\"type\\":\\"DelimitedText\\",\\"schema\\":[{\\"type\\":\\"S\ +tring\\"}],\\"annotations\\":[],\\"linkedServiceName\\":{\\"type\\":\\"LinkedServiceReference\\",\\"referenceName\\":\\\ +"linkedService5\\"},\\"typeProperties\\":{\\"columnDelimiter\\":\\",\\",\\"escapeChar\\":\\"\\\\\\\\\\",\\"firstRowAsHe\ +ader\\":true,\\"location\\":{\\"type\\":\\"AzureBlobStorageLocation\\",\\"container\\":\\"dataflow-sample-data\\",\\"fi\ +leName\\":\\"Ansiencoding.csv\\"},\\"quoteChar\\":\\"\\\\\\"\\"}}}]" --debug-settings-dataset-parameters "{\\"Movies\\"\ +:{\\"path\\":\\"abc\\"},\\"Output\\":{\\"time\\":\\"def\\"}}" --debug-settings-source-settings row-limit=1000 source-na\ +me="source1" --debug-settings-source-settings row-limit=222 source-name="source2" --linked-services "[{\\"name\\":\\"li\ +nkedService1\\",\\"properties\\":{\\"type\\":\\"AzureBlobStorage\\",\\"annotations\\":[],\\"typeProperties\\":{\\"conne\ +ctionString\\":\\"DefaultEndpointsProtocol=https;AccountName=;EndpointSuffix=core.windows.net;\\",\\"encry\ +ptedCredential\\":\\"\\"}}}]" --session-id "f06ed247-9d07-49b2-b05e-2cb4a2fc871e" +""" + +helps['datafactory data-flow-debug-session execute-command'] = """ + type: command + short-summary: Execute a data flow debug command. + examples: + - name: DataFlowDebugSession_ExecuteCommand + text: |- + az datafactory data-flow-debug-session execute-command --factory-name "exampleFactoryName" --resource-gr\ +oup "exampleResourceGroup" --command "executePreviewQuery" --command-payload row-limits=100 stream-name="source1" --ses\ +sion-id "f06ed247-9d07-49b2-b05e-2cb4a2fc871e" +""" + +helps['datafactory data-flow-debug-session query-by-factory'] = """ + type: command + short-summary: Query all active data flow debug sessions. + examples: + - name: DataFlowDebugSession_QueryByFactory + text: |- + az datafactory data-flow-debug-session query-by-factory --factory-name "exampleFactoryName" --resource-g\ +roup "exampleResourceGroup" +""" diff --git a/src/datafactory/azext_datafactory/generated/_params.py b/src/datafactory/azext_datafactory/generated/_params.py new file mode 100644 index 00000000000..c1bce6efce9 --- /dev/null +++ b/src/datafactory/azext_datafactory/generated/_params.py @@ -0,0 +1,608 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from knack.arguments import CLIArgumentType +from azure.cli.core.commands.parameters import ( + tags_type, + get_three_state_flag, + get_enum_type, + resource_group_name_type, + get_location_type +) +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from azext_datafactory.action import ( + AddIdentity, + AddVstsConfiguration, + AddGithubConfiguraiton, + AddFolder, + AddFilters, + AddOrderBy, + AddDebugSettingsSourceSettings, + AddCommandPayload +) + + +def load_arguments(self, _): + + with self.argument_context('datafactory factory list') as c: + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('datafactory factory show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('if_none_match', help='ETag of the factory entity. Should only be specified for get. If the ETag mat' + 'ches the existing entity tag, or if * was provided, then no content will be returned.') + + with self.argument_context('datafactory factory create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('location', arg_type=get_location_type(self.cli_ctx), + validator=get_default_location_from_resource_group) + c.argument('tags', tags_type) + c.argument('identity', action=AddIdentity, nargs='+', help='Managed service identity of the factory. Expect val' + 'ue: KEY1=VALUE1 KEY2=VALUE2 ...') + c.argument('vsts_configuration', action=AddVstsConfiguration, nargs='+', help='Factory\'s VSTS repo information' + '. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: project-name, tenant-id, account-' + 'name, repository-name, collaboration-branch, root-folder, last-commit-id.', arg_group='RepoConfigur' + 'ation') + c.argument('github_configuraiton', action=AddGithubConfiguraiton, nargs='+', help='Factory\'s GitHub repo infor' + 'mation. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: host-name, account-name, re' + 'pository-name, collaboration-branch, root-folder, last-commit-id.', arg_group='RepoConfiguration') + + with self.argument_context('datafactory factory update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('tags', tags_type) + c.argument('identity', action=AddIdentity, nargs='+', help='Managed service identity of the factory. Expect val' + 'ue: KEY1=VALUE1 KEY2=VALUE2 ...') + + with self.argument_context('datafactory factory delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + + with self.argument_context('datafactory factory configure-factory-repo') as c: + c.argument('location_id', help='The location identifier.') + c.argument('factory_resource_id', help='The factory resource id.') + c.argument('vsts_configuration', action=AddVstsConfiguration, nargs='+', help='Factory\'s VSTS repo information' + '. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: project-name, tenant-id, account-' + 'name, repository-name, collaboration-branch, root-folder, last-commit-id.', arg_group='RepoConfigur' + 'ation') + c.argument('github_configuraiton', action=AddGithubConfiguraiton, nargs='+', help='Factory\'s GitHub repo infor' + 'mation. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: host-name, account-name, re' + 'pository-name, collaboration-branch, root-folder, last-commit-id.', arg_group='RepoConfiguration') + + with self.argument_context('datafactory factory get-data-plane-access') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('permissions', help='The string with permissions for Data Plane access. Currently only \'r\' is supp' + 'orted which grants read only access.') + c.argument('access_resource_path', help='The resource path to get access relative to factory. Currently only em' + 'pty string is supported which corresponds to the factory resource.') + c.argument('profile_name', help='The name of the profile. Currently only the default is supported. The default ' + 'value is DefaultProfile.') + c.argument('start_time', help='Start time for the token. If not specified the current time will be used.') + c.argument('expire_time', help='Expiration time for the token. Maximum duration for the token is eight hours an' + 'd by default the token will expire in eight hours.') + + with self.argument_context('datafactory factory get-git-hub-access-token') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('git_hub_access_code', help='GitHub access code.') + c.argument('git_hub_client_id', help='GitHub application client ID.') + c.argument('git_hub_access_token_base_url', help='GitHub access token base URL.') + + with self.argument_context('datafactory exposure-control get-feature-value') as c: + c.argument('location_id', help='The location identifier.') + c.argument('feature_name', help='The feature name.') + c.argument('feature_type', help='The feature type.') + + with self.argument_context('datafactory exposure-control get-feature-value-by-factory') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('feature_name', help='The feature name.') + c.argument('feature_type', help='The feature type.') + + with self.argument_context('datafactory integration-runtime list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + + with self.argument_context('datafactory integration-runtime show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + c.argument('if_none_match', help='ETag of the integration runtime entity. Should only be specified for get. If ' + 'the ETag matches the existing entity tag, or if * was provided, then no content will be returned.') + + with self.argument_context('datafactory integration-runtime create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + c.argument('if_match', help='ETag of the integration runtime entity. Should only be specified for update, for w' + 'hich it should match existing entity or can be * for unconditional update.') + c.argument('properties', arg_type=CLIArgumentType(options_list=['--properties'], help='Integration runtime prop' + 'erties. Expected value: json-string/@json-file.')) + + with self.argument_context('datafactory integration-runtime update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + c.argument('auto_update', arg_type=get_enum_type(['On', 'Off']), help='Enables or disables the auto-update feat' + 'ure of the self-hosted integration runtime. See https://go.microsoft.com/fwlink/?linkid=854189.') + c.argument('update_delay_offset', help='The time offset (in hours) in the day, e.g., PT03H is 3 hours. The inte' + 'gration runtime auto update will happen on that time.') + + with self.argument_context('datafactory integration-runtime delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + + with self.argument_context('datafactory integration-runtime create-linked-integration-runtime') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + c.argument('name', help='The name of the linked integration runtime.') + c.argument('subscription_id', + help='The ID of the subscription that the linked integration runtime belongs to.') + c.argument('data_factory_name', help='The name of the data factory that the linked integration runtime belongs ' + 'to.') + c.argument('data_factory_location', help='The location of the data factory that the linked integration runtime ' + 'belongs to.') + + with self.argument_context('datafactory integration-runtime get-connection-info') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + + with self.argument_context('datafactory integration-runtime get-monitoring-data') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + + with self.argument_context('datafactory integration-runtime get-status') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + + with self.argument_context('datafactory integration-runtime list-auth-key') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + + with self.argument_context('datafactory integration-runtime regenerate-auth-key') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + c.argument('key_name', arg_type=get_enum_type(['authKey1', 'authKey2']), help='The name of the authentication k' + 'ey to regenerate.') + + with self.argument_context('datafactory integration-runtime remove-link') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + c.argument('linked_factory_name', help='The data factory name for linked integration runtime.') + + with self.argument_context('datafactory integration-runtime start') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + + with self.argument_context('datafactory integration-runtime stop') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + + with self.argument_context('datafactory integration-runtime sync-credentials') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + + with self.argument_context('datafactory integration-runtime upgrade') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + + with self.argument_context('datafactory integration-runtime-object-metadata get') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + c.argument('metadata_path', help='Metadata path.') + + with self.argument_context('datafactory integration-runtime-object-metadata refresh') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + + with self.argument_context('datafactory integration-runtime-node show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + c.argument('node_name', help='The integration runtime node name.') + + with self.argument_context('datafactory integration-runtime-node update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + c.argument('node_name', help='The integration runtime node name.') + c.argument('concurrent_jobs_limit', help='The number of concurrent jobs permitted to run on the integration run' + 'time node. Values between 1 and maxConcurrentJobs(inclusive) are allowed.') + + with self.argument_context('datafactory integration-runtime-node delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + c.argument('node_name', help='The integration runtime node name.') + + with self.argument_context('datafactory integration-runtime-node get-ip-address') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('integration_runtime_name', help='The integration runtime name.') + c.argument('node_name', help='The integration runtime node name.') + + with self.argument_context('datafactory linked-service list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + + with self.argument_context('datafactory linked-service show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('linked_service_name', help='The linked service name.') + c.argument('if_none_match', help='ETag of the linked service entity. Should only be specified for get. If the E' + 'Tag matches the existing entity tag, or if * was provided, then no content will be returned.') + + with self.argument_context('datafactory linked-service create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('linked_service_name', help='The linked service name.') + c.argument('if_match', help='ETag of the linkedService entity. Should only be specified for update, for which ' + 'it should match existing entity or can be * for unconditional update.') + c.argument('properties', arg_type=CLIArgumentType(options_list=['--properties'], help='Properties of linked ser' + 'vice. Expected value: json-string/@json-file.')) + + with self.argument_context('datafactory linked-service update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('linked_service_name', help='The linked service name.') + c.argument('if_match', help='ETag of the linkedService entity. Should only be specified for update, for which ' + 'it should match existing entity or can be * for unconditional update.') + c.argument('properties', arg_type=CLIArgumentType(options_list=['--properties'], help='Properties of linked ser' + 'vice. Expected value: json-string/@json-file.')) + + with self.argument_context('datafactory linked-service delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('linked_service_name', help='The linked service name.') + + with self.argument_context('datafactory dataset list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + + with self.argument_context('datafactory dataset show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('dataset_name', help='The dataset name.') + c.argument('if_none_match', help='ETag of the dataset entity. Should only be specified for get. If the ETag mat' + 'ches the existing entity tag, or if * was provided, then no content will be returned.') + + with self.argument_context('datafactory dataset create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('dataset_name', help='The dataset name.') + c.argument('if_match', help='ETag of the dataset entity. Should only be specified for update, for which it sho' + 'uld match existing entity or can be * for unconditional update.') + c.argument('properties', arg_type=CLIArgumentType(options_list=['--properties'], help='Dataset properties. Expe' + 'cted value: json-string/@json-file.')) + + with self.argument_context('datafactory dataset update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('dataset_name', help='The dataset name.') + c.argument('if_match', help='ETag of the dataset entity. Should only be specified for update, for which it sho' + 'uld match existing entity or can be * for unconditional update.') + c.argument('properties', arg_type=CLIArgumentType(options_list=['--properties'], help='Dataset properties. Expe' + 'cted value: json-string/@json-file.')) + + with self.argument_context('datafactory dataset delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('dataset_name', help='The dataset name.') + + with self.argument_context('datafactory pipeline list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + + with self.argument_context('datafactory pipeline show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('pipeline_name', help='The pipeline name.') + c.argument('if_none_match', help='ETag of the pipeline entity. Should only be specified for get. If the ETag ma' + 'tches the existing entity tag, or if * was provided, then no content will be returned.') + + with self.argument_context('datafactory pipeline create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('pipeline_name', help='The pipeline name.') + c.argument('if_match', help='ETag of the pipeline entity. Should only be specified for update, for which it sh' + 'ould match existing entity or can be * for unconditional update.') + c.argument('description', help='The description of the pipeline.') + c.argument('activities', arg_type=CLIArgumentType(options_list=['--activities'], help='List of activities in pi' + 'peline. Expected value: json-string/@json-file.')) + c.argument('parameters', arg_type=CLIArgumentType(options_list=['--parameters'], help='List of parameters for p' + 'ipeline. Expected value: json-string/@json-file.')) + c.argument('variables', arg_type=CLIArgumentType(options_list=['--variables'], help='List of variables for pipe' + 'line. Expected value: json-string/@json-file.')) + c.argument('concurrency', help='The max number of concurrent runs for the pipeline.') + c.argument('annotations', arg_type=CLIArgumentType(options_list=['--annotations'], help='List of tags that can ' + 'be used for describing the Pipeline. Expected value: json-string/@json-file.')) + c.argument('run_dimensions', arg_type=CLIArgumentType(options_list=['--run-dimensions'], help='Dimensions emitt' + 'ed by Pipeline. Expected value: json-string/@json-file.')) + c.argument('folder', action=AddFolder, nargs='+', help='The folder that this Pipeline is in. If not specified, ' + 'Pipeline will appear at the root level. Expect value: name=xx.') + + with self.argument_context('datafactory pipeline update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('pipeline_name', help='The pipeline name.') + c.argument('if_match', help='ETag of the pipeline entity. Should only be specified for update, for which it sh' + 'ould match existing entity or can be * for unconditional update.') + c.argument('description', help='The description of the pipeline.') + c.argument('activities', arg_type=CLIArgumentType(options_list=['--activities'], help='List of activities in pi' + 'peline. Expected value: json-string/@json-file.')) + c.argument('parameters', arg_type=CLIArgumentType(options_list=['--parameters'], help='List of parameters for p' + 'ipeline. Expected value: json-string/@json-file.')) + c.argument('variables', arg_type=CLIArgumentType(options_list=['--variables'], help='List of variables for pipe' + 'line. Expected value: json-string/@json-file.')) + c.argument('concurrency', help='The max number of concurrent runs for the pipeline.') + c.argument('annotations', arg_type=CLIArgumentType(options_list=['--annotations'], help='List of tags that can ' + 'be used for describing the Pipeline. Expected value: json-string/@json-file.')) + c.argument('run_dimensions', arg_type=CLIArgumentType(options_list=['--run-dimensions'], help='Dimensions emitt' + 'ed by Pipeline. Expected value: json-string/@json-file.')) + c.argument('folder', action=AddFolder, nargs='+', help='The folder that this Pipeline is in. If not specified, ' + 'Pipeline will appear at the root level. Expect value: name=xx.') + + with self.argument_context('datafactory pipeline delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('pipeline_name', help='The pipeline name.') + + with self.argument_context('datafactory pipeline create-run') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('pipeline_name', help='The pipeline name.') + c.argument('reference_pipeline_run_id', help='The pipeline run identifier. If run ID is specified the parameter' + 's of the specified run will be used to create a new run.') + c.argument('is_recovery', arg_type=get_three_state_flag(), help='Recovery mode flag. If recovery mode is set to' + ' true, the specified referenced pipeline run and the new run will be grouped under the same groupId' + '.') + c.argument('start_activity_name', help='In recovery mode, the rerun will start from this activity. If not speci' + 'fied, all activities will run.') + c.argument('start_from_failure', arg_type=get_three_state_flag(), help='In recovery mode, if set to true, the r' + 'erun will start from failed activities. The property will be used only if startActivityName is not ' + 'specified.') + c.argument('parameters', arg_type=CLIArgumentType(options_list=['--parameters'], help='Parameters of the pipeli' + 'ne run. These parameters will be used only if the runId is not specified. Expected value: json-stri' + 'ng/@json-file.')) + + with self.argument_context('datafactory pipeline-run show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('run_id', help='The pipeline run identifier.') + + with self.argument_context('datafactory pipeline-run cancel') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('run_id', help='The pipeline run identifier.') + c.argument('is_recursive', arg_type=get_three_state_flag(), help='If true, cancel all the Child pipelines that ' + 'are triggered by the current pipeline.') + + with self.argument_context('datafactory pipeline-run query-by-factory') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('continuation_token', help='The continuation token for getting the next page of results. Null for fi' + 'rst page.') + c.argument('last_updated_after', help='The time at or after which the run event was updated in \'ISO 8601\' for' + 'mat.') + c.argument('last_updated_before', help='The time at or before which the run event was updated in \'ISO 8601\' f' + 'ormat.') + c.argument('filters', action=AddFilters, nargs='+', help='List of filters. Expect value: KEY1=VALUE1 KEY2=VALUE' + '2 ... , available KEYs are: operand, operator, values.') + c.argument('order_by', action=AddOrderBy, nargs='+', help='List of OrderBy option. Expect value: KEY1=VALUE1 KE' + 'Y2=VALUE2 ... , available KEYs are: order-by, order.') + + with self.argument_context('datafactory activity-run query-by-pipeline-run') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('run_id', help='The pipeline run identifier.') + c.argument('continuation_token', help='The continuation token for getting the next page of results. Null for fi' + 'rst page.') + c.argument('last_updated_after', help='The time at or after which the run event was updated in \'ISO 8601\' for' + 'mat.') + c.argument('last_updated_before', help='The time at or before which the run event was updated in \'ISO 8601\' f' + 'ormat.') + c.argument('filters', action=AddFilters, nargs='+', help='List of filters. Expect value: KEY1=VALUE1 KEY2=VALUE' + '2 ... , available KEYs are: operand, operator, values.') + c.argument('order_by', action=AddOrderBy, nargs='+', help='List of OrderBy option. Expect value: KEY1=VALUE1 KE' + 'Y2=VALUE2 ... , available KEYs are: order-by, order.') + + with self.argument_context('datafactory trigger list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + + with self.argument_context('datafactory trigger show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('trigger_name', help='The trigger name.') + c.argument('if_none_match', help='ETag of the trigger entity. Should only be specified for get. If the ETag mat' + 'ches the existing entity tag, or if * was provided, then no content will be returned.') + + with self.argument_context('datafactory trigger create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('trigger_name', help='The trigger name.') + c.argument('if_match', help='ETag of the trigger entity. Should only be specified for update, for which it sho' + 'uld match existing entity or can be * for unconditional update.') + c.argument('properties', arg_type=CLIArgumentType(options_list=['--properties'], help='Properties of the trigge' + 'r. Expected value: json-string/@json-file.')) + + with self.argument_context('datafactory trigger update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('trigger_name', help='The trigger name.') + c.argument('if_match', help='ETag of the trigger entity. Should only be specified for update, for which it sho' + 'uld match existing entity or can be * for unconditional update.') + c.argument('properties', arg_type=CLIArgumentType(options_list=['--properties'], help='Properties of the trigge' + 'r. Expected value: json-string/@json-file.')) + + with self.argument_context('datafactory trigger delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('trigger_name', help='The trigger name.') + + with self.argument_context('datafactory trigger get-event-subscription-status') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('trigger_name', help='The trigger name.') + + with self.argument_context('datafactory trigger query-by-factory') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('continuation_token', help='The continuation token for getting the next page of results. Null for fi' + 'rst page.') + c.argument('parent_trigger_name', help='The name of the parent TumblingWindowTrigger to get the child rerun tri' + 'ggers') + + with self.argument_context('datafactory trigger start') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('trigger_name', help='The trigger name.') + + with self.argument_context('datafactory trigger stop') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('trigger_name', help='The trigger name.') + + with self.argument_context('datafactory trigger subscribe-to-event') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('trigger_name', help='The trigger name.') + + with self.argument_context('datafactory trigger unsubscribe-from-event') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('trigger_name', help='The trigger name.') + + with self.argument_context('datafactory trigger-run query-by-factory') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('continuation_token', help='The continuation token for getting the next page of results. Null for fi' + 'rst page.') + c.argument('last_updated_after', help='The time at or after which the run event was updated in \'ISO 8601\' for' + 'mat.') + c.argument('last_updated_before', help='The time at or before which the run event was updated in \'ISO 8601\' f' + 'ormat.') + c.argument('filters', action=AddFilters, nargs='+', help='List of filters. Expect value: KEY1=VALUE1 KEY2=VALUE' + '2 ... , available KEYs are: operand, operator, values.') + c.argument('order_by', action=AddOrderBy, nargs='+', help='List of OrderBy option. Expect value: KEY1=VALUE1 KE' + 'Y2=VALUE2 ... , available KEYs are: order-by, order.') + + with self.argument_context('datafactory trigger-run rerun') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('trigger_name', help='The trigger name.') + c.argument('run_id', help='The pipeline run identifier.') + + with self.argument_context('datafactory data-flow list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + + with self.argument_context('datafactory data-flow show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('data_flow_name', help='The data flow name.') + c.argument('if_none_match', help='ETag of the data flow entity. Should only be specified for get. If the ETag m' + 'atches the existing entity tag, or if * was provided, then no content will be returned.') + + with self.argument_context('datafactory data-flow create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('data_flow_name', help='The data flow name.') + c.argument('if_match', help='ETag of the data flow entity. Should only be specified for update, for which it sh' + 'ould match existing entity or can be * for unconditional update.') + c.argument('properties', arg_type=CLIArgumentType(options_list=['--properties'], help='Data flow properties. Ex' + 'pected value: json-string/@json-file.')) + + with self.argument_context('datafactory data-flow update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('data_flow_name', help='The data flow name.') + c.argument('if_match', help='ETag of the data flow entity. Should only be specified for update, for which it sh' + 'ould match existing entity or can be * for unconditional update.') + c.argument('properties', arg_type=CLIArgumentType(options_list=['--properties'], help='Data flow properties. Ex' + 'pected value: json-string/@json-file.')) + + with self.argument_context('datafactory data-flow delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('data_flow_name', help='The data flow name.') + + with self.argument_context('datafactory data-flow-debug-session create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('compute_type', help='Compute type of the cluster. The value will be overwritten by the same setting' + ' in integration runtime if provided.') + c.argument('core_count', help='Core count of the cluster. The value will be overwritten by the same setting in ' + 'integration runtime if provided.') + c.argument('time_to_live', help='Time to live setting of the cluster in minutes.') + c.argument('integration_runtime_name', help='The resource name.') + c.argument('integration_runtime_properties', arg_type=CLIArgumentType(options_list=['--integration-runtime-prop' + 'erties'], help='Integration runtime properties. Expected value: json-string/@json-file.')) + + with self.argument_context('datafactory data-flow-debug-session delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('session_id', help='The ID of data flow debug session.') + + with self.argument_context('datafactory data-flow-debug-session add-data-flow') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('session_id', help='The ID of data flow debug session.') + c.argument('datasets', arg_type=CLIArgumentType(options_list=['--datasets'], help='List of datasets. Expected v' + 'alue: json-string/@json-file.')) + c.argument('linked_services', arg_type=CLIArgumentType(options_list=['--linked-services'], help='List of linked' + ' services. Expected value: json-string/@json-file.')) + c.argument('debug_settings_source_settings', action=AddDebugSettingsSourceSettings, nargs='+', help='Source set' + 'ting for data flow debug. Expect value: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: source-na' + 'me, row-limit.') + c.argument('debug_settings_parameters', arg_type=CLIArgumentType(options_list=['--debug-settings-parameters'], + help='Data flow parameters. Expected value: json-string/@json-file.')) + c.argument('debug_settings_dataset_parameters', arg_type=CLIArgumentType(options_list=['--debug-settings-datase' + 't-parameters'], help='Parameters for dataset. Expected value: json-string/@json-file.')) + c.argument('staging_folder_path', help='Folder path for staging blob.') + c.argument('staging_linked_service_reference_name', help='Reference LinkedService name.') + c.argument('staging_linked_service_parameters', arg_type=CLIArgumentType(options_list=['--staging-linked-servic' + 'e-parameters'], help='Arguments for LinkedService. Expected value: json-string/@json-file.')) + c.argument('data_flow_name', help='The resource name.') + c.argument('data_flow_properties', arg_type=CLIArgumentType(options_list=['--data-flow-properties'], help='Data' + ' flow properties. Expected value: json-string/@json-file.')) + + with self.argument_context('datafactory data-flow-debug-session execute-command') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') + c.argument('session_id', help='The ID of data flow debug session.') + c.argument('command', arg_type=get_enum_type(['executePreviewQuery', 'executeStatisticsQuery', 'executeExpressi' + 'onQuery']), help='The command type.') + c.argument('command_payload', action=AddCommandPayload, nargs='+', help='The command payload object. Expect val' + 'ue: KEY1=VALUE1 KEY2=VALUE2 ... , available KEYs are: stream-name, row-limits, columns, expression.' + '') + + with self.argument_context('datafactory data-flow-debug-session query-by-factory') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('factory_name', help='The factory name.') diff --git a/src/datafactory/azext_datafactory/generated/_validators.py b/src/datafactory/azext_datafactory/generated/_validators.py new file mode 100644 index 00000000000..7536d0531ea --- /dev/null +++ b/src/datafactory/azext_datafactory/generated/_validators.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def example_name_or_id_validator(cmd, namespace): + from azure.cli.core.commands.client_factory import get_subscription_id + from msrestazure.tools import is_valid_resource_id, resource_id + if namespace.storage_account: + if not is_valid_resource_id(namespace.RESOURCE): + namespace.storage_account = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=namespace.resource_group_name, + namespace='Microsoft.Storage', + type='storageAccounts', + name=namespace.storage_account + ) diff --git a/src/datafactory/azext_datafactory/generated/action.py b/src/datafactory/azext_datafactory/generated/action.py new file mode 100644 index 00000000000..e7985aeff9c --- /dev/null +++ b/src/datafactory/azext_datafactory/generated/action.py @@ -0,0 +1,234 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=protected-access + +import argparse +from knack.util import CLIError +from collections import defaultdict + + +class AddIdentity(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.identity = action + + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + return d + + +class AddVstsConfiguration(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.vsts_configuration = action + + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'project-name': + d['project_name'] = v[0] + elif kl == 'tenant-id': + d['tenant_id'] = v[0] + elif kl == 'account-name': + d['account_name'] = v[0] + elif kl == 'repository-name': + d['repository_name'] = v[0] + elif kl == 'collaboration-branch': + d['collaboration_branch'] = v[0] + elif kl == 'root-folder': + d['root_folder'] = v[0] + elif kl == 'last-commit-id': + d['last_commit_id'] = v[0] + d['type'] = 'FactoryVSTSConfiguration' + return d + + +class AddGithubConfiguraiton(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.github_configuraiton = action + + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'host-name': + d['host_name'] = v[0] + elif kl == 'account-name': + d['account_name'] = v[0] + elif kl == 'repository-name': + d['repository_name'] = v[0] + elif kl == 'collaboration-branch': + d['collaboration_branch'] = v[0] + elif kl == 'root-folder': + d['root_folder'] = v[0] + elif kl == 'last-commit-id': + d['last_commit_id'] = v[0] + d['type'] = 'FactoryGitHubConfiguration' + return d + + +class AddFolder(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.folder = action + + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'name': + d['name'] = v[0] + return d + + +class AddFilters(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddFilters, self).__call__(parser, namespace, action, option_string) + + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'operand': + d['operand'] = v[0] + elif kl == 'operator': + d['operator'] = v[0] + elif kl == 'values': + d['values'] = v + return d + + +class AddOrderBy(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddOrderBy, self).__call__(parser, namespace, action, option_string) + + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'order-by': + d['order_by'] = v[0] + elif kl == 'order': + d['order'] = v[0] + return d + + +class AddDebugSettingsSourceSettings(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddDebugSettingsSourceSettings, self).__call__(parser, namespace, action, option_string) + + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'source-name': + d['source_name'] = v[0] + elif kl == 'row-limit': + d['row_limit'] = v[0] + return d + + +class AddCommandPayload(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.command_payload = action + + + def get_action(self, values, option_string): # pylint: disable=no-self-use + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + kl = k.lower() + v = properties[k] + if kl == 'stream-name': + d['stream_name'] = v[0] + elif kl == 'row-limits': + d['row_limits'] = v[0] + elif kl == 'columns': + d['columns'] = v + elif kl == 'expression': + d['expression'] = v[0] + return d diff --git a/src/datafactory/azext_datafactory/generated/commands.py b/src/datafactory/azext_datafactory/generated/commands.py new file mode 100644 index 00000000000..0f1d79ff299 --- /dev/null +++ b/src/datafactory/azext_datafactory/generated/commands.py @@ -0,0 +1,213 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azure.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from azext_datafactory.generated._client_factory import cf_factory + datafactory_factory = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._factory_operations#FactoryOperations.{' + '}', + client_factory=cf_factory) + with self.command_group('datafactory factory', datafactory_factory, client_factory=cf_factory, + is_experimental=True) as g: + g.custom_command('list', 'datafactory_factory_list') + g.custom_show_command('show', 'datafactory_factory_show') + g.custom_command('create', 'datafactory_factory_create') + g.custom_command('update', 'datafactory_factory_update') + g.custom_command('delete', 'datafactory_factory_delete') + g.custom_command('configure-factory-repo', 'datafactory_factory_configure_factory_repo') + g.custom_command('get-data-plane-access', 'datafactory_factory_get_data_plane_access') + g.custom_command('get-git-hub-access-token', 'datafactory_factory_get_git_hub_access_token') + + from azext_datafactory.generated._client_factory import cf_exposure_control + datafactory_exposure_control = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._exposure_control_operations#ExposureCo' + 'ntrolOperations.{}', + client_factory=cf_exposure_control) + with self.command_group('datafactory exposure-control', datafactory_exposure_control, + client_factory=cf_exposure_control, is_experimental=True) as g: + g.custom_command('get-feature-value', 'datafactory_exposure_control_get_feature_value') + g.custom_command('get-feature-value-by-factory', 'datafactory_exposure_control_get_feature_value_by_factory') + + from azext_datafactory.generated._client_factory import cf_integration_runtime + datafactory_integration_runtime = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._integration_runtime_operations#Integra' + 'tionRuntimeOperations.{}', + client_factory=cf_integration_runtime) + with self.command_group('datafactory integration-runtime', datafactory_integration_runtime, + client_factory=cf_integration_runtime, is_experimental=True) as g: + g.custom_command('list', 'datafactory_integration_runtime_list') + g.custom_show_command('show', 'datafactory_integration_runtime_show') + g.custom_command('create', 'datafactory_integration_runtime_create') + g.custom_command('update', 'datafactory_integration_runtime_update') + g.custom_command('delete', 'datafactory_integration_runtime_delete') + g.custom_command('create-linked-integration-runtime', 'datafactory_integration_runtime_create_linked_integratio' + 'n_runtime') + g.custom_command('get-connection-info', 'datafactory_integration_runtime_get_connection_info') + g.custom_command('get-monitoring-data', 'datafactory_integration_runtime_get_monitoring_data') + g.custom_command('get-status', 'datafactory_integration_runtime_get_status') + g.custom_command('list-auth-key', 'datafactory_integration_runtime_list_auth_key') + g.custom_command('regenerate-auth-key', 'datafactory_integration_runtime_regenerate_auth_key') + g.custom_command('remove-link', 'datafactory_integration_runtime_remove_link') + g.custom_command('start', 'datafactory_integration_runtime_start', supports_no_wait=True) + g.custom_command('stop', 'datafactory_integration_runtime_stop', supports_no_wait=True) + g.custom_command('sync-credentials', 'datafactory_integration_runtime_sync_credentials') + g.custom_command('upgrade', 'datafactory_integration_runtime_upgrade') + g.wait_command('wait') + + from azext_datafactory.generated._client_factory import cf_integration_runtime_object_metadata + datafactory_integration_runtime_object_metadata = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._integration_runtime_object_metadata_op' + 'erations#IntegrationRuntimeObjectMetadataOperations.{}', + client_factory=cf_integration_runtime_object_metadata) + with self.command_group('datafactory integration-runtime-object-metadata', + datafactory_integration_runtime_object_metadata, + client_factory=cf_integration_runtime_object_metadata, is_experimental=True) as g: + g.custom_command('get', 'datafactory_integration_runtime_object_metadata_get') + g.custom_command('refresh', 'datafactory_integration_runtime_object_metadata_refresh', supports_no_wait=True) + g.wait_command('wait') + + from azext_datafactory.generated._client_factory import cf_integration_runtime_node + datafactory_integration_runtime_node = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._integration_runtime_node_operations#In' + 'tegrationRuntimeNodeOperations.{}', + client_factory=cf_integration_runtime_node) + with self.command_group('datafactory integration-runtime-node', datafactory_integration_runtime_node, + client_factory=cf_integration_runtime_node, is_experimental=True) as g: + g.custom_show_command('show', 'datafactory_integration_runtime_node_show') + g.custom_command('update', 'datafactory_integration_runtime_node_update') + g.custom_command('delete', 'datafactory_integration_runtime_node_delete') + g.custom_command('get-ip-address', 'datafactory_integration_runtime_node_get_ip_address') + + from azext_datafactory.generated._client_factory import cf_linked_service + datafactory_linked_service = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._linked_service_operations#LinkedServic' + 'eOperations.{}', + client_factory=cf_linked_service) + with self.command_group('datafactory linked-service', datafactory_linked_service, client_factory=cf_linked_service, + is_experimental=True) as g: + g.custom_command('list', 'datafactory_linked_service_list') + g.custom_show_command('show', 'datafactory_linked_service_show') + g.custom_command('create', 'datafactory_linked_service_create') + g.generic_update_command('update', setter_arg_name = 'properties', custom_func_name = 'datafactory_linked_servi' + 'ce_update') + g.custom_command('delete', 'datafactory_linked_service_delete') + + from azext_datafactory.generated._client_factory import cf_dataset + datafactory_dataset = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._dataset_operations#DatasetOperations.{' + '}', + client_factory=cf_dataset) + with self.command_group('datafactory dataset', datafactory_dataset, client_factory=cf_dataset, + is_experimental=True) as g: + g.custom_command('list', 'datafactory_dataset_list') + g.custom_show_command('show', 'datafactory_dataset_show') + g.custom_command('create', 'datafactory_dataset_create') + g.generic_update_command('update', setter_arg_name = 'properties', custom_func_name = 'datafactory_dataset_upda' + 'te') + g.custom_command('delete', 'datafactory_dataset_delete') + + from azext_datafactory.generated._client_factory import cf_pipeline + datafactory_pipeline = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._pipeline_operations#PipelineOperations' + '.{}', + client_factory=cf_pipeline) + with self.command_group('datafactory pipeline', datafactory_pipeline, client_factory=cf_pipeline, + is_experimental=True) as g: + g.custom_command('list', 'datafactory_pipeline_list') + g.custom_show_command('show', 'datafactory_pipeline_show') + g.custom_command('create', 'datafactory_pipeline_create') + g.custom_command('update', 'datafactory_pipeline_update') + g.custom_command('delete', 'datafactory_pipeline_delete') + g.custom_command('create-run', 'datafactory_pipeline_create_run') + + from azext_datafactory.generated._client_factory import cf_pipeline_run + datafactory_pipeline_run = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._pipeline_run_operations#PipelineRunOpe' + 'rations.{}', + client_factory=cf_pipeline_run) + with self.command_group('datafactory pipeline-run', datafactory_pipeline_run, client_factory=cf_pipeline_run, + is_experimental=True) as g: + g.custom_show_command('show', 'datafactory_pipeline_run_show') + g.custom_command('cancel', 'datafactory_pipeline_run_cancel') + g.custom_command('query-by-factory', 'datafactory_pipeline_run_query_by_factory') + + from azext_datafactory.generated._client_factory import cf_activity_run + datafactory_activity_run = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._activity_run_operations#ActivityRunOpe' + 'rations.{}', + client_factory=cf_activity_run) + with self.command_group('datafactory activity-run', datafactory_activity_run, client_factory=cf_activity_run, + is_experimental=True) as g: + g.custom_command('query-by-pipeline-run', 'datafactory_activity_run_query_by_pipeline_run') + + from azext_datafactory.generated._client_factory import cf_trigger + datafactory_trigger = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._trigger_operations#TriggerOperations.{' + '}', + client_factory=cf_trigger) + with self.command_group('datafactory trigger', datafactory_trigger, client_factory=cf_trigger, + is_experimental=True) as g: + g.custom_command('list', 'datafactory_trigger_list') + g.custom_show_command('show', 'datafactory_trigger_show') + g.custom_command('create', 'datafactory_trigger_create') + g.generic_update_command('update', setter_arg_name = 'properties', custom_func_name = 'datafactory_trigger_upda' + 'te') + g.custom_command('delete', 'datafactory_trigger_delete') + g.custom_command('get-event-subscription-status', 'datafactory_trigger_get_event_subscription_status') + g.custom_command('query-by-factory', 'datafactory_trigger_query_by_factory') + g.custom_command('start', 'datafactory_trigger_start', supports_no_wait=True) + g.custom_command('stop', 'datafactory_trigger_stop', supports_no_wait=True) + g.custom_command('subscribe-to-event', 'datafactory_trigger_subscribe_to_event', supports_no_wait=True) + g.custom_command('unsubscribe-from-event', 'datafactory_trigger_unsubscribe_from_event', + supports_no_wait=True) + g.wait_command('wait') + + from azext_datafactory.generated._client_factory import cf_trigger_run + datafactory_trigger_run = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._trigger_run_operations#TriggerRunOpera' + 'tions.{}', + client_factory=cf_trigger_run) + with self.command_group('datafactory trigger-run', datafactory_trigger_run, client_factory=cf_trigger_run, + is_experimental=True) as g: + g.custom_command('query-by-factory', 'datafactory_trigger_run_query_by_factory') + g.custom_command('rerun', 'datafactory_trigger_run_rerun') + + from azext_datafactory.generated._client_factory import cf_data_flow + datafactory_data_flow = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._data_flow_operations#DataFlowOperation' + 's.{}', + client_factory=cf_data_flow) + with self.command_group('datafactory data-flow', datafactory_data_flow, client_factory=cf_data_flow, + is_experimental=True) as g: + g.custom_command('list', 'datafactory_data_flow_list') + g.custom_show_command('show', 'datafactory_data_flow_show') + g.custom_command('create', 'datafactory_data_flow_create') + g.generic_update_command('update', setter_arg_name = 'properties', custom_func_name = 'datafactory_data_flow_up' + 'date') + g.custom_command('delete', 'datafactory_data_flow_delete') + + from azext_datafactory.generated._client_factory import cf_data_flow_debug_session + datafactory_data_flow_debug_session = CliCommandType( + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._data_flow_debug_session_operations#Dat' + 'aFlowDebugSessionOperations.{}', + client_factory=cf_data_flow_debug_session) + with self.command_group('datafactory data-flow-debug-session', datafactory_data_flow_debug_session, + client_factory=cf_data_flow_debug_session, is_experimental=True) as g: + g.custom_command('create', 'datafactory_data_flow_debug_session_create', supports_no_wait=True) + g.custom_command('delete', 'datafactory_data_flow_debug_session_delete') + g.custom_command('add-data-flow', 'datafactory_data_flow_debug_session_add_data_flow') + g.custom_command('execute-command', 'datafactory_data_flow_debug_session_execute_command', + supports_no_wait=True) + g.custom_command('query-by-factory', 'datafactory_data_flow_debug_session_query_by_factory') + g.wait_command('wait') diff --git a/src/datafactory/azext_datafactory/generated/custom.py b/src/datafactory/azext_datafactory/generated/custom.py new file mode 100644 index 00000000000..ddb53a3c5a8 --- /dev/null +++ b/src/datafactory/azext_datafactory/generated/custom.py @@ -0,0 +1,934 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +import json +from knack.util import CLIError + + +def datafactory_factory_list(cmd, client, + resource_group_name=None): + if resource_group_name is not None: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list() + + +def datafactory_factory_show(cmd, client, + resource_group_name, + factory_name, + if_none_match=None): + return client.get(resource_group_name=resource_group_name, + factory_name=factory_name, + if_none_match=if_none_match) + + +def datafactory_factory_create(cmd, client, + resource_group_name, + factory_name, + location, + tags=None, + identity=None, + vsts_configuration=None, + github_configuraiton=None): + all_repo_configuration = [] + if vsts_configuration is not None: + all_repo_configuration.append(vsts_configuration) + if github_configuraiton is not None: + all_repo_configuration.append(github_configuraiton) + if len(all_repo_configuration) > 1: + raise CLIError('at most one of vsts_configuration, github_configuraiton is needed for repo_configuration!') + repo_configuration = all_repo_configuration[0] if len(all_repo_configuration) == 1 else None + return client.create_or_update(resource_group_name=resource_group_name, + factory_name=factory_name, + location=location, + tags=tags, + identity=identity, + repo_configuration=repo_configuration) + + +def datafactory_factory_update(cmd, client, + resource_group_name, + factory_name, + tags=None, + identity=None): + return client.update(resource_group_name=resource_group_name, + factory_name=factory_name, + tags=tags, + identity=identity) + + +def datafactory_factory_delete(cmd, client, + resource_group_name, + factory_name): + return client.delete(resource_group_name=resource_group_name, + factory_name=factory_name) + + +def datafactory_factory_configure_factory_repo(cmd, client, + location_id, + factory_resource_id=None, + vsts_configuration=None, + github_configuraiton=None): + all_repo_configuration = [] + if vsts_configuration is not None: + all_repo_configuration.append(vsts_configuration) + if github_configuraiton is not None: + all_repo_configuration.append(github_configuraiton) + if len(all_repo_configuration) > 1: + raise CLIError('at most one of vsts_configuration, github_configuraiton is needed for repo_configuration!') + repo_configuration = all_repo_configuration[0] if len(all_repo_configuration) == 1 else None + return client.configure_factory_repo(location_id=location_id, + factory_resource_id=factory_resource_id, + repo_configuration=repo_configuration) + + +def datafactory_factory_get_data_plane_access(cmd, client, + resource_group_name, + factory_name, + permissions=None, + access_resource_path=None, + profile_name=None, + start_time=None, + expire_time=None): + return client.get_data_plane_access(resource_group_name=resource_group_name, + factory_name=factory_name, + permissions=permissions, + access_resource_path=access_resource_path, + profile_name=profile_name, + start_time=start_time, + expire_time=expire_time) + + +def datafactory_factory_get_git_hub_access_token(cmd, client, + resource_group_name, + factory_name, + git_hub_access_code, + git_hub_access_token_base_url, + git_hub_client_id=None): + return client.get_git_hub_access_token(resource_group_name=resource_group_name, + factory_name=factory_name, + git_hub_access_code=git_hub_access_code, + git_hub_client_id=git_hub_client_id, + git_hub_access_token_base_url=git_hub_access_token_base_url) + + +def datafactory_exposure_control_get_feature_value(cmd, client, + location_id, + feature_name=None, + feature_type=None): + return client.get_feature_value(location_id=location_id, + feature_name=feature_name, + feature_type=feature_type) + + +def datafactory_exposure_control_get_feature_value_by_factory(cmd, client, + resource_group_name, + factory_name, + feature_name=None, + feature_type=None): + return client.get_feature_value_by_factory(resource_group_name=resource_group_name, + factory_name=factory_name, + feature_name=feature_name, + feature_type=feature_type) + + +def datafactory_integration_runtime_list(cmd, client, + resource_group_name, + factory_name): + return client.list_by_factory(resource_group_name=resource_group_name, + factory_name=factory_name) + + +def datafactory_integration_runtime_show(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name, + if_none_match=None): + return client.get(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + if_none_match=if_none_match) + + +def datafactory_integration_runtime_create(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name, + properties, + if_match=None): + if isinstance(properties, str): + properties = json.loads(properties) + return client.create_or_update(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + if_match=if_match, + properties=properties) + + +def datafactory_integration_runtime_update(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name, + auto_update=None, + update_delay_offset=None): + return client.update(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + auto_update=auto_update, + update_delay_offset=update_delay_offset) + + +def datafactory_integration_runtime_delete(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name): + return client.delete(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name) + + +def datafactory_integration_runtime_create_linked_integration_runtime(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name, + name=None, + subscription_id=None, + data_factory_name=None, + data_factory_location=None): + return client.create_linked_integration_runtime(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + name=name, + subscription_id=subscription_id, + data_factory_name=data_factory_name, + data_factory_location=data_factory_location) + + +def datafactory_integration_runtime_get_connection_info(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name): + return client.get_connection_info(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name) + + +def datafactory_integration_runtime_get_monitoring_data(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name): + return client.get_monitoring_data(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name) + + +def datafactory_integration_runtime_get_status(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name): + return client.get_status(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name) + + +def datafactory_integration_runtime_list_auth_key(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name): + return client.list_auth_key(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name) + + +def datafactory_integration_runtime_regenerate_auth_key(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name, + key_name=None): + return client.regenerate_auth_key(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + key_name=key_name) + + +def datafactory_integration_runtime_remove_link(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name, + linked_factory_name): + return client.remove_link(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + linked_factory_name=linked_factory_name) + + +def datafactory_integration_runtime_start(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name): + return client.begin_start(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name) + + +def datafactory_integration_runtime_stop(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name): + return client.begin_stop(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name) + + +def datafactory_integration_runtime_sync_credentials(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name): + return client.sync_credentials(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name) + + +def datafactory_integration_runtime_upgrade(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name): + return client.upgrade(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name) + + +def datafactory_integration_runtime_object_metadata_get(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name, + metadata_path=None): + return client.get(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + metadata_path=metadata_path) + + +def datafactory_integration_runtime_object_metadata_refresh(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name): + return client.begin_refresh(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name) + + +def datafactory_integration_runtime_node_show(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name, + node_name): + return client.get(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + node_name=node_name) + + +def datafactory_integration_runtime_node_update(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name, + node_name, + concurrent_jobs_limit=None): + return client.update(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + node_name=node_name, + concurrent_jobs_limit=concurrent_jobs_limit) + + +def datafactory_integration_runtime_node_delete(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name, + node_name): + return client.delete(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + node_name=node_name) + + +def datafactory_integration_runtime_node_get_ip_address(cmd, client, + resource_group_name, + factory_name, + integration_runtime_name, + node_name): + return client.get_ip_address(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + node_name=node_name) + + +def datafactory_linked_service_list(cmd, client, + resource_group_name, + factory_name): + return client.list_by_factory(resource_group_name=resource_group_name, + factory_name=factory_name) + + +def datafactory_linked_service_show(cmd, client, + resource_group_name, + factory_name, + linked_service_name, + if_none_match=None): + return client.get(resource_group_name=resource_group_name, + factory_name=factory_name, + linked_service_name=linked_service_name, + if_none_match=if_none_match) + + +def datafactory_linked_service_create(cmd, client, + resource_group_name, + factory_name, + linked_service_name, + properties, + if_match=None): + if isinstance(properties, str): + properties = json.loads(properties) + return client.create_or_update(resource_group_name=resource_group_name, + factory_name=factory_name, + linked_service_name=linked_service_name, + if_match=if_match, + properties=properties) + + +def datafactory_linked_service_update(instance, cmd, + resource_group_name, + factory_name, + linked_service_name, + properties, + if_match=None): + if isinstance(properties, str): + properties = json.loads(properties) + return instance + + +def datafactory_linked_service_delete(cmd, client, + resource_group_name, + factory_name, + linked_service_name): + return client.delete(resource_group_name=resource_group_name, + factory_name=factory_name, + linked_service_name=linked_service_name) + + +def datafactory_dataset_list(cmd, client, + resource_group_name, + factory_name): + return client.list_by_factory(resource_group_name=resource_group_name, + factory_name=factory_name) + + +def datafactory_dataset_show(cmd, client, + resource_group_name, + factory_name, + dataset_name, + if_none_match=None): + return client.get(resource_group_name=resource_group_name, + factory_name=factory_name, + dataset_name=dataset_name, + if_none_match=if_none_match) + + +def datafactory_dataset_create(cmd, client, + resource_group_name, + factory_name, + dataset_name, + properties, + if_match=None): + if isinstance(properties, str): + properties = json.loads(properties) + return client.create_or_update(resource_group_name=resource_group_name, + factory_name=factory_name, + dataset_name=dataset_name, + if_match=if_match, + properties=properties) + + +def datafactory_dataset_update(instance, cmd, + resource_group_name, + factory_name, + dataset_name, + properties, + if_match=None): + if isinstance(properties, str): + properties = json.loads(properties) + return instance + + +def datafactory_dataset_delete(cmd, client, + resource_group_name, + factory_name, + dataset_name): + return client.delete(resource_group_name=resource_group_name, + factory_name=factory_name, + dataset_name=dataset_name) + + +def datafactory_pipeline_list(cmd, client, + resource_group_name, + factory_name): + return client.list_by_factory(resource_group_name=resource_group_name, + factory_name=factory_name) + + +def datafactory_pipeline_show(cmd, client, + resource_group_name, + factory_name, + pipeline_name, + if_none_match=None): + return client.get(resource_group_name=resource_group_name, + factory_name=factory_name, + pipeline_name=pipeline_name, + if_none_match=if_none_match) + + +def datafactory_pipeline_create(cmd, client, + resource_group_name, + factory_name, + pipeline_name, + if_match=None, + description=None, + activities=None, + parameters=None, + variables=None, + concurrency=None, + annotations=None, + run_dimensions=None, + folder=None): + if isinstance(activities, str): + activities = json.loads(activities) + if isinstance(parameters, str): + parameters = json.loads(parameters) + if isinstance(variables, str): + variables = json.loads(variables) + if isinstance(annotations, str): + annotations = json.loads(annotations) + if isinstance(run_dimensions, str): + run_dimensions = json.loads(run_dimensions) + return client.create_or_update(resource_group_name=resource_group_name, + factory_name=factory_name, + pipeline_name=pipeline_name, + if_match=if_match, + description=description, + activities=activities, + parameters=parameters, + variables=variables, + concurrency=concurrency, + annotations=annotations, + run_dimensions=run_dimensions, + folder=folder) + + +def datafactory_pipeline_update(cmd, client, + resource_group_name, + factory_name, + pipeline_name, + if_match=None, + description=None, + activities=None, + parameters=None, + variables=None, + concurrency=None, + annotations=None, + run_dimensions=None, + folder=None): + if isinstance(activities, str): + activities = json.loads(activities) + if isinstance(parameters, str): + parameters = json.loads(parameters) + if isinstance(variables, str): + variables = json.loads(variables) + if isinstance(annotations, str): + annotations = json.loads(annotations) + if isinstance(run_dimensions, str): + run_dimensions = json.loads(run_dimensions) + return client.create_or_update(resource_group_name=resource_group_name, + factory_name=factory_name, + pipeline_name=pipeline_name, + if_match=if_match, + description=description, + activities=activities, + parameters=parameters, + variables=variables, + concurrency=concurrency, + annotations=annotations, + run_dimensions=run_dimensions, + folder=folder) + + +def datafactory_pipeline_delete(cmd, client, + resource_group_name, + factory_name, + pipeline_name): + return client.delete(resource_group_name=resource_group_name, + factory_name=factory_name, + pipeline_name=pipeline_name) + + +def datafactory_pipeline_create_run(cmd, client, + resource_group_name, + factory_name, + pipeline_name, + reference_pipeline_run_id=None, + is_recovery=None, + start_activity_name=None, + start_from_failure=None, + parameters=None): + if isinstance(parameters, str): + parameters = json.loads(parameters) + return client.create_run(resource_group_name=resource_group_name, + factory_name=factory_name, + pipeline_name=pipeline_name, + reference_pipeline_run_id=reference_pipeline_run_id, + is_recovery=is_recovery, + start_activity_name=start_activity_name, + start_from_failure=start_from_failure, + parameters=parameters) + + +def datafactory_pipeline_run_show(cmd, client, + resource_group_name, + factory_name, + run_id): + return client.get(resource_group_name=resource_group_name, + factory_name=factory_name, + run_id=run_id) + + +def datafactory_pipeline_run_cancel(cmd, client, + resource_group_name, + factory_name, + run_id, + is_recursive=None): + return client.cancel(resource_group_name=resource_group_name, + factory_name=factory_name, + run_id=run_id, + is_recursive=is_recursive) + + +def datafactory_pipeline_run_query_by_factory(cmd, client, + resource_group_name, + factory_name, + last_updated_after, + last_updated_before, + continuation_token=None, + filters=None, + order_by=None): + return client.query_by_factory(resource_group_name=resource_group_name, + factory_name=factory_name, + continuation_token=continuation_token, + last_updated_after=last_updated_after, + last_updated_before=last_updated_before, + filters=filters, + order_by=order_by) + + +def datafactory_activity_run_query_by_pipeline_run(cmd, client, + resource_group_name, + factory_name, + run_id, + last_updated_after, + last_updated_before, + continuation_token=None, + filters=None, + order_by=None): + return client.query_by_pipeline_run(resource_group_name=resource_group_name, + factory_name=factory_name, + run_id=run_id, + continuation_token=continuation_token, + last_updated_after=last_updated_after, + last_updated_before=last_updated_before, + filters=filters, + order_by=order_by) + + +def datafactory_trigger_list(cmd, client, + resource_group_name, + factory_name): + return client.list_by_factory(resource_group_name=resource_group_name, + factory_name=factory_name) + + +def datafactory_trigger_show(cmd, client, + resource_group_name, + factory_name, + trigger_name, + if_none_match=None): + return client.get(resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + if_none_match=if_none_match) + + +def datafactory_trigger_create(cmd, client, + resource_group_name, + factory_name, + trigger_name, + properties, + if_match=None): + if isinstance(properties, str): + properties = json.loads(properties) + return client.create_or_update(resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + if_match=if_match, + properties=properties) + + +def datafactory_trigger_update(instance, cmd, + resource_group_name, + factory_name, + trigger_name, + properties, + if_match=None): + if isinstance(properties, str): + properties = json.loads(properties) + return instance + + +def datafactory_trigger_delete(cmd, client, + resource_group_name, + factory_name, + trigger_name): + return client.delete(resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name) + + +def datafactory_trigger_get_event_subscription_status(cmd, client, + resource_group_name, + factory_name, + trigger_name): + return client.get_event_subscription_status(resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name) + + +def datafactory_trigger_query_by_factory(cmd, client, + resource_group_name, + factory_name, + continuation_token=None, + parent_trigger_name=None): + return client.query_by_factory(resource_group_name=resource_group_name, + factory_name=factory_name, + continuation_token=continuation_token, + parent_trigger_name=parent_trigger_name) + + +def datafactory_trigger_start(cmd, client, + resource_group_name, + factory_name, + trigger_name): + return client.begin_start(resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name) + + +def datafactory_trigger_stop(cmd, client, + resource_group_name, + factory_name, + trigger_name): + return client.begin_stop(resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name) + + +def datafactory_trigger_subscribe_to_event(cmd, client, + resource_group_name, + factory_name, + trigger_name): + return client.begin_subscribe_to_event(resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name) + + +def datafactory_trigger_unsubscribe_from_event(cmd, client, + resource_group_name, + factory_name, + trigger_name): + return client.begin_unsubscribe_from_event(resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name) + + +def datafactory_trigger_run_query_by_factory(cmd, client, + resource_group_name, + factory_name, + last_updated_after, + last_updated_before, + continuation_token=None, + filters=None, + order_by=None): + return client.query_by_factory(resource_group_name=resource_group_name, + factory_name=factory_name, + continuation_token=continuation_token, + last_updated_after=last_updated_after, + last_updated_before=last_updated_before, + filters=filters, + order_by=order_by) + + +def datafactory_trigger_run_rerun(cmd, client, + resource_group_name, + factory_name, + trigger_name, + run_id): + return client.rerun(resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + run_id=run_id) + + +def datafactory_data_flow_list(cmd, client, + resource_group_name, + factory_name): + return client.list_by_factory(resource_group_name=resource_group_name, + factory_name=factory_name) + + +def datafactory_data_flow_show(cmd, client, + resource_group_name, + factory_name, + data_flow_name, + if_none_match=None): + return client.get(resource_group_name=resource_group_name, + factory_name=factory_name, + data_flow_name=data_flow_name, + if_none_match=if_none_match) + + +def datafactory_data_flow_create(cmd, client, + resource_group_name, + factory_name, + data_flow_name, + properties, + if_match=None): + if isinstance(properties, str): + properties = json.loads(properties) + return client.create_or_update(resource_group_name=resource_group_name, + factory_name=factory_name, + data_flow_name=data_flow_name, + if_match=if_match, + properties=properties) + + +def datafactory_data_flow_update(instance, cmd, + resource_group_name, + factory_name, + data_flow_name, + properties, + if_match=None): + if isinstance(properties, str): + properties = json.loads(properties) + return instance + + +def datafactory_data_flow_delete(cmd, client, + resource_group_name, + factory_name, + data_flow_name): + return client.delete(resource_group_name=resource_group_name, + factory_name=factory_name, + data_flow_name=data_flow_name) + + +def datafactory_data_flow_debug_session_create(cmd, client, + resource_group_name, + factory_name, + compute_type=None, + core_count=None, + time_to_live=None, + integration_runtime_name=None, + integration_runtime_properties=None): + if isinstance(integration_runtime_properties, str): + integration_runtime_properties = json.loads(integration_runtime_properties) + return client.begin_create(resource_group_name=resource_group_name, + factory_name=factory_name, + compute_type=compute_type, + core_count=core_count, + time_to_live=time_to_live, + name=integration_runtime_name, + properties=integration_runtime_properties) + + +def datafactory_data_flow_debug_session_delete(cmd, client, + resource_group_name, + factory_name, + session_id=None): + return client.delete(resource_group_name=resource_group_name, + factory_name=factory_name, + session_id=session_id) + + +def datafactory_data_flow_debug_session_add_data_flow(cmd, client, + resource_group_name, + factory_name, + session_id=None, + datasets=None, + linked_services=None, + debug_settings_source_settings=None, + debug_settings_parameters=None, + debug_settings_dataset_parameters=None, + staging_folder_path=None, + staging_linked_service_reference_name=None, + staging_linked_service_parameters=None, + data_flow_name=None, + data_flow_properties=None): + if isinstance(datasets, str): + datasets = json.loads(datasets) + if isinstance(linked_services, str): + linked_services = json.loads(linked_services) + if isinstance(debug_settings_parameters, str): + debug_settings_parameters = json.loads(debug_settings_parameters) + if isinstance(debug_settings_dataset_parameters, str): + debug_settings_dataset_parameters = json.loads(debug_settings_dataset_parameters) + if isinstance(staging_linked_service_parameters, str): + staging_linked_service_parameters = json.loads(staging_linked_service_parameters) + if isinstance(data_flow_properties, str): + data_flow_properties = json.loads(data_flow_properties) + return client.add_data_flow(resource_group_name=resource_group_name, + factory_name=factory_name, + session_id=session_id, + datasets=datasets, + linked_services=linked_services, + source_settings=debug_settings_source_settings, + parameters=debug_settings_parameters, + dataset_parameters=debug_settings_dataset_parameters, + folder_path=staging_folder_path, + reference_name=staging_linked_service_reference_name, + parameter_value_specification_parameters=staging_linked_service_parameters, + name=data_flow_name, + properties=data_flow_properties) + + +def datafactory_data_flow_debug_session_execute_command(cmd, client, + resource_group_name, + factory_name, + session_id=None, + command=None, + command_payload=None): + return client.begin_execute_command(resource_group_name=resource_group_name, + factory_name=factory_name, + session_id=session_id, + command=command, + command_payload=command_payload) + + +def datafactory_data_flow_debug_session_query_by_factory(cmd, client, + resource_group_name, + factory_name): + return client.query_by_factory(resource_group_name=resource_group_name, + factory_name=factory_name) diff --git a/src/datafactory/azext_datafactory/manual/__init__.py b/src/datafactory/azext_datafactory/manual/__init__.py new file mode 100644 index 00000000000..ee0c4f36bd0 --- /dev/null +++ b/src/datafactory/azext_datafactory/manual/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/datafactory/azext_datafactory/tests/__init__.py b/src/datafactory/azext_datafactory/tests/__init__.py new file mode 100644 index 00000000000..fe1bd438b46 --- /dev/null +++ b/src/datafactory/azext_datafactory/tests/__init__.py @@ -0,0 +1,49 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +import inspect +import os + + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) + + +def try_manual(func): + def import_manual_function(origin_func): + from importlib import import_module + decorated_path = inspect.getfile(origin_func) + module_path = __path__[0] + if not decorated_path.startswith(module_path): + raise Exception("Decorator can only be used in submodules!") + manual_path = os.path.join( + decorated_path[module_path.rfind(os.path.sep) + 1:]) + manual_file_path, manual_file_name = os.path.split(manual_path) + module_name, _ = os.path.splitext(manual_file_name) + manual_module = "..manual." + \ + ".".join(manual_file_path.split(os.path.sep) + [module_name, ]) + return getattr(import_module(manual_module, package=__name__), origin_func.__name__) + + def get_func_to_call(): + func_to_call = func + try: + func_to_call = import_manual_function(func) + except (ImportError, AttributeError): + pass + return func_to_call + + def wrapper(*args, **kwargs): + func_to_call = get_func_to_call() + print("running {}()...".format(func.__name__)) + return func_to_call(*args, **kwargs) + + if inspect.isclass(func): + return get_func_to_call() + else: + return wrapper diff --git a/src/datafactory/azext_datafactory/tests/latest/__init__.py b/src/datafactory/azext_datafactory/tests/latest/__init__.py new file mode 100644 index 00000000000..ee0c4f36bd0 --- /dev/null +++ b/src/datafactory/azext_datafactory/tests/latest/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/datafactory/azext_datafactory/tests/latest/preparers.py b/src/datafactory/azext_datafactory/tests/latest/preparers.py new file mode 100644 index 00000000000..3d6672de64f --- /dev/null +++ b/src/datafactory/azext_datafactory/tests/latest/preparers.py @@ -0,0 +1,116 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import os +from datetime import datetime +from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer +from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.exceptions import CliTestError +from azure.cli.testsdk.reverse_dependency import get_dummy_cli + + +KEY_RESOURCE_GROUP = 'rg' +KEY_VIRTUAL_NETWORK = 'vnet' +KEY_VNET_SUBNET = 'subnet' + + +class VirtualNetworkPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest.vn', + parameter_name='virtual_network', + resource_group_name=None, + resource_group_key=KEY_RESOURCE_GROUP, + dev_setting_name='AZURE_CLI_TEST_DEV_VIRTUAL_NETWORK_NAME', + random_name_length=24, key=KEY_VIRTUAL_NETWORK): + if ' ' in name_prefix: + raise CliTestError( + 'Error: Space character in name prefix \'%s\'' % name_prefix) + super(VirtualNetworkPreparer, self).__init__( + name_prefix, random_name_length) + self.cli_ctx = get_dummy_cli() + self.parameter_name = parameter_name + self.key = key + self.resource_group_name = resource_group_name + self.resource_group_key = resource_group_key + self.dev_setting_name = os.environ.get(dev_setting_name, None) + + def create_resource(self, name, **kwargs): + if self.dev_setting_name: + return {self.parameter_name: self.dev_setting_name, } + + if not self.resource_group_name: + self.resource_group_name = self.test_class_instance.kwargs.get( + self.resource_group_key) + if not self.resource_group_name: + raise CliTestError("Error: No resource group configured!") + + tags = {'product': 'azurecli', 'cause': 'automation', + 'date': datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')} + if 'ENV_JOB_NAME' in os.environ: + tags['job'] = os.environ['ENV_JOB_NAME'] + tags = ' '.join(['{}={}'.format(key, value) + for key, value in tags.items()]) + template = 'az network vnet create --resource-group {} --name {} --tag ' + tags + self.live_only_execute(self.cli_ctx, template.format( + self.resource_group_name, name)) + + self.test_class_instance.kwargs[self.key] = name + return {self.parameter_name: name} + + def remove_resource(self, name, **kwargs): + # delete vnet if test is being recorded and if the vnet is not a dev rg + if not self.dev_setting_name: + self.live_only_execute( + self.cli_ctx, 'az network vnet delete --name {} --resource-group {}'.format(name, self.resource_group_name)) + + +class VnetSubnetPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest.vn', + parameter_name='subnet', + resource_group_name=None, + resource_group_key=KEY_RESOURCE_GROUP, + vnet_name=None, + vnet_key=KEY_VIRTUAL_NETWORK, + address_prefixes="11.0.0.0/24", + dev_setting_name='AZURE_CLI_TEST_DEV_VNET_SUBNET_NAME', + random_name_length=24, key=KEY_VNET_SUBNET): + if ' ' in name_prefix: + raise CliTestError( + 'Error: Space character in name prefix \'%s\'' % name_prefix) + super(VnetSubnetPreparer, self).__init__( + name_prefix, random_name_length) + self.cli_ctx = get_dummy_cli() + self.parameter_name = parameter_name + self.key = key + self.resource_group_name = resource_group_name + self.resource_group_key = resource_group_key + self.vnet_name = vnet_name + self.vnet_key = vnet_key + self.address_prefixes = address_prefixes + self.dev_setting_name = os.environ.get(dev_setting_name, None) + + def create_resource(self, name, **kwargs): + if self.dev_setting_name: + return {self.parameter_name: self.dev_setting_name, } + + if not self.resource_group_name: + self.resource_group_name = self.test_class_instance.kwargs.get( + self.resource_group_key) + if not self.resource_group_name: + raise CliTestError("Error: No resource group configured!") + if not self.vnet_name: + self.vnet_name = self.test_class_instance.kwargs.get(self.vnet_key) + if not self.vnet_name: + raise CliTestError("Error: No vnet configured!") + + self.test_class_instance.kwargs[self.key] = 'default' + return {self.parameter_name: name} + + def remove_resource(self, name, **kwargs): + pass diff --git a/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario.py b/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario.py new file mode 100644 index 00000000000..d478ebc43ec --- /dev/null +++ b/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario.py @@ -0,0 +1,64 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import os +import unittest + +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import ScenarioTest +from .. import try_manual +from azure.cli.testsdk import ResourceGroupPreparer + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +@try_manual +def setup(test, rg): + pass + + +# EXAMPLE: Factories_CreateOrUpdate +@try_manual +def step_factories_createorupdate(test, rg): + test.cmd('az datafactory factory create ' + '--location "East US" ' + '--factory-name "{exampleFactoryName}" ' + '--resource-group "{rg}"', + checks=[]) + + +@try_manual +def cleanup(test, rg): + pass + + +@try_manual +def call_scenario(test, rg): + setup(test, rg) + step_factories_createorupdate(test, rg) + cleanup(test, rg) + + +@try_manual +class DataFactoryManagementClientScenarioTest(ScenarioTest): + + @ResourceGroupPreparer(name_prefix='clitestdatafactory_exampleResourceGroup'[:7], key='rg', parameter_name='rg') + def test_datafactory(self, rg): + + self.kwargs.update({ + 'subscription_id': self.get_subscription_id() + }) + + self.kwargs.update({ + 'exampleFactoryName': 'exampleFactoryName', + }) + + call_scenario(self, rg) diff --git a/src/datafactory/azext_datafactory/vendored_sdks/__init__.py b/src/datafactory/azext_datafactory/vendored_sdks/__init__.py new file mode 100644 index 00000000000..ee0c4f36bd0 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/__init__.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/__init__.py new file mode 100644 index 00000000000..838f525b1b4 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._data_factory_management_client import DataFactoryManagementClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['DataFactoryManagementClient'] + +try: + from .patch import patch_sdk + patch_sdk() +except ImportError: + pass diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_configuration.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_configuration.py new file mode 100644 index 00000000000..9c37595281c --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_configuration.py @@ -0,0 +1,69 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + + +class DataFactoryManagementClientConfiguration(Configuration): + """Configuration for DataFactoryManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The subscription identifier. + :type subscription_id: str + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(DataFactoryManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2018-06-01" + self.credential_scopes = ['https://management.azure.com/.default'] + kwargs.setdefault('sdk_moniker', 'mgmt-datafactory/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_data_factory_management_client.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_data_factory_management_client.py new file mode 100644 index 00000000000..bf1e79fed70 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_data_factory_management_client.py @@ -0,0 +1,136 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional + +from ._configuration import DataFactoryManagementClientConfiguration +from .operations import OperationOperations +from .operations import FactoryOperations +from .operations import ExposureControlOperations +from .operations import IntegrationRuntimeOperations +from .operations import IntegrationRuntimeObjectMetadataOperations +from .operations import IntegrationRuntimeNodeOperations +from .operations import LinkedServiceOperations +from .operations import DatasetOperations +from .operations import PipelineOperations +from .operations import PipelineRunOperations +from .operations import ActivityRunOperations +from .operations import TriggerOperations +from .operations import TriggerRunOperations +from .operations import DataFlowOperations +from .operations import DataFlowDebugSessionOperations +from . import models + + +class DataFactoryManagementClient(object): + """The Azure Data Factory V2 management API provides a RESTful set of web services that interact with Azure Data Factory V2 services. + + :ivar operation: OperationOperations operations + :vartype operation: azure.mgmt.datafactory.operations.OperationOperations + :ivar factory: FactoryOperations operations + :vartype factory: azure.mgmt.datafactory.operations.FactoryOperations + :ivar exposure_control: ExposureControlOperations operations + :vartype exposure_control: azure.mgmt.datafactory.operations.ExposureControlOperations + :ivar integration_runtime: IntegrationRuntimeOperations operations + :vartype integration_runtime: azure.mgmt.datafactory.operations.IntegrationRuntimeOperations + :ivar integration_runtime_object_metadata: IntegrationRuntimeObjectMetadataOperations operations + :vartype integration_runtime_object_metadata: azure.mgmt.datafactory.operations.IntegrationRuntimeObjectMetadataOperations + :ivar integration_runtime_node: IntegrationRuntimeNodeOperations operations + :vartype integration_runtime_node: azure.mgmt.datafactory.operations.IntegrationRuntimeNodeOperations + :ivar linked_service: LinkedServiceOperations operations + :vartype linked_service: azure.mgmt.datafactory.operations.LinkedServiceOperations + :ivar dataset: DatasetOperations operations + :vartype dataset: azure.mgmt.datafactory.operations.DatasetOperations + :ivar pipeline: PipelineOperations operations + :vartype pipeline: azure.mgmt.datafactory.operations.PipelineOperations + :ivar pipeline_run: PipelineRunOperations operations + :vartype pipeline_run: azure.mgmt.datafactory.operations.PipelineRunOperations + :ivar activity_run: ActivityRunOperations operations + :vartype activity_run: azure.mgmt.datafactory.operations.ActivityRunOperations + :ivar trigger: TriggerOperations operations + :vartype trigger: azure.mgmt.datafactory.operations.TriggerOperations + :ivar trigger_run: TriggerRunOperations operations + :vartype trigger_run: azure.mgmt.datafactory.operations.TriggerRunOperations + :ivar data_flow: DataFlowOperations operations + :vartype data_flow: azure.mgmt.datafactory.operations.DataFlowOperations + :ivar data_flow_debug_session: DataFlowDebugSessionOperations operations + :vartype data_flow_debug_session: azure.mgmt.datafactory.operations.DataFlowDebugSessionOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The subscription identifier. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = DataFactoryManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.factory = FactoryOperations( + self._client, self._config, self._serialize, self._deserialize) + self.exposure_control = ExposureControlOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_runtime = IntegrationRuntimeOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_runtime_object_metadata = IntegrationRuntimeObjectMetadataOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_runtime_node = IntegrationRuntimeNodeOperations( + self._client, self._config, self._serialize, self._deserialize) + self.linked_service = LinkedServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + self.dataset = DatasetOperations( + self._client, self._config, self._serialize, self._deserialize) + self.pipeline = PipelineOperations( + self._client, self._config, self._serialize, self._deserialize) + self.pipeline_run = PipelineRunOperations( + self._client, self._config, self._serialize, self._deserialize) + self.activity_run = ActivityRunOperations( + self._client, self._config, self._serialize, self._deserialize) + self.trigger = TriggerOperations( + self._client, self._config, self._serialize, self._deserialize) + self.trigger_run = TriggerRunOperations( + self._client, self._config, self._serialize, self._deserialize) + self.data_flow = DataFlowOperations( + self._client, self._config, self._serialize, self._deserialize) + self.data_flow_debug_session = DataFlowDebugSessionOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> DataFactoryManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_version.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_version.py new file mode 100644 index 00000000000..c47f66669f1 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +VERSION = "1.0.0" diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/__init__.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/__init__.py new file mode 100644 index 00000000000..5cde5bc8d05 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._data_factory_management_client_async import DataFactoryManagementClient +__all__ = ['DataFactoryManagementClient'] diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_configuration_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_configuration_async.py new file mode 100644 index 00000000000..c5437168fa9 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_configuration_async.py @@ -0,0 +1,65 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials import TokenCredential + + +class DataFactoryManagementClientConfiguration(Configuration): + """Configuration for DataFactoryManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The subscription identifier. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(DataFactoryManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2018-06-01" + self.credential_scopes = ['https://management.azure.com/.default'] + kwargs.setdefault('sdk_moniker', 'mgmt-datafactory/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_data_factory_management_client_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_data_factory_management_client_async.py new file mode 100644 index 00000000000..5e5e0c786c2 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_data_factory_management_client_async.py @@ -0,0 +1,128 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional + +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +from ._configuration_async import DataFactoryManagementClientConfiguration +from .operations_async import OperationOperations +from .operations_async import FactoryOperations +from .operations_async import ExposureControlOperations +from .operations_async import IntegrationRuntimeOperations +from .operations_async import IntegrationRuntimeObjectMetadataOperations +from .operations_async import IntegrationRuntimeNodeOperations +from .operations_async import LinkedServiceOperations +from .operations_async import DatasetOperations +from .operations_async import PipelineOperations +from .operations_async import PipelineRunOperations +from .operations_async import ActivityRunOperations +from .operations_async import TriggerOperations +from .operations_async import TriggerRunOperations +from .operations_async import DataFlowOperations +from .operations_async import DataFlowDebugSessionOperations +from .. import models + + +class DataFactoryManagementClient(object): + """The Azure Data Factory V2 management API provides a RESTful set of web services that interact with Azure Data Factory V2 services. + + :ivar operation: OperationOperations operations + :vartype operation: azure.mgmt.datafactory.aio.operations_async.OperationOperations + :ivar factory: FactoryOperations operations + :vartype factory: azure.mgmt.datafactory.aio.operations_async.FactoryOperations + :ivar exposure_control: ExposureControlOperations operations + :vartype exposure_control: azure.mgmt.datafactory.aio.operations_async.ExposureControlOperations + :ivar integration_runtime: IntegrationRuntimeOperations operations + :vartype integration_runtime: azure.mgmt.datafactory.aio.operations_async.IntegrationRuntimeOperations + :ivar integration_runtime_object_metadata: IntegrationRuntimeObjectMetadataOperations operations + :vartype integration_runtime_object_metadata: azure.mgmt.datafactory.aio.operations_async.IntegrationRuntimeObjectMetadataOperations + :ivar integration_runtime_node: IntegrationRuntimeNodeOperations operations + :vartype integration_runtime_node: azure.mgmt.datafactory.aio.operations_async.IntegrationRuntimeNodeOperations + :ivar linked_service: LinkedServiceOperations operations + :vartype linked_service: azure.mgmt.datafactory.aio.operations_async.LinkedServiceOperations + :ivar dataset: DatasetOperations operations + :vartype dataset: azure.mgmt.datafactory.aio.operations_async.DatasetOperations + :ivar pipeline: PipelineOperations operations + :vartype pipeline: azure.mgmt.datafactory.aio.operations_async.PipelineOperations + :ivar pipeline_run: PipelineRunOperations operations + :vartype pipeline_run: azure.mgmt.datafactory.aio.operations_async.PipelineRunOperations + :ivar activity_run: ActivityRunOperations operations + :vartype activity_run: azure.mgmt.datafactory.aio.operations_async.ActivityRunOperations + :ivar trigger: TriggerOperations operations + :vartype trigger: azure.mgmt.datafactory.aio.operations_async.TriggerOperations + :ivar trigger_run: TriggerRunOperations operations + :vartype trigger_run: azure.mgmt.datafactory.aio.operations_async.TriggerRunOperations + :ivar data_flow: DataFlowOperations operations + :vartype data_flow: azure.mgmt.datafactory.aio.operations_async.DataFlowOperations + :ivar data_flow_debug_session: DataFlowDebugSessionOperations operations + :vartype data_flow_debug_session: azure.mgmt.datafactory.aio.operations_async.DataFlowDebugSessionOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The subscription identifier. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = DataFactoryManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operation = OperationOperations( + self._client, self._config, self._serialize, self._deserialize) + self.factory = FactoryOperations( + self._client, self._config, self._serialize, self._deserialize) + self.exposure_control = ExposureControlOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_runtime = IntegrationRuntimeOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_runtime_object_metadata = IntegrationRuntimeObjectMetadataOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_runtime_node = IntegrationRuntimeNodeOperations( + self._client, self._config, self._serialize, self._deserialize) + self.linked_service = LinkedServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + self.dataset = DatasetOperations( + self._client, self._config, self._serialize, self._deserialize) + self.pipeline = PipelineOperations( + self._client, self._config, self._serialize, self._deserialize) + self.pipeline_run = PipelineRunOperations( + self._client, self._config, self._serialize, self._deserialize) + self.activity_run = ActivityRunOperations( + self._client, self._config, self._serialize, self._deserialize) + self.trigger = TriggerOperations( + self._client, self._config, self._serialize, self._deserialize) + self.trigger_run = TriggerRunOperations( + self._client, self._config, self._serialize, self._deserialize) + self.data_flow = DataFlowOperations( + self._client, self._config, self._serialize, self._deserialize) + self.data_flow_debug_session = DataFlowDebugSessionOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "DataFactoryManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/__init__.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/__init__.py new file mode 100644 index 00000000000..e679cf7ad00 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/__init__.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._operation_operations_async import OperationOperations +from ._factory_operations_async import FactoryOperations +from ._exposure_control_operations_async import ExposureControlOperations +from ._integration_runtime_operations_async import IntegrationRuntimeOperations +from ._integration_runtime_object_metadata_operations_async import IntegrationRuntimeObjectMetadataOperations +from ._integration_runtime_node_operations_async import IntegrationRuntimeNodeOperations +from ._linked_service_operations_async import LinkedServiceOperations +from ._dataset_operations_async import DatasetOperations +from ._pipeline_operations_async import PipelineOperations +from ._pipeline_run_operations_async import PipelineRunOperations +from ._activity_run_operations_async import ActivityRunOperations +from ._trigger_operations_async import TriggerOperations +from ._trigger_run_operations_async import TriggerRunOperations +from ._data_flow_operations_async import DataFlowOperations +from ._data_flow_debug_session_operations_async import DataFlowDebugSessionOperations + +__all__ = [ + 'OperationOperations', + 'FactoryOperations', + 'ExposureControlOperations', + 'IntegrationRuntimeOperations', + 'IntegrationRuntimeObjectMetadataOperations', + 'IntegrationRuntimeNodeOperations', + 'LinkedServiceOperations', + 'DatasetOperations', + 'PipelineOperations', + 'PipelineRunOperations', + 'ActivityRunOperations', + 'TriggerOperations', + 'TriggerRunOperations', + 'DataFlowOperations', + 'DataFlowDebugSessionOperations', +] diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_activity_run_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_activity_run_operations_async.py new file mode 100644 index 00000000000..0442ff402cb --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_activity_run_operations_async.py @@ -0,0 +1,127 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ActivityRunOperations: + """ActivityRunOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def query_by_pipeline_run( + self, + resource_group_name: str, + factory_name: str, + run_id: str, + last_updated_after: datetime.datetime, + last_updated_before: datetime.datetime, + continuation_token: Optional[str] = None, + filters: Optional[List["RunQueryFilter"]] = None, + order_by: Optional[List["RunQueryOrderBy"]] = None, + **kwargs + ) -> "models.ActivityRunsQueryResponse": + """Query activity runs based on input filter conditions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :param last_updated_after: The time at or after which the run event was updated in 'ISO 8601' + format. + :type last_updated_after: ~datetime.datetime + :param last_updated_before: The time at or before which the run event was updated in 'ISO 8601' + format. + :type last_updated_before: ~datetime.datetime + :param continuation_token: The continuation token for getting the next page of results. Null + for first page. + :type continuation_token: str + :param filters: List of filters. + :type filters: list[~azure.mgmt.datafactory.models.RunQueryFilter] + :param order_by: List of OrderBy option. + :type order_by: list[~azure.mgmt.datafactory.models.RunQueryOrderBy] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ActivityRunsQueryResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.ActivityRunsQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ActivityRunsQueryResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _filter_parameters = models.RunFilterParameters(continuation_token=continuation_token, last_updated_after=last_updated_after, last_updated_before=last_updated_before, filters=filters, order_by=order_by) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.query_by_pipeline_run.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_filter_parameters, 'RunFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ActivityRunsQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_pipeline_run.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/queryActivityruns'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_data_flow_debug_session_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_data_flow_debug_session_operations_async.py new file mode 100644 index 00000000000..bdf26a3a88e --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_data_flow_debug_session_operations_async.py @@ -0,0 +1,524 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DataFlowDebugSessionOperations: + """DataFlowDebugSessionOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _create_initial( + self, + resource_group_name: str, + factory_name: str, + compute_type: Optional[str] = None, + core_count: Optional[int] = None, + time_to_live: Optional[int] = None, + name: Optional[str] = None, + properties: Optional["models.IntegrationRuntime"] = None, + **kwargs + ) -> "models.CreateDataFlowDebugSessionResponse": + cls = kwargs.pop('cls', None) # type: ClsType["models.CreateDataFlowDebugSessionResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _request = models.CreateDataFlowDebugSessionRequest(compute_type=compute_type, core_count=core_count, time_to_live=time_to_live, name=name, properties=properties) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_request, 'CreateDataFlowDebugSessionRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + response_headers = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('CreateDataFlowDebugSessionResponse', pipeline_response) + + if response.status_code == 202: + response_headers['location']=self._deserialize('str', response.headers.get('location')) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/createDataFlowDebugSession'} + + async def create( + self, + resource_group_name: str, + factory_name: str, + compute_type: Optional[str] = None, + core_count: Optional[int] = None, + time_to_live: Optional[int] = None, + name: Optional[str] = None, + properties: Optional["models.IntegrationRuntime"] = None, + **kwargs + ) -> "models.CreateDataFlowDebugSessionResponse": + """Creates a data flow debug session. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param compute_type: Compute type of the cluster. The value will be overwritten by the same + setting in integration runtime if provided. + :type compute_type: str + :param core_count: Core count of the cluster. The value will be overwritten by the same setting + in integration runtime if provided. + :type core_count: int + :param time_to_live: Time to live setting of the cluster in minutes. + :type time_to_live: int + :param name: The resource name. + :type name: str + :param properties: Integration runtime properties. + :type properties: ~azure.mgmt.datafactory.models.IntegrationRuntime + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns CreateDataFlowDebugSessionResponse + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datafactory.models.CreateDataFlowDebugSessionResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.CreateDataFlowDebugSessionResponse"] + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + compute_type=compute_type, + core_count=core_count, + time_to_live=time_to_live, + name=name, + properties=properties, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('CreateDataFlowDebugSessionResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/createDataFlowDebugSession'} + + def query_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> "models.QueryDataFlowDebugSessionsResponse": + """Query all active data flow debug sessions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QueryDataFlowDebugSessionsResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.QueryDataFlowDebugSessionsResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.QueryDataFlowDebugSessionsResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.query_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('QueryDataFlowDebugSessionsResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryDataFlowDebugSessions'} + + async def add_data_flow( + self, + resource_group_name: str, + factory_name: str, + session_id: Optional[str] = None, + datasets: Optional[List["DatasetDebugResource"]] = None, + linked_services: Optional[List["LinkedServiceDebugResource"]] = None, + source_settings: Optional[List["DataFlowSourceSetting"]] = None, + parameters: Optional[Dict[str, object]] = None, + dataset_parameters: Optional[object] = None, + folder_path: Optional[str] = None, + reference_name: Optional[str] = None, + parameter_value_specification_parameters: Optional[Dict[str, object]] = None, + name: Optional[str] = None, + properties: Optional["models.DataFlow"] = None, + **kwargs + ) -> "models.AddDataFlowToDebugSessionResponse": + """Add a data flow into debug session. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param session_id: The ID of data flow debug session. + :type session_id: str + :param datasets: List of datasets. + :type datasets: list[~azure.mgmt.datafactory.models.DatasetDebugResource] + :param linked_services: List of linked services. + :type linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceDebugResource] + :param source_settings: Source setting for data flow debug. + :type source_settings: list[~azure.mgmt.datafactory.models.DataFlowSourceSetting] + :param parameters: Data flow parameters. + :type parameters: dict[str, object] + :param dataset_parameters: Parameters for dataset. + :type dataset_parameters: object + :param folder_path: Folder path for staging blob. + :type folder_path: str + :param reference_name: Reference LinkedService name. + :type reference_name: str + :param parameter_value_specification_parameters: Arguments for LinkedService. + :type parameter_value_specification_parameters: dict[str, object] + :param name: The resource name. + :type name: str + :param properties: Data flow properties. + :type properties: ~azure.mgmt.datafactory.models.DataFlow + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AddDataFlowToDebugSessionResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.AddDataFlowToDebugSessionResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AddDataFlowToDebugSessionResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _request = models.DataFlowDebugPackage(session_id=session_id, datasets=datasets, linked_services=linked_services, source_settings=source_settings, parameters_debug_settings_parameters=parameters, dataset_parameters=dataset_parameters, folder_path=folder_path, reference_name=reference_name, parameters_staging_linked_service_parameters=parameter_value_specification_parameters, name=name, properties=properties) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.add_data_flow.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_request, 'DataFlowDebugPackage') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AddDataFlowToDebugSessionResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + add_data_flow.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/addDataFlowToDebugSession'} + + async def delete( + self, + resource_group_name: str, + factory_name: str, + session_id: Optional[str] = None, + **kwargs + ) -> None: + """Deletes a data flow debug session. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param session_id: The ID of data flow debug session. + :type session_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _request = models.DeleteDataFlowDebugSessionRequest(session_id=session_id) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_request, 'DeleteDataFlowDebugSessionRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/deleteDataFlowDebugSession'} + + async def _execute_command_initial( + self, + resource_group_name: str, + factory_name: str, + session_id: Optional[str] = None, + command: Optional[Union[str, "models.DataFlowDebugCommandType"]] = None, + command_payload: Optional["models.DataFlowDebugCommandPayload"] = None, + **kwargs + ) -> "models.DataFlowDebugCommandResponse": + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowDebugCommandResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _request = models.DataFlowDebugCommandRequest(session_id=session_id, command=command, command_payload=command_payload) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._execute_command_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_request, 'DataFlowDebugCommandRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + response_headers = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DataFlowDebugCommandResponse', pipeline_response) + + if response.status_code == 202: + response_headers['location']=self._deserialize('str', response.headers.get('location')) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + _execute_command_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/executeDataFlowDebugCommand'} + + async def execute_command( + self, + resource_group_name: str, + factory_name: str, + session_id: Optional[str] = None, + command: Optional[Union[str, "models.DataFlowDebugCommandType"]] = None, + command_payload: Optional["models.DataFlowDebugCommandPayload"] = None, + **kwargs + ) -> "models.DataFlowDebugCommandResponse": + """Execute a data flow debug command. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param session_id: The ID of data flow debug session. + :type session_id: str + :param command: The command type. + :type command: str or ~azure.mgmt.datafactory.models.DataFlowDebugCommandType + :param command_payload: The command payload object. + :type command_payload: ~azure.mgmt.datafactory.models.DataFlowDebugCommandPayload + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns DataFlowDebugCommandResponse + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datafactory.models.DataFlowDebugCommandResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowDebugCommandResponse"] + raw_result = await self._execute_command_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + session_id=session_id, + command=command, + command_payload=command_payload, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DataFlowDebugCommandResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + execute_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/executeDataFlowDebugCommand'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_data_flow_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_data_flow_operations_async.py new file mode 100644 index 00000000000..a5522dc4e81 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_data_flow_operations_async.py @@ -0,0 +1,308 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DataFlowOperations: + """DataFlowOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + data_flow_name: str, + properties: "models.DataFlow", + if_match: Optional[str] = None, + **kwargs + ) -> "models.DataFlowResource": + """Creates or updates a data flow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param data_flow_name: The data flow name. + :type data_flow_name: str + :param properties: Data flow properties. + :type properties: ~azure.mgmt.datafactory.models.DataFlow + :param if_match: ETag of the data flow entity. Should only be specified for update, for which + it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataFlowResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.DataFlowResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _data_flow = models.DataFlowResource(properties=properties) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_data_flow, 'DataFlowResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataFlowResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} + + async def get( + self, + resource_group_name: str, + factory_name: str, + data_flow_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> "models.DataFlowResource": + """Gets a data flow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param data_flow_name: The data flow name. + :type data_flow_name: str + :param if_none_match: ETag of the data flow entity. Should only be specified for get. If the + ETag matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataFlowResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.DataFlowResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataFlowResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} + + async def delete( + self, + resource_group_name: str, + factory_name: str, + data_flow_name: str, + **kwargs + ) -> None: + """Deletes a data flow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param data_flow_name: The data flow name. + :type data_flow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} + + def list_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> "models.DataFlowListResponse": + """Lists data flows. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataFlowListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.DataFlowListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DataFlowListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_dataset_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_dataset_operations_async.py new file mode 100644 index 00000000000..178cc01b101 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_dataset_operations_async.py @@ -0,0 +1,310 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DatasetOperations: + """DatasetOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> "models.DatasetListResponse": + """Lists datasets. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatasetListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.DatasetListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatasetListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DatasetListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets'} + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + dataset_name: str, + properties: "models.Dataset", + if_match: Optional[str] = None, + **kwargs + ) -> "models.DatasetResource": + """Creates or updates a dataset. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param dataset_name: The dataset name. + :type dataset_name: str + :param properties: Dataset properties. + :type properties: ~azure.mgmt.datafactory.models.Dataset + :param if_match: ETag of the dataset entity. Should only be specified for update, for which it + should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatasetResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.DatasetResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatasetResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _dataset = models.DatasetResource(properties=properties) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_dataset, 'DatasetResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DatasetResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} + + async def get( + self, + resource_group_name: str, + factory_name: str, + dataset_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> "models.DatasetResource": + """Gets a dataset. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param dataset_name: The dataset name. + :type dataset_name: str + :param if_none_match: ETag of the dataset entity. Should only be specified for get. If the ETag + matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatasetResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.DatasetResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatasetResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DatasetResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} + + async def delete( + self, + resource_group_name: str, + factory_name: str, + dataset_name: str, + **kwargs + ) -> None: + """Deletes a dataset. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param dataset_name: The dataset name. + :type dataset_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_exposure_control_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_exposure_control_operations_async.py new file mode 100644 index 00000000000..c93ce45ce28 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_exposure_control_operations_async.py @@ -0,0 +1,175 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExposureControlOperations: + """ExposureControlOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get_feature_value( + self, + location_id: str, + feature_name: Optional[str] = None, + feature_type: Optional[str] = None, + **kwargs + ) -> "models.ExposureControlResponse": + """Get exposure control feature for specific location. + + :param location_id: The location identifier. + :type location_id: str + :param feature_name: The feature name. + :type feature_name: str + :param feature_type: The feature type. + :type feature_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExposureControlResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.ExposureControlResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ExposureControlResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _exposure_control_request = models.ExposureControlRequest(feature_name=feature_name, feature_type=feature_type) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.get_feature_value.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'locationId': self._serialize.url("location_id", location_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_exposure_control_request, 'ExposureControlRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExposureControlResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_feature_value.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/getFeatureValue'} + + async def get_feature_value_by_factory( + self, + resource_group_name: str, + factory_name: str, + feature_name: Optional[str] = None, + feature_type: Optional[str] = None, + **kwargs + ) -> "models.ExposureControlResponse": + """Get exposure control feature for specific factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param feature_name: The feature name. + :type feature_name: str + :param feature_type: The feature type. + :type feature_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExposureControlResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.ExposureControlResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ExposureControlResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _exposure_control_request = models.ExposureControlRequest(feature_name=feature_name, feature_type=feature_type) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.get_feature_value_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_exposure_control_request, 'ExposureControlRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExposureControlResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_feature_value_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getFeatureValue'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_factory_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_factory_operations_async.py new file mode 100644 index 00000000000..c305334dd10 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_factory_operations_async.py @@ -0,0 +1,653 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FactoryOperations: + """FactoryOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> "models.FactoryListResponse": + """Lists factories under the specified subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FactoryListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.FactoryListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FactoryListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('FactoryListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/factories'} + + async def configure_factory_repo( + self, + location_id: str, + factory_resource_id: Optional[str] = None, + repo_configuration: Optional["models.FactoryRepoConfiguration"] = None, + **kwargs + ) -> "models.Factory": + """Updates a factory's repo information. + + :param location_id: The location identifier. + :type location_id: str + :param factory_resource_id: The factory resource id. + :type factory_resource_id: str + :param repo_configuration: Git repo information of the factory. + :type repo_configuration: ~azure.mgmt.datafactory.models.FactoryRepoConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.Factory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _factory_repo_update = models.FactoryRepoUpdate(factory_resource_id=factory_resource_id, repo_configuration=repo_configuration) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.configure_factory_repo.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'locationId': self._serialize.url("location_id", location_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_factory_repo_update, 'FactoryRepoUpdate') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + configure_factory_repo.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/configureFactoryRepo'} + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> "models.FactoryListResponse": + """Lists factories. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FactoryListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.FactoryListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FactoryListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('FactoryListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories'} + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + if_match: Optional[str] = None, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + identity: Optional["models.FactoryIdentity"] = None, + repo_configuration: Optional["models.FactoryRepoConfiguration"] = None, + **kwargs + ) -> "models.Factory": + """Creates or updates a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param if_match: ETag of the factory entity. Should only be specified for update, for which it + should match existing entity or can be * for unconditional update. + :type if_match: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param identity: Managed service identity of the factory. + :type identity: ~azure.mgmt.datafactory.models.FactoryIdentity + :param repo_configuration: Git repo information of the factory. + :type repo_configuration: ~azure.mgmt.datafactory.models.FactoryRepoConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.Factory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _factory = models.Factory(location=location, tags=tags, identity=identity, repo_configuration=repo_configuration) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_factory, 'Factory') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} + + async def update( + self, + resource_group_name: str, + factory_name: str, + tags: Optional[Dict[str, str]] = None, + identity: Optional["models.FactoryIdentity"] = None, + **kwargs + ) -> "models.Factory": + """Updates a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param identity: Managed service identity of the factory. + :type identity: ~azure.mgmt.datafactory.models.FactoryIdentity + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.Factory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _factory_update_parameters = models.FactoryUpdateParameters(tags=tags, identity=identity) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_factory_update_parameters, 'FactoryUpdateParameters') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} + + async def get( + self, + resource_group_name: str, + factory_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> "models.Factory": + """Gets a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param if_none_match: ETag of the factory entity. Should only be specified for get. If the ETag + matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.Factory or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} + + async def delete( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> None: + """Deletes a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} + + async def get_git_hub_access_token( + self, + resource_group_name: str, + factory_name: str, + git_hub_access_code: str, + git_hub_access_token_base_url: str, + git_hub_client_id: Optional[str] = None, + **kwargs + ) -> "models.GitHubAccessTokenResponse": + """Get GitHub Access Token. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param git_hub_access_code: GitHub access code. + :type git_hub_access_code: str + :param git_hub_access_token_base_url: GitHub access token base URL. + :type git_hub_access_token_base_url: str + :param git_hub_client_id: GitHub application client ID. + :type git_hub_client_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GitHubAccessTokenResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.GitHubAccessTokenResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.GitHubAccessTokenResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _git_hub_access_token_request = models.GitHubAccessTokenRequest(git_hub_access_code=git_hub_access_code, git_hub_client_id=git_hub_client_id, git_hub_access_token_base_url=git_hub_access_token_base_url) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.get_git_hub_access_token.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_git_hub_access_token_request, 'GitHubAccessTokenRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GitHubAccessTokenResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_git_hub_access_token.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getGitHubAccessToken'} + + async def get_data_plane_access( + self, + resource_group_name: str, + factory_name: str, + permissions: Optional[str] = None, + access_resource_path: Optional[str] = None, + profile_name: Optional[str] = None, + start_time: Optional[str] = None, + expire_time: Optional[str] = None, + **kwargs + ) -> "models.AccessPolicyResponse": + """Get Data Plane access. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param permissions: The string with permissions for Data Plane access. Currently only 'r' is + supported which grants read only access. + :type permissions: str + :param access_resource_path: The resource path to get access relative to factory. Currently + only empty string is supported which corresponds to the factory resource. + :type access_resource_path: str + :param profile_name: The name of the profile. Currently only the default is supported. The + default value is DefaultProfile. + :type profile_name: str + :param start_time: Start time for the token. If not specified the current time will be used. + :type start_time: str + :param expire_time: Expiration time for the token. Maximum duration for the token is eight + hours and by default the token will expire in eight hours. + :type expire_time: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AccessPolicyResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.AccessPolicyResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AccessPolicyResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _policy = models.UserAccessPolicy(permissions=permissions, access_resource_path=access_resource_path, profile_name=profile_name, start_time=start_time, expire_time=expire_time) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.get_data_plane_access.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_policy, 'UserAccessPolicy') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AccessPolicyResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_data_plane_access.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getDataPlaneAccess'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_node_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_node_operations_async.py new file mode 100644 index 00000000000..8b1b2f6a7d4 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_node_operations_async.py @@ -0,0 +1,301 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationRuntimeNodeOperations: + """IntegrationRuntimeNodeOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + node_name: str, + **kwargs + ) -> "models.SelfHostedIntegrationRuntimeNode": + """Gets a self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SelfHostedIntegrationRuntimeNode or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.SelfHostedIntegrationRuntimeNode + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SelfHostedIntegrationRuntimeNode"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SelfHostedIntegrationRuntimeNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} + + async def delete( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + node_name: str, + **kwargs + ) -> None: + """Deletes a self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} + + async def update( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + node_name: str, + concurrent_jobs_limit: Optional[int] = None, + **kwargs + ) -> "models.SelfHostedIntegrationRuntimeNode": + """Updates a self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :param concurrent_jobs_limit: The number of concurrent jobs permitted to run on the integration + runtime node. Values between 1 and maxConcurrentJobs(inclusive) are allowed. + :type concurrent_jobs_limit: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SelfHostedIntegrationRuntimeNode or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.SelfHostedIntegrationRuntimeNode + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SelfHostedIntegrationRuntimeNode"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _update_integration_runtime_node_request = models.UpdateIntegrationRuntimeNodeRequest(concurrent_jobs_limit=concurrent_jobs_limit) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_update_integration_runtime_node_request, 'UpdateIntegrationRuntimeNodeRequest') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SelfHostedIntegrationRuntimeNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} + + async def get_ip_address( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + node_name: str, + **kwargs + ) -> "models.IntegrationRuntimeNodeIpAddress": + """Get the IP address of self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeNodeIpAddress or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeNodeIpAddress + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeNodeIpAddress"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get_ip_address.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeNodeIpAddress', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_ip_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}/ipAddress'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_object_metadata_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_object_metadata_operations_async.py new file mode 100644 index 00000000000..7d9a89beb96 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_object_metadata_operations_async.py @@ -0,0 +1,215 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationRuntimeObjectMetadataOperations: + """IntegrationRuntimeObjectMetadataOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _refresh_initial( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> "models.SsisObjectMetadataStatusResponse": + cls = kwargs.pop('cls', None) # type: ClsType["models.SsisObjectMetadataStatusResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self._refresh_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SsisObjectMetadataStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _refresh_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/refreshObjectMetadata'} + + async def refresh( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> "models.SsisObjectMetadataStatusResponse": + """Refresh a SSIS integration runtime object metadata. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns SsisObjectMetadataStatusResponse + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datafactory.models.SsisObjectMetadataStatusResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.SsisObjectMetadataStatusResponse"] + raw_result = await self._refresh_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SsisObjectMetadataStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + refresh.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/refreshObjectMetadata'} + + async def get( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + metadata_path: Optional[str] = None, + **kwargs + ) -> "models.SsisObjectMetadataListResponse": + """Get a SSIS integration runtime object metadata by specified path. The return is pageable metadata list. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param metadata_path: Metadata path. + :type metadata_path: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SsisObjectMetadataListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.SsisObjectMetadataListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SsisObjectMetadataListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _get_metadata_request = models.GetSsisObjectMetadataRequest(metadata_path=metadata_path) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _get_metadata_request is not None: + body_content = self._serialize.body(_get_metadata_request, 'GetSsisObjectMetadataRequest') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SsisObjectMetadataListResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getObjectMetadata'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_operations_async.py new file mode 100644 index 00000000000..8a4ef560dba --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_integration_runtime_operations_async.py @@ -0,0 +1,1141 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationRuntimeOperations: + """IntegrationRuntimeOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> "models.IntegrationRuntimeListResponse": + """Lists integration runtimes. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationRuntimeListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes'} + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + properties: "models.IntegrationRuntime", + if_match: Optional[str] = None, + **kwargs + ) -> "models.IntegrationRuntimeResource": + """Creates or updates an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param properties: Integration runtime properties. + :type properties: ~azure.mgmt.datafactory.models.IntegrationRuntime + :param if_match: ETag of the integration runtime entity. Should only be specified for update, + for which it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _integration_runtime = models.IntegrationRuntimeResource(properties=properties) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_integration_runtime, 'IntegrationRuntimeResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} + + async def get( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> "models.IntegrationRuntimeResource": + """Gets an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param if_none_match: ETag of the integration runtime entity. Should only be specified for get. + If the ETag matches the existing entity tag, or if * was provided, then no content will be + returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationRuntimeResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} + + async def update( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + auto_update: Optional[Union[str, "models.IntegrationRuntimeAutoUpdate"]] = None, + update_delay_offset: Optional[str] = None, + **kwargs + ) -> "models.IntegrationRuntimeResource": + """Updates an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param auto_update: Enables or disables the auto-update feature of the self-hosted integration + runtime. See https://go.microsoft.com/fwlink/?linkid=854189. + :type auto_update: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeAutoUpdate + :param update_delay_offset: The time offset (in hours) in the day, e.g., PT03H is 3 hours. The + integration runtime auto update will happen on that time. + :type update_delay_offset: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _update_integration_runtime_request = models.UpdateIntegrationRuntimeRequest(auto_update=auto_update, update_delay_offset=update_delay_offset) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_update_integration_runtime_request, 'UpdateIntegrationRuntimeRequest') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} + + async def delete( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> None: + """Deletes an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} + + async def get_status( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> "models.IntegrationRuntimeStatusResponse": + """Gets detailed status information for an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeStatusResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeStatusResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get_status.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getStatus'} + + async def get_connection_info( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> "models.IntegrationRuntimeConnectionInfo": + """Gets the on-premises integration runtime connection information for encrypting the on-premises data source credentials. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeConnectionInfo or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeConnectionInfo + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeConnectionInfo"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get_connection_info.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeConnectionInfo', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_connection_info.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getConnectionInfo'} + + async def regenerate_auth_key( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + key_name: Optional[Union[str, "models.IntegrationRuntimeAuthKeyName"]] = None, + **kwargs + ) -> "models.IntegrationRuntimeAuthKeys": + """Regenerates the authentication key for an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param key_name: The name of the authentication key to regenerate. + :type key_name: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeAuthKeyName + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeAuthKeys or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeAuthKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeAuthKeys"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _regenerate_key_parameters = models.IntegrationRuntimeRegenerateKeyParameters(key_name=key_name) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.regenerate_auth_key.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_regenerate_key_parameters, 'IntegrationRuntimeRegenerateKeyParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeAuthKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + regenerate_auth_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/regenerateAuthKey'} + + async def list_auth_key( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> "models.IntegrationRuntimeAuthKeys": + """Retrieves the authentication keys for an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeAuthKeys or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeAuthKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeAuthKeys"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.list_auth_key.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeAuthKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_auth_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/listAuthKeys'} + + async def _start_initial( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> "models.IntegrationRuntimeStatusResponse": + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self._start_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start'} + + async def start( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> "models.IntegrationRuntimeStatusResponse": + """Starts a ManagedReserved type integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns IntegrationRuntimeStatusResponse + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datafactory.models.IntegrationRuntimeStatusResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] + raw_result = await self._start_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start'} + + async def _stop_initial( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self._stop_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop'} + + async def stop( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> None: + """Stops a ManagedReserved type integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._stop_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop'} + + async def sync_credentials( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> None: + """Force the integration runtime to synchronize credentials across integration runtime nodes, and this will override the credentials across all worker nodes with those available on the dispatcher node. If you already have the latest credential backup file, you should manually import it (preferred) on any self-hosted integration runtime node than using this API directly. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.sync_credentials.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + sync_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/syncCredentials'} + + async def get_monitoring_data( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> "models.IntegrationRuntimeMonitoringData": + """Get the integration runtime monitoring data, which includes the monitor data for all the nodes under this integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeMonitoringData or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeMonitoringData + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeMonitoringData"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get_monitoring_data.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeMonitoringData', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_monitoring_data.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/monitoringData'} + + async def upgrade( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> None: + """Upgrade self-hosted integration runtime to latest version if availability. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.upgrade.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + upgrade.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/upgrade'} + + async def remove_link( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + linked_factory_name: str, + **kwargs + ) -> None: + """Remove all linked integration runtimes under specific data factory in a self-hosted integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param linked_factory_name: The data factory name for linked integration runtime. + :type linked_factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _linked_integration_runtime_request = models.LinkedIntegrationRuntimeRequest(linked_factory_name=linked_factory_name) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.remove_link.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_linked_integration_runtime_request, 'LinkedIntegrationRuntimeRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + remove_link.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/removeLinks'} + + async def create_linked_integration_runtime( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + name: Optional[str] = None, + subscription_id: Optional[str] = None, + data_factory_name: Optional[str] = None, + data_factory_location: Optional[str] = None, + **kwargs + ) -> "models.IntegrationRuntimeStatusResponse": + """Create a linked integration runtime entry in a shared integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param name: The name of the linked integration runtime. + :type name: str + :param subscription_id: The ID of the subscription that the linked integration runtime belongs + to. + :type subscription_id: str + :param data_factory_name: The name of the data factory that the linked integration runtime + belongs to. + :type data_factory_name: str + :param data_factory_location: The location of the data factory that the linked integration + runtime belongs to. + :type data_factory_location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeStatusResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeStatusResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _create_linked_integration_runtime_request = models.CreateLinkedIntegrationRuntimeRequest(name=name, subscription_id=subscription_id, data_factory_name=data_factory_name, data_factory_location=data_factory_location) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_linked_integration_runtime.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_create_linked_integration_runtime_request, 'CreateLinkedIntegrationRuntimeRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_linked_integration_runtime.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/linkedIntegrationRuntime'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_linked_service_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_linked_service_operations_async.py new file mode 100644 index 00000000000..113f0fae22f --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_linked_service_operations_async.py @@ -0,0 +1,311 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class LinkedServiceOperations: + """LinkedServiceOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> "models.LinkedServiceListResponse": + """Lists linked services. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LinkedServiceListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.LinkedServiceListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LinkedServiceListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('LinkedServiceListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices'} + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + linked_service_name: str, + properties: "models.LinkedService", + if_match: Optional[str] = None, + **kwargs + ) -> "models.LinkedServiceResource": + """Creates or updates a linked service. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param linked_service_name: The linked service name. + :type linked_service_name: str + :param properties: Properties of linked service. + :type properties: ~azure.mgmt.datafactory.models.LinkedService + :param if_match: ETag of the linkedService entity. Should only be specified for update, for + which it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LinkedServiceResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.LinkedServiceResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LinkedServiceResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _linked_service = models.LinkedServiceResource(properties=properties) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_linked_service, 'LinkedServiceResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('LinkedServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} + + async def get( + self, + resource_group_name: str, + factory_name: str, + linked_service_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> "models.LinkedServiceResource": + """Gets a linked service. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param linked_service_name: The linked service name. + :type linked_service_name: str + :param if_none_match: ETag of the linked service entity. Should only be specified for get. If + the ETag matches the existing entity tag, or if * was provided, then no content will be + returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LinkedServiceResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.LinkedServiceResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LinkedServiceResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('LinkedServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} + + async def delete( + self, + resource_group_name: str, + factory_name: str, + linked_service_name: str, + **kwargs + ) -> None: + """Deletes a linked service. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param linked_service_name: The linked service name. + :type linked_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_operation_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_operation_operations_async.py new file mode 100644 index 00000000000..be5bdeafd0c --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_operation_operations_async.py @@ -0,0 +1,100 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations: + """OperationOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> "models.OperationListResponse": + """Lists the available Azure Data Factory API operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.OperationListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('OperationListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.DataFactory/operations'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_pipeline_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_pipeline_operations_async.py new file mode 100644 index 00000000000..f7bee8af349 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_pipeline_operations_async.py @@ -0,0 +1,428 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PipelineOperations: + """PipelineOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> "models.PipelineListResponse": + """Lists pipelines. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.PipelineListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PipelineListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines'} + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + pipeline_name: str, + if_match: Optional[str] = None, + description: Optional[str] = None, + activities: Optional[List["Activity"]] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + variables: Optional[Dict[str, "VariableSpecification"]] = None, + concurrency: Optional[int] = None, + annotations: Optional[List[object]] = None, + run_dimensions: Optional[Dict[str, object]] = None, + folder: Optional["models.PipelineFolder"] = None, + **kwargs + ) -> "models.PipelineResource": + """Creates or updates a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :param if_match: ETag of the pipeline entity. Should only be specified for update, for which + it should match existing entity or can be * for unconditional update. + :type if_match: str + :param description: The description of the pipeline. + :type description: str + :param activities: List of activities in pipeline. + :type activities: list[~azure.mgmt.datafactory.models.Activity] + :param parameters: List of parameters for pipeline. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param variables: List of variables for pipeline. + :type variables: dict[str, ~azure.mgmt.datafactory.models.VariableSpecification] + :param concurrency: The max number of concurrent runs for the pipeline. + :type concurrency: int + :param annotations: List of tags that can be used for describing the Pipeline. + :type annotations: list[object] + :param run_dimensions: Dimensions emitted by Pipeline. + :type run_dimensions: dict[str, object] + :param folder: The folder that this Pipeline is in. If not specified, Pipeline will appear at + the root level. + :type folder: ~azure.mgmt.datafactory.models.PipelineFolder + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.PipelineResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _pipeline = models.PipelineResource(description=description, activities=activities, parameters=parameters, variables=variables, concurrency=concurrency, annotations=annotations, run_dimensions=run_dimensions, folder=folder) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_pipeline, 'PipelineResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PipelineResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} + + async def get( + self, + resource_group_name: str, + factory_name: str, + pipeline_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> "models.PipelineResource": + """Gets a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :param if_none_match: ETag of the pipeline entity. Should only be specified for get. If the + ETag matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.PipelineResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PipelineResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} + + async def delete( + self, + resource_group_name: str, + factory_name: str, + pipeline_name: str, + **kwargs + ) -> None: + """Deletes a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} + + async def create_run( + self, + resource_group_name: str, + factory_name: str, + pipeline_name: str, + reference_pipeline_run_id: Optional[str] = None, + is_recovery: Optional[bool] = None, + start_activity_name: Optional[str] = None, + start_from_failure: Optional[bool] = None, + parameters: Optional[Dict[str, object]] = None, + **kwargs + ) -> "models.CreateRunResponse": + """Creates a run of a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :param reference_pipeline_run_id: The pipeline run identifier. If run ID is specified the + parameters of the specified run will be used to create a new run. + :type reference_pipeline_run_id: str + :param is_recovery: Recovery mode flag. If recovery mode is set to true, the specified + referenced pipeline run and the new run will be grouped under the same groupId. + :type is_recovery: bool + :param start_activity_name: In recovery mode, the rerun will start from this activity. If not + specified, all activities will run. + :type start_activity_name: str + :param start_from_failure: In recovery mode, if set to true, the rerun will start from failed + activities. The property will be used only if startActivityName is not specified. + :type start_from_failure: bool + :param parameters: Parameters of the pipeline run. These parameters will be used only if the + runId is not specified. + :type parameters: dict[str, object] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CreateRunResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.CreateRunResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CreateRunResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_run.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if reference_pipeline_run_id is not None: + query_parameters['referencePipelineRunId'] = self._serialize.query("reference_pipeline_run_id", reference_pipeline_run_id, 'str') + if is_recovery is not None: + query_parameters['isRecovery'] = self._serialize.query("is_recovery", is_recovery, 'bool') + if start_activity_name is not None: + query_parameters['startActivityName'] = self._serialize.query("start_activity_name", start_activity_name, 'str') + if start_from_failure is not None: + query_parameters['startFromFailure'] = self._serialize.query("start_from_failure", start_from_failure, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if parameters is not None: + body_content = self._serialize.body(parameters, '{object}') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CreateRunResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_run.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_pipeline_run_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_pipeline_run_operations_async.py new file mode 100644 index 00000000000..4d1513b547c --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_pipeline_run_operations_async.py @@ -0,0 +1,243 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PipelineRunOperations: + """PipelineRunOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def query_by_factory( + self, + resource_group_name: str, + factory_name: str, + last_updated_after: datetime.datetime, + last_updated_before: datetime.datetime, + continuation_token: Optional[str] = None, + filters: Optional[List["RunQueryFilter"]] = None, + order_by: Optional[List["RunQueryOrderBy"]] = None, + **kwargs + ) -> "models.PipelineRunsQueryResponse": + """Query pipeline runs in the factory based on input filter conditions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param last_updated_after: The time at or after which the run event was updated in 'ISO 8601' + format. + :type last_updated_after: ~datetime.datetime + :param last_updated_before: The time at or before which the run event was updated in 'ISO 8601' + format. + :type last_updated_before: ~datetime.datetime + :param continuation_token: The continuation token for getting the next page of results. Null + for first page. + :type continuation_token: str + :param filters: List of filters. + :type filters: list[~azure.mgmt.datafactory.models.RunQueryFilter] + :param order_by: List of OrderBy option. + :type order_by: list[~azure.mgmt.datafactory.models.RunQueryOrderBy] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineRunsQueryResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.PipelineRunsQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineRunsQueryResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _filter_parameters = models.RunFilterParameters(continuation_token=continuation_token, last_updated_after=last_updated_after, last_updated_before=last_updated_before, filters=filters, order_by=order_by) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.query_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_filter_parameters, 'RunFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PipelineRunsQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryPipelineRuns'} + + async def get( + self, + resource_group_name: str, + factory_name: str, + run_id: str, + **kwargs + ) -> "models.PipelineRun": + """Get a pipeline run by its run ID. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineRun or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.PipelineRun + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineRun"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PipelineRun', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}'} + + async def cancel( + self, + resource_group_name: str, + factory_name: str, + run_id: str, + is_recursive: Optional[bool] = None, + **kwargs + ) -> None: + """Cancel a pipeline run by its run ID. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :param is_recursive: If true, cancel all the Child pipelines that are triggered by the current + pipeline. + :type is_recursive: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.cancel.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if is_recursive is not None: + query_parameters['isRecursive'] = self._serialize.query("is_recursive", is_recursive, 'bool') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/cancel'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_trigger_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_trigger_operations_async.py new file mode 100644 index 00000000000..08d2d07b740 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_trigger_operations_async.py @@ -0,0 +1,820 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncNoPolling, AsyncPollingMethod, async_poller +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class TriggerOperations: + """TriggerOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> "models.TriggerListResponse": + """Lists triggers. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.TriggerListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('TriggerListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers'} + + async def query_by_factory( + self, + resource_group_name: str, + factory_name: str, + continuation_token: Optional[str] = None, + parent_trigger_name: Optional[str] = None, + **kwargs + ) -> "models.TriggerQueryResponse": + """Query triggers. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param continuation_token: The continuation token for getting the next page of results. Null + for first page. + :type continuation_token: str + :param parent_trigger_name: The name of the parent TumblingWindowTrigger to get the child rerun + triggers. + :type parent_trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerQueryResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.TriggerQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerQueryResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _filter_parameters = models.TriggerFilterParameters(continuation_token=continuation_token, parent_trigger_name=parent_trigger_name) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.query_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_filter_parameters, 'TriggerFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/querytriggers'} + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + properties: "models.Trigger", + if_match: Optional[str] = None, + **kwargs + ) -> "models.TriggerResource": + """Creates or updates a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :param properties: Properties of the trigger. + :type properties: ~azure.mgmt.datafactory.models.Trigger + :param if_match: ETag of the trigger entity. Should only be specified for update, for which it + should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.TriggerResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _trigger = models.TriggerResource(properties=properties) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_trigger, 'TriggerResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} + + async def get( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> "models.TriggerResource": + """Gets a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :param if_none_match: ETag of the trigger entity. Should only be specified for get. If the ETag + matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.TriggerResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('TriggerResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} + + async def delete( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> None: + """Deletes a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} + + async def _subscribe_to_event_initial( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> "models.TriggerSubscriptionOperationStatus": + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self._subscribe_to_event_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _subscribe_to_event_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/subscribeToEvents'} + + async def subscribe_to_event( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> "models.TriggerSubscriptionOperationStatus": + """Subscribe event trigger to events. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns TriggerSubscriptionOperationStatus + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datafactory.models.TriggerSubscriptionOperationStatus] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + raw_result = await self._subscribe_to_event_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + subscribe_to_event.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/subscribeToEvents'} + + async def get_event_subscription_status( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> "models.TriggerSubscriptionOperationStatus": + """Get a trigger's event subscription status. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerSubscriptionOperationStatus or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.TriggerSubscriptionOperationStatus + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get_event_subscription_status.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_event_subscription_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/getEventSubscriptionStatus'} + + async def _unsubscribe_from_event_initial( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> "models.TriggerSubscriptionOperationStatus": + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self._unsubscribe_from_event_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _unsubscribe_from_event_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/unsubscribeFromEvents'} + + async def unsubscribe_from_event( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> "models.TriggerSubscriptionOperationStatus": + """Unsubscribe event trigger from events. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns TriggerSubscriptionOperationStatus + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datafactory.models.TriggerSubscriptionOperationStatus] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + raw_result = await self._unsubscribe_from_event_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + unsubscribe_from_event.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/unsubscribeFromEvents'} + + async def _start_initial( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self._start_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start'} + + async def start( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> None: + """Starts a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._start_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start'} + + async def _stop_initial( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self._stop_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop'} + + async def stop( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> None: + """Stops a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = await self._stop_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = AsyncARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + return await async_poller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_trigger_run_operations_async.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_trigger_run_operations_async.py new file mode 100644 index 00000000000..b1654cbf028 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations_async/_trigger_run_operations_async.py @@ -0,0 +1,182 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class TriggerRunOperations: + """TriggerRunOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def rerun( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + run_id: str, + **kwargs + ) -> None: + """Rerun single trigger instance by runId. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.rerun.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + rerun.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerRuns/{runId}/rerun'} + + async def query_by_factory( + self, + resource_group_name: str, + factory_name: str, + last_updated_after: datetime.datetime, + last_updated_before: datetime.datetime, + continuation_token: Optional[str] = None, + filters: Optional[List["RunQueryFilter"]] = None, + order_by: Optional[List["RunQueryOrderBy"]] = None, + **kwargs + ) -> "models.TriggerRunsQueryResponse": + """Query trigger runs. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param last_updated_after: The time at or after which the run event was updated in 'ISO 8601' + format. + :type last_updated_after: ~datetime.datetime + :param last_updated_before: The time at or before which the run event was updated in 'ISO 8601' + format. + :type last_updated_before: ~datetime.datetime + :param continuation_token: The continuation token for getting the next page of results. Null + for first page. + :type continuation_token: str + :param filters: List of filters. + :type filters: list[~azure.mgmt.datafactory.models.RunQueryFilter] + :param order_by: List of OrderBy option. + :type order_by: list[~azure.mgmt.datafactory.models.RunQueryOrderBy] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerRunsQueryResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.TriggerRunsQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerRunsQueryResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _filter_parameters = models.RunFilterParameters(continuation_token=continuation_token, last_updated_after=last_updated_after, last_updated_before=last_updated_before, filters=filters, order_by=order_by) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.query_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_filter_parameters, 'RunFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerRunsQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryTriggerRuns'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/__init__.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/__init__.py new file mode 100644 index 00000000000..ab259729cf1 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/__init__.py @@ -0,0 +1,1325 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AccessPolicyResponse + from ._models_py3 import Activity + from ._models_py3 import ActivityDependency + from ._models_py3 import ActivityPolicy + from ._models_py3 import ActivityRun + from ._models_py3 import ActivityRunsQueryResponse + from ._models_py3 import AddDataFlowToDebugSessionResponse + from ._models_py3 import AmazonMwsLinkedService + from ._models_py3 import AmazonMwsObjectDataset + from ._models_py3 import AmazonRedshiftLinkedService + from ._models_py3 import AmazonRedshiftTableDataset + from ._models_py3 import AmazonS3Dataset + from ._models_py3 import AmazonS3LinkedService + from ._models_py3 import AppendVariableActivity + from ._models_py3 import AvroDataset + from ._models_py3 import AzureBatchLinkedService + from ._models_py3 import AzureBlobDataset + from ._models_py3 import AzureBlobFsDataset + from ._models_py3 import AzureBlobFsLinkedService + from ._models_py3 import AzureBlobStorageLinkedService + from ._models_py3 import AzureDataExplorerCommandActivity + from ._models_py3 import AzureDataExplorerLinkedService + from ._models_py3 import AzureDataExplorerTableDataset + from ._models_py3 import AzureDataLakeAnalyticsLinkedService + from ._models_py3 import AzureDataLakeStoreDataset + from ._models_py3 import AzureDataLakeStoreLinkedService + from ._models_py3 import AzureDatabricksLinkedService + from ._models_py3 import AzureFileStorageLinkedService + from ._models_py3 import AzureFunctionActivity + from ._models_py3 import AzureFunctionLinkedService + from ._models_py3 import AzureKeyVaultLinkedService + from ._models_py3 import AzureKeyVaultSecretReference + from ._models_py3 import AzureMariaDBLinkedService + from ._models_py3 import AzureMariaDBTableDataset + from ._models_py3 import AzureMlBatchExecutionActivity + from ._models_py3 import AzureMlExecutePipelineActivity + from ._models_py3 import AzureMlLinkedService + from ._models_py3 import AzureMlServiceLinkedService + from ._models_py3 import AzureMlUpdateResourceActivity + from ._models_py3 import AzureMlWebServiceFile + from ._models_py3 import AzureMySqlLinkedService + from ._models_py3 import AzureMySqlTableDataset + from ._models_py3 import AzurePostgreSqlLinkedService + from ._models_py3 import AzurePostgreSqlTableDataset + from ._models_py3 import AzureSearchIndexDataset + from ._models_py3 import AzureSearchLinkedService + from ._models_py3 import AzureSqlDatabaseLinkedService + from ._models_py3 import AzureSqlDwLinkedService + from ._models_py3 import AzureSqlDwTableDataset + from ._models_py3 import AzureSqlMiLinkedService + from ._models_py3 import AzureSqlMiTableDataset + from ._models_py3 import AzureSqlTableDataset + from ._models_py3 import AzureStorageLinkedService + from ._models_py3 import AzureTableDataset + from ._models_py3 import AzureTableStorageLinkedService + from ._models_py3 import BinaryDataset + from ._models_py3 import CassandraLinkedService + from ._models_py3 import CassandraTableDataset + from ._models_py3 import CloudError + from ._models_py3 import CommonDataServiceForAppsEntityDataset + from ._models_py3 import CommonDataServiceForAppsLinkedService + from ._models_py3 import ConcurLinkedService + from ._models_py3 import ConcurObjectDataset + from ._models_py3 import ControlActivity + from ._models_py3 import CopyActivity + from ._models_py3 import CopySink + from ._models_py3 import CopySource + from ._models_py3 import CosmosDBLinkedService + from ._models_py3 import CosmosDBMongoDBApiCollectionDataset + from ._models_py3 import CosmosDBMongoDBApiLinkedService + from ._models_py3 import CosmosDBSqlApiCollectionDataset + from ._models_py3 import CouchbaseLinkedService + from ._models_py3 import CouchbaseTableDataset + from ._models_py3 import CreateDataFlowDebugSessionRequest + from ._models_py3 import CreateDataFlowDebugSessionResponse + from ._models_py3 import CreateLinkedIntegrationRuntimeRequest + from ._models_py3 import CreateRunResponse + from ._models_py3 import CustomActivity + from ._models_py3 import CustomActivityReferenceObject + from ._models_py3 import CustomDataSourceLinkedService + from ._models_py3 import CustomSetupBase + from ._models_py3 import DataFlow + from ._models_py3 import DataFlowDebugCommandPayload + from ._models_py3 import DataFlowDebugCommandRequest + from ._models_py3 import DataFlowDebugCommandResponse + from ._models_py3 import DataFlowDebugPackage + from ._models_py3 import DataFlowDebugResource + from ._models_py3 import DataFlowDebugSessionInfo + from ._models_py3 import DataFlowFolder + from ._models_py3 import DataFlowListResponse + from ._models_py3 import DataFlowReference + from ._models_py3 import DataFlowResource + from ._models_py3 import DataFlowSink + from ._models_py3 import DataFlowSource + from ._models_py3 import DataFlowSourceSetting + from ._models_py3 import DataFlowStagingInfo + from ._models_py3 import DataLakeAnalyticsUsqlActivity + from ._models_py3 import DatabricksNotebookActivity + from ._models_py3 import DatabricksSparkJarActivity + from ._models_py3 import DatabricksSparkPythonActivity + from ._models_py3 import Dataset + from ._models_py3 import DatasetBZip2Compression + from ._models_py3 import DatasetCompression + from ._models_py3 import DatasetDebugResource + from ._models_py3 import DatasetDeflateCompression + from ._models_py3 import DatasetFolder + from ._models_py3 import DatasetGZipCompression + from ._models_py3 import DatasetListResponse + from ._models_py3 import DatasetLocation + from ._models_py3 import DatasetReference + from ._models_py3 import DatasetResource + from ._models_py3 import DatasetStorageFormat + from ._models_py3 import DatasetZipDeflateCompression + from ._models_py3 import Db2LinkedService + from ._models_py3 import Db2TableDataset + from ._models_py3 import DeleteActivity + from ._models_py3 import DeleteDataFlowDebugSessionRequest + from ._models_py3 import DelimitedTextDataset + from ._models_py3 import DocumentDBCollectionDataset + from ._models_py3 import DrillLinkedService + from ._models_py3 import DrillTableDataset + from ._models_py3 import DynamicsAxLinkedService + from ._models_py3 import DynamicsAxResourceDataset + from ._models_py3 import DynamicsCrmEntityDataset + from ._models_py3 import DynamicsCrmLinkedService + from ._models_py3 import DynamicsEntityDataset + from ._models_py3 import DynamicsLinkedService + from ._models_py3 import EloquaLinkedService + from ._models_py3 import EloquaObjectDataset + from ._models_py3 import EntityReference + from ._models_py3 import ExecuteDataFlowActivity + from ._models_py3 import ExecuteDataFlowActivityTypePropertiesCompute + from ._models_py3 import ExecutePipelineActivity + from ._models_py3 import ExecuteSsisPackageActivity + from ._models_py3 import ExecutionActivity + from ._models_py3 import ExposureControlRequest + from ._models_py3 import ExposureControlResponse + from ._models_py3 import Expression + from ._models_py3 import Factory + from ._models_py3 import FactoryGitHubConfiguration + from ._models_py3 import FactoryIdentity + from ._models_py3 import FactoryListResponse + from ._models_py3 import FactoryRepoConfiguration + from ._models_py3 import FactoryRepoUpdate + from ._models_py3 import FactoryUpdateParameters + from ._models_py3 import FactoryVstsConfiguration + from ._models_py3 import FileServerLinkedService + from ._models_py3 import FileShareDataset + from ._models_py3 import FilterActivity + from ._models_py3 import ForEachActivity + from ._models_py3 import FtpServerLinkedService + from ._models_py3 import GetDataFactoryOperationStatusResponse + from ._models_py3 import GetMetadataActivity + from ._models_py3 import GetSsisObjectMetadataRequest + from ._models_py3 import GitHubAccessTokenRequest + from ._models_py3 import GitHubAccessTokenResponse + from ._models_py3 import GoogleAdWordsLinkedService + from ._models_py3 import GoogleAdWordsObjectDataset + from ._models_py3 import GoogleBigQueryLinkedService + from ._models_py3 import GoogleBigQueryObjectDataset + from ._models_py3 import GoogleCloudStorageLinkedService + from ._models_py3 import GreenplumLinkedService + from ._models_py3 import GreenplumTableDataset + from ._models_py3 import HBaseLinkedService + from ._models_py3 import HBaseObjectDataset + from ._models_py3 import HdInsightHiveActivity + from ._models_py3 import HdInsightLinkedService + from ._models_py3 import HdInsightMapReduceActivity + from ._models_py3 import HdInsightOnDemandLinkedService + from ._models_py3 import HdInsightPigActivity + from ._models_py3 import HdInsightSparkActivity + from ._models_py3 import HdInsightStreamingActivity + from ._models_py3 import HdfsLinkedService + from ._models_py3 import HiveLinkedService + from ._models_py3 import HiveObjectDataset + from ._models_py3 import HttpDataset + from ._models_py3 import HttpLinkedService + from ._models_py3 import HubspotLinkedService + from ._models_py3 import HubspotObjectDataset + from ._models_py3 import IfConditionActivity + from ._models_py3 import ImpalaLinkedService + from ._models_py3 import ImpalaObjectDataset + from ._models_py3 import InformixLinkedService + from ._models_py3 import InformixTableDataset + from ._models_py3 import IntegrationRuntime + from ._models_py3 import IntegrationRuntimeAuthKeys + from ._models_py3 import IntegrationRuntimeComputeProperties + from ._models_py3 import IntegrationRuntimeConnectionInfo + from ._models_py3 import IntegrationRuntimeCustomSetupScriptProperties + from ._models_py3 import IntegrationRuntimeDataFlowProperties + from ._models_py3 import IntegrationRuntimeDataProxyProperties + from ._models_py3 import IntegrationRuntimeDebugResource + from ._models_py3 import IntegrationRuntimeListResponse + from ._models_py3 import IntegrationRuntimeMonitoringData + from ._models_py3 import IntegrationRuntimeNodeIpAddress + from ._models_py3 import IntegrationRuntimeNodeMonitoringData + from ._models_py3 import IntegrationRuntimeReference + from ._models_py3 import IntegrationRuntimeRegenerateKeyParameters + from ._models_py3 import IntegrationRuntimeResource + from ._models_py3 import IntegrationRuntimeSsisCatalogInfo + from ._models_py3 import IntegrationRuntimeSsisProperties + from ._models_py3 import IntegrationRuntimeStatus + from ._models_py3 import IntegrationRuntimeStatusListResponse + from ._models_py3 import IntegrationRuntimeStatusResponse + from ._models_py3 import IntegrationRuntimeVNetProperties + from ._models_py3 import JiraLinkedService + from ._models_py3 import JiraObjectDataset + from ._models_py3 import JsonDataset + from ._models_py3 import LinkedIntegrationRuntime + from ._models_py3 import LinkedIntegrationRuntimeKeyAuthorization + from ._models_py3 import LinkedIntegrationRuntimeRbacAuthorization + from ._models_py3 import LinkedIntegrationRuntimeRequest + from ._models_py3 import LinkedIntegrationRuntimeType + from ._models_py3 import LinkedService + from ._models_py3 import LinkedServiceDebugResource + from ._models_py3 import LinkedServiceListResponse + from ._models_py3 import LinkedServiceReference + from ._models_py3 import LinkedServiceResource + from ._models_py3 import LogStorageSettings + from ._models_py3 import LookupActivity + from ._models_py3 import MagentoLinkedService + from ._models_py3 import MagentoObjectDataset + from ._models_py3 import ManagedIntegrationRuntime + from ._models_py3 import ManagedIntegrationRuntimeError + from ._models_py3 import ManagedIntegrationRuntimeNode + from ._models_py3 import ManagedIntegrationRuntimeOperationResult + from ._models_py3 import ManagedIntegrationRuntimeStatus + from ._models_py3 import MappingDataFlow + from ._models_py3 import MariaDBLinkedService + from ._models_py3 import MariaDBTableDataset + from ._models_py3 import MarketoLinkedService + from ._models_py3 import MarketoObjectDataset + from ._models_py3 import MicrosoftAccessLinkedService + from ._models_py3 import MicrosoftAccessTableDataset + from ._models_py3 import MongoDBCollectionDataset + from ._models_py3 import MongoDBLinkedService + from ._models_py3 import MongoDBV2CollectionDataset + from ._models_py3 import MongoDBV2LinkedService + from ._models_py3 import MultiplePipelineTrigger + from ._models_py3 import MySqlLinkedService + from ._models_py3 import MySqlTableDataset + from ._models_py3 import NetezzaLinkedService + from ._models_py3 import NetezzaTableDataset + from ._models_py3 import ODataLinkedService + from ._models_py3 import ODataResourceDataset + from ._models_py3 import OdbcLinkedService + from ._models_py3 import OdbcTableDataset + from ._models_py3 import Office365Dataset + from ._models_py3 import Office365LinkedService + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import OperationListResponse + from ._models_py3 import OperationLogSpecification + from ._models_py3 import OperationMetricAvailability + from ._models_py3 import OperationMetricDimension + from ._models_py3 import OperationMetricSpecification + from ._models_py3 import OperationServiceSpecification + from ._models_py3 import OracleLinkedService + from ._models_py3 import OracleServiceCloudLinkedService + from ._models_py3 import OracleServiceCloudObjectDataset + from ._models_py3 import OracleTableDataset + from ._models_py3 import OrcDataset + from ._models_py3 import PackageStore + from ._models_py3 import ParameterSpecification + from ._models_py3 import ParquetDataset + from ._models_py3 import PaypalLinkedService + from ._models_py3 import PaypalObjectDataset + from ._models_py3 import PhoenixLinkedService + from ._models_py3 import PhoenixObjectDataset + from ._models_py3 import PipelineFolder + from ._models_py3 import PipelineListResponse + from ._models_py3 import PipelineReference + from ._models_py3 import PipelineResource + from ._models_py3 import PipelineRun + from ._models_py3 import PipelineRunInvokedBy + from ._models_py3 import PipelineRunsQueryResponse + from ._models_py3 import PostgreSqlLinkedService + from ._models_py3 import PostgreSqlTableDataset + from ._models_py3 import PrestoLinkedService + from ._models_py3 import PrestoObjectDataset + from ._models_py3 import QueryDataFlowDebugSessionsResponse + from ._models_py3 import QuickBooksLinkedService + from ._models_py3 import QuickBooksObjectDataset + from ._models_py3 import RedirectIncompatibleRowSettings + from ._models_py3 import RelationalTableDataset + from ._models_py3 import Resource + from ._models_py3 import ResponsysLinkedService + from ._models_py3 import ResponsysObjectDataset + from ._models_py3 import RestResourceDataset + from ._models_py3 import RestServiceLinkedService + from ._models_py3 import RunFilterParameters + from ._models_py3 import RunQueryFilter + from ._models_py3 import RunQueryOrderBy + from ._models_py3 import SalesforceLinkedService + from ._models_py3 import SalesforceMarketingCloudLinkedService + from ._models_py3 import SalesforceMarketingCloudObjectDataset + from ._models_py3 import SalesforceObjectDataset + from ._models_py3 import SalesforceServiceCloudLinkedService + from ._models_py3 import SalesforceServiceCloudObjectDataset + from ._models_py3 import SapBwCubeDataset + from ._models_py3 import SapBwLinkedService + from ._models_py3 import SapCloudForCustomerLinkedService + from ._models_py3 import SapCloudForCustomerResourceDataset + from ._models_py3 import SapEccLinkedService + from ._models_py3 import SapEccResourceDataset + from ._models_py3 import SapHanaLinkedService + from ._models_py3 import SapHanaTableDataset + from ._models_py3 import SapOpenHubLinkedService + from ._models_py3 import SapOpenHubTableDataset + from ._models_py3 import SapTableLinkedService + from ._models_py3 import SapTableResourceDataset + from ._models_py3 import ScriptAction + from ._models_py3 import SecretBase + from ._models_py3 import SecureString + from ._models_py3 import SelfHostedIntegrationRuntime + from ._models_py3 import SelfHostedIntegrationRuntimeNode + from ._models_py3 import SelfHostedIntegrationRuntimeStatus + from ._models_py3 import ServiceNowLinkedService + from ._models_py3 import ServiceNowObjectDataset + from ._models_py3 import SetVariableActivity + from ._models_py3 import SftpServerLinkedService + from ._models_py3 import SharePointOnlineListLinkedService + from ._models_py3 import SharePointOnlineListResourceDataset + from ._models_py3 import ShopifyLinkedService + from ._models_py3 import ShopifyObjectDataset + from ._models_py3 import SkipErrorFile + from ._models_py3 import SnowflakeDataset + from ._models_py3 import SnowflakeLinkedService + from ._models_py3 import SparkLinkedService + from ._models_py3 import SparkObjectDataset + from ._models_py3 import SqlServerLinkedService + from ._models_py3 import SqlServerStoredProcedureActivity + from ._models_py3 import SqlServerTableDataset + from ._models_py3 import SquareLinkedService + from ._models_py3 import SquareObjectDataset + from ._models_py3 import SsisAccessCredential + from ._models_py3 import SsisChildPackage + from ._models_py3 import SsisEnvironment + from ._models_py3 import SsisEnvironmentReference + from ._models_py3 import SsisExecutionCredential + from ._models_py3 import SsisExecutionParameter + from ._models_py3 import SsisFolder + from ._models_py3 import SsisLogLocation + from ._models_py3 import SsisObjectMetadata + from ._models_py3 import SsisObjectMetadataListResponse + from ._models_py3 import SsisObjectMetadataStatusResponse + from ._models_py3 import SsisPackage + from ._models_py3 import SsisPackageLocation + from ._models_py3 import SsisParameter + from ._models_py3 import SsisProject + from ._models_py3 import SsisPropertyOverride + from ._models_py3 import SsisVariable + from ._models_py3 import StagingSettings + from ._models_py3 import StoredProcedureParameter + from ._models_py3 import SubResource + from ._models_py3 import SubResourceDebugResource + from ._models_py3 import SwitchActivity + from ._models_py3 import SwitchCase + from ._models_py3 import SybaseLinkedService + from ._models_py3 import SybaseTableDataset + from ._models_py3 import TeradataLinkedService + from ._models_py3 import TeradataTableDataset + from ._models_py3 import Transformation + from ._models_py3 import Trigger + from ._models_py3 import TriggerFilterParameters + from ._models_py3 import TriggerListResponse + from ._models_py3 import TriggerPipelineReference + from ._models_py3 import TriggerQueryResponse + from ._models_py3 import TriggerResource + from ._models_py3 import TriggerRun + from ._models_py3 import TriggerRunsQueryResponse + from ._models_py3 import TriggerSubscriptionOperationStatus + from ._models_py3 import UntilActivity + from ._models_py3 import UpdateIntegrationRuntimeNodeRequest + from ._models_py3 import UpdateIntegrationRuntimeRequest + from ._models_py3 import UserAccessPolicy + from ._models_py3 import UserProperty + from ._models_py3 import ValidationActivity + from ._models_py3 import VariableSpecification + from ._models_py3 import VerticaLinkedService + from ._models_py3 import VerticaTableDataset + from ._models_py3 import WaitActivity + from ._models_py3 import WebActivity + from ._models_py3 import WebActivityAuthentication + from ._models_py3 import WebAnonymousAuthentication + from ._models_py3 import WebBasicAuthentication + from ._models_py3 import WebClientCertificateAuthentication + from ._models_py3 import WebHookActivity + from ._models_py3 import WebLinkedService + from ._models_py3 import WebLinkedServiceTypeProperties + from ._models_py3 import WebTableDataset + from ._models_py3 import XeroLinkedService + from ._models_py3 import XeroObjectDataset + from ._models_py3 import ZohoLinkedService + from ._models_py3 import ZohoObjectDataset +except (SyntaxError, ImportError): + from ._models import AccessPolicyResponse # type: ignore + from ._models import Activity # type: ignore + from ._models import ActivityDependency # type: ignore + from ._models import ActivityPolicy # type: ignore + from ._models import ActivityRun # type: ignore + from ._models import ActivityRunsQueryResponse # type: ignore + from ._models import AddDataFlowToDebugSessionResponse # type: ignore + from ._models import AmazonMwsLinkedService # type: ignore + from ._models import AmazonMwsObjectDataset # type: ignore + from ._models import AmazonRedshiftLinkedService # type: ignore + from ._models import AmazonRedshiftTableDataset # type: ignore + from ._models import AmazonS3Dataset # type: ignore + from ._models import AmazonS3LinkedService # type: ignore + from ._models import AppendVariableActivity # type: ignore + from ._models import AvroDataset # type: ignore + from ._models import AzureBatchLinkedService # type: ignore + from ._models import AzureBlobDataset # type: ignore + from ._models import AzureBlobFsDataset # type: ignore + from ._models import AzureBlobFsLinkedService # type: ignore + from ._models import AzureBlobStorageLinkedService # type: ignore + from ._models import AzureDataExplorerCommandActivity # type: ignore + from ._models import AzureDataExplorerLinkedService # type: ignore + from ._models import AzureDataExplorerTableDataset # type: ignore + from ._models import AzureDataLakeAnalyticsLinkedService # type: ignore + from ._models import AzureDataLakeStoreDataset # type: ignore + from ._models import AzureDataLakeStoreLinkedService # type: ignore + from ._models import AzureDatabricksLinkedService # type: ignore + from ._models import AzureFileStorageLinkedService # type: ignore + from ._models import AzureFunctionActivity # type: ignore + from ._models import AzureFunctionLinkedService # type: ignore + from ._models import AzureKeyVaultLinkedService # type: ignore + from ._models import AzureKeyVaultSecretReference # type: ignore + from ._models import AzureMariaDBLinkedService # type: ignore + from ._models import AzureMariaDBTableDataset # type: ignore + from ._models import AzureMlBatchExecutionActivity # type: ignore + from ._models import AzureMlExecutePipelineActivity # type: ignore + from ._models import AzureMlLinkedService # type: ignore + from ._models import AzureMlServiceLinkedService # type: ignore + from ._models import AzureMlUpdateResourceActivity # type: ignore + from ._models import AzureMlWebServiceFile # type: ignore + from ._models import AzureMySqlLinkedService # type: ignore + from ._models import AzureMySqlTableDataset # type: ignore + from ._models import AzurePostgreSqlLinkedService # type: ignore + from ._models import AzurePostgreSqlTableDataset # type: ignore + from ._models import AzureSearchIndexDataset # type: ignore + from ._models import AzureSearchLinkedService # type: ignore + from ._models import AzureSqlDatabaseLinkedService # type: ignore + from ._models import AzureSqlDwLinkedService # type: ignore + from ._models import AzureSqlDwTableDataset # type: ignore + from ._models import AzureSqlMiLinkedService # type: ignore + from ._models import AzureSqlMiTableDataset # type: ignore + from ._models import AzureSqlTableDataset # type: ignore + from ._models import AzureStorageLinkedService # type: ignore + from ._models import AzureTableDataset # type: ignore + from ._models import AzureTableStorageLinkedService # type: ignore + from ._models import BinaryDataset # type: ignore + from ._models import CassandraLinkedService # type: ignore + from ._models import CassandraTableDataset # type: ignore + from ._models import CloudError # type: ignore + from ._models import CommonDataServiceForAppsEntityDataset # type: ignore + from ._models import CommonDataServiceForAppsLinkedService # type: ignore + from ._models import ConcurLinkedService # type: ignore + from ._models import ConcurObjectDataset # type: ignore + from ._models import ControlActivity # type: ignore + from ._models import CopyActivity # type: ignore + from ._models import CopySink # type: ignore + from ._models import CopySource # type: ignore + from ._models import CosmosDBLinkedService # type: ignore + from ._models import CosmosDBMongoDBApiCollectionDataset # type: ignore + from ._models import CosmosDBMongoDBApiLinkedService # type: ignore + from ._models import CosmosDBSqlApiCollectionDataset # type: ignore + from ._models import CouchbaseLinkedService # type: ignore + from ._models import CouchbaseTableDataset # type: ignore + from ._models import CreateDataFlowDebugSessionRequest # type: ignore + from ._models import CreateDataFlowDebugSessionResponse # type: ignore + from ._models import CreateLinkedIntegrationRuntimeRequest # type: ignore + from ._models import CreateRunResponse # type: ignore + from ._models import CustomActivity # type: ignore + from ._models import CustomActivityReferenceObject # type: ignore + from ._models import CustomDataSourceLinkedService # type: ignore + from ._models import CustomSetupBase # type: ignore + from ._models import DataFlow # type: ignore + from ._models import DataFlowDebugCommandPayload # type: ignore + from ._models import DataFlowDebugCommandRequest # type: ignore + from ._models import DataFlowDebugCommandResponse # type: ignore + from ._models import DataFlowDebugPackage # type: ignore + from ._models import DataFlowDebugResource # type: ignore + from ._models import DataFlowDebugSessionInfo # type: ignore + from ._models import DataFlowFolder # type: ignore + from ._models import DataFlowListResponse # type: ignore + from ._models import DataFlowReference # type: ignore + from ._models import DataFlowResource # type: ignore + from ._models import DataFlowSink # type: ignore + from ._models import DataFlowSource # type: ignore + from ._models import DataFlowSourceSetting # type: ignore + from ._models import DataFlowStagingInfo # type: ignore + from ._models import DataLakeAnalyticsUsqlActivity # type: ignore + from ._models import DatabricksNotebookActivity # type: ignore + from ._models import DatabricksSparkJarActivity # type: ignore + from ._models import DatabricksSparkPythonActivity # type: ignore + from ._models import Dataset # type: ignore + from ._models import DatasetBZip2Compression # type: ignore + from ._models import DatasetCompression # type: ignore + from ._models import DatasetDebugResource # type: ignore + from ._models import DatasetDeflateCompression # type: ignore + from ._models import DatasetFolder # type: ignore + from ._models import DatasetGZipCompression # type: ignore + from ._models import DatasetListResponse # type: ignore + from ._models import DatasetLocation # type: ignore + from ._models import DatasetReference # type: ignore + from ._models import DatasetResource # type: ignore + from ._models import DatasetStorageFormat # type: ignore + from ._models import DatasetZipDeflateCompression # type: ignore + from ._models import Db2LinkedService # type: ignore + from ._models import Db2TableDataset # type: ignore + from ._models import DeleteActivity # type: ignore + from ._models import DeleteDataFlowDebugSessionRequest # type: ignore + from ._models import DelimitedTextDataset # type: ignore + from ._models import DocumentDBCollectionDataset # type: ignore + from ._models import DrillLinkedService # type: ignore + from ._models import DrillTableDataset # type: ignore + from ._models import DynamicsAxLinkedService # type: ignore + from ._models import DynamicsAxResourceDataset # type: ignore + from ._models import DynamicsCrmEntityDataset # type: ignore + from ._models import DynamicsCrmLinkedService # type: ignore + from ._models import DynamicsEntityDataset # type: ignore + from ._models import DynamicsLinkedService # type: ignore + from ._models import EloquaLinkedService # type: ignore + from ._models import EloquaObjectDataset # type: ignore + from ._models import EntityReference # type: ignore + from ._models import ExecuteDataFlowActivity # type: ignore + from ._models import ExecuteDataFlowActivityTypePropertiesCompute # type: ignore + from ._models import ExecutePipelineActivity # type: ignore + from ._models import ExecuteSsisPackageActivity # type: ignore + from ._models import ExecutionActivity # type: ignore + from ._models import ExposureControlRequest # type: ignore + from ._models import ExposureControlResponse # type: ignore + from ._models import Expression # type: ignore + from ._models import Factory # type: ignore + from ._models import FactoryGitHubConfiguration # type: ignore + from ._models import FactoryIdentity # type: ignore + from ._models import FactoryListResponse # type: ignore + from ._models import FactoryRepoConfiguration # type: ignore + from ._models import FactoryRepoUpdate # type: ignore + from ._models import FactoryUpdateParameters # type: ignore + from ._models import FactoryVstsConfiguration # type: ignore + from ._models import FileServerLinkedService # type: ignore + from ._models import FileShareDataset # type: ignore + from ._models import FilterActivity # type: ignore + from ._models import ForEachActivity # type: ignore + from ._models import FtpServerLinkedService # type: ignore + from ._models import GetDataFactoryOperationStatusResponse # type: ignore + from ._models import GetMetadataActivity # type: ignore + from ._models import GetSsisObjectMetadataRequest # type: ignore + from ._models import GitHubAccessTokenRequest # type: ignore + from ._models import GitHubAccessTokenResponse # type: ignore + from ._models import GoogleAdWordsLinkedService # type: ignore + from ._models import GoogleAdWordsObjectDataset # type: ignore + from ._models import GoogleBigQueryLinkedService # type: ignore + from ._models import GoogleBigQueryObjectDataset # type: ignore + from ._models import GoogleCloudStorageLinkedService # type: ignore + from ._models import GreenplumLinkedService # type: ignore + from ._models import GreenplumTableDataset # type: ignore + from ._models import HBaseLinkedService # type: ignore + from ._models import HBaseObjectDataset # type: ignore + from ._models import HdInsightHiveActivity # type: ignore + from ._models import HdInsightLinkedService # type: ignore + from ._models import HdInsightMapReduceActivity # type: ignore + from ._models import HdInsightOnDemandLinkedService # type: ignore + from ._models import HdInsightPigActivity # type: ignore + from ._models import HdInsightSparkActivity # type: ignore + from ._models import HdInsightStreamingActivity # type: ignore + from ._models import HdfsLinkedService # type: ignore + from ._models import HiveLinkedService # type: ignore + from ._models import HiveObjectDataset # type: ignore + from ._models import HttpDataset # type: ignore + from ._models import HttpLinkedService # type: ignore + from ._models import HubspotLinkedService # type: ignore + from ._models import HubspotObjectDataset # type: ignore + from ._models import IfConditionActivity # type: ignore + from ._models import ImpalaLinkedService # type: ignore + from ._models import ImpalaObjectDataset # type: ignore + from ._models import InformixLinkedService # type: ignore + from ._models import InformixTableDataset # type: ignore + from ._models import IntegrationRuntime # type: ignore + from ._models import IntegrationRuntimeAuthKeys # type: ignore + from ._models import IntegrationRuntimeComputeProperties # type: ignore + from ._models import IntegrationRuntimeConnectionInfo # type: ignore + from ._models import IntegrationRuntimeCustomSetupScriptProperties # type: ignore + from ._models import IntegrationRuntimeDataFlowProperties # type: ignore + from ._models import IntegrationRuntimeDataProxyProperties # type: ignore + from ._models import IntegrationRuntimeDebugResource # type: ignore + from ._models import IntegrationRuntimeListResponse # type: ignore + from ._models import IntegrationRuntimeMonitoringData # type: ignore + from ._models import IntegrationRuntimeNodeIpAddress # type: ignore + from ._models import IntegrationRuntimeNodeMonitoringData # type: ignore + from ._models import IntegrationRuntimeReference # type: ignore + from ._models import IntegrationRuntimeRegenerateKeyParameters # type: ignore + from ._models import IntegrationRuntimeResource # type: ignore + from ._models import IntegrationRuntimeSsisCatalogInfo # type: ignore + from ._models import IntegrationRuntimeSsisProperties # type: ignore + from ._models import IntegrationRuntimeStatus # type: ignore + from ._models import IntegrationRuntimeStatusListResponse # type: ignore + from ._models import IntegrationRuntimeStatusResponse # type: ignore + from ._models import IntegrationRuntimeVNetProperties # type: ignore + from ._models import JiraLinkedService # type: ignore + from ._models import JiraObjectDataset # type: ignore + from ._models import JsonDataset # type: ignore + from ._models import LinkedIntegrationRuntime # type: ignore + from ._models import LinkedIntegrationRuntimeKeyAuthorization # type: ignore + from ._models import LinkedIntegrationRuntimeRbacAuthorization # type: ignore + from ._models import LinkedIntegrationRuntimeRequest # type: ignore + from ._models import LinkedIntegrationRuntimeType # type: ignore + from ._models import LinkedService # type: ignore + from ._models import LinkedServiceDebugResource # type: ignore + from ._models import LinkedServiceListResponse # type: ignore + from ._models import LinkedServiceReference # type: ignore + from ._models import LinkedServiceResource # type: ignore + from ._models import LogStorageSettings # type: ignore + from ._models import LookupActivity # type: ignore + from ._models import MagentoLinkedService # type: ignore + from ._models import MagentoObjectDataset # type: ignore + from ._models import ManagedIntegrationRuntime # type: ignore + from ._models import ManagedIntegrationRuntimeError # type: ignore + from ._models import ManagedIntegrationRuntimeNode # type: ignore + from ._models import ManagedIntegrationRuntimeOperationResult # type: ignore + from ._models import ManagedIntegrationRuntimeStatus # type: ignore + from ._models import MappingDataFlow # type: ignore + from ._models import MariaDBLinkedService # type: ignore + from ._models import MariaDBTableDataset # type: ignore + from ._models import MarketoLinkedService # type: ignore + from ._models import MarketoObjectDataset # type: ignore + from ._models import MicrosoftAccessLinkedService # type: ignore + from ._models import MicrosoftAccessTableDataset # type: ignore + from ._models import MongoDBCollectionDataset # type: ignore + from ._models import MongoDBLinkedService # type: ignore + from ._models import MongoDBV2CollectionDataset # type: ignore + from ._models import MongoDBV2LinkedService # type: ignore + from ._models import MultiplePipelineTrigger # type: ignore + from ._models import MySqlLinkedService # type: ignore + from ._models import MySqlTableDataset # type: ignore + from ._models import NetezzaLinkedService # type: ignore + from ._models import NetezzaTableDataset # type: ignore + from ._models import ODataLinkedService # type: ignore + from ._models import ODataResourceDataset # type: ignore + from ._models import OdbcLinkedService # type: ignore + from ._models import OdbcTableDataset # type: ignore + from ._models import Office365Dataset # type: ignore + from ._models import Office365LinkedService # type: ignore + from ._models import Operation # type: ignore + from ._models import OperationDisplay # type: ignore + from ._models import OperationListResponse # type: ignore + from ._models import OperationLogSpecification # type: ignore + from ._models import OperationMetricAvailability # type: ignore + from ._models import OperationMetricDimension # type: ignore + from ._models import OperationMetricSpecification # type: ignore + from ._models import OperationServiceSpecification # type: ignore + from ._models import OracleLinkedService # type: ignore + from ._models import OracleServiceCloudLinkedService # type: ignore + from ._models import OracleServiceCloudObjectDataset # type: ignore + from ._models import OracleTableDataset # type: ignore + from ._models import OrcDataset # type: ignore + from ._models import PackageStore # type: ignore + from ._models import ParameterSpecification # type: ignore + from ._models import ParquetDataset # type: ignore + from ._models import PaypalLinkedService # type: ignore + from ._models import PaypalObjectDataset # type: ignore + from ._models import PhoenixLinkedService # type: ignore + from ._models import PhoenixObjectDataset # type: ignore + from ._models import PipelineFolder # type: ignore + from ._models import PipelineListResponse # type: ignore + from ._models import PipelineReference # type: ignore + from ._models import PipelineResource # type: ignore + from ._models import PipelineRun # type: ignore + from ._models import PipelineRunInvokedBy # type: ignore + from ._models import PipelineRunsQueryResponse # type: ignore + from ._models import PostgreSqlLinkedService # type: ignore + from ._models import PostgreSqlTableDataset # type: ignore + from ._models import PrestoLinkedService # type: ignore + from ._models import PrestoObjectDataset # type: ignore + from ._models import QueryDataFlowDebugSessionsResponse # type: ignore + from ._models import QuickBooksLinkedService # type: ignore + from ._models import QuickBooksObjectDataset # type: ignore + from ._models import RedirectIncompatibleRowSettings # type: ignore + from ._models import RelationalTableDataset # type: ignore + from ._models import Resource # type: ignore + from ._models import ResponsysLinkedService # type: ignore + from ._models import ResponsysObjectDataset # type: ignore + from ._models import RestResourceDataset # type: ignore + from ._models import RestServiceLinkedService # type: ignore + from ._models import RunFilterParameters # type: ignore + from ._models import RunQueryFilter # type: ignore + from ._models import RunQueryOrderBy # type: ignore + from ._models import SalesforceLinkedService # type: ignore + from ._models import SalesforceMarketingCloudLinkedService # type: ignore + from ._models import SalesforceMarketingCloudObjectDataset # type: ignore + from ._models import SalesforceObjectDataset # type: ignore + from ._models import SalesforceServiceCloudLinkedService # type: ignore + from ._models import SalesforceServiceCloudObjectDataset # type: ignore + from ._models import SapBwCubeDataset # type: ignore + from ._models import SapBwLinkedService # type: ignore + from ._models import SapCloudForCustomerLinkedService # type: ignore + from ._models import SapCloudForCustomerResourceDataset # type: ignore + from ._models import SapEccLinkedService # type: ignore + from ._models import SapEccResourceDataset # type: ignore + from ._models import SapHanaLinkedService # type: ignore + from ._models import SapHanaTableDataset # type: ignore + from ._models import SapOpenHubLinkedService # type: ignore + from ._models import SapOpenHubTableDataset # type: ignore + from ._models import SapTableLinkedService # type: ignore + from ._models import SapTableResourceDataset # type: ignore + from ._models import ScriptAction # type: ignore + from ._models import SecretBase # type: ignore + from ._models import SecureString # type: ignore + from ._models import SelfHostedIntegrationRuntime # type: ignore + from ._models import SelfHostedIntegrationRuntimeNode # type: ignore + from ._models import SelfHostedIntegrationRuntimeStatus # type: ignore + from ._models import ServiceNowLinkedService # type: ignore + from ._models import ServiceNowObjectDataset # type: ignore + from ._models import SetVariableActivity # type: ignore + from ._models import SftpServerLinkedService # type: ignore + from ._models import SharePointOnlineListLinkedService # type: ignore + from ._models import SharePointOnlineListResourceDataset # type: ignore + from ._models import ShopifyLinkedService # type: ignore + from ._models import ShopifyObjectDataset # type: ignore + from ._models import SkipErrorFile # type: ignore + from ._models import SnowflakeDataset # type: ignore + from ._models import SnowflakeLinkedService # type: ignore + from ._models import SparkLinkedService # type: ignore + from ._models import SparkObjectDataset # type: ignore + from ._models import SqlServerLinkedService # type: ignore + from ._models import SqlServerStoredProcedureActivity # type: ignore + from ._models import SqlServerTableDataset # type: ignore + from ._models import SquareLinkedService # type: ignore + from ._models import SquareObjectDataset # type: ignore + from ._models import SsisAccessCredential # type: ignore + from ._models import SsisChildPackage # type: ignore + from ._models import SsisEnvironment # type: ignore + from ._models import SsisEnvironmentReference # type: ignore + from ._models import SsisExecutionCredential # type: ignore + from ._models import SsisExecutionParameter # type: ignore + from ._models import SsisFolder # type: ignore + from ._models import SsisLogLocation # type: ignore + from ._models import SsisObjectMetadata # type: ignore + from ._models import SsisObjectMetadataListResponse # type: ignore + from ._models import SsisObjectMetadataStatusResponse # type: ignore + from ._models import SsisPackage # type: ignore + from ._models import SsisPackageLocation # type: ignore + from ._models import SsisParameter # type: ignore + from ._models import SsisProject # type: ignore + from ._models import SsisPropertyOverride # type: ignore + from ._models import SsisVariable # type: ignore + from ._models import StagingSettings # type: ignore + from ._models import StoredProcedureParameter # type: ignore + from ._models import SubResource # type: ignore + from ._models import SubResourceDebugResource # type: ignore + from ._models import SwitchActivity # type: ignore + from ._models import SwitchCase # type: ignore + from ._models import SybaseLinkedService # type: ignore + from ._models import SybaseTableDataset # type: ignore + from ._models import TeradataLinkedService # type: ignore + from ._models import TeradataTableDataset # type: ignore + from ._models import Transformation # type: ignore + from ._models import Trigger # type: ignore + from ._models import TriggerFilterParameters # type: ignore + from ._models import TriggerListResponse # type: ignore + from ._models import TriggerPipelineReference # type: ignore + from ._models import TriggerQueryResponse # type: ignore + from ._models import TriggerResource # type: ignore + from ._models import TriggerRun # type: ignore + from ._models import TriggerRunsQueryResponse # type: ignore + from ._models import TriggerSubscriptionOperationStatus # type: ignore + from ._models import UntilActivity # type: ignore + from ._models import UpdateIntegrationRuntimeNodeRequest # type: ignore + from ._models import UpdateIntegrationRuntimeRequest # type: ignore + from ._models import UserAccessPolicy # type: ignore + from ._models import UserProperty # type: ignore + from ._models import ValidationActivity # type: ignore + from ._models import VariableSpecification # type: ignore + from ._models import VerticaLinkedService # type: ignore + from ._models import VerticaTableDataset # type: ignore + from ._models import WaitActivity # type: ignore + from ._models import WebActivity # type: ignore + from ._models import WebActivityAuthentication # type: ignore + from ._models import WebAnonymousAuthentication # type: ignore + from ._models import WebBasicAuthentication # type: ignore + from ._models import WebClientCertificateAuthentication # type: ignore + from ._models import WebHookActivity # type: ignore + from ._models import WebLinkedService # type: ignore + from ._models import WebLinkedServiceTypeProperties # type: ignore + from ._models import WebTableDataset # type: ignore + from ._models import XeroLinkedService # type: ignore + from ._models import XeroObjectDataset # type: ignore + from ._models import ZohoLinkedService # type: ignore + from ._models import ZohoObjectDataset # type: ignore + +from ._data_factory_management_client_enums import ( + AvroCompressionCodec, + AzureFunctionActivityMethod, + CompressionCodec, + DataFlowComputeType, + DataFlowDebugCommandType, + DatasetCompressionLevel, + DependencyCondition, + DynamicsAuthenticationType, + DynamicsDeploymentType, + DynamicsServicePrincipalCredentialType, + EventSubscriptionStatus, + FtpAuthenticationType, + GoogleAdWordsAuthenticationType, + GoogleBigQueryAuthenticationType, + HBaseAuthenticationType, + HdInsightActivityDebugInfoOption, + HdiNodeTypes, + HiveAuthenticationType, + HiveServerType, + HiveThriftTransportProtocol, + HttpAuthenticationType, + ImpalaAuthenticationType, + IntegrationRuntimeAuthKeyName, + IntegrationRuntimeAutoUpdate, + IntegrationRuntimeEdition, + IntegrationRuntimeEntityReferenceType, + IntegrationRuntimeInternalChannelEncryptionMode, + IntegrationRuntimeLicenseType, + IntegrationRuntimeSsisCatalogPricingTier, + IntegrationRuntimeState, + IntegrationRuntimeType, + IntegrationRuntimeUpdateResult, + ManagedIntegrationRuntimeNodeStatus, + MongoDBAuthenticationType, + ODataAadServicePrincipalCredentialType, + ODataAuthenticationType, + OrcCompressionCodec, + ParameterType, + PhoenixAuthenticationType, + PrestoAuthenticationType, + RestServiceAuthenticationType, + RunQueryFilterOperand, + RunQueryFilterOperator, + RunQueryOrder, + RunQueryOrderByField, + SapHanaAuthenticationType, + SelfHostedIntegrationRuntimeNodeStatus, + ServiceNowAuthenticationType, + SftpAuthenticationType, + SparkAuthenticationType, + SparkServerType, + SparkThriftTransportProtocol, + SsisObjectMetadataType, + SsisPackageLocationType, + StoredProcedureParameterType, + SybaseAuthenticationType, + TeradataAuthenticationType, + TriggerRunStatus, + TriggerRuntimeState, + VariableType, + WebActivityMethod, + WebAuthenticationType, +) + +__all__ = [ + 'AccessPolicyResponse', + 'Activity', + 'ActivityDependency', + 'ActivityPolicy', + 'ActivityRun', + 'ActivityRunsQueryResponse', + 'AddDataFlowToDebugSessionResponse', + 'AmazonMwsLinkedService', + 'AmazonMwsObjectDataset', + 'AmazonRedshiftLinkedService', + 'AmazonRedshiftTableDataset', + 'AmazonS3Dataset', + 'AmazonS3LinkedService', + 'AppendVariableActivity', + 'AvroDataset', + 'AzureBatchLinkedService', + 'AzureBlobDataset', + 'AzureBlobFsDataset', + 'AzureBlobFsLinkedService', + 'AzureBlobStorageLinkedService', + 'AzureDataExplorerCommandActivity', + 'AzureDataExplorerLinkedService', + 'AzureDataExplorerTableDataset', + 'AzureDataLakeAnalyticsLinkedService', + 'AzureDataLakeStoreDataset', + 'AzureDataLakeStoreLinkedService', + 'AzureDatabricksLinkedService', + 'AzureFileStorageLinkedService', + 'AzureFunctionActivity', + 'AzureFunctionLinkedService', + 'AzureKeyVaultLinkedService', + 'AzureKeyVaultSecretReference', + 'AzureMariaDBLinkedService', + 'AzureMariaDBTableDataset', + 'AzureMlBatchExecutionActivity', + 'AzureMlExecutePipelineActivity', + 'AzureMlLinkedService', + 'AzureMlServiceLinkedService', + 'AzureMlUpdateResourceActivity', + 'AzureMlWebServiceFile', + 'AzureMySqlLinkedService', + 'AzureMySqlTableDataset', + 'AzurePostgreSqlLinkedService', + 'AzurePostgreSqlTableDataset', + 'AzureSearchIndexDataset', + 'AzureSearchLinkedService', + 'AzureSqlDatabaseLinkedService', + 'AzureSqlDwLinkedService', + 'AzureSqlDwTableDataset', + 'AzureSqlMiLinkedService', + 'AzureSqlMiTableDataset', + 'AzureSqlTableDataset', + 'AzureStorageLinkedService', + 'AzureTableDataset', + 'AzureTableStorageLinkedService', + 'BinaryDataset', + 'CassandraLinkedService', + 'CassandraTableDataset', + 'CloudError', + 'CommonDataServiceForAppsEntityDataset', + 'CommonDataServiceForAppsLinkedService', + 'ConcurLinkedService', + 'ConcurObjectDataset', + 'ControlActivity', + 'CopyActivity', + 'CopySink', + 'CopySource', + 'CosmosDBLinkedService', + 'CosmosDBMongoDBApiCollectionDataset', + 'CosmosDBMongoDBApiLinkedService', + 'CosmosDBSqlApiCollectionDataset', + 'CouchbaseLinkedService', + 'CouchbaseTableDataset', + 'CreateDataFlowDebugSessionRequest', + 'CreateDataFlowDebugSessionResponse', + 'CreateLinkedIntegrationRuntimeRequest', + 'CreateRunResponse', + 'CustomActivity', + 'CustomActivityReferenceObject', + 'CustomDataSourceLinkedService', + 'CustomSetupBase', + 'DataFlow', + 'DataFlowDebugCommandPayload', + 'DataFlowDebugCommandRequest', + 'DataFlowDebugCommandResponse', + 'DataFlowDebugPackage', + 'DataFlowDebugResource', + 'DataFlowDebugSessionInfo', + 'DataFlowFolder', + 'DataFlowListResponse', + 'DataFlowReference', + 'DataFlowResource', + 'DataFlowSink', + 'DataFlowSource', + 'DataFlowSourceSetting', + 'DataFlowStagingInfo', + 'DataLakeAnalyticsUsqlActivity', + 'DatabricksNotebookActivity', + 'DatabricksSparkJarActivity', + 'DatabricksSparkPythonActivity', + 'Dataset', + 'DatasetBZip2Compression', + 'DatasetCompression', + 'DatasetDebugResource', + 'DatasetDeflateCompression', + 'DatasetFolder', + 'DatasetGZipCompression', + 'DatasetListResponse', + 'DatasetLocation', + 'DatasetReference', + 'DatasetResource', + 'DatasetStorageFormat', + 'DatasetZipDeflateCompression', + 'Db2LinkedService', + 'Db2TableDataset', + 'DeleteActivity', + 'DeleteDataFlowDebugSessionRequest', + 'DelimitedTextDataset', + 'DocumentDBCollectionDataset', + 'DrillLinkedService', + 'DrillTableDataset', + 'DynamicsAxLinkedService', + 'DynamicsAxResourceDataset', + 'DynamicsCrmEntityDataset', + 'DynamicsCrmLinkedService', + 'DynamicsEntityDataset', + 'DynamicsLinkedService', + 'EloquaLinkedService', + 'EloquaObjectDataset', + 'EntityReference', + 'ExecuteDataFlowActivity', + 'ExecuteDataFlowActivityTypePropertiesCompute', + 'ExecutePipelineActivity', + 'ExecuteSsisPackageActivity', + 'ExecutionActivity', + 'ExposureControlRequest', + 'ExposureControlResponse', + 'Expression', + 'Factory', + 'FactoryGitHubConfiguration', + 'FactoryIdentity', + 'FactoryListResponse', + 'FactoryRepoConfiguration', + 'FactoryRepoUpdate', + 'FactoryUpdateParameters', + 'FactoryVstsConfiguration', + 'FileServerLinkedService', + 'FileShareDataset', + 'FilterActivity', + 'ForEachActivity', + 'FtpServerLinkedService', + 'GetDataFactoryOperationStatusResponse', + 'GetMetadataActivity', + 'GetSsisObjectMetadataRequest', + 'GitHubAccessTokenRequest', + 'GitHubAccessTokenResponse', + 'GoogleAdWordsLinkedService', + 'GoogleAdWordsObjectDataset', + 'GoogleBigQueryLinkedService', + 'GoogleBigQueryObjectDataset', + 'GoogleCloudStorageLinkedService', + 'GreenplumLinkedService', + 'GreenplumTableDataset', + 'HBaseLinkedService', + 'HBaseObjectDataset', + 'HdInsightHiveActivity', + 'HdInsightLinkedService', + 'HdInsightMapReduceActivity', + 'HdInsightOnDemandLinkedService', + 'HdInsightPigActivity', + 'HdInsightSparkActivity', + 'HdInsightStreamingActivity', + 'HdfsLinkedService', + 'HiveLinkedService', + 'HiveObjectDataset', + 'HttpDataset', + 'HttpLinkedService', + 'HubspotLinkedService', + 'HubspotObjectDataset', + 'IfConditionActivity', + 'ImpalaLinkedService', + 'ImpalaObjectDataset', + 'InformixLinkedService', + 'InformixTableDataset', + 'IntegrationRuntime', + 'IntegrationRuntimeAuthKeys', + 'IntegrationRuntimeComputeProperties', + 'IntegrationRuntimeConnectionInfo', + 'IntegrationRuntimeCustomSetupScriptProperties', + 'IntegrationRuntimeDataFlowProperties', + 'IntegrationRuntimeDataProxyProperties', + 'IntegrationRuntimeDebugResource', + 'IntegrationRuntimeListResponse', + 'IntegrationRuntimeMonitoringData', + 'IntegrationRuntimeNodeIpAddress', + 'IntegrationRuntimeNodeMonitoringData', + 'IntegrationRuntimeReference', + 'IntegrationRuntimeRegenerateKeyParameters', + 'IntegrationRuntimeResource', + 'IntegrationRuntimeSsisCatalogInfo', + 'IntegrationRuntimeSsisProperties', + 'IntegrationRuntimeStatus', + 'IntegrationRuntimeStatusListResponse', + 'IntegrationRuntimeStatusResponse', + 'IntegrationRuntimeVNetProperties', + 'JiraLinkedService', + 'JiraObjectDataset', + 'JsonDataset', + 'LinkedIntegrationRuntime', + 'LinkedIntegrationRuntimeKeyAuthorization', + 'LinkedIntegrationRuntimeRbacAuthorization', + 'LinkedIntegrationRuntimeRequest', + 'LinkedIntegrationRuntimeType', + 'LinkedService', + 'LinkedServiceDebugResource', + 'LinkedServiceListResponse', + 'LinkedServiceReference', + 'LinkedServiceResource', + 'LogStorageSettings', + 'LookupActivity', + 'MagentoLinkedService', + 'MagentoObjectDataset', + 'ManagedIntegrationRuntime', + 'ManagedIntegrationRuntimeError', + 'ManagedIntegrationRuntimeNode', + 'ManagedIntegrationRuntimeOperationResult', + 'ManagedIntegrationRuntimeStatus', + 'MappingDataFlow', + 'MariaDBLinkedService', + 'MariaDBTableDataset', + 'MarketoLinkedService', + 'MarketoObjectDataset', + 'MicrosoftAccessLinkedService', + 'MicrosoftAccessTableDataset', + 'MongoDBCollectionDataset', + 'MongoDBLinkedService', + 'MongoDBV2CollectionDataset', + 'MongoDBV2LinkedService', + 'MultiplePipelineTrigger', + 'MySqlLinkedService', + 'MySqlTableDataset', + 'NetezzaLinkedService', + 'NetezzaTableDataset', + 'ODataLinkedService', + 'ODataResourceDataset', + 'OdbcLinkedService', + 'OdbcTableDataset', + 'Office365Dataset', + 'Office365LinkedService', + 'Operation', + 'OperationDisplay', + 'OperationListResponse', + 'OperationLogSpecification', + 'OperationMetricAvailability', + 'OperationMetricDimension', + 'OperationMetricSpecification', + 'OperationServiceSpecification', + 'OracleLinkedService', + 'OracleServiceCloudLinkedService', + 'OracleServiceCloudObjectDataset', + 'OracleTableDataset', + 'OrcDataset', + 'PackageStore', + 'ParameterSpecification', + 'ParquetDataset', + 'PaypalLinkedService', + 'PaypalObjectDataset', + 'PhoenixLinkedService', + 'PhoenixObjectDataset', + 'PipelineFolder', + 'PipelineListResponse', + 'PipelineReference', + 'PipelineResource', + 'PipelineRun', + 'PipelineRunInvokedBy', + 'PipelineRunsQueryResponse', + 'PostgreSqlLinkedService', + 'PostgreSqlTableDataset', + 'PrestoLinkedService', + 'PrestoObjectDataset', + 'QueryDataFlowDebugSessionsResponse', + 'QuickBooksLinkedService', + 'QuickBooksObjectDataset', + 'RedirectIncompatibleRowSettings', + 'RelationalTableDataset', + 'Resource', + 'ResponsysLinkedService', + 'ResponsysObjectDataset', + 'RestResourceDataset', + 'RestServiceLinkedService', + 'RunFilterParameters', + 'RunQueryFilter', + 'RunQueryOrderBy', + 'SalesforceLinkedService', + 'SalesforceMarketingCloudLinkedService', + 'SalesforceMarketingCloudObjectDataset', + 'SalesforceObjectDataset', + 'SalesforceServiceCloudLinkedService', + 'SalesforceServiceCloudObjectDataset', + 'SapBwCubeDataset', + 'SapBwLinkedService', + 'SapCloudForCustomerLinkedService', + 'SapCloudForCustomerResourceDataset', + 'SapEccLinkedService', + 'SapEccResourceDataset', + 'SapHanaLinkedService', + 'SapHanaTableDataset', + 'SapOpenHubLinkedService', + 'SapOpenHubTableDataset', + 'SapTableLinkedService', + 'SapTableResourceDataset', + 'ScriptAction', + 'SecretBase', + 'SecureString', + 'SelfHostedIntegrationRuntime', + 'SelfHostedIntegrationRuntimeNode', + 'SelfHostedIntegrationRuntimeStatus', + 'ServiceNowLinkedService', + 'ServiceNowObjectDataset', + 'SetVariableActivity', + 'SftpServerLinkedService', + 'SharePointOnlineListLinkedService', + 'SharePointOnlineListResourceDataset', + 'ShopifyLinkedService', + 'ShopifyObjectDataset', + 'SkipErrorFile', + 'SnowflakeDataset', + 'SnowflakeLinkedService', + 'SparkLinkedService', + 'SparkObjectDataset', + 'SqlServerLinkedService', + 'SqlServerStoredProcedureActivity', + 'SqlServerTableDataset', + 'SquareLinkedService', + 'SquareObjectDataset', + 'SsisAccessCredential', + 'SsisChildPackage', + 'SsisEnvironment', + 'SsisEnvironmentReference', + 'SsisExecutionCredential', + 'SsisExecutionParameter', + 'SsisFolder', + 'SsisLogLocation', + 'SsisObjectMetadata', + 'SsisObjectMetadataListResponse', + 'SsisObjectMetadataStatusResponse', + 'SsisPackage', + 'SsisPackageLocation', + 'SsisParameter', + 'SsisProject', + 'SsisPropertyOverride', + 'SsisVariable', + 'StagingSettings', + 'StoredProcedureParameter', + 'SubResource', + 'SubResourceDebugResource', + 'SwitchActivity', + 'SwitchCase', + 'SybaseLinkedService', + 'SybaseTableDataset', + 'TeradataLinkedService', + 'TeradataTableDataset', + 'Transformation', + 'Trigger', + 'TriggerFilterParameters', + 'TriggerListResponse', + 'TriggerPipelineReference', + 'TriggerQueryResponse', + 'TriggerResource', + 'TriggerRun', + 'TriggerRunsQueryResponse', + 'TriggerSubscriptionOperationStatus', + 'UntilActivity', + 'UpdateIntegrationRuntimeNodeRequest', + 'UpdateIntegrationRuntimeRequest', + 'UserAccessPolicy', + 'UserProperty', + 'ValidationActivity', + 'VariableSpecification', + 'VerticaLinkedService', + 'VerticaTableDataset', + 'WaitActivity', + 'WebActivity', + 'WebActivityAuthentication', + 'WebAnonymousAuthentication', + 'WebBasicAuthentication', + 'WebClientCertificateAuthentication', + 'WebHookActivity', + 'WebLinkedService', + 'WebLinkedServiceTypeProperties', + 'WebTableDataset', + 'XeroLinkedService', + 'XeroObjectDataset', + 'ZohoLinkedService', + 'ZohoObjectDataset', + 'AvroCompressionCodec', + 'AzureFunctionActivityMethod', + 'CompressionCodec', + 'DataFlowComputeType', + 'DataFlowDebugCommandType', + 'DatasetCompressionLevel', + 'DependencyCondition', + 'DynamicsAuthenticationType', + 'DynamicsDeploymentType', + 'DynamicsServicePrincipalCredentialType', + 'EventSubscriptionStatus', + 'FtpAuthenticationType', + 'GoogleAdWordsAuthenticationType', + 'GoogleBigQueryAuthenticationType', + 'HBaseAuthenticationType', + 'HdInsightActivityDebugInfoOption', + 'HdiNodeTypes', + 'HiveAuthenticationType', + 'HiveServerType', + 'HiveThriftTransportProtocol', + 'HttpAuthenticationType', + 'ImpalaAuthenticationType', + 'IntegrationRuntimeAuthKeyName', + 'IntegrationRuntimeAutoUpdate', + 'IntegrationRuntimeEdition', + 'IntegrationRuntimeEntityReferenceType', + 'IntegrationRuntimeInternalChannelEncryptionMode', + 'IntegrationRuntimeLicenseType', + 'IntegrationRuntimeSsisCatalogPricingTier', + 'IntegrationRuntimeState', + 'IntegrationRuntimeType', + 'IntegrationRuntimeUpdateResult', + 'ManagedIntegrationRuntimeNodeStatus', + 'MongoDBAuthenticationType', + 'ODataAadServicePrincipalCredentialType', + 'ODataAuthenticationType', + 'OrcCompressionCodec', + 'ParameterType', + 'PhoenixAuthenticationType', + 'PrestoAuthenticationType', + 'RestServiceAuthenticationType', + 'RunQueryFilterOperand', + 'RunQueryFilterOperator', + 'RunQueryOrder', + 'RunQueryOrderByField', + 'SapHanaAuthenticationType', + 'SelfHostedIntegrationRuntimeNodeStatus', + 'ServiceNowAuthenticationType', + 'SftpAuthenticationType', + 'SparkAuthenticationType', + 'SparkServerType', + 'SparkThriftTransportProtocol', + 'SsisObjectMetadataType', + 'SsisPackageLocationType', + 'StoredProcedureParameterType', + 'SybaseAuthenticationType', + 'TeradataAuthenticationType', + 'TriggerRunStatus', + 'TriggerRuntimeState', + 'VariableType', + 'WebActivityMethod', + 'WebAuthenticationType', +] diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_data_factory_management_client_enums.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_data_factory_management_client_enums.py new file mode 100644 index 00000000000..1d4851f82bc --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_data_factory_management_client_enums.py @@ -0,0 +1,552 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum + +class AvroCompressionCodec(str, Enum): + + none = "none" + deflate = "deflate" + snappy = "snappy" + xz = "xz" + bzip2 = "bzip2" + +class AzureFunctionActivityMethod(str, Enum): + """The list of HTTP methods supported by a AzureFunctionActivity. + """ + + get = "GET" + post = "POST" + put = "PUT" + delete = "DELETE" + options = "OPTIONS" + head = "HEAD" + trace = "TRACE" + +class CompressionCodec(str, Enum): + + none = "none" + gzip = "gzip" + snappy = "snappy" + lzo = "lzo" + bzip2 = "bzip2" + deflate = "deflate" + zip_deflate = "zipDeflate" + lz4 = "lz4" + +class DataFlowComputeType(str, Enum): + """Compute type of the cluster which will execute data flow job. + """ + + general = "General" + memory_optimized = "MemoryOptimized" + compute_optimized = "ComputeOptimized" + +class DataFlowDebugCommandType(str, Enum): + """The command type. + """ + + execute_preview_query = "executePreviewQuery" + execute_statistics_query = "executeStatisticsQuery" + execute_expression_query = "executeExpressionQuery" + +class DatasetCompressionLevel(str, Enum): + """All available compression levels. + """ + + optimal = "Optimal" + fastest = "Fastest" + +class DependencyCondition(str, Enum): + + succeeded = "Succeeded" + failed = "Failed" + skipped = "Skipped" + completed = "Completed" + +class DynamicsAuthenticationType(str, Enum): + """The authentication type to connect to Dynamics server. 'Office365' for online scenario, 'Ifd' + for on-premises with Ifd scenario, 'AADServicePrincipal' for Server-To-Server authentication in + online scenario. Type: string (or Expression with resultType string). + """ + + office365 = "Office365" + ifd = "Ifd" + aad_service_principal = "AADServicePrincipal" + +class DynamicsDeploymentType(str, Enum): + """The deployment type of the Dynamics instance. 'Online' for Dynamics Online and + 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or Expression with + resultType string). + """ + + online = "Online" + on_premises_with_ifd = "OnPremisesWithIfd" + +class DynamicsServicePrincipalCredentialType(str, Enum): + """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). + """ + + service_principal_key = "ServicePrincipalKey" + service_principal_cert = "ServicePrincipalCert" + +class EventSubscriptionStatus(str, Enum): + """Event Subscription Status. + """ + + enabled = "Enabled" + provisioning = "Provisioning" + deprovisioning = "Deprovisioning" + disabled = "Disabled" + unknown = "Unknown" + +class FtpAuthenticationType(str, Enum): + """The authentication type to be used to connect to the FTP server. + """ + + basic = "Basic" + anonymous = "Anonymous" + +class GoogleAdWordsAuthenticationType(str, Enum): + """The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only + be used on self-hosted IR. + """ + + service_authentication = "ServiceAuthentication" + user_authentication = "UserAuthentication" + +class GoogleBigQueryAuthenticationType(str, Enum): + """The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only + be used on self-hosted IR. + """ + + service_authentication = "ServiceAuthentication" + user_authentication = "UserAuthentication" + +class HBaseAuthenticationType(str, Enum): + """The authentication mechanism to use to connect to the HBase server. + """ + + anonymous = "Anonymous" + basic = "Basic" + +class HdiNodeTypes(str, Enum): + """The node types on which the script action should be executed. + """ + + headnode = "Headnode" + workernode = "Workernode" + zookeeper = "Zookeeper" + +class HdInsightActivityDebugInfoOption(str, Enum): + """The HDInsightActivityDebugInfoOption settings to use. + """ + + none = "None" + always = "Always" + failure = "Failure" + +class HiveAuthenticationType(str, Enum): + """The authentication method used to access the Hive server. + """ + + anonymous = "Anonymous" + username = "Username" + username_and_password = "UsernameAndPassword" + windows_azure_hd_insight_service = "WindowsAzureHDInsightService" + +class HiveServerType(str, Enum): + """The type of Hive server. + """ + + hive_server1 = "HiveServer1" + hive_server2 = "HiveServer2" + hive_thrift_server = "HiveThriftServer" + +class HiveThriftTransportProtocol(str, Enum): + """The transport protocol to use in the Thrift layer. + """ + + binary = "Binary" + sasl = "SASL" + http = "HTTP " + +class HttpAuthenticationType(str, Enum): + """The authentication type to be used to connect to the HTTP server. + """ + + basic = "Basic" + anonymous = "Anonymous" + digest = "Digest" + windows = "Windows" + client_certificate = "ClientCertificate" + +class ImpalaAuthenticationType(str, Enum): + """The authentication type to use. + """ + + anonymous = "Anonymous" + sasl_username = "SASLUsername" + username_and_password = "UsernameAndPassword" + +class IntegrationRuntimeAuthKeyName(str, Enum): + """The name of the authentication key to regenerate. + """ + + auth_key1 = "authKey1" + auth_key2 = "authKey2" + +class IntegrationRuntimeAutoUpdate(str, Enum): + """The state of integration runtime auto update. + """ + + on = "On" + off = "Off" + +class IntegrationRuntimeEdition(str, Enum): + """The edition for the SSIS Integration Runtime + """ + + standard = "Standard" + enterprise = "Enterprise" + +class IntegrationRuntimeEntityReferenceType(str, Enum): + """The type of this referenced entity. + """ + + integration_runtime_reference = "IntegrationRuntimeReference" + linked_service_reference = "LinkedServiceReference" + +class IntegrationRuntimeInternalChannelEncryptionMode(str, Enum): + """It is used to set the encryption mode for node-node communication channel (when more than 2 + self-hosted integration runtime nodes exist). + """ + + not_set = "NotSet" + ssl_encrypted = "SslEncrypted" + not_encrypted = "NotEncrypted" + +class IntegrationRuntimeLicenseType(str, Enum): + """License type for bringing your own license scenario. + """ + + base_price = "BasePrice" + license_included = "LicenseIncluded" + +class IntegrationRuntimeSsisCatalogPricingTier(str, Enum): + """The pricing tier for the catalog database. The valid values could be found in + https://azure.microsoft.com/en-us/pricing/details/sql-database/ + """ + + basic = "Basic" + standard = "Standard" + premium = "Premium" + premium_rs = "PremiumRS" + +class IntegrationRuntimeState(str, Enum): + """The state of integration runtime. + """ + + initial = "Initial" + stopped = "Stopped" + started = "Started" + starting = "Starting" + stopping = "Stopping" + need_registration = "NeedRegistration" + online = "Online" + limited = "Limited" + offline = "Offline" + access_denied = "AccessDenied" + +class IntegrationRuntimeType(str, Enum): + """The type of integration runtime. + """ + + managed = "Managed" + self_hosted = "SelfHosted" + +class IntegrationRuntimeUpdateResult(str, Enum): + """The result of the last integration runtime node update. + """ + + none = "None" + succeed = "Succeed" + fail = "Fail" + +class ManagedIntegrationRuntimeNodeStatus(str, Enum): + """The managed integration runtime node status. + """ + + starting = "Starting" + available = "Available" + recycling = "Recycling" + unavailable = "Unavailable" + +class MongoDBAuthenticationType(str, Enum): + """The authentication type to be used to connect to the MongoDB database. + """ + + basic = "Basic" + anonymous = "Anonymous" + +class ODataAadServicePrincipalCredentialType(str, Enum): + """Specify the credential type (key or cert) is used for service principal. + """ + + service_principal_key = "ServicePrincipalKey" + service_principal_cert = "ServicePrincipalCert" + +class ODataAuthenticationType(str, Enum): + """Type of authentication used to connect to the OData service. + """ + + basic = "Basic" + anonymous = "Anonymous" + windows = "Windows" + aad_service_principal = "AadServicePrincipal" + managed_service_identity = "ManagedServiceIdentity" + +class OrcCompressionCodec(str, Enum): + + none = "none" + zlib = "zlib" + snappy = "snappy" + +class ParameterType(str, Enum): + """Parameter type. + """ + + object = "Object" + string = "String" + int = "Int" + float = "Float" + bool = "Bool" + array = "Array" + secure_string = "SecureString" + +class PhoenixAuthenticationType(str, Enum): + """The authentication mechanism used to connect to the Phoenix server. + """ + + anonymous = "Anonymous" + username_and_password = "UsernameAndPassword" + windows_azure_hd_insight_service = "WindowsAzureHDInsightService" + +class PrestoAuthenticationType(str, Enum): + """The authentication mechanism used to connect to the Presto server. + """ + + anonymous = "Anonymous" + ldap = "LDAP" + +class RestServiceAuthenticationType(str, Enum): + """Type of authentication used to connect to the REST service. + """ + + anonymous = "Anonymous" + basic = "Basic" + aad_service_principal = "AadServicePrincipal" + managed_service_identity = "ManagedServiceIdentity" + +class RunQueryFilterOperand(str, Enum): + """Parameter name to be used for filter. The allowed operands to query pipeline runs are + PipelineName, RunStart, RunEnd and Status; to query activity runs are ActivityName, + ActivityRunStart, ActivityRunEnd, ActivityType and Status, and to query trigger runs are + TriggerName, TriggerRunTimestamp and Status. + """ + + pipeline_name = "PipelineName" + status = "Status" + run_start = "RunStart" + run_end = "RunEnd" + activity_name = "ActivityName" + activity_run_start = "ActivityRunStart" + activity_run_end = "ActivityRunEnd" + activity_type = "ActivityType" + trigger_name = "TriggerName" + trigger_run_timestamp = "TriggerRunTimestamp" + run_group_id = "RunGroupId" + latest_only = "LatestOnly" + +class RunQueryFilterOperator(str, Enum): + """Operator to be used for filter. + """ + + equals = "Equals" + not_equals = "NotEquals" + in_enum = "In" + not_in = "NotIn" + +class RunQueryOrder(str, Enum): + """Sorting order of the parameter. + """ + + asc = "ASC" + desc = "DESC" + +class RunQueryOrderByField(str, Enum): + """Parameter name to be used for order by. The allowed parameters to order by for pipeline runs + are PipelineName, RunStart, RunEnd and Status; for activity runs are ActivityName, + ActivityRunStart, ActivityRunEnd and Status; for trigger runs are TriggerName, + TriggerRunTimestamp and Status. + """ + + run_start = "RunStart" + run_end = "RunEnd" + pipeline_name = "PipelineName" + status = "Status" + activity_name = "ActivityName" + activity_run_start = "ActivityRunStart" + activity_run_end = "ActivityRunEnd" + trigger_name = "TriggerName" + trigger_run_timestamp = "TriggerRunTimestamp" + +class SapHanaAuthenticationType(str, Enum): + """The authentication type to be used to connect to the SAP HANA server. + """ + + basic = "Basic" + windows = "Windows" + +class SelfHostedIntegrationRuntimeNodeStatus(str, Enum): + """Status of the integration runtime node. + """ + + need_registration = "NeedRegistration" + online = "Online" + limited = "Limited" + offline = "Offline" + upgrading = "Upgrading" + initializing = "Initializing" + initialize_failed = "InitializeFailed" + +class ServiceNowAuthenticationType(str, Enum): + """The authentication type to use. + """ + + basic = "Basic" + o_auth2 = "OAuth2" + +class SftpAuthenticationType(str, Enum): + """The authentication type to be used to connect to the FTP server. + """ + + basic = "Basic" + ssh_public_key = "SshPublicKey" + +class SparkAuthenticationType(str, Enum): + """The authentication method used to access the Spark server. + """ + + anonymous = "Anonymous" + username = "Username" + username_and_password = "UsernameAndPassword" + windows_azure_hd_insight_service = "WindowsAzureHDInsightService" + +class SparkServerType(str, Enum): + """The type of Spark server. + """ + + shark_server = "SharkServer" + shark_server2 = "SharkServer2" + spark_thrift_server = "SparkThriftServer" + +class SparkThriftTransportProtocol(str, Enum): + """The transport protocol to use in the Thrift layer. + """ + + binary = "Binary" + sasl = "SASL" + http = "HTTP " + +class SsisObjectMetadataType(str, Enum): + """The type of SSIS object metadata. + """ + + folder = "Folder" + project = "Project" + package = "Package" + environment = "Environment" + +class SsisPackageLocationType(str, Enum): + """The type of SSIS package location. + """ + + ssisdb = "SSISDB" + file = "File" + inline_package = "InlinePackage" + package_store = "PackageStore" + +class StoredProcedureParameterType(str, Enum): + """Stored procedure parameter type. + """ + + string = "String" + int = "Int" + int64 = "Int64" + decimal = "Decimal" + guid = "Guid" + boolean = "Boolean" + date = "Date" + +class SybaseAuthenticationType(str, Enum): + """AuthenticationType to be used for connection. + """ + + basic = "Basic" + windows = "Windows" + +class TeradataAuthenticationType(str, Enum): + """AuthenticationType to be used for connection. + """ + + basic = "Basic" + windows = "Windows" + +class TriggerRunStatus(str, Enum): + """Trigger run status. + """ + + succeeded = "Succeeded" + failed = "Failed" + inprogress = "Inprogress" + +class TriggerRuntimeState(str, Enum): + """Enumerates possible state of Triggers. + """ + + started = "Started" + stopped = "Stopped" + disabled = "Disabled" + +class VariableType(str, Enum): + """Variable type. + """ + + string = "String" + bool = "Bool" + array = "Array" + +class WebActivityMethod(str, Enum): + """The list of HTTP methods supported by a WebActivity. + """ + + get = "GET" + post = "POST" + put = "PUT" + delete = "DELETE" + +class WebAuthenticationType(str, Enum): + """Type of authentication used to connect to the web table source. + """ + + basic = "Basic" + anonymous = "Anonymous" + client_certificate = "ClientCertificate" diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models.py new file mode 100644 index 00000000000..82f36a73313 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models.py @@ -0,0 +1,22356 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import msrest.serialization + + +class AccessPolicyResponse(msrest.serialization.Model): + """Get Data Plane read only token response definition. + + :param policy: The user access policy. + :type policy: ~azure.mgmt.datafactory.models.UserAccessPolicy + :param access_token: Data Plane read only access token. + :type access_token: str + :param data_plane_url: Data Plane service base URL. + :type data_plane_url: str + """ + + _attribute_map = { + 'policy': {'key': 'policy', 'type': 'UserAccessPolicy'}, + 'access_token': {'key': 'accessToken', 'type': 'str'}, + 'data_plane_url': {'key': 'dataPlaneUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AccessPolicyResponse, self).__init__(**kwargs) + self.policy = kwargs.get('policy', None) + self.access_token = kwargs.get('access_token', None) + self.data_plane_url = kwargs.get('data_plane_url', None) + + +class Activity(msrest.serialization.Model): + """A pipeline activity. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ControlActivity, ExecutionActivity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + } + + _subtype_map = { + 'type': {'Container': 'ControlActivity', 'Execution': 'ExecutionActivity'} + } + + def __init__( + self, + **kwargs + ): + super(Activity, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.name = kwargs['name'] + self.type = 'Activity' + self.description = kwargs.get('description', None) + self.depends_on = kwargs.get('depends_on', None) + self.user_properties = kwargs.get('user_properties', None) + + +class ActivityDependency(msrest.serialization.Model): + """Activity dependency information. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param activity: Required. Activity name. + :type activity: str + :param dependency_conditions: Required. Match-Condition for the dependency. + :type dependency_conditions: list[str or ~azure.mgmt.datafactory.models.DependencyCondition] + """ + + _validation = { + 'activity': {'required': True}, + 'dependency_conditions': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'activity': {'key': 'activity', 'type': 'str'}, + 'dependency_conditions': {'key': 'dependencyConditions', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(ActivityDependency, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.activity = kwargs['activity'] + self.dependency_conditions = kwargs['dependency_conditions'] + + +class ActivityPolicy(msrest.serialization.Model): + """Execution policy for an activity. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param timeout: Specifies the timeout for the activity to run. The default timeout is 7 days. + Type: string (or Expression with resultType string), pattern: + ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type timeout: object + :param retry: Maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with + resultType integer), minimum: 0. + :type retry: object + :param retry_interval_in_seconds: Interval between each retry attempt (in seconds). The default + is 30 sec. + :type retry_interval_in_seconds: int + :param secure_input: When set to true, Input from activity is considered as secure and will not + be logged to monitoring. + :type secure_input: bool + :param secure_output: When set to true, Output from activity is considered as secure and will + not be logged to monitoring. + :type secure_output: bool + """ + + _validation = { + 'retry_interval_in_seconds': {'maximum': 86400, 'minimum': 30}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'timeout': {'key': 'timeout', 'type': 'object'}, + 'retry': {'key': 'retry', 'type': 'object'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'int'}, + 'secure_input': {'key': 'secureInput', 'type': 'bool'}, + 'secure_output': {'key': 'secureOutput', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(ActivityPolicy, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.timeout = kwargs.get('timeout', None) + self.retry = kwargs.get('retry', None) + self.retry_interval_in_seconds = kwargs.get('retry_interval_in_seconds', None) + self.secure_input = kwargs.get('secure_input', None) + self.secure_output = kwargs.get('secure_output', None) + + +class ActivityRun(msrest.serialization.Model): + """Information about an activity run in a pipeline. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar pipeline_name: The name of the pipeline. + :vartype pipeline_name: str + :ivar pipeline_run_id: The id of the pipeline run. + :vartype pipeline_run_id: str + :ivar activity_name: The name of the activity. + :vartype activity_name: str + :ivar activity_type: The type of the activity. + :vartype activity_type: str + :ivar activity_run_id: The id of the activity run. + :vartype activity_run_id: str + :ivar linked_service_name: The name of the compute linked service. + :vartype linked_service_name: str + :ivar status: The status of the activity run. + :vartype status: str + :ivar activity_run_start: The start time of the activity run in 'ISO 8601' format. + :vartype activity_run_start: ~datetime.datetime + :ivar activity_run_end: The end time of the activity run in 'ISO 8601' format. + :vartype activity_run_end: ~datetime.datetime + :ivar duration_in_ms: The duration of the activity run. + :vartype duration_in_ms: int + :ivar input: The input for the activity. + :vartype input: object + :ivar output: The output for the activity. + :vartype output: object + :ivar error: The error if any from the activity run. + :vartype error: object + """ + + _validation = { + 'pipeline_name': {'readonly': True}, + 'pipeline_run_id': {'readonly': True}, + 'activity_name': {'readonly': True}, + 'activity_type': {'readonly': True}, + 'activity_run_id': {'readonly': True}, + 'linked_service_name': {'readonly': True}, + 'status': {'readonly': True}, + 'activity_run_start': {'readonly': True}, + 'activity_run_end': {'readonly': True}, + 'duration_in_ms': {'readonly': True}, + 'input': {'readonly': True}, + 'output': {'readonly': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'pipeline_name': {'key': 'pipelineName', 'type': 'str'}, + 'pipeline_run_id': {'key': 'pipelineRunId', 'type': 'str'}, + 'activity_name': {'key': 'activityName', 'type': 'str'}, + 'activity_type': {'key': 'activityType', 'type': 'str'}, + 'activity_run_id': {'key': 'activityRunId', 'type': 'str'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'activity_run_start': {'key': 'activityRunStart', 'type': 'iso-8601'}, + 'activity_run_end': {'key': 'activityRunEnd', 'type': 'iso-8601'}, + 'duration_in_ms': {'key': 'durationInMs', 'type': 'int'}, + 'input': {'key': 'input', 'type': 'object'}, + 'output': {'key': 'output', 'type': 'object'}, + 'error': {'key': 'error', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ActivityRun, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.pipeline_name = None + self.pipeline_run_id = None + self.activity_name = None + self.activity_type = None + self.activity_run_id = None + self.linked_service_name = None + self.status = None + self.activity_run_start = None + self.activity_run_end = None + self.duration_in_ms = None + self.input = None + self.output = None + self.error = None + + +class ActivityRunsQueryResponse(msrest.serialization.Model): + """A list activity runs. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of activity runs. + :type value: list[~azure.mgmt.datafactory.models.ActivityRun] + :param continuation_token: The continuation token for getting the next page of results, if any + remaining results exist, null otherwise. + :type continuation_token: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ActivityRun]'}, + 'continuation_token': {'key': 'continuationToken', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ActivityRunsQueryResponse, self).__init__(**kwargs) + self.value = kwargs['value'] + self.continuation_token = kwargs.get('continuation_token', None) + + +class AddDataFlowToDebugSessionResponse(msrest.serialization.Model): + """Response body structure for starting data flow debug session. + + :param job_version: The ID of data flow debug job version. + :type job_version: str + """ + + _attribute_map = { + 'job_version': {'key': 'jobVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AddDataFlowToDebugSessionResponse, self).__init__(**kwargs) + self.job_version = kwargs.get('job_version', None) + + +class LinkedService(msrest.serialization.Model): + """The Azure Data Factory nested object which contains the information and credential which can be used to connect with related store or compute resource. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AmazonMwsLinkedService, AmazonRedshiftLinkedService, AmazonS3LinkedService, AzureBatchLinkedService, AzureBlobFsLinkedService, AzureBlobStorageLinkedService, AzureDataExplorerLinkedService, AzureDataLakeAnalyticsLinkedService, AzureDataLakeStoreLinkedService, AzureDatabricksLinkedService, AzureFileStorageLinkedService, AzureFunctionLinkedService, AzureKeyVaultLinkedService, AzureMlLinkedService, AzureMlServiceLinkedService, AzureMariaDBLinkedService, AzureMySqlLinkedService, AzurePostgreSqlLinkedService, AzureSearchLinkedService, AzureSqlDwLinkedService, AzureSqlDatabaseLinkedService, AzureSqlMiLinkedService, AzureStorageLinkedService, AzureTableStorageLinkedService, CassandraLinkedService, CommonDataServiceForAppsLinkedService, ConcurLinkedService, CosmosDBLinkedService, CosmosDBMongoDBApiLinkedService, CouchbaseLinkedService, CustomDataSourceLinkedService, Db2LinkedService, DrillLinkedService, DynamicsLinkedService, DynamicsAxLinkedService, DynamicsCrmLinkedService, EloquaLinkedService, FileServerLinkedService, FtpServerLinkedService, GoogleAdWordsLinkedService, GoogleBigQueryLinkedService, GoogleCloudStorageLinkedService, GreenplumLinkedService, HBaseLinkedService, HdInsightLinkedService, HdInsightOnDemandLinkedService, HdfsLinkedService, HiveLinkedService, HttpLinkedService, HubspotLinkedService, ImpalaLinkedService, InformixLinkedService, JiraLinkedService, MagentoLinkedService, MariaDBLinkedService, MarketoLinkedService, MicrosoftAccessLinkedService, MongoDBLinkedService, MongoDBV2LinkedService, MySqlLinkedService, NetezzaLinkedService, ODataLinkedService, OdbcLinkedService, Office365LinkedService, OracleLinkedService, OracleServiceCloudLinkedService, PaypalLinkedService, PhoenixLinkedService, PostgreSqlLinkedService, PrestoLinkedService, QuickBooksLinkedService, ResponsysLinkedService, RestServiceLinkedService, SalesforceLinkedService, SalesforceMarketingCloudLinkedService, SalesforceServiceCloudLinkedService, SapBwLinkedService, SapCloudForCustomerLinkedService, SapEccLinkedService, SapHanaLinkedService, SapOpenHubLinkedService, SapTableLinkedService, ServiceNowLinkedService, SftpServerLinkedService, SharePointOnlineListLinkedService, ShopifyLinkedService, SnowflakeLinkedService, SparkLinkedService, SqlServerLinkedService, SquareLinkedService, SybaseLinkedService, TeradataLinkedService, VerticaLinkedService, WebLinkedService, XeroLinkedService, ZohoLinkedService. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + } + + _subtype_map = { + 'type': {'AmazonMWS': 'AmazonMwsLinkedService', 'AmazonRedshift': 'AmazonRedshiftLinkedService', 'AmazonS3': 'AmazonS3LinkedService', 'AzureBatch': 'AzureBatchLinkedService', 'AzureBlobFS': 'AzureBlobFsLinkedService', 'AzureBlobStorage': 'AzureBlobStorageLinkedService', 'AzureDataExplorer': 'AzureDataExplorerLinkedService', 'AzureDataLakeAnalytics': 'AzureDataLakeAnalyticsLinkedService', 'AzureDataLakeStore': 'AzureDataLakeStoreLinkedService', 'AzureDatabricks': 'AzureDatabricksLinkedService', 'AzureFileStorage': 'AzureFileStorageLinkedService', 'AzureFunction': 'AzureFunctionLinkedService', 'AzureKeyVault': 'AzureKeyVaultLinkedService', 'AzureML': 'AzureMlLinkedService', 'AzureMLService': 'AzureMlServiceLinkedService', 'AzureMariaDB': 'AzureMariaDBLinkedService', 'AzureMySql': 'AzureMySqlLinkedService', 'AzurePostgreSql': 'AzurePostgreSqlLinkedService', 'AzureSearch': 'AzureSearchLinkedService', 'AzureSqlDW': 'AzureSqlDwLinkedService', 'AzureSqlDatabase': 'AzureSqlDatabaseLinkedService', 'AzureSqlMI': 'AzureSqlMiLinkedService', 'AzureStorage': 'AzureStorageLinkedService', 'AzureTableStorage': 'AzureTableStorageLinkedService', 'Cassandra': 'CassandraLinkedService', 'CommonDataServiceForApps': 'CommonDataServiceForAppsLinkedService', 'Concur': 'ConcurLinkedService', 'CosmosDb': 'CosmosDBLinkedService', 'CosmosDbMongoDbApi': 'CosmosDBMongoDBApiLinkedService', 'Couchbase': 'CouchbaseLinkedService', 'CustomDataSource': 'CustomDataSourceLinkedService', 'Db2': 'Db2LinkedService', 'Drill': 'DrillLinkedService', 'Dynamics': 'DynamicsLinkedService', 'DynamicsAX': 'DynamicsAxLinkedService', 'DynamicsCrm': 'DynamicsCrmLinkedService', 'Eloqua': 'EloquaLinkedService', 'FileServer': 'FileServerLinkedService', 'FtpServer': 'FtpServerLinkedService', 'GoogleAdWords': 'GoogleAdWordsLinkedService', 'GoogleBigQuery': 'GoogleBigQueryLinkedService', 'GoogleCloudStorage': 'GoogleCloudStorageLinkedService', 'Greenplum': 'GreenplumLinkedService', 'HBase': 'HBaseLinkedService', 'HDInsight': 'HdInsightLinkedService', 'HDInsightOnDemand': 'HdInsightOnDemandLinkedService', 'Hdfs': 'HdfsLinkedService', 'Hive': 'HiveLinkedService', 'HttpServer': 'HttpLinkedService', 'Hubspot': 'HubspotLinkedService', 'Impala': 'ImpalaLinkedService', 'Informix': 'InformixLinkedService', 'Jira': 'JiraLinkedService', 'Magento': 'MagentoLinkedService', 'MariaDB': 'MariaDBLinkedService', 'Marketo': 'MarketoLinkedService', 'MicrosoftAccess': 'MicrosoftAccessLinkedService', 'MongoDb': 'MongoDBLinkedService', 'MongoDbV2': 'MongoDBV2LinkedService', 'MySql': 'MySqlLinkedService', 'Netezza': 'NetezzaLinkedService', 'OData': 'ODataLinkedService', 'Odbc': 'OdbcLinkedService', 'Office365': 'Office365LinkedService', 'Oracle': 'OracleLinkedService', 'OracleServiceCloud': 'OracleServiceCloudLinkedService', 'Paypal': 'PaypalLinkedService', 'Phoenix': 'PhoenixLinkedService', 'PostgreSql': 'PostgreSqlLinkedService', 'Presto': 'PrestoLinkedService', 'QuickBooks': 'QuickBooksLinkedService', 'Responsys': 'ResponsysLinkedService', 'RestService': 'RestServiceLinkedService', 'Salesforce': 'SalesforceLinkedService', 'SalesforceMarketingCloud': 'SalesforceMarketingCloudLinkedService', 'SalesforceServiceCloud': 'SalesforceServiceCloudLinkedService', 'SapBW': 'SapBwLinkedService', 'SapCloudForCustomer': 'SapCloudForCustomerLinkedService', 'SapEcc': 'SapEccLinkedService', 'SapHana': 'SapHanaLinkedService', 'SapOpenHub': 'SapOpenHubLinkedService', 'SapTable': 'SapTableLinkedService', 'ServiceNow': 'ServiceNowLinkedService', 'Sftp': 'SftpServerLinkedService', 'SharePointOnlineList': 'SharePointOnlineListLinkedService', 'Shopify': 'ShopifyLinkedService', 'Snowflake': 'SnowflakeLinkedService', 'Spark': 'SparkLinkedService', 'SqlServer': 'SqlServerLinkedService', 'Square': 'SquareLinkedService', 'Sybase': 'SybaseLinkedService', 'Teradata': 'TeradataLinkedService', 'Vertica': 'VerticaLinkedService', 'Web': 'WebLinkedService', 'Xero': 'XeroLinkedService', 'Zoho': 'ZohoLinkedService'} + } + + def __init__( + self, + **kwargs + ): + super(LinkedService, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = 'LinkedService' + self.connect_via = kwargs.get('connect_via', None) + self.description = kwargs.get('description', None) + self.parameters = kwargs.get('parameters', None) + self.annotations = kwargs.get('annotations', None) + + +class AmazonMwsLinkedService(LinkedService): + """Amazon Marketplace Web Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of the Amazon MWS server, (i.e. + mws.amazonservices.com). + :type endpoint: object + :param marketplace_id: Required. The Amazon Marketplace ID you want to retrieve data from. To + retrieve data from multiple Marketplace IDs, separate them with a comma (,). (i.e. + A2EUQ1WTGCTBG2). + :type marketplace_id: object + :param seller_id: Required. The Amazon seller ID. + :type seller_id: object + :param mws_auth_token: The Amazon MWS authentication token. + :type mws_auth_token: ~azure.mgmt.datafactory.models.SecretBase + :param access_key_id: Required. The access key id used to access data. + :type access_key_id: object + :param secret_key: The secret key used to access data. + :type secret_key: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + 'marketplace_id': {'required': True}, + 'seller_id': {'required': True}, + 'access_key_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'marketplace_id': {'key': 'typeProperties.marketplaceID', 'type': 'object'}, + 'seller_id': {'key': 'typeProperties.sellerID', 'type': 'object'}, + 'mws_auth_token': {'key': 'typeProperties.mwsAuthToken', 'type': 'SecretBase'}, + 'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'}, + 'secret_key': {'key': 'typeProperties.secretKey', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AmazonMwsLinkedService, self).__init__(**kwargs) + self.type = 'AmazonMWS' + self.endpoint = kwargs['endpoint'] + self.marketplace_id = kwargs['marketplace_id'] + self.seller_id = kwargs['seller_id'] + self.mws_auth_token = kwargs.get('mws_auth_token', None) + self.access_key_id = kwargs['access_key_id'] + self.secret_key = kwargs.get('secret_key', None) + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class Dataset(msrest.serialization.Model): + """The Azure Data Factory nested object which identifies data within different data stores, such as tables, files, folders, and documents. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AmazonMwsObjectDataset, AmazonRedshiftTableDataset, AmazonS3Dataset, AvroDataset, AzureBlobDataset, AzureBlobFsDataset, AzureDataExplorerTableDataset, AzureDataLakeStoreDataset, AzureMariaDBTableDataset, AzureMySqlTableDataset, AzurePostgreSqlTableDataset, AzureSearchIndexDataset, AzureSqlDwTableDataset, AzureSqlMiTableDataset, AzureSqlTableDataset, AzureTableDataset, BinaryDataset, CassandraTableDataset, CommonDataServiceForAppsEntityDataset, ConcurObjectDataset, CosmosDBMongoDBApiCollectionDataset, CosmosDBSqlApiCollectionDataset, CouchbaseTableDataset, Db2TableDataset, DelimitedTextDataset, DocumentDBCollectionDataset, DrillTableDataset, DynamicsAxResourceDataset, DynamicsCrmEntityDataset, DynamicsEntityDataset, EloquaObjectDataset, FileShareDataset, GoogleAdWordsObjectDataset, GoogleBigQueryObjectDataset, GreenplumTableDataset, HBaseObjectDataset, HiveObjectDataset, HttpDataset, HubspotObjectDataset, ImpalaObjectDataset, InformixTableDataset, JiraObjectDataset, JsonDataset, MagentoObjectDataset, MariaDBTableDataset, MarketoObjectDataset, MicrosoftAccessTableDataset, MongoDBCollectionDataset, MongoDBV2CollectionDataset, MySqlTableDataset, NetezzaTableDataset, ODataResourceDataset, OdbcTableDataset, Office365Dataset, OracleServiceCloudObjectDataset, OracleTableDataset, OrcDataset, ParquetDataset, PaypalObjectDataset, PhoenixObjectDataset, PostgreSqlTableDataset, PrestoObjectDataset, QuickBooksObjectDataset, RelationalTableDataset, ResponsysObjectDataset, RestResourceDataset, SalesforceMarketingCloudObjectDataset, SalesforceObjectDataset, SalesforceServiceCloudObjectDataset, SapBwCubeDataset, SapCloudForCustomerResourceDataset, SapEccResourceDataset, SapHanaTableDataset, SapOpenHubTableDataset, SapTableResourceDataset, ServiceNowObjectDataset, SharePointOnlineListResourceDataset, ShopifyObjectDataset, SnowflakeDataset, SparkObjectDataset, SqlServerTableDataset, SquareObjectDataset, SybaseTableDataset, TeradataTableDataset, VerticaTableDataset, WebTableDataset, XeroObjectDataset, ZohoObjectDataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + } + + _subtype_map = { + 'type': {'AmazonMWSObject': 'AmazonMwsObjectDataset', 'AmazonRedshiftTable': 'AmazonRedshiftTableDataset', 'AmazonS3Object': 'AmazonS3Dataset', 'Avro': 'AvroDataset', 'AzureBlob': 'AzureBlobDataset', 'AzureBlobFSFile': 'AzureBlobFsDataset', 'AzureDataExplorerTable': 'AzureDataExplorerTableDataset', 'AzureDataLakeStoreFile': 'AzureDataLakeStoreDataset', 'AzureMariaDBTable': 'AzureMariaDBTableDataset', 'AzureMySqlTable': 'AzureMySqlTableDataset', 'AzurePostgreSqlTable': 'AzurePostgreSqlTableDataset', 'AzureSearchIndex': 'AzureSearchIndexDataset', 'AzureSqlDWTable': 'AzureSqlDwTableDataset', 'AzureSqlMITable': 'AzureSqlMiTableDataset', 'AzureSqlTable': 'AzureSqlTableDataset', 'AzureTable': 'AzureTableDataset', 'Binary': 'BinaryDataset', 'CassandraTable': 'CassandraTableDataset', 'CommonDataServiceForAppsEntity': 'CommonDataServiceForAppsEntityDataset', 'ConcurObject': 'ConcurObjectDataset', 'CosmosDbMongoDbApiCollection': 'CosmosDBMongoDBApiCollectionDataset', 'CosmosDbSqlApiCollection': 'CosmosDBSqlApiCollectionDataset', 'CouchbaseTable': 'CouchbaseTableDataset', 'Db2Table': 'Db2TableDataset', 'DelimitedText': 'DelimitedTextDataset', 'DocumentDbCollection': 'DocumentDBCollectionDataset', 'DrillTable': 'DrillTableDataset', 'DynamicsAXResource': 'DynamicsAxResourceDataset', 'DynamicsCrmEntity': 'DynamicsCrmEntityDataset', 'DynamicsEntity': 'DynamicsEntityDataset', 'EloquaObject': 'EloquaObjectDataset', 'FileShare': 'FileShareDataset', 'GoogleAdWordsObject': 'GoogleAdWordsObjectDataset', 'GoogleBigQueryObject': 'GoogleBigQueryObjectDataset', 'GreenplumTable': 'GreenplumTableDataset', 'HBaseObject': 'HBaseObjectDataset', 'HiveObject': 'HiveObjectDataset', 'HttpFile': 'HttpDataset', 'HubspotObject': 'HubspotObjectDataset', 'ImpalaObject': 'ImpalaObjectDataset', 'InformixTable': 'InformixTableDataset', 'JiraObject': 'JiraObjectDataset', 'Json': 'JsonDataset', 'MagentoObject': 'MagentoObjectDataset', 'MariaDBTable': 'MariaDBTableDataset', 'MarketoObject': 'MarketoObjectDataset', 'MicrosoftAccessTable': 'MicrosoftAccessTableDataset', 'MongoDbCollection': 'MongoDBCollectionDataset', 'MongoDbV2Collection': 'MongoDBV2CollectionDataset', 'MySqlTable': 'MySqlTableDataset', 'NetezzaTable': 'NetezzaTableDataset', 'ODataResource': 'ODataResourceDataset', 'OdbcTable': 'OdbcTableDataset', 'Office365Table': 'Office365Dataset', 'OracleServiceCloudObject': 'OracleServiceCloudObjectDataset', 'OracleTable': 'OracleTableDataset', 'Orc': 'OrcDataset', 'Parquet': 'ParquetDataset', 'PaypalObject': 'PaypalObjectDataset', 'PhoenixObject': 'PhoenixObjectDataset', 'PostgreSqlTable': 'PostgreSqlTableDataset', 'PrestoObject': 'PrestoObjectDataset', 'QuickBooksObject': 'QuickBooksObjectDataset', 'RelationalTable': 'RelationalTableDataset', 'ResponsysObject': 'ResponsysObjectDataset', 'RestResource': 'RestResourceDataset', 'SalesforceMarketingCloudObject': 'SalesforceMarketingCloudObjectDataset', 'SalesforceObject': 'SalesforceObjectDataset', 'SalesforceServiceCloudObject': 'SalesforceServiceCloudObjectDataset', 'SapBwCube': 'SapBwCubeDataset', 'SapCloudForCustomerResource': 'SapCloudForCustomerResourceDataset', 'SapEccResource': 'SapEccResourceDataset', 'SapHanaTable': 'SapHanaTableDataset', 'SapOpenHubTable': 'SapOpenHubTableDataset', 'SapTableResource': 'SapTableResourceDataset', 'ServiceNowObject': 'ServiceNowObjectDataset', 'SharePointOnlineListResource': 'SharePointOnlineListResourceDataset', 'ShopifyObject': 'ShopifyObjectDataset', 'SnowflakeTable': 'SnowflakeDataset', 'SparkObject': 'SparkObjectDataset', 'SqlServerTable': 'SqlServerTableDataset', 'SquareObject': 'SquareObjectDataset', 'SybaseTable': 'SybaseTableDataset', 'TeradataTable': 'TeradataTableDataset', 'VerticaTable': 'VerticaTableDataset', 'WebTable': 'WebTableDataset', 'XeroObject': 'XeroObjectDataset', 'ZohoObject': 'ZohoObjectDataset'} + } + + def __init__( + self, + **kwargs + ): + super(Dataset, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = 'Dataset' + self.description = kwargs.get('description', None) + self.structure = kwargs.get('structure', None) + self.schema = kwargs.get('schema', None) + self.linked_service_name = kwargs['linked_service_name'] + self.parameters = kwargs.get('parameters', None) + self.annotations = kwargs.get('annotations', None) + self.folder = kwargs.get('folder', None) + + +class AmazonMwsObjectDataset(Dataset): + """Amazon Marketplace Web Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AmazonMwsObjectDataset, self).__init__(**kwargs) + self.type = 'AmazonMWSObject' + self.table_name = kwargs.get('table_name', None) + + +class AmazonRedshiftLinkedService(LinkedService): + """Linked service for Amazon Redshift. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param server: Required. The name of the Amazon Redshift server. Type: string (or Expression + with resultType string). + :type server: object + :param username: The username of the Amazon Redshift source. Type: string (or Expression with + resultType string). + :type username: object + :param password: The password of the Amazon Redshift source. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param database: Required. The database name of the Amazon Redshift source. Type: string (or + Expression with resultType string). + :type database: object + :param port: The TCP port number that the Amazon Redshift server uses to listen for client + connections. The default value is 5439. Type: integer (or Expression with resultType integer). + :type port: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'server': {'required': True}, + 'database': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AmazonRedshiftLinkedService, self).__init__(**kwargs) + self.type = 'AmazonRedshift' + self.server = kwargs['server'] + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.database = kwargs['database'] + self.port = kwargs.get('port', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AmazonRedshiftTableDataset(Dataset): + """The Amazon Redshift table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The Amazon Redshift table name. Type: string (or Expression with resultType + string). + :type table: object + :param schema_type_properties_schema: The Amazon Redshift schema name. Type: string (or + Expression with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AmazonRedshiftTableDataset, self).__init__(**kwargs) + self.type = 'AmazonRedshiftTable' + self.table_name = kwargs.get('table_name', None) + self.table = kwargs.get('table', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + + +class AmazonS3Dataset(Dataset): + """A single Amazon Simple Storage Service (S3) object or a set of S3 objects. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param bucket_name: Required. The name of the Amazon S3 bucket. Type: string (or Expression + with resultType string). + :type bucket_name: object + :param key: The key of the Amazon S3 object. Type: string (or Expression with resultType + string). + :type key: object + :param prefix: The prefix filter for the S3 object name. Type: string (or Expression with + resultType string). + :type prefix: object + :param version: The version for the S3 object. Type: string (or Expression with resultType + string). + :type version: object + :param modified_datetime_start: The start of S3 object's modified datetime. Type: string (or + Expression with resultType string). + :type modified_datetime_start: object + :param modified_datetime_end: The end of S3 object's modified datetime. Type: string (or + Expression with resultType string). + :type modified_datetime_end: object + :param format: The format of files. + :type format: ~azure.mgmt.datafactory.models.DatasetStorageFormat + :param compression: The data compression method used for the Amazon S3 object. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'bucket_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'bucket_name': {'key': 'typeProperties.bucketName', 'type': 'object'}, + 'key': {'key': 'typeProperties.key', 'type': 'object'}, + 'prefix': {'key': 'typeProperties.prefix', 'type': 'object'}, + 'version': {'key': 'typeProperties.version', 'type': 'object'}, + 'modified_datetime_start': {'key': 'typeProperties.modifiedDatetimeStart', 'type': 'object'}, + 'modified_datetime_end': {'key': 'typeProperties.modifiedDatetimeEnd', 'type': 'object'}, + 'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + **kwargs + ): + super(AmazonS3Dataset, self).__init__(**kwargs) + self.type = 'AmazonS3Object' + self.bucket_name = kwargs['bucket_name'] + self.key = kwargs.get('key', None) + self.prefix = kwargs.get('prefix', None) + self.version = kwargs.get('version', None) + self.modified_datetime_start = kwargs.get('modified_datetime_start', None) + self.modified_datetime_end = kwargs.get('modified_datetime_end', None) + self.format = kwargs.get('format', None) + self.compression = kwargs.get('compression', None) + + +class AmazonS3LinkedService(LinkedService): + """Linked service for Amazon S3. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param access_key_id: The access key identifier of the Amazon S3 Identity and Access Management + (IAM) user. Type: string (or Expression with resultType string). + :type access_key_id: object + :param secret_access_key: The secret access key of the Amazon S3 Identity and Access Management + (IAM) user. + :type secret_access_key: ~azure.mgmt.datafactory.models.SecretBase + :param service_url: This value specifies the endpoint to access with the S3 Connector. This is + an optional property; change it only if you want to try a different service endpoint or want to + switch between https and http. Type: string (or Expression with resultType string). + :type service_url: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'}, + 'secret_access_key': {'key': 'typeProperties.secretAccessKey', 'type': 'SecretBase'}, + 'service_url': {'key': 'typeProperties.serviceUrl', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AmazonS3LinkedService, self).__init__(**kwargs) + self.type = 'AmazonS3' + self.access_key_id = kwargs.get('access_key_id', None) + self.secret_access_key = kwargs.get('secret_access_key', None) + self.service_url = kwargs.get('service_url', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class ControlActivity(Activity): + """Base class for all control activities like IfCondition, ForEach , Until. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AppendVariableActivity, ExecutePipelineActivity, FilterActivity, ForEachActivity, IfConditionActivity, SetVariableActivity, SwitchActivity, UntilActivity, ValidationActivity, WaitActivity, WebHookActivity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + } + + _subtype_map = { + 'type': {'AppendVariable': 'AppendVariableActivity', 'ExecutePipeline': 'ExecutePipelineActivity', 'Filter': 'FilterActivity', 'ForEach': 'ForEachActivity', 'IfCondition': 'IfConditionActivity', 'SetVariable': 'SetVariableActivity', 'Switch': 'SwitchActivity', 'Until': 'UntilActivity', 'Validation': 'ValidationActivity', 'Wait': 'WaitActivity', 'WebHook': 'WebHookActivity'} + } + + def __init__( + self, + **kwargs + ): + super(ControlActivity, self).__init__(**kwargs) + self.type = 'Container' + + +class AppendVariableActivity(ControlActivity): + """Append value for a Variable of type Array. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param variable_name: Name of the variable whose value needs to be appended to. + :type variable_name: str + :param value: Value to be appended. Could be a static value or Expression. + :type value: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'variable_name': {'key': 'typeProperties.variableName', 'type': 'str'}, + 'value': {'key': 'typeProperties.value', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AppendVariableActivity, self).__init__(**kwargs) + self.type = 'AppendVariable' + self.variable_name = kwargs.get('variable_name', None) + self.value = kwargs.get('value', None) + + +class AvroDataset(Dataset): + """Avro dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param location: The location of the avro storage. + :type location: ~azure.mgmt.datafactory.models.DatasetLocation + :param avro_compression_codec: Possible values include: "none", "deflate", "snappy", "xz", + "bzip2". + :type avro_compression_codec: str or ~azure.mgmt.datafactory.models.AvroCompressionCodec + :param avro_compression_level: + :type avro_compression_level: int + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'avro_compression_level': {'maximum': 9, 'minimum': 1}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, + 'avro_compression_codec': {'key': 'typeProperties.avroCompressionCodec', 'type': 'str'}, + 'avro_compression_level': {'key': 'typeProperties.avroCompressionLevel', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(AvroDataset, self).__init__(**kwargs) + self.type = 'Avro' + self.location = kwargs.get('location', None) + self.avro_compression_codec = kwargs.get('avro_compression_codec', None) + self.avro_compression_level = kwargs.get('avro_compression_level', None) + + +class AzureBatchLinkedService(LinkedService): + """Azure Batch linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param account_name: Required. The Azure Batch account name. Type: string (or Expression with + resultType string). + :type account_name: object + :param access_key: The Azure Batch account access key. + :type access_key: ~azure.mgmt.datafactory.models.SecretBase + :param batch_uri: Required. The Azure Batch URI. Type: string (or Expression with resultType + string). + :type batch_uri: object + :param pool_name: Required. The Azure Batch pool name. Type: string (or Expression with + resultType string). + :type pool_name: object + :param linked_service_name: Required. The Azure Storage linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'account_name': {'required': True}, + 'batch_uri': {'required': True}, + 'pool_name': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'account_name': {'key': 'typeProperties.accountName', 'type': 'object'}, + 'access_key': {'key': 'typeProperties.accessKey', 'type': 'SecretBase'}, + 'batch_uri': {'key': 'typeProperties.batchUri', 'type': 'object'}, + 'pool_name': {'key': 'typeProperties.poolName', 'type': 'object'}, + 'linked_service_name': {'key': 'typeProperties.linkedServiceName', 'type': 'LinkedServiceReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureBatchLinkedService, self).__init__(**kwargs) + self.type = 'AzureBatch' + self.account_name = kwargs['account_name'] + self.access_key = kwargs.get('access_key', None) + self.batch_uri = kwargs['batch_uri'] + self.pool_name = kwargs['pool_name'] + self.linked_service_name = kwargs['linked_service_name'] + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureBlobDataset(Dataset): + """The Azure Blob storage. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param folder_path: The path of the Azure Blob storage. Type: string (or Expression with + resultType string). + :type folder_path: object + :param table_root_location: The root of blob path. Type: string (or Expression with resultType + string). + :type table_root_location: object + :param file_name: The name of the Azure Blob. Type: string (or Expression with resultType + string). + :type file_name: object + :param modified_datetime_start: The start of Azure Blob's modified datetime. Type: string (or + Expression with resultType string). + :type modified_datetime_start: object + :param modified_datetime_end: The end of Azure Blob's modified datetime. Type: string (or + Expression with resultType string). + :type modified_datetime_end: object + :param format: The format of the Azure Blob storage. + :type format: ~azure.mgmt.datafactory.models.DatasetStorageFormat + :param compression: The data compression method used for the blob storage. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'}, + 'table_root_location': {'key': 'typeProperties.tableRootLocation', 'type': 'object'}, + 'file_name': {'key': 'typeProperties.fileName', 'type': 'object'}, + 'modified_datetime_start': {'key': 'typeProperties.modifiedDatetimeStart', 'type': 'object'}, + 'modified_datetime_end': {'key': 'typeProperties.modifiedDatetimeEnd', 'type': 'object'}, + 'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureBlobDataset, self).__init__(**kwargs) + self.type = 'AzureBlob' + self.folder_path = kwargs.get('folder_path', None) + self.table_root_location = kwargs.get('table_root_location', None) + self.file_name = kwargs.get('file_name', None) + self.modified_datetime_start = kwargs.get('modified_datetime_start', None) + self.modified_datetime_end = kwargs.get('modified_datetime_end', None) + self.format = kwargs.get('format', None) + self.compression = kwargs.get('compression', None) + + +class AzureBlobFsDataset(Dataset): + """The Azure Data Lake Storage Gen2 storage. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param folder_path: The path of the Azure Data Lake Storage Gen2 storage. Type: string (or + Expression with resultType string). + :type folder_path: object + :param file_name: The name of the Azure Data Lake Storage Gen2. Type: string (or Expression + with resultType string). + :type file_name: object + :param format: The format of the Azure Data Lake Storage Gen2 storage. + :type format: ~azure.mgmt.datafactory.models.DatasetStorageFormat + :param compression: The data compression method used for the blob storage. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'}, + 'file_name': {'key': 'typeProperties.fileName', 'type': 'object'}, + 'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureBlobFsDataset, self).__init__(**kwargs) + self.type = 'AzureBlobFSFile' + self.folder_path = kwargs.get('folder_path', None) + self.file_name = kwargs.get('file_name', None) + self.format = kwargs.get('format', None) + self.compression = kwargs.get('compression', None) + + +class AzureBlobFsLinkedService(LinkedService): + """Azure Data Lake Storage Gen2 linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. Endpoint for the Azure Data Lake Storage Gen2 service. Type: string (or + Expression with resultType string). + :type url: object + :param account_key: Account key for the Azure Data Lake Storage Gen2 service. Type: string (or + Expression with resultType string). + :type account_key: object + :param service_principal_id: The ID of the application used to authenticate against the Azure + Data Lake Storage Gen2 account. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The Key of the application used to authenticate against the Azure + Data Lake Storage Gen2 account. + :type service_principal_key: ~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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'account_key': {'key': 'typeProperties.accountKey', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureBlobFsLinkedService, self).__init__(**kwargs) + self.type = 'AzureBlobFS' + self.url = kwargs['url'] + self.account_key = kwargs.get('account_key', None) + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_key = kwargs.get('service_principal_key', None) + self.tenant = kwargs.get('tenant', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureBlobStorageLinkedService(LinkedService): + """The azure blob storage linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: The connection string. It is mutually exclusive with sasUri, + serviceEndpoint property. Type: string, SecureString or AzureKeyVaultSecretReference. + :type connection_string: object + :param account_key: The Azure key vault secret reference of accountKey in connection string. + :type account_key: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param sas_uri: SAS URI of the Azure Blob Storage resource. It is mutually exclusive with + connectionString, serviceEndpoint property. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type sas_uri: object + :param sas_token: The Azure key vault secret reference of sasToken in sas uri. + :type sas_token: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param service_endpoint: Blob service endpoint of the Azure Blob Storage resource. It is + mutually exclusive with connectionString, sasUri property. + :type service_endpoint: str + :param service_principal_id: The ID of the service principal used to authenticate against Azure + SQL Data Warehouse. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate against + Azure SQL Data Warehouse. + :type service_principal_key: ~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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'}, + 'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'}, + 'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'}, + 'service_endpoint': {'key': 'typeProperties.serviceEndpoint', 'type': 'str'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureBlobStorageLinkedService, self).__init__(**kwargs) + self.type = 'AzureBlobStorage' + self.connection_string = kwargs.get('connection_string', None) + self.account_key = kwargs.get('account_key', None) + self.sas_uri = kwargs.get('sas_uri', None) + self.sas_token = kwargs.get('sas_token', None) + self.service_endpoint = kwargs.get('service_endpoint', None) + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_key = kwargs.get('service_principal_key', None) + self.tenant = kwargs.get('tenant', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureDatabricksLinkedService(LinkedService): + """Azure Databricks linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param domain: Required. :code:``.azuredatabricks.net, domain name of your Databricks + deployment. Type: string (or Expression with resultType string). + :type domain: object + :param access_token: Required. Access token for databricks REST API. Refer to + https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string (or Expression + with resultType string). + :type access_token: ~azure.mgmt.datafactory.models.SecretBase + :param existing_cluster_id: The id of an existing interactive cluster that will be used for all + runs of this activity. Type: string (or Expression with resultType string). + :type existing_cluster_id: object + :param instance_pool_id: The id of an existing instance pool that will be used for all runs of + this activity. Type: string (or Expression with resultType string). + :type instance_pool_id: object + :param new_cluster_version: If not using an existing interactive cluster, this specifies the + Spark version of a new job cluster or instance pool nodes created for each run of this + activity. Required if instancePoolId is specified. Type: string (or Expression with resultType + string). + :type new_cluster_version: object + :param new_cluster_num_of_worker: If not using an existing interactive cluster, this specifies + the number of worker nodes to use for the new job cluster or instance pool. For new job + clusters, this a string-formatted Int32, like '1' means numOfWorker is 1 or '1:10' means auto- + scale from 1 (min) to 10 (max). For instance pools, this is a string-formatted Int32, and can + only specify a fixed number of worker nodes, such as '2'. Required if newClusterVersion is + specified. Type: string (or Expression with resultType string). + :type new_cluster_num_of_worker: object + :param new_cluster_node_type: The node type of the new job cluster. This property is required + if newClusterVersion is specified and instancePoolId is not specified. If instancePoolId is + specified, this property is ignored. Type: string (or Expression with resultType string). + :type new_cluster_node_type: object + :param new_cluster_spark_conf: A set of optional, user-specified Spark configuration key-value + pairs. + :type new_cluster_spark_conf: dict[str, object] + :param new_cluster_spark_env_vars: A set of optional, user-specified Spark environment + variables key-value pairs. + :type new_cluster_spark_env_vars: dict[str, object] + :param new_cluster_custom_tags: Additional tags for cluster resources. This property is ignored + in instance pool configurations. + :type new_cluster_custom_tags: dict[str, object] + :param new_cluster_driver_node_type: The driver node type for the new job cluster. This + property is ignored in instance pool configurations. Type: string (or Expression with + resultType string). + :type new_cluster_driver_node_type: object + :param new_cluster_init_scripts: User-defined initialization scripts for the new cluster. Type: + array of strings (or Expression with resultType array of strings). + :type new_cluster_init_scripts: object + :param new_cluster_enable_elastic_disk: Enable the elastic disk on the new cluster. This + property is now ignored, and takes the default elastic disk behavior in Databricks (elastic + disks are always enabled). Type: boolean (or Expression with resultType boolean). + :type new_cluster_enable_elastic_disk: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'domain': {'required': True}, + 'access_token': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'domain': {'key': 'typeProperties.domain', 'type': 'object'}, + 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'existing_cluster_id': {'key': 'typeProperties.existingClusterId', 'type': 'object'}, + 'instance_pool_id': {'key': 'typeProperties.instancePoolId', 'type': 'object'}, + 'new_cluster_version': {'key': 'typeProperties.newClusterVersion', 'type': 'object'}, + 'new_cluster_num_of_worker': {'key': 'typeProperties.newClusterNumOfWorker', 'type': 'object'}, + 'new_cluster_node_type': {'key': 'typeProperties.newClusterNodeType', 'type': 'object'}, + 'new_cluster_spark_conf': {'key': 'typeProperties.newClusterSparkConf', 'type': '{object}'}, + 'new_cluster_spark_env_vars': {'key': 'typeProperties.newClusterSparkEnvVars', 'type': '{object}'}, + 'new_cluster_custom_tags': {'key': 'typeProperties.newClusterCustomTags', 'type': '{object}'}, + 'new_cluster_driver_node_type': {'key': 'typeProperties.newClusterDriverNodeType', 'type': 'object'}, + 'new_cluster_init_scripts': {'key': 'typeProperties.newClusterInitScripts', 'type': 'object'}, + 'new_cluster_enable_elastic_disk': {'key': 'typeProperties.newClusterEnableElasticDisk', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureDatabricksLinkedService, self).__init__(**kwargs) + self.type = 'AzureDatabricks' + self.domain = kwargs['domain'] + self.access_token = kwargs['access_token'] + self.existing_cluster_id = kwargs.get('existing_cluster_id', None) + self.instance_pool_id = kwargs.get('instance_pool_id', None) + self.new_cluster_version = kwargs.get('new_cluster_version', None) + self.new_cluster_num_of_worker = kwargs.get('new_cluster_num_of_worker', None) + self.new_cluster_node_type = kwargs.get('new_cluster_node_type', None) + self.new_cluster_spark_conf = kwargs.get('new_cluster_spark_conf', None) + self.new_cluster_spark_env_vars = kwargs.get('new_cluster_spark_env_vars', None) + self.new_cluster_custom_tags = kwargs.get('new_cluster_custom_tags', None) + self.new_cluster_driver_node_type = kwargs.get('new_cluster_driver_node_type', None) + self.new_cluster_init_scripts = kwargs.get('new_cluster_init_scripts', None) + self.new_cluster_enable_elastic_disk = kwargs.get('new_cluster_enable_elastic_disk', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class ExecutionActivity(Activity): + """Base class for all execution activities. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AzureDataExplorerCommandActivity, AzureFunctionActivity, AzureMlBatchExecutionActivity, AzureMlExecutePipelineActivity, AzureMlUpdateResourceActivity, CopyActivity, CustomActivity, DataLakeAnalyticsUsqlActivity, DatabricksNotebookActivity, DatabricksSparkJarActivity, DatabricksSparkPythonActivity, DeleteActivity, ExecuteDataFlowActivity, ExecuteSsisPackageActivity, GetMetadataActivity, HdInsightHiveActivity, HdInsightMapReduceActivity, HdInsightPigActivity, HdInsightSparkActivity, HdInsightStreamingActivity, LookupActivity, SqlServerStoredProcedureActivity, WebActivity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + } + + _subtype_map = { + 'type': {'AzureDataExplorerCommand': 'AzureDataExplorerCommandActivity', 'AzureFunctionActivity': 'AzureFunctionActivity', 'AzureMLBatchExecution': 'AzureMlBatchExecutionActivity', 'AzureMLExecutePipeline': 'AzureMlExecutePipelineActivity', 'AzureMLUpdateResource': 'AzureMlUpdateResourceActivity', 'Copy': 'CopyActivity', 'Custom': 'CustomActivity', 'DataLakeAnalyticsU-SQL': 'DataLakeAnalyticsUsqlActivity', 'DatabricksNotebook': 'DatabricksNotebookActivity', 'DatabricksSparkJar': 'DatabricksSparkJarActivity', 'DatabricksSparkPython': 'DatabricksSparkPythonActivity', 'Delete': 'DeleteActivity', 'ExecuteDataFlow': 'ExecuteDataFlowActivity', 'ExecuteSSISPackage': 'ExecuteSsisPackageActivity', 'GetMetadata': 'GetMetadataActivity', 'HDInsightHive': 'HdInsightHiveActivity', 'HDInsightMapReduce': 'HdInsightMapReduceActivity', 'HDInsightPig': 'HdInsightPigActivity', 'HDInsightSpark': 'HdInsightSparkActivity', 'HDInsightStreaming': 'HdInsightStreamingActivity', 'Lookup': 'LookupActivity', 'SqlServerStoredProcedure': 'SqlServerStoredProcedureActivity', 'WebActivity': 'WebActivity'} + } + + def __init__( + self, + **kwargs + ): + super(ExecutionActivity, self).__init__(**kwargs) + self.type = 'Execution' + self.linked_service_name = kwargs.get('linked_service_name', None) + self.policy = kwargs.get('policy', None) + + +class AzureDataExplorerCommandActivity(ExecutionActivity): + """Azure Data Explorer command activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param command: Required. A control command, according to the Azure Data Explorer command + syntax. Type: string (or Expression with resultType string). + :type command: object + :param command_timeout: Control command timeout. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..). + :type command_timeout: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'command': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'command': {'key': 'typeProperties.command', 'type': 'object'}, + 'command_timeout': {'key': 'typeProperties.commandTimeout', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureDataExplorerCommandActivity, self).__init__(**kwargs) + self.type = 'AzureDataExplorerCommand' + self.command = kwargs['command'] + self.command_timeout = kwargs.get('command_timeout', None) + + +class AzureDataExplorerLinkedService(LinkedService): + """Azure Data Explorer (Kusto) linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of Azure Data Explorer (the engine's endpoint). URL + will be in the format https://:code:``.:code:``.kusto.windows.net. + Type: string (or Expression with resultType string). + :type endpoint: object + :param service_principal_id: Required. The ID of the service principal used to authenticate + against Azure Data Explorer. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: Required. The key of the service principal used to authenticate + against Kusto. + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :param database: Required. Database name for connection. Type: string (or Expression with + resultType string). + :type database: object + :param tenant: Required. The name or ID of the tenant to which the service principal belongs. + Type: string (or Expression with resultType string). + :type tenant: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + 'service_principal_id': {'required': True}, + 'service_principal_key': {'required': True}, + 'database': {'required': True}, + 'tenant': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureDataExplorerLinkedService, self).__init__(**kwargs) + self.type = 'AzureDataExplorer' + self.endpoint = kwargs['endpoint'] + self.service_principal_id = kwargs['service_principal_id'] + self.service_principal_key = kwargs['service_principal_key'] + self.database = kwargs['database'] + self.tenant = kwargs['tenant'] + + +class AzureDataExplorerTableDataset(Dataset): + """The Azure Data Explorer (Kusto) dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table: The table name of the Azure Data Explorer database. Type: string (or Expression + with resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureDataExplorerTableDataset, self).__init__(**kwargs) + self.type = 'AzureDataExplorerTable' + self.table = kwargs.get('table', None) + + +class AzureDataLakeAnalyticsLinkedService(LinkedService): + """Azure Data Lake Analytics linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param account_name: Required. The Azure Data Lake Analytics account name. Type: string (or + Expression with resultType string). + :type account_name: object + :param service_principal_id: The ID of the application used to authenticate against the Azure + Data Lake Analytics account. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The Key of the application used to authenticate against the Azure + Data Lake Analytics account. + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :param tenant: Required. The name or ID of the tenant to which the service principal belongs. + Type: string (or Expression with resultType string). + :type tenant: object + :param subscription_id: Data Lake Analytics account subscription ID (if different from Data + Factory account). Type: string (or Expression with resultType string). + :type subscription_id: object + :param resource_group_name: Data Lake Analytics account resource group name (if different from + Data Factory account). Type: string (or Expression with resultType string). + :type resource_group_name: object + :param data_lake_analytics_uri: Azure Data Lake Analytics URI Type: string (or Expression with + resultType string). + :type data_lake_analytics_uri: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'account_name': {'required': True}, + 'tenant': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'account_name': {'key': 'typeProperties.accountName', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'subscription_id': {'key': 'typeProperties.subscriptionId', 'type': 'object'}, + 'resource_group_name': {'key': 'typeProperties.resourceGroupName', 'type': 'object'}, + 'data_lake_analytics_uri': {'key': 'typeProperties.dataLakeAnalyticsUri', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureDataLakeAnalyticsLinkedService, self).__init__(**kwargs) + self.type = 'AzureDataLakeAnalytics' + self.account_name = kwargs['account_name'] + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_key = kwargs.get('service_principal_key', None) + self.tenant = kwargs['tenant'] + self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group_name = kwargs.get('resource_group_name', None) + self.data_lake_analytics_uri = kwargs.get('data_lake_analytics_uri', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureDataLakeStoreDataset(Dataset): + """Azure Data Lake Store dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param folder_path: Path to the folder in the Azure Data Lake Store. Type: string (or + Expression with resultType string). + :type folder_path: object + :param file_name: The name of the file in the Azure Data Lake Store. Type: string (or + Expression with resultType string). + :type file_name: object + :param format: The format of the Data Lake Store. + :type format: ~azure.mgmt.datafactory.models.DatasetStorageFormat + :param compression: The data compression method used for the item(s) in the Azure Data Lake + Store. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'}, + 'file_name': {'key': 'typeProperties.fileName', 'type': 'object'}, + 'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureDataLakeStoreDataset, self).__init__(**kwargs) + self.type = 'AzureDataLakeStoreFile' + self.folder_path = kwargs.get('folder_path', None) + self.file_name = kwargs.get('file_name', None) + self.format = kwargs.get('format', None) + self.compression = kwargs.get('compression', None) + + +class AzureDataLakeStoreLinkedService(LinkedService): + """Azure Data Lake Store linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param data_lake_store_uri: Required. Data Lake Store service URI. Type: string (or Expression + with resultType string). + :type data_lake_store_uri: object + :param service_principal_id: The ID of the application used to authenticate against the Azure + Data Lake Store account. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The Key of the application used to authenticate against the Azure + Data Lake Store account. + :type service_principal_key: ~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 account_name: Data Lake Store account name. Type: string (or Expression with resultType + string). + :type account_name: object + :param subscription_id: Data Lake Store account subscription ID (if different from Data Factory + account). Type: string (or Expression with resultType string). + :type subscription_id: object + :param resource_group_name: Data Lake Store account resource group name (if different from Data + Factory account). Type: string (or Expression with resultType string). + :type resource_group_name: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'data_lake_store_uri': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'data_lake_store_uri': {'key': 'typeProperties.dataLakeStoreUri', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'account_name': {'key': 'typeProperties.accountName', 'type': 'object'}, + 'subscription_id': {'key': 'typeProperties.subscriptionId', 'type': 'object'}, + 'resource_group_name': {'key': 'typeProperties.resourceGroupName', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureDataLakeStoreLinkedService, self).__init__(**kwargs) + self.type = 'AzureDataLakeStore' + self.data_lake_store_uri = kwargs['data_lake_store_uri'] + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_key = kwargs.get('service_principal_key', None) + self.tenant = kwargs.get('tenant', None) + self.account_name = kwargs.get('account_name', None) + self.subscription_id = kwargs.get('subscription_id', None) + self.resource_group_name = kwargs.get('resource_group_name', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureFileStorageLinkedService(LinkedService): + """Azure File Storage linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Host name of the server. Type: string (or Expression with resultType string). + :type host: object + :param user_id: User ID to logon the server. Type: string (or Expression with resultType + string). + :type user_id: object + :param password: Password to logon the server. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param connection_string: The connection string. It is mutually exclusive with sasUri property. + Type: string, SecureString or AzureKeyVaultSecretReference. + :type connection_string: object + :param account_key: The Azure key vault secret reference of accountKey in connection string. + :type account_key: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param sas_uri: SAS URI of the Azure File resource. It is mutually exclusive with + connectionString property. Type: string, SecureString or AzureKeyVaultSecretReference. + :type sas_uri: object + :param sas_token: The Azure key vault secret reference of sasToken in sas uri. + :type sas_token: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param file_share: The azure file share name. It is required when auth with + accountKey/sasToken. Type: string (or Expression with resultType string). + :type file_share: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'user_id': {'key': 'typeProperties.userId', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'}, + 'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'}, + 'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'}, + 'file_share': {'key': 'typeProperties.fileShare', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureFileStorageLinkedService, self).__init__(**kwargs) + self.type = 'AzureFileStorage' + self.host = kwargs.get('host', None) + self.user_id = kwargs.get('user_id', None) + self.password = kwargs.get('password', None) + self.connection_string = kwargs.get('connection_string', None) + self.account_key = kwargs.get('account_key', None) + self.sas_uri = kwargs.get('sas_uri', None) + self.sas_token = kwargs.get('sas_token', None) + self.file_share = kwargs.get('file_share', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureFunctionActivity(ExecutionActivity): + """Azure Function activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param method: Required. Rest API method for target endpoint. Possible values include: "GET", + "POST", "PUT", "DELETE", "OPTIONS", "HEAD", "TRACE". + :type method: str or ~azure.mgmt.datafactory.models.AzureFunctionActivityMethod + :param function_name: Required. Name of the Function that the Azure Function Activity will + call. Type: string (or Expression with resultType string). + :type function_name: object + :param headers: Represents the headers that will be sent to the request. For example, to set + the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type": + "application/json" }. Type: string (or Expression with resultType string). + :type headers: object + :param body: Represents the payload that will be sent to the endpoint. Required for POST/PUT + method, not allowed for GET method Type: string (or Expression with resultType string). + :type body: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'method': {'required': True}, + 'function_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'method': {'key': 'typeProperties.method', 'type': 'str'}, + 'function_name': {'key': 'typeProperties.functionName', 'type': 'object'}, + 'headers': {'key': 'typeProperties.headers', 'type': 'object'}, + 'body': {'key': 'typeProperties.body', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureFunctionActivity, self).__init__(**kwargs) + self.type = 'AzureFunctionActivity' + self.method = kwargs['method'] + self.function_name = kwargs['function_name'] + self.headers = kwargs.get('headers', None) + self.body = kwargs.get('body', None) + + +class AzureFunctionLinkedService(LinkedService): + """Azure Function linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param function_app_url: Required. The endpoint of the Azure Function App. URL will be in the + format https://:code:``.azurewebsites.net. + :type function_app_url: object + :param function_key: Function or Host key for Azure Function App. + :type function_key: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'function_app_url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'function_app_url': {'key': 'typeProperties.functionAppUrl', 'type': 'object'}, + 'function_key': {'key': 'typeProperties.functionKey', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureFunctionLinkedService, self).__init__(**kwargs) + self.type = 'AzureFunction' + self.function_app_url = kwargs['function_app_url'] + self.function_key = kwargs.get('function_key', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureKeyVaultLinkedService(LinkedService): + """Azure Key Vault linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param base_url: Required. The base URL of the Azure Key Vault. e.g. + https://myakv.vault.azure.net Type: string (or Expression with resultType string). + :type base_url: object + """ + + _validation = { + 'type': {'required': True}, + 'base_url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'base_url': {'key': 'typeProperties.baseUrl', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureKeyVaultLinkedService, self).__init__(**kwargs) + self.type = 'AzureKeyVault' + self.base_url = kwargs['base_url'] + + +class SecretBase(msrest.serialization.Model): + """The base definition of a secret type. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AzureKeyVaultSecretReference, SecureString. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the secret.Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'AzureKeyVaultSecret': 'AzureKeyVaultSecretReference', 'SecureString': 'SecureString'} + } + + def __init__( + self, + **kwargs + ): + super(SecretBase, self).__init__(**kwargs) + self.type = None + + +class AzureKeyVaultSecretReference(SecretBase): + """Azure Key Vault secret reference. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the secret.Constant filled by server. + :type type: str + :param store: Required. The Azure Key Vault linked service reference. + :type store: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param secret_name: Required. The name of the secret in Azure Key Vault. Type: string (or + Expression with resultType string). + :type secret_name: object + :param secret_version: The version of the secret in Azure Key Vault. The default value is the + latest version of the secret. Type: string (or Expression with resultType string). + :type secret_version: object + """ + + _validation = { + 'type': {'required': True}, + 'store': {'required': True}, + 'secret_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'store': {'key': 'store', 'type': 'LinkedServiceReference'}, + 'secret_name': {'key': 'secretName', 'type': 'object'}, + 'secret_version': {'key': 'secretVersion', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureKeyVaultSecretReference, self).__init__(**kwargs) + self.type = 'AzureKeyVaultSecret' + self.store = kwargs['store'] + self.secret_name = kwargs['secret_name'] + self.secret_version = kwargs.get('secret_version', None) + + +class AzureMariaDBLinkedService(LinkedService): + """Azure Database for MariaDB linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param pwd: The Azure key vault secret reference of password in connection string. + :type pwd: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureMariaDBLinkedService, self).__init__(**kwargs) + self.type = 'AzureMariaDB' + self.connection_string = kwargs.get('connection_string', None) + self.pwd = kwargs.get('pwd', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureMariaDBTableDataset(Dataset): + """Azure Database for MariaDB dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureMariaDBTableDataset, self).__init__(**kwargs) + self.type = 'AzureMariaDBTable' + self.table_name = kwargs.get('table_name', None) + + +class AzureMlBatchExecutionActivity(ExecutionActivity): + """Azure ML Batch Execution activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param global_parameters: Key,Value pairs to be passed to the Azure ML Batch Execution Service + endpoint. Keys must match the names of web service parameters defined in the published Azure ML + web service. Values will be passed in the GlobalParameters property of the Azure ML batch + execution request. + :type global_parameters: dict[str, object] + :param web_service_outputs: Key,Value pairs, mapping the names of Azure ML endpoint's Web + Service Outputs to AzureMLWebServiceFile objects specifying the output Blob locations. This + information will be passed in the WebServiceOutputs property of the Azure ML batch execution + request. + :type web_service_outputs: dict[str, ~azure.mgmt.datafactory.models.AzureMlWebServiceFile] + :param web_service_inputs: Key,Value pairs, mapping the names of Azure ML endpoint's Web + Service Inputs to AzureMLWebServiceFile objects specifying the input Blob locations.. This + information will be passed in the WebServiceInputs property of the Azure ML batch execution + request. + :type web_service_inputs: dict[str, ~azure.mgmt.datafactory.models.AzureMlWebServiceFile] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'global_parameters': {'key': 'typeProperties.globalParameters', 'type': '{object}'}, + 'web_service_outputs': {'key': 'typeProperties.webServiceOutputs', 'type': '{AzureMlWebServiceFile}'}, + 'web_service_inputs': {'key': 'typeProperties.webServiceInputs', 'type': '{AzureMlWebServiceFile}'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureMlBatchExecutionActivity, self).__init__(**kwargs) + self.type = 'AzureMLBatchExecution' + self.global_parameters = kwargs.get('global_parameters', None) + self.web_service_outputs = kwargs.get('web_service_outputs', None) + self.web_service_inputs = kwargs.get('web_service_inputs', None) + + +class AzureMlExecutePipelineActivity(ExecutionActivity): + """Azure ML Execute Pipeline activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param ml_pipeline_id: Required. ID of the published Azure ML pipeline. Type: string (or + Expression with resultType string). + :type ml_pipeline_id: object + :param experiment_name: Run history experiment name of the pipeline run. This information will + be passed in the ExperimentName property of the published pipeline execution request. Type: + string (or Expression with resultType string). + :type experiment_name: object + :param ml_pipeline_parameters: Key,Value pairs to be passed to the published Azure ML pipeline + endpoint. Keys must match the names of pipeline parameters defined in the published pipeline. + Values will be passed in the ParameterAssignments property of the published pipeline execution + request. Type: object with key value pairs (or Expression with resultType object). + :type ml_pipeline_parameters: object + :param ml_parent_run_id: The parent Azure ML Service pipeline run id. This information will be + passed in the ParentRunId property of the published pipeline execution request. Type: string + (or Expression with resultType string). + :type ml_parent_run_id: object + :param continue_on_step_failure: Whether to continue execution of other steps in the + PipelineRun if a step fails. This information will be passed in the continueOnStepFailure + property of the published pipeline execution request. Type: boolean (or Expression with + resultType boolean). + :type continue_on_step_failure: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'ml_pipeline_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'ml_pipeline_id': {'key': 'typeProperties.mlPipelineId', 'type': 'object'}, + 'experiment_name': {'key': 'typeProperties.experimentName', 'type': 'object'}, + 'ml_pipeline_parameters': {'key': 'typeProperties.mlPipelineParameters', 'type': 'object'}, + 'ml_parent_run_id': {'key': 'typeProperties.mlParentRunId', 'type': 'object'}, + 'continue_on_step_failure': {'key': 'typeProperties.continueOnStepFailure', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureMlExecutePipelineActivity, self).__init__(**kwargs) + self.type = 'AzureMLExecutePipeline' + self.ml_pipeline_id = kwargs['ml_pipeline_id'] + self.experiment_name = kwargs.get('experiment_name', None) + self.ml_pipeline_parameters = kwargs.get('ml_pipeline_parameters', None) + self.ml_parent_run_id = kwargs.get('ml_parent_run_id', None) + self.continue_on_step_failure = kwargs.get('continue_on_step_failure', None) + + +class AzureMlLinkedService(LinkedService): + """Azure ML Studio Web Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param ml_endpoint: Required. The Batch Execution REST URL for an Azure ML Studio Web Service + endpoint. Type: string (or Expression with resultType string). + :type ml_endpoint: object + :param api_key: Required. The API key for accessing the Azure ML model endpoint. + :type api_key: ~azure.mgmt.datafactory.models.SecretBase + :param update_resource_endpoint: The Update Resource REST URL for an Azure ML Studio Web + Service endpoint. Type: string (or Expression with resultType string). + :type update_resource_endpoint: object + :param service_principal_id: The ID of the service principal used to authenticate against the + ARM-based updateResourceEndpoint of an Azure ML Studio web service. Type: string (or Expression + with resultType string). + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate against the + ARM-based updateResourceEndpoint of an Azure ML Studio web service. + :type service_principal_key: ~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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'ml_endpoint': {'required': True}, + 'api_key': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'ml_endpoint': {'key': 'typeProperties.mlEndpoint', 'type': 'object'}, + 'api_key': {'key': 'typeProperties.apiKey', 'type': 'SecretBase'}, + 'update_resource_endpoint': {'key': 'typeProperties.updateResourceEndpoint', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureMlLinkedService, self).__init__(**kwargs) + self.type = 'AzureML' + self.ml_endpoint = kwargs['ml_endpoint'] + self.api_key = kwargs['api_key'] + self.update_resource_endpoint = kwargs.get('update_resource_endpoint', None) + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_key = kwargs.get('service_principal_key', None) + self.tenant = kwargs.get('tenant', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureMlServiceLinkedService(LinkedService): + """Azure ML Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param subscription_id: Required. Azure ML Service workspace subscription ID. Type: string (or + Expression with resultType string). + :type subscription_id: object + :param resource_group_name: Required. Azure ML Service workspace resource group name. Type: + string (or Expression with resultType string). + :type resource_group_name: object + :param ml_workspace_name: Required. Azure ML Service workspace name. Type: string (or + Expression with resultType string). + :type ml_workspace_name: object + :param service_principal_id: The ID of the service principal used to authenticate against the + endpoint of a published Azure ML Service pipeline. Type: string (or Expression with resultType + string). + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate against the + endpoint of a published Azure ML Service pipeline. + :type service_principal_key: ~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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'subscription_id': {'required': True}, + 'resource_group_name': {'required': True}, + 'ml_workspace_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'subscription_id': {'key': 'typeProperties.subscriptionId', 'type': 'object'}, + 'resource_group_name': {'key': 'typeProperties.resourceGroupName', 'type': 'object'}, + 'ml_workspace_name': {'key': 'typeProperties.mlWorkspaceName', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureMlServiceLinkedService, self).__init__(**kwargs) + self.type = 'AzureMLService' + self.subscription_id = kwargs['subscription_id'] + self.resource_group_name = kwargs['resource_group_name'] + self.ml_workspace_name = kwargs['ml_workspace_name'] + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_key = kwargs.get('service_principal_key', None) + self.tenant = kwargs.get('tenant', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureMlUpdateResourceActivity(ExecutionActivity): + """Azure ML Update Resource management activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param trained_model_name: Required. Name of the Trained Model module in the Web Service + experiment to be updated. Type: string (or Expression with resultType string). + :type trained_model_name: object + :param trained_model_linked_service_name: Required. Name of Azure Storage linked service + holding the .ilearner file that will be uploaded by the update operation. + :type trained_model_linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param trained_model_file_path: Required. The relative file path in trainedModelLinkedService + to represent the .ilearner file that will be uploaded by the update operation. Type: string + (or Expression with resultType string). + :type trained_model_file_path: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'trained_model_name': {'required': True}, + 'trained_model_linked_service_name': {'required': True}, + 'trained_model_file_path': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'trained_model_name': {'key': 'typeProperties.trainedModelName', 'type': 'object'}, + 'trained_model_linked_service_name': {'key': 'typeProperties.trainedModelLinkedServiceName', 'type': 'LinkedServiceReference'}, + 'trained_model_file_path': {'key': 'typeProperties.trainedModelFilePath', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureMlUpdateResourceActivity, self).__init__(**kwargs) + self.type = 'AzureMLUpdateResource' + self.trained_model_name = kwargs['trained_model_name'] + self.trained_model_linked_service_name = kwargs['trained_model_linked_service_name'] + self.trained_model_file_path = kwargs['trained_model_file_path'] + + +class AzureMlWebServiceFile(msrest.serialization.Model): + """Azure ML WebService Input/Output file. + + All required parameters must be populated in order to send to Azure. + + :param file_path: Required. The relative file path, including container name, in the Azure Blob + Storage specified by the LinkedService. Type: string (or Expression with resultType string). + :type file_path: object + :param linked_service_name: Required. Reference to an Azure Storage LinkedService, where Azure + ML WebService Input/Output file located. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + """ + + _validation = { + 'file_path': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'file_path': {'key': 'filePath', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureMlWebServiceFile, self).__init__(**kwargs) + self.file_path = kwargs['file_path'] + self.linked_service_name = kwargs['linked_service_name'] + + +class AzureMySqlLinkedService(LinkedService): + """Azure MySQL database linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureMySqlLinkedService, self).__init__(**kwargs) + self.type = 'AzureMySql' + self.connection_string = kwargs['connection_string'] + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureMySqlTableDataset(Dataset): + """The Azure MySQL database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The Azure MySQL database table name. Type: string (or Expression with + resultType string). + :type table_name: object + :param table: The name of Azure MySQL database table. Type: string (or Expression with + resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureMySqlTableDataset, self).__init__(**kwargs) + self.type = 'AzureMySqlTable' + self.table_name = kwargs.get('table_name', None) + self.table = kwargs.get('table', None) + + +class AzurePostgreSqlLinkedService(LinkedService): + """Azure PostgreSQL linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzurePostgreSqlLinkedService, self).__init__(**kwargs) + self.type = 'AzurePostgreSql' + self.connection_string = kwargs.get('connection_string', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzurePostgreSqlTableDataset(Dataset): + """Azure PostgreSQL dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name of the Azure PostgreSQL database which includes both schema + and table. Type: string (or Expression with resultType string). + :type table_name: object + :param table: The table name of the Azure PostgreSQL database. Type: string (or Expression with + resultType string). + :type table: object + :param schema_type_properties_schema: The schema name of the Azure PostgreSQL database. Type: + string (or Expression with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzurePostgreSqlTableDataset, self).__init__(**kwargs) + self.type = 'AzurePostgreSqlTable' + self.table_name = kwargs.get('table_name', None) + self.table = kwargs.get('table', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + + +class AzureSearchIndexDataset(Dataset): + """The Azure Search Index. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param index_name: Required. The name of the Azure Search Index. Type: string (or Expression + with resultType string). + :type index_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'index_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'index_name': {'key': 'typeProperties.indexName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureSearchIndexDataset, self).__init__(**kwargs) + self.type = 'AzureSearchIndex' + self.index_name = kwargs['index_name'] + + +class AzureSearchLinkedService(LinkedService): + """Linked service for Windows Azure Search Service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. URL for Azure Search service. Type: string (or Expression with resultType + string). + :type url: object + :param key: Admin Key for Azure Search service. + :type key: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'key': {'key': 'typeProperties.key', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureSearchLinkedService, self).__init__(**kwargs) + self.type = 'AzureSearch' + self.url = kwargs['url'] + self.key = kwargs.get('key', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureSqlDatabaseLinkedService(LinkedService): + """Microsoft Azure SQL Database linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param service_principal_id: The ID of the service principal used to authenticate against Azure + SQL Database. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate against + Azure SQL Database. + :type service_principal_key: ~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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureSqlDatabaseLinkedService, self).__init__(**kwargs) + self.type = 'AzureSqlDatabase' + self.connection_string = kwargs['connection_string'] + self.password = kwargs.get('password', None) + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_key = kwargs.get('service_principal_key', None) + self.tenant = kwargs.get('tenant', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureSqlDwLinkedService(LinkedService): + """Azure SQL Data Warehouse linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param service_principal_id: The ID of the service principal used to authenticate against Azure + SQL Data Warehouse. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate against + Azure SQL Data Warehouse. + :type service_principal_key: ~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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureSqlDwLinkedService, self).__init__(**kwargs) + self.type = 'AzureSqlDW' + self.connection_string = kwargs['connection_string'] + self.password = kwargs.get('password', None) + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_key = kwargs.get('service_principal_key', None) + self.tenant = kwargs.get('tenant', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureSqlDwTableDataset(Dataset): + """The Azure SQL Data Warehouse dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param schema_type_properties_schema: The schema name of the Azure SQL Data Warehouse. Type: + string (or Expression with resultType string). + :type schema_type_properties_schema: object + :param table: The table name of the Azure SQL Data Warehouse. Type: string (or Expression with + resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureSqlDwTableDataset, self).__init__(**kwargs) + self.type = 'AzureSqlDWTable' + self.table_name = kwargs.get('table_name', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + self.table = kwargs.get('table', None) + + +class AzureSqlMiLinkedService(LinkedService): + """Azure SQL Managed Instance linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param service_principal_id: The ID of the service principal used to authenticate against Azure + SQL Managed Instance. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate against + Azure SQL Managed Instance. + :type service_principal_key: ~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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureSqlMiLinkedService, self).__init__(**kwargs) + self.type = 'AzureSqlMI' + self.connection_string = kwargs['connection_string'] + self.password = kwargs.get('password', None) + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_key = kwargs.get('service_principal_key', None) + self.tenant = kwargs.get('tenant', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureSqlMiTableDataset(Dataset): + """The Azure SQL Managed Instance dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param schema_type_properties_schema: The schema name of the Azure SQL Managed Instance. Type: + string (or Expression with resultType string). + :type schema_type_properties_schema: object + :param table: The table name of the Azure SQL Managed Instance dataset. Type: string (or + Expression with resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureSqlMiTableDataset, self).__init__(**kwargs) + self.type = 'AzureSqlMITable' + self.table_name = kwargs.get('table_name', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + self.table = kwargs.get('table', None) + + +class AzureSqlTableDataset(Dataset): + """The Azure SQL Server database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param schema_type_properties_schema: The schema name of the Azure SQL database. Type: string + (or Expression with resultType string). + :type schema_type_properties_schema: object + :param table: The table name of the Azure SQL database. Type: string (or Expression with + resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureSqlTableDataset, self).__init__(**kwargs) + self.type = 'AzureSqlTable' + self.table_name = kwargs.get('table_name', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + self.table = kwargs.get('table', None) + + +class AzureStorageLinkedService(LinkedService): + """The storage account linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: The connection string. It is mutually exclusive with sasUri property. + Type: string, SecureString or AzureKeyVaultSecretReference. + :type connection_string: object + :param account_key: The Azure key vault secret reference of accountKey in connection string. + :type account_key: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param sas_uri: SAS URI of the Azure Storage resource. It is mutually exclusive with + connectionString property. Type: string, SecureString or AzureKeyVaultSecretReference. + :type sas_uri: object + :param sas_token: The Azure key vault secret reference of sasToken in sas uri. + :type sas_token: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'}, + 'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'}, + 'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureStorageLinkedService, self).__init__(**kwargs) + self.type = 'AzureStorage' + self.connection_string = kwargs.get('connection_string', None) + self.account_key = kwargs.get('account_key', None) + self.sas_uri = kwargs.get('sas_uri', None) + self.sas_token = kwargs.get('sas_token', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureTableDataset(Dataset): + """The Azure Table storage dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: Required. The table name of the Azure Table storage. Type: string (or + Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'table_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureTableDataset, self).__init__(**kwargs) + self.type = 'AzureTable' + self.table_name = kwargs['table_name'] + + +class AzureTableStorageLinkedService(LinkedService): + """The azure table storage linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: The connection string. It is mutually exclusive with sasUri property. + Type: string, SecureString or AzureKeyVaultSecretReference. + :type connection_string: object + :param account_key: The Azure key vault secret reference of accountKey in connection string. + :type account_key: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param sas_uri: SAS URI of the Azure Storage resource. It is mutually exclusive with + connectionString property. Type: string, SecureString or AzureKeyVaultSecretReference. + :type sas_uri: object + :param sas_token: The Azure key vault secret reference of sasToken in sas uri. + :type sas_token: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'}, + 'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'}, + 'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureTableStorageLinkedService, self).__init__(**kwargs) + self.type = 'AzureTableStorage' + self.connection_string = kwargs.get('connection_string', None) + self.account_key = kwargs.get('account_key', None) + self.sas_uri = kwargs.get('sas_uri', None) + self.sas_token = kwargs.get('sas_token', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class BinaryDataset(Dataset): + """Binary dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param location: The location of the Binary storage. + :type location: ~azure.mgmt.datafactory.models.DatasetLocation + :param compression: The data compression method used for the binary dataset. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + **kwargs + ): + super(BinaryDataset, self).__init__(**kwargs) + self.type = 'Binary' + self.location = kwargs.get('location', None) + self.compression = kwargs.get('compression', None) + + +class CassandraLinkedService(LinkedService): + """Linked service for Cassandra data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. Host name for connection. Type: string (or Expression with resultType + string). + :type host: object + :param authentication_type: AuthenticationType to be used for connection. Type: string (or + Expression with resultType string). + :type authentication_type: object + :param port: The port for the connection. Type: integer (or Expression with resultType + integer). + :type port: object + :param username: Username for authentication. Type: string (or Expression with resultType + string). + :type username: object + :param password: Password for authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(CassandraLinkedService, self).__init__(**kwargs) + self.type = 'Cassandra' + self.host = kwargs['host'] + self.authentication_type = kwargs.get('authentication_type', None) + self.port = kwargs.get('port', None) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class CassandraTableDataset(Dataset): + """The Cassandra database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name of the Cassandra database. Type: string (or Expression with + resultType string). + :type table_name: object + :param keyspace: The keyspace of the Cassandra database. Type: string (or Expression with + resultType string). + :type keyspace: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'keyspace': {'key': 'typeProperties.keyspace', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(CassandraTableDataset, self).__init__(**kwargs) + self.type = 'CassandraTable' + self.table_name = kwargs.get('table_name', None) + self.keyspace = kwargs.get('keyspace', None) + + +class CloudError(msrest.serialization.Model): + """The object that defines the structure of an Azure Data Factory error response. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. Error code. + :type code: str + :param message: Required. Error message. + :type message: str + :param target: Property name/path in request associated with error. + :type target: str + :param details: Array with additional error details. + :type details: list[~azure.mgmt.datafactory.models.CloudError] + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'error.code', 'type': 'str'}, + 'message': {'key': 'error.message', 'type': 'str'}, + 'target': {'key': 'error.target', 'type': 'str'}, + 'details': {'key': 'error.details', 'type': '[CloudError]'}, + } + + def __init__( + self, + **kwargs + ): + super(CloudError, self).__init__(**kwargs) + self.code = kwargs['code'] + self.message = kwargs['message'] + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + + +class CommonDataServiceForAppsEntityDataset(Dataset): + """The Common Data Service for Apps entity dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param entity_name: The logical name of the entity. Type: string (or Expression with resultType + string). + :type entity_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'entity_name': {'key': 'typeProperties.entityName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(CommonDataServiceForAppsEntityDataset, self).__init__(**kwargs) + self.type = 'CommonDataServiceForAppsEntity' + self.entity_name = kwargs.get('entity_name', None) + + +class CommonDataServiceForAppsLinkedService(LinkedService): + """Common Data Service for Apps linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param deployment_type: Required. The deployment type of the Common Data Service for Apps + instance. 'Online' for Common Data Service for Apps Online and 'OnPremisesWithIfd' for Common + Data Service for Apps on-premises with Ifd. Type: string (or Expression with resultType + string). Possible values include: "Online", "OnPremisesWithIfd". + :type deployment_type: str or ~azure.mgmt.datafactory.models.DynamicsDeploymentType + :param host_name: The host name of the on-premises Common Data Service for Apps server. The + property is required for on-prem and not allowed for online. Type: string (or Expression with + resultType string). + :type host_name: object + :param port: The port of on-premises Common Data Service for Apps server. The property is + required for on-prem and not allowed for online. Default is 443. Type: integer (or Expression + with resultType integer), minimum: 0. + :type port: object + :param service_uri: The URL to the Microsoft Common Data Service for Apps server. The property + is required for on-line and not allowed for on-prem. Type: string (or Expression with + resultType string). + :type service_uri: object + :param organization_name: The organization name of the Common Data Service for Apps instance. + The property is required for on-prem and required for online when there are more than one + Common Data Service for Apps instances associated with the user. Type: string (or Expression + with resultType string). + :type organization_name: object + :param authentication_type: Required. The authentication type to connect to Common Data Service + for Apps server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario. + 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or + Expression with resultType string). Possible values include: "Office365", "Ifd", + "AADServicePrincipal". + :type authentication_type: str or ~azure.mgmt.datafactory.models.DynamicsAuthenticationType + :param username: User name to access the Common Data Service for Apps instance. Type: string + (or Expression with resultType string). + :type username: object + :param password: Password to access the Common Data Service for Apps instance. + :type password: ~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.DynamicsServicePrincipalCredentialType + :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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'deployment_type': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'}, + 'host_name': {'key': 'typeProperties.hostName', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'}, + 'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', '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'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(CommonDataServiceForAppsLinkedService, self).__init__(**kwargs) + self.type = 'CommonDataServiceForApps' + self.deployment_type = kwargs['deployment_type'] + self.host_name = kwargs.get('host_name', None) + self.port = kwargs.get('port', None) + self.service_uri = kwargs.get('service_uri', None) + self.organization_name = kwargs.get('organization_name', None) + self.authentication_type = kwargs['authentication_type'] + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', 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.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class ConcurLinkedService(LinkedService): + """Concur Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param client_id: Required. Application client_id supplied by Concur App Management. + :type client_id: object + :param username: Required. The user name that you use to access Concur Service. + :type username: object + :param password: The password corresponding to the user name that you provided in the username + field. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'client_id': {'required': True}, + 'username': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ConcurLinkedService, self).__init__(**kwargs) + self.type = 'Concur' + self.client_id = kwargs['client_id'] + self.username = kwargs['username'] + self.password = kwargs.get('password', None) + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class ConcurObjectDataset(Dataset): + """Concur Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ConcurObjectDataset, self).__init__(**kwargs) + self.type = 'ConcurObject' + self.table_name = kwargs.get('table_name', None) + + +class CopyActivity(ExecutionActivity): + """Copy activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param inputs: List of inputs for the activity. + :type inputs: list[~azure.mgmt.datafactory.models.DatasetReference] + :param outputs: List of outputs for the activity. + :type outputs: list[~azure.mgmt.datafactory.models.DatasetReference] + :param source: Required. Copy activity source. + :type source: ~azure.mgmt.datafactory.models.CopySource + :param sink: Required. Copy activity sink. + :type sink: ~azure.mgmt.datafactory.models.CopySink + :param translator: Copy activity translator. If not specified, tabular translator is used. + :type translator: object + :param enable_staging: Specifies whether to copy data via an interim staging. Default value is + false. Type: boolean (or Expression with resultType boolean). + :type enable_staging: object + :param staging_settings: Specifies interim staging settings when EnableStaging is true. + :type staging_settings: ~azure.mgmt.datafactory.models.StagingSettings + :param parallel_copies: Maximum number of concurrent sessions opened on the source or sink to + avoid overloading the data store. Type: integer (or Expression with resultType integer), + minimum: 0. + :type parallel_copies: object + :param data_integration_units: Maximum number of data integration units that can be used to + perform this data movement. Type: integer (or Expression with resultType integer), minimum: 0. + :type data_integration_units: object + :param enable_skip_incompatible_row: Whether to skip incompatible row. Default value is false. + Type: boolean (or Expression with resultType boolean). + :type enable_skip_incompatible_row: object + :param redirect_incompatible_row_settings: Redirect incompatible row settings when + EnableSkipIncompatibleRow is true. + :type redirect_incompatible_row_settings: + ~azure.mgmt.datafactory.models.RedirectIncompatibleRowSettings + :param log_storage_settings: Log storage settings customer need to provide when enabling + session log. + :type log_storage_settings: ~azure.mgmt.datafactory.models.LogStorageSettings + :param preserve_rules: Preserve Rules. + :type preserve_rules: list[object] + :param preserve: Preserve rules. + :type preserve: list[object] + :param validate_data_consistency: Whether to enable Data Consistency validation. Type: boolean + (or Expression with resultType boolean). + :type validate_data_consistency: object + :param skip_error_file: Specify the fault tolerance for data consistency. + :type skip_error_file: ~azure.mgmt.datafactory.models.SkipErrorFile + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'source': {'required': True}, + 'sink': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'inputs': {'key': 'inputs', 'type': '[DatasetReference]'}, + 'outputs': {'key': 'outputs', 'type': '[DatasetReference]'}, + 'source': {'key': 'typeProperties.source', 'type': 'CopySource'}, + 'sink': {'key': 'typeProperties.sink', 'type': 'CopySink'}, + 'translator': {'key': 'typeProperties.translator', 'type': 'object'}, + 'enable_staging': {'key': 'typeProperties.enableStaging', 'type': 'object'}, + 'staging_settings': {'key': 'typeProperties.stagingSettings', 'type': 'StagingSettings'}, + 'parallel_copies': {'key': 'typeProperties.parallelCopies', 'type': 'object'}, + 'data_integration_units': {'key': 'typeProperties.dataIntegrationUnits', 'type': 'object'}, + 'enable_skip_incompatible_row': {'key': 'typeProperties.enableSkipIncompatibleRow', 'type': 'object'}, + 'redirect_incompatible_row_settings': {'key': 'typeProperties.redirectIncompatibleRowSettings', 'type': 'RedirectIncompatibleRowSettings'}, + 'log_storage_settings': {'key': 'typeProperties.logStorageSettings', 'type': 'LogStorageSettings'}, + 'preserve_rules': {'key': 'typeProperties.preserveRules', 'type': '[object]'}, + 'preserve': {'key': 'typeProperties.preserve', 'type': '[object]'}, + 'validate_data_consistency': {'key': 'typeProperties.validateDataConsistency', 'type': 'object'}, + 'skip_error_file': {'key': 'typeProperties.skipErrorFile', 'type': 'SkipErrorFile'}, + } + + def __init__( + self, + **kwargs + ): + super(CopyActivity, self).__init__(**kwargs) + self.type = 'Copy' + self.inputs = kwargs.get('inputs', None) + self.outputs = kwargs.get('outputs', None) + self.source = kwargs['source'] + self.sink = kwargs['sink'] + self.translator = kwargs.get('translator', None) + self.enable_staging = kwargs.get('enable_staging', None) + self.staging_settings = kwargs.get('staging_settings', None) + self.parallel_copies = kwargs.get('parallel_copies', None) + self.data_integration_units = kwargs.get('data_integration_units', None) + self.enable_skip_incompatible_row = kwargs.get('enable_skip_incompatible_row', None) + self.redirect_incompatible_row_settings = kwargs.get('redirect_incompatible_row_settings', None) + self.log_storage_settings = kwargs.get('log_storage_settings', None) + self.preserve_rules = kwargs.get('preserve_rules', None) + self.preserve = kwargs.get('preserve', None) + self.validate_data_consistency = kwargs.get('validate_data_consistency', None) + self.skip_error_file = kwargs.get('skip_error_file', None) + + +class CopySink(msrest.serialization.Model): + """A copy activity sink. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: . + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Copy sink type.Constant filled by server. + :type type: str + :param write_batch_size: Write batch size. Type: integer (or Expression with resultType + integer), minimum: 0. + :type write_batch_size: object + :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type write_batch_timeout: object + :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType + integer). + :type sink_retry_count: object + :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string), + pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type sink_retry_wait: object + :param max_concurrent_connections: The maximum concurrent connection count for the sink data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'}, + 'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'}, + 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, + 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + } + + _subtype_map = { + 'type': {} + } + + def __init__( + self, + **kwargs + ): + super(CopySink, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = 'CopySink' + self.write_batch_size = kwargs.get('write_batch_size', None) + self.write_batch_timeout = kwargs.get('write_batch_timeout', None) + self.sink_retry_count = kwargs.get('sink_retry_count', None) + self.sink_retry_wait = kwargs.get('sink_retry_wait', None) + self.max_concurrent_connections = kwargs.get('max_concurrent_connections', None) + + +class CopySource(msrest.serialization.Model): + """A copy activity source. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: . + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Copy source type.Constant filled by server. + :type type: str + :param source_retry_count: Source retry count. Type: integer (or Expression with resultType + integer). + :type source_retry_count: object + :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type source_retry_wait: object + :param max_concurrent_connections: The maximum concurrent connection count for the source data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, + 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + } + + _subtype_map = { + 'type': {} + } + + def __init__( + self, + **kwargs + ): + super(CopySource, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = 'CopySource' + self.source_retry_count = kwargs.get('source_retry_count', None) + self.source_retry_wait = kwargs.get('source_retry_wait', None) + self.max_concurrent_connections = kwargs.get('max_concurrent_connections', None) + + +class CosmosDBLinkedService(LinkedService): + """Microsoft Azure Cosmos Database (CosmosDB) linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: The connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param account_endpoint: The endpoint of the Azure CosmosDB account. Type: string (or + Expression with resultType string). + :type account_endpoint: object + :param database: The name of the database. Type: string (or Expression with resultType string). + :type database: object + :param account_key: The account key of the Azure CosmosDB account. Type: SecureString or + AzureKeyVaultSecretReference. + :type account_key: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'account_endpoint': {'key': 'typeProperties.accountEndpoint', 'type': 'object'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + 'account_key': {'key': 'typeProperties.accountKey', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(CosmosDBLinkedService, self).__init__(**kwargs) + self.type = 'CosmosDb' + self.connection_string = kwargs.get('connection_string', None) + self.account_endpoint = kwargs.get('account_endpoint', None) + self.database = kwargs.get('database', None) + self.account_key = kwargs.get('account_key', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class CosmosDBMongoDBApiCollectionDataset(Dataset): + """The CosmosDB (MongoDB API) database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param collection: Required. The collection name of the CosmosDB (MongoDB API) database. Type: + string (or Expression with resultType string). + :type collection: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'collection': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'collection': {'key': 'typeProperties.collection', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(CosmosDBMongoDBApiCollectionDataset, self).__init__(**kwargs) + self.type = 'CosmosDbMongoDbApiCollection' + self.collection = kwargs['collection'] + + +class CosmosDBMongoDBApiLinkedService(LinkedService): + """Linked service for CosmosDB (MongoDB API) data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The CosmosDB (MongoDB API) connection string. Type: string, + SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param database: Required. The name of the CosmosDB (MongoDB API) database that you want to + access. Type: string (or Expression with resultType string). + :type database: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + 'database': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(CosmosDBMongoDBApiLinkedService, self).__init__(**kwargs) + self.type = 'CosmosDbMongoDbApi' + self.connection_string = kwargs['connection_string'] + self.database = kwargs['database'] + + +class CosmosDBSqlApiCollectionDataset(Dataset): + """Microsoft Azure CosmosDB (SQL API) Collection dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param collection_name: Required. CosmosDB (SQL API) collection name. Type: string (or + Expression with resultType string). + :type collection_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'collection_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'collection_name': {'key': 'typeProperties.collectionName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(CosmosDBSqlApiCollectionDataset, self).__init__(**kwargs) + self.type = 'CosmosDbSqlApiCollection' + self.collection_name = kwargs['collection_name'] + + +class CouchbaseLinkedService(LinkedService): + """Couchbase server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param cred_string: The Azure key vault secret reference of credString in connection string. + :type cred_string: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'cred_string': {'key': 'typeProperties.credString', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(CouchbaseLinkedService, self).__init__(**kwargs) + self.type = 'Couchbase' + self.connection_string = kwargs.get('connection_string', None) + self.cred_string = kwargs.get('cred_string', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class CouchbaseTableDataset(Dataset): + """Couchbase server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(CouchbaseTableDataset, self).__init__(**kwargs) + self.type = 'CouchbaseTable' + self.table_name = kwargs.get('table_name', None) + + +class CreateDataFlowDebugSessionRequest(msrest.serialization.Model): + """Request body structure for creating data flow debug session. + + :param compute_type: Compute type of the cluster. The value will be overwritten by the same + setting in integration runtime if provided. + :type compute_type: str + :param core_count: Core count of the cluster. The value will be overwritten by the same setting + in integration runtime if provided. + :type core_count: int + :param time_to_live: Time to live setting of the cluster in minutes. + :type time_to_live: int + :param name: The resource name. + :type name: str + :param properties: Integration runtime properties. + :type properties: ~azure.mgmt.datafactory.models.IntegrationRuntime + """ + + _attribute_map = { + 'compute_type': {'key': 'computeType', 'type': 'str'}, + 'core_count': {'key': 'coreCount', 'type': 'int'}, + 'time_to_live': {'key': 'timeToLive', 'type': 'int'}, + 'name': {'key': 'integrationRuntime.name', 'type': 'str'}, + 'properties': {'key': 'integrationRuntime.properties', 'type': 'IntegrationRuntime'}, + } + + def __init__( + self, + **kwargs + ): + super(CreateDataFlowDebugSessionRequest, self).__init__(**kwargs) + self.compute_type = kwargs.get('compute_type', None) + self.core_count = kwargs.get('core_count', None) + self.time_to_live = kwargs.get('time_to_live', None) + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) + + +class CreateDataFlowDebugSessionResponse(msrest.serialization.Model): + """Response body structure for creating data flow debug session. + + :param status: The state of the debug session. + :type status: str + :param session_id: The ID of data flow debug session. + :type session_id: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'session_id': {'key': 'sessionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CreateDataFlowDebugSessionResponse, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.session_id = kwargs.get('session_id', None) + + +class CreateLinkedIntegrationRuntimeRequest(msrest.serialization.Model): + """The linked integration runtime information. + + :param name: The name of the linked integration runtime. + :type name: str + :param subscription_id: The ID of the subscription that the linked integration runtime belongs + to. + :type subscription_id: str + :param data_factory_name: The name of the data factory that the linked integration runtime + belongs to. + :type data_factory_name: str + :param data_factory_location: The location of the data factory that the linked integration + runtime belongs to. + :type data_factory_location: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'data_factory_location': {'key': 'dataFactoryLocation', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CreateLinkedIntegrationRuntimeRequest, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.subscription_id = kwargs.get('subscription_id', None) + self.data_factory_name = kwargs.get('data_factory_name', None) + self.data_factory_location = kwargs.get('data_factory_location', None) + + +class CreateRunResponse(msrest.serialization.Model): + """Response body with a run identifier. + + All required parameters must be populated in order to send to Azure. + + :param run_id: Required. Identifier of a run. + :type run_id: str + """ + + _validation = { + 'run_id': {'required': True}, + } + + _attribute_map = { + 'run_id': {'key': 'runId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CreateRunResponse, self).__init__(**kwargs) + self.run_id = kwargs['run_id'] + + +class CustomActivity(ExecutionActivity): + """Custom activity type. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param command: Required. Command for custom activity Type: string (or Expression with + resultType string). + :type command: object + :param resource_linked_service: Resource linked service reference. + :type resource_linked_service: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param folder_path: Folder path for resource files Type: string (or Expression with resultType + string). + :type folder_path: object + :param reference_objects: Reference objects. + :type reference_objects: ~azure.mgmt.datafactory.models.CustomActivityReferenceObject + :param extended_properties: User defined property bag. There is no restriction on the keys or + values that can be used. The user specified custom activity has the full responsibility to + consume and interpret the content defined. + :type extended_properties: dict[str, object] + :param retention_time_in_days: The retention time for the files submitted for custom activity. + Type: double (or Expression with resultType double). + :type retention_time_in_days: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'command': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'command': {'key': 'typeProperties.command', 'type': 'object'}, + 'resource_linked_service': {'key': 'typeProperties.resourceLinkedService', 'type': 'LinkedServiceReference'}, + 'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'}, + 'reference_objects': {'key': 'typeProperties.referenceObjects', 'type': 'CustomActivityReferenceObject'}, + 'extended_properties': {'key': 'typeProperties.extendedProperties', 'type': '{object}'}, + 'retention_time_in_days': {'key': 'typeProperties.retentionTimeInDays', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomActivity, self).__init__(**kwargs) + self.type = 'Custom' + self.command = kwargs['command'] + self.resource_linked_service = kwargs.get('resource_linked_service', None) + self.folder_path = kwargs.get('folder_path', None) + self.reference_objects = kwargs.get('reference_objects', None) + self.extended_properties = kwargs.get('extended_properties', None) + self.retention_time_in_days = kwargs.get('retention_time_in_days', None) + + +class CustomActivityReferenceObject(msrest.serialization.Model): + """Reference objects for custom activity. + + :param linked_services: Linked service references. + :type linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceReference] + :param datasets: Dataset references. + :type datasets: list[~azure.mgmt.datafactory.models.DatasetReference] + """ + + _attribute_map = { + 'linked_services': {'key': 'linkedServices', 'type': '[LinkedServiceReference]'}, + 'datasets': {'key': 'datasets', 'type': '[DatasetReference]'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomActivityReferenceObject, self).__init__(**kwargs) + self.linked_services = kwargs.get('linked_services', None) + self.datasets = kwargs.get('datasets', None) + + +class CustomDataSourceLinkedService(LinkedService): + """Custom linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param type_properties: Required. Custom linked service properties. + :type type_properties: object + """ + + _validation = { + 'type': {'required': True}, + 'type_properties': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'type_properties': {'key': 'typeProperties', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomDataSourceLinkedService, self).__init__(**kwargs) + self.type = 'CustomDataSource' + self.type_properties = kwargs['type_properties'] + + +class CustomSetupBase(msrest.serialization.Model): + """The base definition of the custom setup. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: . + + All required parameters must be populated in order to send to Azure. + + :param type: Required. The type of custom setup.Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {} + } + + def __init__( + self, + **kwargs + ): + super(CustomSetupBase, self).__init__(**kwargs) + self.type = None + + +class DatabricksNotebookActivity(ExecutionActivity): + """DatabricksNotebook activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param notebook_path: Required. The absolute path of the notebook to be run in the Databricks + Workspace. This path must begin with a slash. Type: string (or Expression with resultType + string). + :type notebook_path: object + :param base_parameters: Base parameters to be used for each run of this job.If the notebook + takes a parameter that is not specified, the default value from the notebook will be used. + :type base_parameters: dict[str, object] + :param libraries: A list of libraries to be installed on the cluster that will execute the job. + :type libraries: list[dict[str, object]] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'notebook_path': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'notebook_path': {'key': 'typeProperties.notebookPath', 'type': 'object'}, + 'base_parameters': {'key': 'typeProperties.baseParameters', 'type': '{object}'}, + 'libraries': {'key': 'typeProperties.libraries', 'type': '[{object}]'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabricksNotebookActivity, self).__init__(**kwargs) + self.type = 'DatabricksNotebook' + self.notebook_path = kwargs['notebook_path'] + self.base_parameters = kwargs.get('base_parameters', None) + self.libraries = kwargs.get('libraries', None) + + +class DatabricksSparkJarActivity(ExecutionActivity): + """DatabricksSparkJar activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param main_class_name: Required. The full name of the class containing the main method to be + executed. This class must be contained in a JAR provided as a library. Type: string (or + Expression with resultType string). + :type main_class_name: object + :param parameters: Parameters that will be passed to the main method. + :type parameters: list[object] + :param libraries: A list of libraries to be installed on the cluster that will execute the job. + :type libraries: list[dict[str, object]] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'main_class_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'main_class_name': {'key': 'typeProperties.mainClassName', 'type': 'object'}, + 'parameters': {'key': 'typeProperties.parameters', 'type': '[object]'}, + 'libraries': {'key': 'typeProperties.libraries', 'type': '[{object}]'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabricksSparkJarActivity, self).__init__(**kwargs) + self.type = 'DatabricksSparkJar' + self.main_class_name = kwargs['main_class_name'] + self.parameters = kwargs.get('parameters', None) + self.libraries = kwargs.get('libraries', None) + + +class DatabricksSparkPythonActivity(ExecutionActivity): + """DatabricksSparkPython activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param python_file: Required. The URI of the Python file to be executed. DBFS paths are + supported. Type: string (or Expression with resultType string). + :type python_file: object + :param parameters: Command line parameters that will be passed to the Python file. + :type parameters: list[object] + :param libraries: A list of libraries to be installed on the cluster that will execute the job. + :type libraries: list[dict[str, object]] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'python_file': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'python_file': {'key': 'typeProperties.pythonFile', 'type': 'object'}, + 'parameters': {'key': 'typeProperties.parameters', 'type': '[object]'}, + 'libraries': {'key': 'typeProperties.libraries', 'type': '[{object}]'}, + } + + def __init__( + self, + **kwargs + ): + super(DatabricksSparkPythonActivity, self).__init__(**kwargs) + self.type = 'DatabricksSparkPython' + self.python_file = kwargs['python_file'] + self.parameters = kwargs.get('parameters', None) + self.libraries = kwargs.get('libraries', None) + + +class DataFlow(msrest.serialization.Model): + """Azure Data Factory nested object which contains a flow with data movements and transformations. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MappingDataFlow. + + :param type: Type of data flow.Constant filled by server. + :type type: str + :param description: The description of the data flow. + :type description: str + :param annotations: List of tags that can be used for describing the data flow. + :type annotations: list[object] + :param folder: The folder that this data flow is in. If not specified, Data flow will appear at + the root level. + :type folder: ~azure.mgmt.datafactory.models.DataFlowFolder + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DataFlowFolder'}, + } + + _subtype_map = { + 'type': {'MappingDataFlow': 'MappingDataFlow'} + } + + def __init__( + self, + **kwargs + ): + super(DataFlow, self).__init__(**kwargs) + self.type = None + self.description = kwargs.get('description', None) + self.annotations = kwargs.get('annotations', None) + self.folder = kwargs.get('folder', None) + + +class DataFlowDebugCommandPayload(msrest.serialization.Model): + """Structure of command payload. + + All required parameters must be populated in order to send to Azure. + + :param stream_name: Required. The stream name which is used for preview. + :type stream_name: str + :param row_limits: Row limits for preview response. + :type row_limits: int + :param columns: Array of column names. + :type columns: list[str] + :param expression: The expression which is used for preview. + :type expression: str + """ + + _validation = { + 'stream_name': {'required': True}, + } + + _attribute_map = { + 'stream_name': {'key': 'streamName', 'type': 'str'}, + 'row_limits': {'key': 'rowLimits', 'type': 'int'}, + 'columns': {'key': 'columns', 'type': '[str]'}, + 'expression': {'key': 'expression', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DataFlowDebugCommandPayload, self).__init__(**kwargs) + self.stream_name = kwargs['stream_name'] + self.row_limits = kwargs.get('row_limits', None) + self.columns = kwargs.get('columns', None) + self.expression = kwargs.get('expression', None) + + +class DataFlowDebugCommandRequest(msrest.serialization.Model): + """Request body structure for data flow debug command. + + :param session_id: The ID of data flow debug session. + :type session_id: str + :param command: The command type. Possible values include: "executePreviewQuery", + "executeStatisticsQuery", "executeExpressionQuery". + :type command: str or ~azure.mgmt.datafactory.models.DataFlowDebugCommandType + :param command_payload: The command payload object. + :type command_payload: ~azure.mgmt.datafactory.models.DataFlowDebugCommandPayload + """ + + _attribute_map = { + 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'command': {'key': 'command', 'type': 'str'}, + 'command_payload': {'key': 'commandPayload', 'type': 'DataFlowDebugCommandPayload'}, + } + + def __init__( + self, + **kwargs + ): + super(DataFlowDebugCommandRequest, self).__init__(**kwargs) + self.session_id = kwargs.get('session_id', None) + self.command = kwargs.get('command', None) + self.command_payload = kwargs.get('command_payload', None) + + +class DataFlowDebugCommandResponse(msrest.serialization.Model): + """Response body structure of data flow result for data preview, statistics or expression preview. + + :param status: The run status of data preview, statistics or expression preview. + :type status: str + :param data: The result data of data preview, statistics or expression preview. + :type data: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'data': {'key': 'data', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DataFlowDebugCommandResponse, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.data = kwargs.get('data', None) + + +class DataFlowDebugPackage(msrest.serialization.Model): + """Request body structure for starting data flow debug session. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param session_id: The ID of data flow debug session. + :type session_id: str + :param datasets: List of datasets. + :type datasets: list[~azure.mgmt.datafactory.models.DatasetDebugResource] + :param linked_services: List of linked services. + :type linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceDebugResource] + :param source_settings: Source setting for data flow debug. + :type source_settings: list[~azure.mgmt.datafactory.models.DataFlowSourceSetting] + :param parameters_debug_settings_parameters: Data flow parameters. + :type parameters_debug_settings_parameters: dict[str, object] + :param dataset_parameters: Parameters for dataset. + :type dataset_parameters: object + :param folder_path: Folder path for staging blob. + :type folder_path: str + :ivar type: Linked service reference type. Default value: "LinkedServiceReference". + :vartype type: str + :param reference_name: Reference LinkedService name. + :type reference_name: str + :param parameters_staging_linked_service_parameters: Arguments for LinkedService. + :type parameters_staging_linked_service_parameters: dict[str, object] + :param name: The resource name. + :type name: str + :param properties: Data flow properties. + :type properties: ~azure.mgmt.datafactory.models.DataFlow + """ + + _validation = { + 'type': {'constant': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'datasets': {'key': 'datasets', 'type': '[DatasetDebugResource]'}, + 'linked_services': {'key': 'linkedServices', 'type': '[LinkedServiceDebugResource]'}, + 'source_settings': {'key': 'debugSettings.sourceSettings', 'type': '[DataFlowSourceSetting]'}, + 'parameters_debug_settings_parameters': {'key': 'debugSettings.parameters', 'type': '{object}'}, + 'dataset_parameters': {'key': 'debugSettings.datasetParameters', 'type': 'object'}, + 'folder_path': {'key': 'staging.folderPath', 'type': 'str'}, + 'type': {'key': 'staging.linkedService.type', 'type': 'str'}, + 'reference_name': {'key': 'staging.linkedService.referenceName', 'type': 'str'}, + 'parameters_staging_linked_service_parameters': {'key': 'staging.linkedService.parameters', 'type': '{object}'}, + 'name': {'key': 'dataFlow.name', 'type': 'str'}, + 'properties': {'key': 'dataFlow.properties', 'type': 'DataFlow'}, + } + + type = "LinkedServiceReference" + + def __init__( + self, + **kwargs + ): + super(DataFlowDebugPackage, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.session_id = kwargs.get('session_id', None) + self.datasets = kwargs.get('datasets', None) + self.linked_services = kwargs.get('linked_services', None) + self.source_settings = kwargs.get('source_settings', None) + self.parameters_debug_settings_parameters = kwargs.get('parameters_debug_settings_parameters', None) + self.dataset_parameters = kwargs.get('dataset_parameters', None) + self.folder_path = kwargs.get('folder_path', None) + self.reference_name = kwargs.get('reference_name', None) + self.parameters_staging_linked_service_parameters = kwargs.get('parameters_staging_linked_service_parameters', None) + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) + + +class SubResourceDebugResource(msrest.serialization.Model): + """Azure Data Factory nested debug resource. + + :param name: The resource name. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SubResourceDebugResource, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class DataFlowDebugResource(SubResourceDebugResource): + """Data flow debug resource. + + All required parameters must be populated in order to send to Azure. + + :param name: The resource name. + :type name: str + :param properties: Required. Data flow properties. + :type properties: ~azure.mgmt.datafactory.models.DataFlow + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DataFlow'}, + } + + def __init__( + self, + **kwargs + ): + super(DataFlowDebugResource, self).__init__(**kwargs) + self.properties = kwargs['properties'] + + +class DataFlowDebugSessionInfo(msrest.serialization.Model): + """Data flow debug session info. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param data_flow_name: The name of the data flow. + :type data_flow_name: str + :param compute_type: Compute type of the cluster. + :type compute_type: str + :param core_count: Core count of the cluster. + :type core_count: int + :param node_count: Node count of the cluster. (deprecated property). + :type node_count: int + :param integration_runtime_name: Attached integration runtime name of data flow debug session. + :type integration_runtime_name: str + :param session_id: The ID of data flow debug session. + :type session_id: str + :param start_time: Start time of data flow debug session. + :type start_time: str + :param time_to_live_in_minutes: Compute type of the cluster. + :type time_to_live_in_minutes: int + :param last_activity_time: Last activity time of data flow debug session. + :type last_activity_time: str + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'data_flow_name': {'key': 'dataFlowName', 'type': 'str'}, + 'compute_type': {'key': 'computeType', 'type': 'str'}, + 'core_count': {'key': 'coreCount', 'type': 'int'}, + 'node_count': {'key': 'nodeCount', 'type': 'int'}, + 'integration_runtime_name': {'key': 'integrationRuntimeName', 'type': 'str'}, + 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'time_to_live_in_minutes': {'key': 'timeToLiveInMinutes', 'type': 'int'}, + 'last_activity_time': {'key': 'lastActivityTime', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DataFlowDebugSessionInfo, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.data_flow_name = kwargs.get('data_flow_name', None) + self.compute_type = kwargs.get('compute_type', None) + self.core_count = kwargs.get('core_count', None) + self.node_count = kwargs.get('node_count', None) + self.integration_runtime_name = kwargs.get('integration_runtime_name', None) + self.session_id = kwargs.get('session_id', None) + self.start_time = kwargs.get('start_time', None) + self.time_to_live_in_minutes = kwargs.get('time_to_live_in_minutes', None) + self.last_activity_time = kwargs.get('last_activity_time', None) + + +class DataFlowFolder(msrest.serialization.Model): + """The folder that this data flow is in. If not specified, Data flow will appear at the root level. + + :param name: The name of the folder that this data flow is in. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DataFlowFolder, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class DataFlowListResponse(msrest.serialization.Model): + """A list of data flow resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of data flows. + :type value: list[~azure.mgmt.datafactory.models.DataFlowResource] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DataFlowResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DataFlowListResponse, self).__init__(**kwargs) + self.value = kwargs['value'] + self.next_link = kwargs.get('next_link', None) + + +class DataFlowReference(msrest.serialization.Model): + """Data flow reference type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar type: Required. Data flow reference type. Default value: "DataFlowReference". + :vartype type: str + :param reference_name: Required. Reference data flow name. + :type reference_name: str + :param dataset_parameters: Reference data flow parameters from dataset. + :type dataset_parameters: object + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'reference_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + 'dataset_parameters': {'key': 'datasetParameters', 'type': 'object'}, + } + + type = "DataFlowReference" + + def __init__( + self, + **kwargs + ): + super(DataFlowReference, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.reference_name = kwargs['reference_name'] + self.dataset_parameters = kwargs.get('dataset_parameters', None) + + +class SubResource(msrest.serialization.Model): + """Azure Data Factory nested resource, which belongs to a factory. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SubResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.etag = None + + +class DataFlowResource(SubResource): + """Data flow resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Required. Data flow properties. + :type properties: ~azure.mgmt.datafactory.models.DataFlow + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DataFlow'}, + } + + def __init__( + self, + **kwargs + ): + super(DataFlowResource, self).__init__(**kwargs) + self.properties = kwargs['properties'] + + +class Transformation(msrest.serialization.Model): + """A data flow transformation. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Transformation name. + :type name: str + :param description: Transformation description. + :type description: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Transformation, self).__init__(**kwargs) + self.name = kwargs['name'] + self.description = kwargs.get('description', None) + + +class DataFlowSink(Transformation): + """Transformation for data flow sink. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Transformation name. + :type name: str + :param description: Transformation description. + :type description: str + :param dataset: Dataset reference. + :type dataset: ~azure.mgmt.datafactory.models.DatasetReference + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'dataset': {'key': 'dataset', 'type': 'DatasetReference'}, + } + + def __init__( + self, + **kwargs + ): + super(DataFlowSink, self).__init__(**kwargs) + self.dataset = kwargs.get('dataset', None) + + +class DataFlowSource(Transformation): + """Transformation for data flow source. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Transformation name. + :type name: str + :param description: Transformation description. + :type description: str + :param dataset: Dataset reference. + :type dataset: ~azure.mgmt.datafactory.models.DatasetReference + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'dataset': {'key': 'dataset', 'type': 'DatasetReference'}, + } + + def __init__( + self, + **kwargs + ): + super(DataFlowSource, self).__init__(**kwargs) + self.dataset = kwargs.get('dataset', None) + + +class DataFlowSourceSetting(msrest.serialization.Model): + """Definition of data flow source setting for debug. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param source_name: The data flow source name. + :type source_name: str + :param row_limit: Defines the row limit of data flow source in debug. + :type row_limit: int + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'source_name': {'key': 'sourceName', 'type': 'str'}, + 'row_limit': {'key': 'rowLimit', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(DataFlowSourceSetting, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.source_name = kwargs.get('source_name', None) + self.row_limit = kwargs.get('row_limit', None) + + +class DataFlowStagingInfo(msrest.serialization.Model): + """Staging info for execute data flow activity. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param folder_path: Folder path for staging blob. + :type folder_path: str + :ivar type: Linked service reference type. Default value: "LinkedServiceReference". + :vartype type: str + :param reference_name: Reference LinkedService name. + :type reference_name: str + :param parameters: Arguments for LinkedService. + :type parameters: dict[str, object] + """ + + _validation = { + 'type': {'constant': True}, + } + + _attribute_map = { + 'folder_path': {'key': 'folderPath', 'type': 'str'}, + 'type': {'key': 'linkedService.type', 'type': 'str'}, + 'reference_name': {'key': 'linkedService.referenceName', 'type': 'str'}, + 'parameters': {'key': 'linkedService.parameters', 'type': '{object}'}, + } + + type = "LinkedServiceReference" + + def __init__( + self, + **kwargs + ): + super(DataFlowStagingInfo, self).__init__(**kwargs) + self.folder_path = kwargs.get('folder_path', None) + self.reference_name = kwargs.get('reference_name', None) + self.parameters = kwargs.get('parameters', None) + + +class DataLakeAnalyticsUsqlActivity(ExecutionActivity): + """Data Lake Analytics U-SQL activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param script_path: Required. Case-sensitive path to folder that contains the U-SQL script. + Type: string (or Expression with resultType string). + :type script_path: object + :param script_linked_service: Required. Script linked service reference. + :type script_linked_service: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param degree_of_parallelism: The maximum number of nodes simultaneously used to run the job. + Default value is 1. Type: integer (or Expression with resultType integer), minimum: 1. + :type degree_of_parallelism: object + :param priority: Determines which jobs out of all that are queued should be selected to run + first. The lower the number, the higher the priority. Default value is 1000. Type: integer (or + Expression with resultType integer), minimum: 1. + :type priority: object + :param parameters: Parameters for U-SQL job request. + :type parameters: dict[str, object] + :param runtime_version: Runtime version of the U-SQL engine to use. Type: string (or Expression + with resultType string). + :type runtime_version: object + :param compilation_mode: Compilation mode of U-SQL. Must be one of these values : Semantic, + Full and SingleBox. Type: string (or Expression with resultType string). + :type compilation_mode: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'script_path': {'required': True}, + 'script_linked_service': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'script_path': {'key': 'typeProperties.scriptPath', 'type': 'object'}, + 'script_linked_service': {'key': 'typeProperties.scriptLinkedService', 'type': 'LinkedServiceReference'}, + 'degree_of_parallelism': {'key': 'typeProperties.degreeOfParallelism', 'type': 'object'}, + 'priority': {'key': 'typeProperties.priority', 'type': 'object'}, + 'parameters': {'key': 'typeProperties.parameters', 'type': '{object}'}, + 'runtime_version': {'key': 'typeProperties.runtimeVersion', 'type': 'object'}, + 'compilation_mode': {'key': 'typeProperties.compilationMode', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(DataLakeAnalyticsUsqlActivity, self).__init__(**kwargs) + self.type = 'DataLakeAnalyticsU-SQL' + self.script_path = kwargs['script_path'] + self.script_linked_service = kwargs['script_linked_service'] + self.degree_of_parallelism = kwargs.get('degree_of_parallelism', None) + self.priority = kwargs.get('priority', None) + self.parameters = kwargs.get('parameters', None) + self.runtime_version = kwargs.get('runtime_version', None) + self.compilation_mode = kwargs.get('compilation_mode', None) + + +class DatasetCompression(msrest.serialization.Model): + """The compression method used on a dataset. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DatasetBZip2Compression, DatasetDeflateCompression, DatasetGZipCompression, DatasetZipDeflateCompression. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset compression.Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'BZip2': 'DatasetBZip2Compression', 'Deflate': 'DatasetDeflateCompression', 'GZip': 'DatasetGZipCompression', 'ZipDeflate': 'DatasetZipDeflateCompression'} + } + + def __init__( + self, + **kwargs + ): + super(DatasetCompression, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = 'DatasetCompression' + + +class DatasetBZip2Compression(DatasetCompression): + """The BZip2 compression method used on a dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset compression.Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatasetBZip2Compression, self).__init__(**kwargs) + self.type = 'BZip2' + + +class DatasetDebugResource(SubResourceDebugResource): + """Dataset debug resource. + + All required parameters must be populated in order to send to Azure. + + :param name: The resource name. + :type name: str + :param properties: Required. Dataset properties. + :type properties: ~azure.mgmt.datafactory.models.Dataset + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'Dataset'}, + } + + def __init__( + self, + **kwargs + ): + super(DatasetDebugResource, self).__init__(**kwargs) + self.properties = kwargs['properties'] + + +class DatasetDeflateCompression(DatasetCompression): + """The Deflate compression method used on a dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset compression.Constant filled by server. + :type type: str + :param level: The Deflate compression level. Possible values include: "Optimal", "Fastest". + :type level: str or ~azure.mgmt.datafactory.models.DatasetCompressionLevel + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatasetDeflateCompression, self).__init__(**kwargs) + self.type = 'Deflate' + self.level = kwargs.get('level', None) + + +class DatasetFolder(msrest.serialization.Model): + """The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + + :param name: The name of the folder that this Dataset is in. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatasetFolder, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class DatasetGZipCompression(DatasetCompression): + """The GZip compression method used on a dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset compression.Constant filled by server. + :type type: str + :param level: The GZip compression level. Possible values include: "Optimal", "Fastest". + :type level: str or ~azure.mgmt.datafactory.models.DatasetCompressionLevel + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatasetGZipCompression, self).__init__(**kwargs) + self.type = 'GZip' + self.level = kwargs.get('level', None) + + +class DatasetListResponse(msrest.serialization.Model): + """A list of dataset resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of datasets. + :type value: list[~azure.mgmt.datafactory.models.DatasetResource] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatasetResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatasetListResponse, self).__init__(**kwargs) + self.value = kwargs['value'] + self.next_link = kwargs.get('next_link', None) + + +class DatasetLocation(msrest.serialization.Model): + """Dataset location. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: . + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset storage location.Constant filled by server. + :type type: str + :param folder_path: Specify the folder path of dataset. Type: string (or Expression with + resultType string). + :type folder_path: object + :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType + string). + :type file_name: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'folder_path': {'key': 'folderPath', 'type': 'object'}, + 'file_name': {'key': 'fileName', 'type': 'object'}, + } + + _subtype_map = { + 'type': {} + } + + def __init__( + self, + **kwargs + ): + super(DatasetLocation, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = 'DatasetLocation' + self.folder_path = kwargs.get('folder_path', None) + self.file_name = kwargs.get('file_name', None) + + +class DatasetReference(msrest.serialization.Model): + """Dataset reference type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar type: Required. Dataset reference type. Default value: "DatasetReference". + :vartype type: str + :param reference_name: Required. Reference dataset name. + :type reference_name: str + :param parameters: Arguments for dataset. + :type parameters: dict[str, object] + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'reference_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{object}'}, + } + + type = "DatasetReference" + + def __init__( + self, + **kwargs + ): + super(DatasetReference, self).__init__(**kwargs) + self.reference_name = kwargs['reference_name'] + self.parameters = kwargs.get('parameters', None) + + +class DatasetResource(SubResource): + """Dataset resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Required. Dataset properties. + :type properties: ~azure.mgmt.datafactory.models.Dataset + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'Dataset'}, + } + + def __init__( + self, + **kwargs + ): + super(DatasetResource, self).__init__(**kwargs) + self.properties = kwargs['properties'] + + +class DatasetStorageFormat(msrest.serialization.Model): + """The format definition of a storage. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: . + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset storage format.Constant filled by server. + :type type: str + :param serializer: Serializer. Type: string (or Expression with resultType string). + :type serializer: object + :param deserializer: Deserializer. Type: string (or Expression with resultType string). + :type deserializer: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'serializer': {'key': 'serializer', 'type': 'object'}, + 'deserializer': {'key': 'deserializer', 'type': 'object'}, + } + + _subtype_map = { + 'type': {} + } + + def __init__( + self, + **kwargs + ): + super(DatasetStorageFormat, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = 'DatasetStorageFormat' + self.serializer = kwargs.get('serializer', None) + self.deserializer = kwargs.get('deserializer', None) + + +class DatasetZipDeflateCompression(DatasetCompression): + """The ZipDeflate compression method used on a dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset compression.Constant filled by server. + :type type: str + :param level: The ZipDeflate compression level. Possible values include: "Optimal", "Fastest". + :type level: str or ~azure.mgmt.datafactory.models.DatasetCompressionLevel + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatasetZipDeflateCompression, self).__init__(**kwargs) + self.type = 'ZipDeflate' + self.level = kwargs.get('level', None) + + +class Db2LinkedService(LinkedService): + """Linked service for DB2 data source. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: The connection string. It is mutually exclusive with server, + database, authenticationType, userName, packageCollection and certificateCommonName property. + Type: string, SecureString or AzureKeyVaultSecretReference. + :type connection_string: object + :param server: Server name for connection. It is mutually exclusive with connectionString + property. Type: string (or Expression with resultType string). + :type server: object + :param database: Database name for connection. It is mutually exclusive with connectionString + property. Type: string (or Expression with resultType string). + :type database: object + :ivar authentication_type: AuthenticationType to be used for connection. It is mutually + exclusive with connectionString property. Default value: "Basic". + :vartype authentication_type: str + :param username: Username for authentication. It is mutually exclusive with connectionString + property. Type: string (or Expression with resultType string). + :type username: object + :param password: Password for authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param package_collection: Under where packages are created when querying database. It is + mutually exclusive with connectionString property. Type: string (or Expression with resultType + string). + :type package_collection: object + :param certificate_common_name: Certificate Common Name when TLS is enabled. It is mutually + exclusive with connectionString property. Type: string (or Expression with resultType string). + :type certificate_common_name: object + :param encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. It is mutually exclusive with + connectionString property. Type: string (or Expression with resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'authentication_type': {'constant': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'package_collection': {'key': 'typeProperties.packageCollection', 'type': 'object'}, + 'certificate_common_name': {'key': 'typeProperties.certificateCommonName', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + authentication_type = "Basic" + + def __init__( + self, + **kwargs + ): + super(Db2LinkedService, self).__init__(**kwargs) + self.type = 'Db2' + self.connection_string = kwargs.get('connection_string', None) + self.server = kwargs.get('server', None) + self.database = kwargs.get('database', None) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.package_collection = kwargs.get('package_collection', None) + self.certificate_common_name = kwargs.get('certificate_common_name', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class Db2TableDataset(Dataset): + """The Db2 table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param schema_type_properties_schema: The Db2 schema name. Type: string (or Expression with + resultType string). + :type schema_type_properties_schema: object + :param table: The Db2 table name. Type: string (or Expression with resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(Db2TableDataset, self).__init__(**kwargs) + self.type = 'Db2Table' + self.table_name = kwargs.get('table_name', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + self.table = kwargs.get('table', None) + + +class DeleteActivity(ExecutionActivity): + """Delete activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param recursive: If true, files or sub-folders under current folder path will be deleted + recursively. Default is false. Type: boolean (or Expression with resultType boolean). + :type recursive: object + :param max_concurrent_connections: The max concurrent connections to connect data source at the + same time. + :type max_concurrent_connections: int + :param enable_logging: Whether to record detailed logs of delete-activity execution. Default + value is false. Type: boolean (or Expression with resultType boolean). + :type enable_logging: object + :param log_storage_settings: Log storage settings customer need to provide when enableLogging + is true. + :type log_storage_settings: ~azure.mgmt.datafactory.models.LogStorageSettings + :param dataset: Required. Delete activity dataset reference. + :type dataset: ~azure.mgmt.datafactory.models.DatasetReference + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'max_concurrent_connections': {'minimum': 1}, + 'dataset': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'recursive': {'key': 'typeProperties.recursive', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'typeProperties.maxConcurrentConnections', 'type': 'int'}, + 'enable_logging': {'key': 'typeProperties.enableLogging', 'type': 'object'}, + 'log_storage_settings': {'key': 'typeProperties.logStorageSettings', 'type': 'LogStorageSettings'}, + 'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'}, + } + + def __init__( + self, + **kwargs + ): + super(DeleteActivity, self).__init__(**kwargs) + self.type = 'Delete' + self.recursive = kwargs.get('recursive', None) + self.max_concurrent_connections = kwargs.get('max_concurrent_connections', None) + self.enable_logging = kwargs.get('enable_logging', None) + self.log_storage_settings = kwargs.get('log_storage_settings', None) + self.dataset = kwargs['dataset'] + + +class DeleteDataFlowDebugSessionRequest(msrest.serialization.Model): + """Request body structure for deleting data flow debug session. + + :param session_id: The ID of data flow debug session. + :type session_id: str + """ + + _attribute_map = { + 'session_id': {'key': 'sessionId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DeleteDataFlowDebugSessionRequest, self).__init__(**kwargs) + self.session_id = kwargs.get('session_id', None) + + +class DelimitedTextDataset(Dataset): + """Delimited text dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param location: The location of the delimited text storage. + :type location: ~azure.mgmt.datafactory.models.DatasetLocation + :param column_delimiter: The column delimiter. Type: string (or Expression with resultType + string). + :type column_delimiter: object + :param row_delimiter: The row delimiter. Type: string (or Expression with resultType string). + :type row_delimiter: object + :param encoding_name: The code page name of the preferred encoding. If miss, the default value + is UTF-8, unless BOM denotes another Unicode encoding. Refer to the name column of the table in + the following link to set supported values: + https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with + resultType string). + :type encoding_name: object + :param compression_codec: Possible values include: "none", "gzip", "snappy", "lzo", "bzip2", + "deflate", "zipDeflate", "lz4". + :type compression_codec: str or ~azure.mgmt.datafactory.models.CompressionCodec + :param compression_level: The data compression method used for DelimitedText. Possible values + include: "Optimal", "Fastest". + :type compression_level: str or ~azure.mgmt.datafactory.models.DatasetCompressionLevel + :param quote_char: The quote character. Type: string (or Expression with resultType string). + :type quote_char: object + :param escape_char: The escape character. Type: string (or Expression with resultType string). + :type escape_char: object + :param first_row_as_header: When used as input, treat the first row of data as headers. When + used as output,write the headers into the output as the first row of data. The default value is + false. Type: boolean (or Expression with resultType boolean). + :type first_row_as_header: object + :param null_value: The null value string. Type: string (or Expression with resultType string). + :type null_value: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, + 'column_delimiter': {'key': 'typeProperties.columnDelimiter', 'type': 'object'}, + 'row_delimiter': {'key': 'typeProperties.rowDelimiter', 'type': 'object'}, + 'encoding_name': {'key': 'typeProperties.encodingName', 'type': 'object'}, + 'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'str'}, + 'compression_level': {'key': 'typeProperties.compressionLevel', 'type': 'str'}, + 'quote_char': {'key': 'typeProperties.quoteChar', 'type': 'object'}, + 'escape_char': {'key': 'typeProperties.escapeChar', 'type': 'object'}, + 'first_row_as_header': {'key': 'typeProperties.firstRowAsHeader', 'type': 'object'}, + 'null_value': {'key': 'typeProperties.nullValue', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(DelimitedTextDataset, self).__init__(**kwargs) + self.type = 'DelimitedText' + self.location = kwargs.get('location', None) + self.column_delimiter = kwargs.get('column_delimiter', None) + self.row_delimiter = kwargs.get('row_delimiter', None) + self.encoding_name = kwargs.get('encoding_name', None) + self.compression_codec = kwargs.get('compression_codec', None) + self.compression_level = kwargs.get('compression_level', None) + self.quote_char = kwargs.get('quote_char', None) + self.escape_char = kwargs.get('escape_char', None) + self.first_row_as_header = kwargs.get('first_row_as_header', None) + self.null_value = kwargs.get('null_value', None) + + +class DocumentDBCollectionDataset(Dataset): + """Microsoft Azure Document Database Collection dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param collection_name: Required. Document Database collection name. Type: string (or + Expression with resultType string). + :type collection_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'collection_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'collection_name': {'key': 'typeProperties.collectionName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(DocumentDBCollectionDataset, self).__init__(**kwargs) + self.type = 'DocumentDbCollection' + self.collection_name = kwargs['collection_name'] + + +class DrillLinkedService(LinkedService): + """Drill server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param pwd: The Azure key vault secret reference of password in connection string. + :type pwd: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(DrillLinkedService, self).__init__(**kwargs) + self.type = 'Drill' + self.connection_string = kwargs.get('connection_string', None) + self.pwd = kwargs.get('pwd', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class DrillTableDataset(Dataset): + """Drill server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Drill. Type: string (or Expression with resultType string). + :type table: object + :param schema_type_properties_schema: The schema name of the Drill. Type: string (or Expression + with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(DrillTableDataset, self).__init__(**kwargs) + self.type = 'DrillTable' + self.table_name = kwargs.get('table_name', None) + self.table = kwargs.get('table', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + + +class DynamicsAxLinkedService(LinkedService): + """Dynamics AX linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. The Dynamics AX (or Dynamics 365 Finance and Operations) instance OData + endpoint. + :type url: object + :param service_principal_id: Required. Specify the application's client ID. Type: string (or + Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: Required. Specify the application's key. Mark this field as a + SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key + Vault. Type: string (or Expression with resultType string). + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :param tenant: Required. Specify the tenant information (domain name or tenant ID) under which + your application resides. Retrieve it by hovering the mouse in the top-right corner of the + Azure portal. Type: string (or Expression with resultType string). + :type tenant: object + :param aad_resource_id: Required. Specify the resource you are requesting authorization. Type: + string (or Expression with resultType string). + :type aad_resource_id: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + 'service_principal_id': {'required': True}, + 'service_principal_key': {'required': True}, + 'tenant': {'required': True}, + 'aad_resource_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'aad_resource_id': {'key': 'typeProperties.aadResourceId', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(DynamicsAxLinkedService, self).__init__(**kwargs) + self.type = 'DynamicsAX' + self.url = kwargs['url'] + self.service_principal_id = kwargs['service_principal_id'] + self.service_principal_key = kwargs['service_principal_key'] + self.tenant = kwargs['tenant'] + self.aad_resource_id = kwargs['aad_resource_id'] + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class DynamicsAxResourceDataset(Dataset): + """The path of the Dynamics AX OData entity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param path: Required. The path of the Dynamics AX OData entity. Type: string (or Expression + with resultType string). + :type path: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'path': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'path': {'key': 'typeProperties.path', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(DynamicsAxResourceDataset, self).__init__(**kwargs) + self.type = 'DynamicsAXResource' + self.path = kwargs['path'] + + +class DynamicsCrmEntityDataset(Dataset): + """The Dynamics CRM entity dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param entity_name: The logical name of the entity. Type: string (or Expression with resultType + string). + :type entity_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'entity_name': {'key': 'typeProperties.entityName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(DynamicsCrmEntityDataset, self).__init__(**kwargs) + self.type = 'DynamicsCrmEntity' + self.entity_name = kwargs.get('entity_name', None) + + +class DynamicsCrmLinkedService(LinkedService): + """Dynamics CRM linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param deployment_type: Required. The deployment type of the Dynamics CRM instance. 'Online' + for Dynamics CRM Online and 'OnPremisesWithIfd' for Dynamics CRM on-premises with Ifd. Type: + string (or Expression with resultType string). Possible values include: "Online", + "OnPremisesWithIfd". + :type deployment_type: str or ~azure.mgmt.datafactory.models.DynamicsDeploymentType + :param host_name: The host name of the on-premises Dynamics CRM server. The property is + required for on-prem and not allowed for online. Type: string (or Expression with resultType + string). + :type host_name: object + :param port: The port of on-premises Dynamics CRM server. The property is required for on-prem + and not allowed for online. Default is 443. Type: integer (or Expression with resultType + integer), minimum: 0. + :type port: object + :param service_uri: The URL to the Microsoft Dynamics CRM server. The property is required for + on-line and not allowed for on-prem. Type: string (or Expression with resultType string). + :type service_uri: object + :param organization_name: The organization name of the Dynamics CRM instance. The property is + required for on-prem and required for online when there are more than one Dynamics CRM + instances associated with the user. Type: string (or Expression with resultType string). + :type organization_name: object + :param authentication_type: Required. The authentication type to connect to Dynamics CRM + server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, + 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or + Expression with resultType string). Possible values include: "Office365", "Ifd", + "AADServicePrincipal". + :type authentication_type: str or ~azure.mgmt.datafactory.models.DynamicsAuthenticationType + :param username: User name to access the Dynamics CRM instance. Type: string (or Expression + with resultType string). + :type username: object + :param password: Password to access the Dynamics CRM instance. + :type password: ~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.DynamicsServicePrincipalCredentialType + :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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'deployment_type': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'}, + 'host_name': {'key': 'typeProperties.hostName', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'}, + 'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', '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'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(DynamicsCrmLinkedService, self).__init__(**kwargs) + self.type = 'DynamicsCrm' + self.deployment_type = kwargs['deployment_type'] + self.host_name = kwargs.get('host_name', None) + self.port = kwargs.get('port', None) + self.service_uri = kwargs.get('service_uri', None) + self.organization_name = kwargs.get('organization_name', None) + self.authentication_type = kwargs['authentication_type'] + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', 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.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class DynamicsEntityDataset(Dataset): + """The Dynamics entity dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param entity_name: The logical name of the entity. Type: string (or Expression with resultType + string). + :type entity_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'entity_name': {'key': 'typeProperties.entityName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(DynamicsEntityDataset, self).__init__(**kwargs) + self.type = 'DynamicsEntity' + self.entity_name = kwargs.get('entity_name', None) + + +class DynamicsLinkedService(LinkedService): + """Dynamics linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param deployment_type: Required. The deployment type of the Dynamics instance. 'Online' for + Dynamics Online and 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or + Expression with resultType string). Possible values include: "Online", "OnPremisesWithIfd". + :type deployment_type: str or ~azure.mgmt.datafactory.models.DynamicsDeploymentType + :param host_name: The host name of the on-premises Dynamics server. The property is required + for on-prem and not allowed for online. Type: string (or Expression with resultType string). + :type host_name: object + :param port: The port of on-premises Dynamics server. The property is required for on-prem and + not allowed for online. Default is 443. Type: integer (or Expression with resultType integer), + minimum: 0. + :type port: object + :param service_uri: The URL to the Microsoft Dynamics server. The property is required for on- + line and not allowed for on-prem. Type: string (or Expression with resultType string). + :type service_uri: object + :param organization_name: The organization name of the Dynamics instance. The property is + required for on-prem and required for online when there are more than one Dynamics instances + associated with the user. Type: string (or Expression with resultType string). + :type organization_name: object + :param authentication_type: Required. The authentication type to connect to Dynamics server. + 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal' + for Server-To-Server authentication in online scenario. Type: string (or Expression with + resultType string). Possible values include: "Office365", "Ifd", "AADServicePrincipal". + :type authentication_type: str or ~azure.mgmt.datafactory.models.DynamicsAuthenticationType + :param username: User name to access the Dynamics instance. Type: string (or Expression with + resultType string). + :type username: object + :param password: Password to access the Dynamics instance. + :type password: ~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.DynamicsServicePrincipalCredentialType + :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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'deployment_type': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'}, + 'host_name': {'key': 'typeProperties.hostName', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'}, + 'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', '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'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(DynamicsLinkedService, self).__init__(**kwargs) + self.type = 'Dynamics' + self.deployment_type = kwargs['deployment_type'] + self.host_name = kwargs.get('host_name', None) + self.port = kwargs.get('port', None) + self.service_uri = kwargs.get('service_uri', None) + self.organization_name = kwargs.get('organization_name', None) + self.authentication_type = kwargs['authentication_type'] + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', 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.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class EloquaLinkedService(LinkedService): + """Eloqua server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of the Eloqua server. (i.e. eloqua.example.com). + :type endpoint: object + :param username: Required. The site name and user name of your Eloqua account in the form: + sitename/username. (i.e. Eloqua/Alice). + :type username: object + :param password: The password corresponding to the user name. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + 'username': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(EloquaLinkedService, self).__init__(**kwargs) + self.type = 'Eloqua' + self.endpoint = kwargs['endpoint'] + self.username = kwargs['username'] + self.password = kwargs.get('password', None) + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class EloquaObjectDataset(Dataset): + """Eloqua server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(EloquaObjectDataset, self).__init__(**kwargs) + self.type = 'EloquaObject' + self.table_name = kwargs.get('table_name', None) + + +class EntityReference(msrest.serialization.Model): + """The entity reference. + + :param type: The type of this referenced entity. Possible values include: + "IntegrationRuntimeReference", "LinkedServiceReference". + :type type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeEntityReferenceType + :param reference_name: The name of this referenced entity. + :type reference_name: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(EntityReference, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.reference_name = kwargs.get('reference_name', None) + + +class ExecuteDataFlowActivity(ExecutionActivity): + """Execute data flow activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param data_flow: Required. Data flow reference. + :type data_flow: ~azure.mgmt.datafactory.models.DataFlowReference + :param staging: Staging info for execute data flow activity. + :type staging: ~azure.mgmt.datafactory.models.DataFlowStagingInfo + :param integration_runtime: The integration runtime reference. + :type integration_runtime: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param compute: Compute properties for data flow activity. + :type compute: ~azure.mgmt.datafactory.models.ExecuteDataFlowActivityTypePropertiesCompute + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'data_flow': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'data_flow': {'key': 'typeProperties.dataFlow', 'type': 'DataFlowReference'}, + 'staging': {'key': 'typeProperties.staging', 'type': 'DataFlowStagingInfo'}, + 'integration_runtime': {'key': 'typeProperties.integrationRuntime', 'type': 'IntegrationRuntimeReference'}, + 'compute': {'key': 'typeProperties.compute', 'type': 'ExecuteDataFlowActivityTypePropertiesCompute'}, + } + + def __init__( + self, + **kwargs + ): + super(ExecuteDataFlowActivity, self).__init__(**kwargs) + self.type = 'ExecuteDataFlow' + self.data_flow = kwargs['data_flow'] + self.staging = kwargs.get('staging', None) + self.integration_runtime = kwargs.get('integration_runtime', None) + self.compute = kwargs.get('compute', None) + + +class ExecuteDataFlowActivityTypePropertiesCompute(msrest.serialization.Model): + """Compute properties for data flow activity. + + :param compute_type: Compute type of the cluster which will execute data flow job. Possible + values include: "General", "MemoryOptimized", "ComputeOptimized". + :type compute_type: str or ~azure.mgmt.datafactory.models.DataFlowComputeType + :param core_count: Core count of the cluster which will execute data flow job. Supported values + are: 8, 16, 32, 48, 80, 144 and 272. + :type core_count: int + """ + + _attribute_map = { + 'compute_type': {'key': 'computeType', 'type': 'str'}, + 'core_count': {'key': 'coreCount', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(ExecuteDataFlowActivityTypePropertiesCompute, self).__init__(**kwargs) + self.compute_type = kwargs.get('compute_type', None) + self.core_count = kwargs.get('core_count', None) + + +class ExecutePipelineActivity(ControlActivity): + """Execute pipeline activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param pipeline: Required. Pipeline reference. + :type pipeline: ~azure.mgmt.datafactory.models.PipelineReference + :param parameters: Pipeline parameters. + :type parameters: dict[str, object] + :param wait_on_completion: Defines whether activity execution will wait for the dependent + pipeline execution to finish. Default is false. + :type wait_on_completion: bool + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'pipeline': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'pipeline': {'key': 'typeProperties.pipeline', 'type': 'PipelineReference'}, + 'parameters': {'key': 'typeProperties.parameters', 'type': '{object}'}, + 'wait_on_completion': {'key': 'typeProperties.waitOnCompletion', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(ExecutePipelineActivity, self).__init__(**kwargs) + self.type = 'ExecutePipeline' + self.pipeline = kwargs['pipeline'] + self.parameters = kwargs.get('parameters', None) + self.wait_on_completion = kwargs.get('wait_on_completion', None) + + +class ExecuteSsisPackageActivity(ExecutionActivity): + """Execute SSIS package activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param package_location: Required. SSIS package location. + :type package_location: ~azure.mgmt.datafactory.models.SsisPackageLocation + :param runtime: Specifies the runtime to execute SSIS package. The value should be "x86" or + "x64". Type: string (or Expression with resultType string). + :type runtime: object + :param logging_level: The logging level of SSIS package execution. Type: string (or Expression + with resultType string). + :type logging_level: object + :param environment_path: The environment path to execute the SSIS package. Type: string (or + Expression with resultType string). + :type environment_path: object + :param execution_credential: The package execution credential. + :type execution_credential: ~azure.mgmt.datafactory.models.SsisExecutionCredential + :param connect_via: Required. The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param project_parameters: The project level parameters to execute the SSIS package. + :type project_parameters: dict[str, ~azure.mgmt.datafactory.models.SsisExecutionParameter] + :param package_parameters: The package level parameters to execute the SSIS package. + :type package_parameters: dict[str, ~azure.mgmt.datafactory.models.SsisExecutionParameter] + :param project_connection_managers: The project level connection managers to execute the SSIS + package. + :type project_connection_managers: dict[str, object] + :param package_connection_managers: The package level connection managers to execute the SSIS + package. + :type package_connection_managers: dict[str, object] + :param property_overrides: The property overrides to execute the SSIS package. + :type property_overrides: dict[str, ~azure.mgmt.datafactory.models.SsisPropertyOverride] + :param log_location: SSIS package execution log location. + :type log_location: ~azure.mgmt.datafactory.models.SsisLogLocation + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'package_location': {'required': True}, + 'connect_via': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'package_location': {'key': 'typeProperties.packageLocation', 'type': 'SsisPackageLocation'}, + 'runtime': {'key': 'typeProperties.runtime', 'type': 'object'}, + 'logging_level': {'key': 'typeProperties.loggingLevel', 'type': 'object'}, + 'environment_path': {'key': 'typeProperties.environmentPath', 'type': 'object'}, + 'execution_credential': {'key': 'typeProperties.executionCredential', 'type': 'SsisExecutionCredential'}, + 'connect_via': {'key': 'typeProperties.connectVia', 'type': 'IntegrationRuntimeReference'}, + 'project_parameters': {'key': 'typeProperties.projectParameters', 'type': '{SsisExecutionParameter}'}, + 'package_parameters': {'key': 'typeProperties.packageParameters', 'type': '{SsisExecutionParameter}'}, + 'project_connection_managers': {'key': 'typeProperties.projectConnectionManagers', 'type': '{object}'}, + 'package_connection_managers': {'key': 'typeProperties.packageConnectionManagers', 'type': '{object}'}, + 'property_overrides': {'key': 'typeProperties.propertyOverrides', 'type': '{SsisPropertyOverride}'}, + 'log_location': {'key': 'typeProperties.logLocation', 'type': 'SsisLogLocation'}, + } + + def __init__( + self, + **kwargs + ): + super(ExecuteSsisPackageActivity, self).__init__(**kwargs) + self.type = 'ExecuteSSISPackage' + self.package_location = kwargs['package_location'] + self.runtime = kwargs.get('runtime', None) + self.logging_level = kwargs.get('logging_level', None) + self.environment_path = kwargs.get('environment_path', None) + self.execution_credential = kwargs.get('execution_credential', None) + self.connect_via = kwargs['connect_via'] + self.project_parameters = kwargs.get('project_parameters', None) + self.package_parameters = kwargs.get('package_parameters', None) + self.project_connection_managers = kwargs.get('project_connection_managers', None) + self.package_connection_managers = kwargs.get('package_connection_managers', None) + self.property_overrides = kwargs.get('property_overrides', None) + self.log_location = kwargs.get('log_location', None) + + +class ExposureControlRequest(msrest.serialization.Model): + """The exposure control request. + + :param feature_name: The feature name. + :type feature_name: str + :param feature_type: The feature type. + :type feature_type: str + """ + + _attribute_map = { + 'feature_name': {'key': 'featureName', 'type': 'str'}, + 'feature_type': {'key': 'featureType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ExposureControlRequest, self).__init__(**kwargs) + self.feature_name = kwargs.get('feature_name', None) + self.feature_type = kwargs.get('feature_type', None) + + +class ExposureControlResponse(msrest.serialization.Model): + """The exposure control response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar feature_name: The feature name. + :vartype feature_name: str + :ivar value: The feature value. + :vartype value: str + """ + + _validation = { + 'feature_name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'feature_name': {'key': 'featureName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ExposureControlResponse, self).__init__(**kwargs) + self.feature_name = None + self.value = None + + +class Expression(msrest.serialization.Model): + """Azure Data Factory expression definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar type: Required. Expression type. Default value: "Expression". + :vartype type: str + :param value: Required. Expression value. + :type value: str + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + type = "Expression" + + def __init__( + self, + **kwargs + ): + super(Expression, self).__init__(**kwargs) + self.value = kwargs['value'] + + +class Resource(msrest.serialization.Model): + """Azure Data Factory top-level resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :ivar e_tag: Etag identifies change in the resource. + :vartype e_tag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'e_tag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.e_tag = None + + +class Factory(Resource): + """Factory resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :ivar e_tag: Etag identifies change in the resource. + :vartype e_tag: str + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param identity: Managed service identity of the factory. + :type identity: ~azure.mgmt.datafactory.models.FactoryIdentity + :ivar provisioning_state: Factory provisioning state, example Succeeded. + :vartype provisioning_state: str + :ivar create_time: Time the factory was created in ISO8601 format. + :vartype create_time: ~datetime.datetime + :ivar version: Version of the factory. + :vartype version: str + :param repo_configuration: Git repo information of the factory. + :type repo_configuration: ~azure.mgmt.datafactory.models.FactoryRepoConfiguration + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'e_tag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'create_time': {'readonly': True}, + 'version': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'identity': {'key': 'identity', 'type': 'FactoryIdentity'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'create_time': {'key': 'properties.createTime', 'type': 'iso-8601'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'repo_configuration': {'key': 'properties.repoConfiguration', 'type': 'FactoryRepoConfiguration'}, + } + + def __init__( + self, + **kwargs + ): + super(Factory, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.identity = kwargs.get('identity', None) + self.provisioning_state = None + self.create_time = None + self.version = None + self.repo_configuration = kwargs.get('repo_configuration', None) + + +class FactoryRepoConfiguration(msrest.serialization.Model): + """Factory's git repo information. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: FactoryGitHubConfiguration, FactoryVstsConfiguration. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of repo configuration.Constant filled by server. + :type type: str + :param account_name: Required. Account name. + :type account_name: str + :param repository_name: Required. Repository name. + :type repository_name: str + :param collaboration_branch: Required. Collaboration branch. + :type collaboration_branch: str + :param root_folder: Required. Root folder. + :type root_folder: str + :param last_commit_id: Last commit id. + :type last_commit_id: str + """ + + _validation = { + 'type': {'required': True}, + 'account_name': {'required': True}, + 'repository_name': {'required': True}, + 'collaboration_branch': {'required': True}, + 'root_folder': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'repository_name': {'key': 'repositoryName', 'type': 'str'}, + 'collaboration_branch': {'key': 'collaborationBranch', 'type': 'str'}, + 'root_folder': {'key': 'rootFolder', 'type': 'str'}, + 'last_commit_id': {'key': 'lastCommitId', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'FactoryGitHubConfiguration': 'FactoryGitHubConfiguration', 'FactoryVSTSConfiguration': 'FactoryVstsConfiguration'} + } + + def __init__( + self, + **kwargs + ): + super(FactoryRepoConfiguration, self).__init__(**kwargs) + self.type = None + self.account_name = kwargs['account_name'] + self.repository_name = kwargs['repository_name'] + self.collaboration_branch = kwargs['collaboration_branch'] + self.root_folder = kwargs['root_folder'] + self.last_commit_id = kwargs.get('last_commit_id', None) + + +class FactoryGitHubConfiguration(FactoryRepoConfiguration): + """Factory's GitHub repo information. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of repo configuration.Constant filled by server. + :type type: str + :param account_name: Required. Account name. + :type account_name: str + :param repository_name: Required. Repository name. + :type repository_name: str + :param collaboration_branch: Required. Collaboration branch. + :type collaboration_branch: str + :param root_folder: Required. Root folder. + :type root_folder: str + :param last_commit_id: Last commit id. + :type last_commit_id: str + :param host_name: GitHub Enterprise host name. For example: https://github.mydomain.com. + :type host_name: str + """ + + _validation = { + 'type': {'required': True}, + 'account_name': {'required': True}, + 'repository_name': {'required': True}, + 'collaboration_branch': {'required': True}, + 'root_folder': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'repository_name': {'key': 'repositoryName', 'type': 'str'}, + 'collaboration_branch': {'key': 'collaborationBranch', 'type': 'str'}, + 'root_folder': {'key': 'rootFolder', 'type': 'str'}, + 'last_commit_id': {'key': 'lastCommitId', 'type': 'str'}, + 'host_name': {'key': 'hostName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(FactoryGitHubConfiguration, self).__init__(**kwargs) + self.type = 'FactoryGitHubConfiguration' + self.host_name = kwargs.get('host_name', None) + + +class FactoryIdentity(msrest.serialization.Model): + """Identity properties of the factory resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar type: Required. The identity type. Currently the only supported type is 'SystemAssigned'. + Default value: "SystemAssigned". + :vartype type: str + :ivar principal_id: The principal id of the identity. + :vartype principal_id: str + :ivar tenant_id: The client tenant id of the identity. + :vartype tenant_id: str + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + type = "SystemAssigned" + + def __init__( + self, + **kwargs + ): + super(FactoryIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + + +class FactoryListResponse(msrest.serialization.Model): + """A list of factory resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of factories. + :type value: list[~azure.mgmt.datafactory.models.Factory] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Factory]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(FactoryListResponse, self).__init__(**kwargs) + self.value = kwargs['value'] + self.next_link = kwargs.get('next_link', None) + + +class FactoryRepoUpdate(msrest.serialization.Model): + """Factory's git repo information. + + :param factory_resource_id: The factory resource id. + :type factory_resource_id: str + :param repo_configuration: Git repo information of the factory. + :type repo_configuration: ~azure.mgmt.datafactory.models.FactoryRepoConfiguration + """ + + _attribute_map = { + 'factory_resource_id': {'key': 'factoryResourceId', 'type': 'str'}, + 'repo_configuration': {'key': 'repoConfiguration', 'type': 'FactoryRepoConfiguration'}, + } + + def __init__( + self, + **kwargs + ): + super(FactoryRepoUpdate, self).__init__(**kwargs) + self.factory_resource_id = kwargs.get('factory_resource_id', None) + self.repo_configuration = kwargs.get('repo_configuration', None) + + +class FactoryUpdateParameters(msrest.serialization.Model): + """Parameters for updating a factory resource. + + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param identity: Managed service identity of the factory. + :type identity: ~azure.mgmt.datafactory.models.FactoryIdentity + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'FactoryIdentity'}, + } + + def __init__( + self, + **kwargs + ): + super(FactoryUpdateParameters, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.identity = kwargs.get('identity', None) + + +class FactoryVstsConfiguration(FactoryRepoConfiguration): + """Factory's VSTS repo information. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of repo configuration.Constant filled by server. + :type type: str + :param account_name: Required. Account name. + :type account_name: str + :param repository_name: Required. Repository name. + :type repository_name: str + :param collaboration_branch: Required. Collaboration branch. + :type collaboration_branch: str + :param root_folder: Required. Root folder. + :type root_folder: str + :param last_commit_id: Last commit id. + :type last_commit_id: str + :param project_name: Required. VSTS project name. + :type project_name: str + :param tenant_id: VSTS tenant id. + :type tenant_id: str + """ + + _validation = { + 'type': {'required': True}, + 'account_name': {'required': True}, + 'repository_name': {'required': True}, + 'collaboration_branch': {'required': True}, + 'root_folder': {'required': True}, + 'project_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'repository_name': {'key': 'repositoryName', 'type': 'str'}, + 'collaboration_branch': {'key': 'collaborationBranch', 'type': 'str'}, + 'root_folder': {'key': 'rootFolder', 'type': 'str'}, + 'last_commit_id': {'key': 'lastCommitId', 'type': 'str'}, + 'project_name': {'key': 'projectName', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(FactoryVstsConfiguration, self).__init__(**kwargs) + self.type = 'FactoryVSTSConfiguration' + self.project_name = kwargs['project_name'] + self.tenant_id = kwargs.get('tenant_id', None) + + +class FileServerLinkedService(LinkedService): + """File system linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. Host name of the server. Type: string (or Expression with resultType + string). + :type host: object + :param user_id: User ID to logon the server. Type: string (or Expression with resultType + string). + :type user_id: object + :param password: Password to logon the server. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'user_id': {'key': 'typeProperties.userId', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(FileServerLinkedService, self).__init__(**kwargs) + self.type = 'FileServer' + self.host = kwargs['host'] + self.user_id = kwargs.get('user_id', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class FileShareDataset(Dataset): + """An on-premises file system dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param folder_path: The path of the on-premises file system. Type: string (or Expression with + resultType string). + :type folder_path: object + :param file_name: The name of the on-premises file system. Type: string (or Expression with + resultType string). + :type file_name: object + :param modified_datetime_start: The start of file's modified datetime. Type: string (or + Expression with resultType string). + :type modified_datetime_start: object + :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression + with resultType string). + :type modified_datetime_end: object + :param format: The format of the files. + :type format: ~azure.mgmt.datafactory.models.DatasetStorageFormat + :param file_filter: Specify a filter to be used to select a subset of files in the folderPath + rather than all files. Type: string (or Expression with resultType string). + :type file_filter: object + :param compression: The data compression method used for the file system. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'}, + 'file_name': {'key': 'typeProperties.fileName', 'type': 'object'}, + 'modified_datetime_start': {'key': 'typeProperties.modifiedDatetimeStart', 'type': 'object'}, + 'modified_datetime_end': {'key': 'typeProperties.modifiedDatetimeEnd', 'type': 'object'}, + 'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'}, + 'file_filter': {'key': 'typeProperties.fileFilter', 'type': 'object'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + **kwargs + ): + super(FileShareDataset, self).__init__(**kwargs) + self.type = 'FileShare' + self.folder_path = kwargs.get('folder_path', None) + self.file_name = kwargs.get('file_name', None) + self.modified_datetime_start = kwargs.get('modified_datetime_start', None) + self.modified_datetime_end = kwargs.get('modified_datetime_end', None) + self.format = kwargs.get('format', None) + self.file_filter = kwargs.get('file_filter', None) + self.compression = kwargs.get('compression', None) + + +class FilterActivity(ControlActivity): + """Filter and return results from input array based on the conditions. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param items: Required. Input array on which filter should be applied. + :type items: ~azure.mgmt.datafactory.models.Expression + :param condition: Required. Condition to be used for filtering the input. + :type condition: ~azure.mgmt.datafactory.models.Expression + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'items': {'required': True}, + 'condition': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'items': {'key': 'typeProperties.items', 'type': 'Expression'}, + 'condition': {'key': 'typeProperties.condition', 'type': 'Expression'}, + } + + def __init__( + self, + **kwargs + ): + super(FilterActivity, self).__init__(**kwargs) + self.type = 'Filter' + self.items = kwargs['items'] + self.condition = kwargs['condition'] + + +class ForEachActivity(ControlActivity): + """This activity is used for iterating over a collection and execute given activities. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param is_sequential: Should the loop be executed in sequence or in parallel (max 50). + :type is_sequential: bool + :param batch_count: Batch count to be used for controlling the number of parallel execution + (when isSequential is set to false). + :type batch_count: int + :param items: Required. Collection to iterate. + :type items: ~azure.mgmt.datafactory.models.Expression + :param activities: Required. List of activities to execute . + :type activities: list[~azure.mgmt.datafactory.models.Activity] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'batch_count': {'maximum': 50}, + 'items': {'required': True}, + 'activities': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'is_sequential': {'key': 'typeProperties.isSequential', 'type': 'bool'}, + 'batch_count': {'key': 'typeProperties.batchCount', 'type': 'int'}, + 'items': {'key': 'typeProperties.items', 'type': 'Expression'}, + 'activities': {'key': 'typeProperties.activities', 'type': '[Activity]'}, + } + + def __init__( + self, + **kwargs + ): + super(ForEachActivity, self).__init__(**kwargs) + self.type = 'ForEach' + self.is_sequential = kwargs.get('is_sequential', None) + self.batch_count = kwargs.get('batch_count', None) + self.items = kwargs['items'] + self.activities = kwargs['activities'] + + +class FtpServerLinkedService(LinkedService): + """A FTP server Linked Service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. Host name of the FTP server. Type: string (or Expression with resultType + string). + :type host: object + :param port: The TCP port number that the FTP server uses to listen for client connections. + Default value is 21. Type: integer (or Expression with resultType integer), minimum: 0. + :type port: object + :param authentication_type: The authentication type to be used to connect to the FTP server. + Possible values include: "Basic", "Anonymous". + :type authentication_type: str or ~azure.mgmt.datafactory.models.FtpAuthenticationType + :param user_name: Username to logon the FTP server. Type: string (or Expression with resultType + string). + :type user_name: object + :param password: Password to logon the FTP server. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + :param enable_ssl: If true, connect to the FTP server over SSL/TLS channel. Default value is + true. Type: boolean (or Expression with resultType boolean). + :type enable_ssl: object + :param enable_server_certificate_validation: If true, validate the FTP server SSL certificate + when connect over SSL/TLS channel. Default value is true. Type: boolean (or Expression with + resultType boolean). + :type enable_server_certificate_validation: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'enable_server_certificate_validation': {'key': 'typeProperties.enableServerCertificateValidation', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(FtpServerLinkedService, self).__init__(**kwargs) + self.type = 'FtpServer' + self.host = kwargs['host'] + self.port = kwargs.get('port', None) + self.authentication_type = kwargs.get('authentication_type', None) + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.enable_ssl = kwargs.get('enable_ssl', None) + self.enable_server_certificate_validation = kwargs.get('enable_server_certificate_validation', None) + + +class GetDataFactoryOperationStatusResponse(msrest.serialization.Model): + """Response body structure for get data factory operation status. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param status: Status of the operation. + :type status: str + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GetDataFactoryOperationStatusResponse, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.status = kwargs.get('status', None) + + +class GetMetadataActivity(ExecutionActivity): + """Activity to get metadata of dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param dataset: Required. GetMetadata activity dataset reference. + :type dataset: ~azure.mgmt.datafactory.models.DatasetReference + :param field_list: Fields of metadata to get from dataset. + :type field_list: list[object] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'dataset': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'}, + 'field_list': {'key': 'typeProperties.fieldList', 'type': '[object]'}, + } + + def __init__( + self, + **kwargs + ): + super(GetMetadataActivity, self).__init__(**kwargs) + self.type = 'GetMetadata' + self.dataset = kwargs['dataset'] + self.field_list = kwargs.get('field_list', None) + + +class GetSsisObjectMetadataRequest(msrest.serialization.Model): + """The request payload of get SSIS object metadata. + + :param metadata_path: Metadata path. + :type metadata_path: str + """ + + _attribute_map = { + 'metadata_path': {'key': 'metadataPath', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GetSsisObjectMetadataRequest, self).__init__(**kwargs) + self.metadata_path = kwargs.get('metadata_path', None) + + +class GitHubAccessTokenRequest(msrest.serialization.Model): + """Get GitHub access token request definition. + + All required parameters must be populated in order to send to Azure. + + :param git_hub_access_code: Required. GitHub access code. + :type git_hub_access_code: str + :param git_hub_client_id: GitHub application client ID. + :type git_hub_client_id: str + :param git_hub_access_token_base_url: Required. GitHub access token base URL. + :type git_hub_access_token_base_url: str + """ + + _validation = { + 'git_hub_access_code': {'required': True}, + 'git_hub_access_token_base_url': {'required': True}, + } + + _attribute_map = { + 'git_hub_access_code': {'key': 'gitHubAccessCode', 'type': 'str'}, + 'git_hub_client_id': {'key': 'gitHubClientId', 'type': 'str'}, + 'git_hub_access_token_base_url': {'key': 'gitHubAccessTokenBaseUrl', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GitHubAccessTokenRequest, self).__init__(**kwargs) + self.git_hub_access_code = kwargs['git_hub_access_code'] + self.git_hub_client_id = kwargs.get('git_hub_client_id', None) + self.git_hub_access_token_base_url = kwargs['git_hub_access_token_base_url'] + + +class GitHubAccessTokenResponse(msrest.serialization.Model): + """Get GitHub access token response definition. + + :param git_hub_access_token: GitHub access token. + :type git_hub_access_token: str + """ + + _attribute_map = { + 'git_hub_access_token': {'key': 'gitHubAccessToken', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GitHubAccessTokenResponse, self).__init__(**kwargs) + self.git_hub_access_token = kwargs.get('git_hub_access_token', None) + + +class GoogleAdWordsLinkedService(LinkedService): + """Google AdWords service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param client_customer_id: Required. The Client customer ID of the AdWords account that you + want to fetch report data for. + :type client_customer_id: object + :param developer_token: Required. The developer token associated with the manager account that + you use to grant access to the AdWords API. + :type developer_token: ~azure.mgmt.datafactory.models.SecretBase + :param authentication_type: Required. The OAuth 2.0 authentication mechanism used for + authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values + include: "ServiceAuthentication", "UserAuthentication". + :type authentication_type: str or + ~azure.mgmt.datafactory.models.GoogleAdWordsAuthenticationType + :param refresh_token: The refresh token obtained from Google for authorizing access to AdWords + for UserAuthentication. + :type refresh_token: ~azure.mgmt.datafactory.models.SecretBase + :param client_id: The client id of the google application used to acquire the refresh token. + Type: string (or Expression with resultType string). + :type client_id: object + :param client_secret: The client secret of the google application used to acquire the refresh + token. + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param email: The service account email ID that is used for ServiceAuthentication and can only + be used on self-hosted IR. + :type email: object + :param key_file_path: The full path to the .p12 key file that is used to authenticate the + service account email address and can only be used on self-hosted IR. + :type key_file_path: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust + store or from a specified PEM file. The default value is false. + :type use_system_trust_store: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'client_customer_id': {'required': True}, + 'developer_token': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'client_customer_id': {'key': 'typeProperties.clientCustomerID', 'type': 'object'}, + 'developer_token': {'key': 'typeProperties.developerToken', 'type': 'SecretBase'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'refresh_token': {'key': 'typeProperties.refreshToken', 'type': 'SecretBase'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'email': {'key': 'typeProperties.email', 'type': 'object'}, + 'key_file_path': {'key': 'typeProperties.keyFilePath', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(GoogleAdWordsLinkedService, self).__init__(**kwargs) + self.type = 'GoogleAdWords' + self.client_customer_id = kwargs['client_customer_id'] + self.developer_token = kwargs['developer_token'] + self.authentication_type = kwargs['authentication_type'] + self.refresh_token = kwargs.get('refresh_token', None) + self.client_id = kwargs.get('client_id', None) + self.client_secret = kwargs.get('client_secret', None) + self.email = kwargs.get('email', None) + self.key_file_path = kwargs.get('key_file_path', None) + self.trusted_cert_path = kwargs.get('trusted_cert_path', None) + self.use_system_trust_store = kwargs.get('use_system_trust_store', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class GoogleAdWordsObjectDataset(Dataset): + """Google AdWords service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(GoogleAdWordsObjectDataset, self).__init__(**kwargs) + self.type = 'GoogleAdWordsObject' + self.table_name = kwargs.get('table_name', None) + + +class GoogleBigQueryLinkedService(LinkedService): + """Google BigQuery service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param project: Required. The default BigQuery project to query against. + :type project: object + :param additional_projects: A comma-separated list of public BigQuery projects to access. + :type additional_projects: object + :param request_google_drive_scope: Whether to request access to Google Drive. Allowing Google + Drive access enables support for federated tables that combine BigQuery data with data from + Google Drive. The default value is false. + :type request_google_drive_scope: object + :param authentication_type: Required. The OAuth 2.0 authentication mechanism used for + authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values + include: "ServiceAuthentication", "UserAuthentication". + :type authentication_type: str or + ~azure.mgmt.datafactory.models.GoogleBigQueryAuthenticationType + :param refresh_token: The refresh token obtained from Google for authorizing access to BigQuery + for UserAuthentication. + :type refresh_token: ~azure.mgmt.datafactory.models.SecretBase + :param client_id: The client id of the google application used to acquire the refresh token. + Type: string (or Expression with resultType string). + :type client_id: object + :param client_secret: The client secret of the google application used to acquire the refresh + token. + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param email: The service account email ID that is used for ServiceAuthentication and can only + be used on self-hosted IR. + :type email: object + :param key_file_path: The full path to the .p12 key file that is used to authenticate the + service account email address and can only be used on self-hosted IR. + :type key_file_path: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust + store or from a specified PEM file. The default value is false. + :type use_system_trust_store: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'project': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'project': {'key': 'typeProperties.project', 'type': 'object'}, + 'additional_projects': {'key': 'typeProperties.additionalProjects', 'type': 'object'}, + 'request_google_drive_scope': {'key': 'typeProperties.requestGoogleDriveScope', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'refresh_token': {'key': 'typeProperties.refreshToken', 'type': 'SecretBase'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'email': {'key': 'typeProperties.email', 'type': 'object'}, + 'key_file_path': {'key': 'typeProperties.keyFilePath', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(GoogleBigQueryLinkedService, self).__init__(**kwargs) + self.type = 'GoogleBigQuery' + self.project = kwargs['project'] + self.additional_projects = kwargs.get('additional_projects', None) + self.request_google_drive_scope = kwargs.get('request_google_drive_scope', None) + self.authentication_type = kwargs['authentication_type'] + self.refresh_token = kwargs.get('refresh_token', None) + self.client_id = kwargs.get('client_id', None) + self.client_secret = kwargs.get('client_secret', None) + self.email = kwargs.get('email', None) + self.key_file_path = kwargs.get('key_file_path', None) + self.trusted_cert_path = kwargs.get('trusted_cert_path', None) + self.use_system_trust_store = kwargs.get('use_system_trust_store', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class GoogleBigQueryObjectDataset(Dataset): + """Google BigQuery service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using database + table + properties instead. + :type table_name: object + :param table: The table name of the Google BigQuery. Type: string (or Expression with + resultType string). + :type table: object + :param dataset: The database name of the Google BigQuery. Type: string (or Expression with + resultType string). + :type dataset: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'dataset': {'key': 'typeProperties.dataset', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(GoogleBigQueryObjectDataset, self).__init__(**kwargs) + self.type = 'GoogleBigQueryObject' + self.table_name = kwargs.get('table_name', None) + self.table = kwargs.get('table', None) + self.dataset = kwargs.get('dataset', None) + + +class GoogleCloudStorageLinkedService(LinkedService): + """Linked service for Google Cloud Storage. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param access_key_id: The access key identifier of the Google Cloud Storage Identity and Access + Management (IAM) user. Type: string (or Expression with resultType string). + :type access_key_id: object + :param secret_access_key: The secret access key of the Google Cloud Storage Identity and Access + Management (IAM) user. + :type secret_access_key: ~azure.mgmt.datafactory.models.SecretBase + :param service_url: This value specifies the endpoint to access with the Google Cloud Storage + Connector. This is an optional property; change it only if you want to try a different service + endpoint or want to switch between https and http. Type: string (or Expression with resultType + string). + :type service_url: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'}, + 'secret_access_key': {'key': 'typeProperties.secretAccessKey', 'type': 'SecretBase'}, + 'service_url': {'key': 'typeProperties.serviceUrl', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(GoogleCloudStorageLinkedService, self).__init__(**kwargs) + self.type = 'GoogleCloudStorage' + self.access_key_id = kwargs.get('access_key_id', None) + self.secret_access_key = kwargs.get('secret_access_key', None) + self.service_url = kwargs.get('service_url', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class GreenplumLinkedService(LinkedService): + """Greenplum Database linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param pwd: The Azure key vault secret reference of password in connection string. + :type pwd: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(GreenplumLinkedService, self).__init__(**kwargs) + self.type = 'Greenplum' + self.connection_string = kwargs.get('connection_string', None) + self.pwd = kwargs.get('pwd', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class GreenplumTableDataset(Dataset): + """Greenplum Database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of Greenplum. Type: string (or Expression with resultType string). + :type table: object + :param schema_type_properties_schema: The schema name of Greenplum. Type: string (or Expression + with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(GreenplumTableDataset, self).__init__(**kwargs) + self.type = 'GreenplumTable' + self.table_name = kwargs.get('table_name', None) + self.table = kwargs.get('table', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + + +class HBaseLinkedService(LinkedService): + """HBase server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The IP address or host name of the HBase server. (i.e. 192.168.222.160). + :type host: object + :param port: The TCP port that the HBase instance uses to listen for client connections. The + default value is 9090. + :type port: object + :param http_path: The partial URL corresponding to the HBase server. (i.e. + /gateway/sandbox/hbase/version). + :type http_path: object + :param authentication_type: Required. The authentication mechanism to use to connect to the + HBase server. Possible values include: "Anonymous", "Basic". + :type authentication_type: str or ~azure.mgmt.datafactory.models.HBaseAuthenticationType + :param username: The user name used to connect to the HBase instance. + :type username: object + :param password: The password corresponding to the user name. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The + default value is false. + :type enable_ssl: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate + name to match the host name of the server when connecting over SSL. The default value is false. + :type allow_host_name_cn_mismatch: object + :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from + the server. The default value is false. + :type allow_self_signed_server_cert: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'}, + 'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(HBaseLinkedService, self).__init__(**kwargs) + self.type = 'HBase' + self.host = kwargs['host'] + self.port = kwargs.get('port', None) + self.http_path = kwargs.get('http_path', None) + self.authentication_type = kwargs['authentication_type'] + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.enable_ssl = kwargs.get('enable_ssl', None) + self.trusted_cert_path = kwargs.get('trusted_cert_path', None) + self.allow_host_name_cn_mismatch = kwargs.get('allow_host_name_cn_mismatch', None) + self.allow_self_signed_server_cert = kwargs.get('allow_self_signed_server_cert', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class HBaseObjectDataset(Dataset): + """HBase server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(HBaseObjectDataset, self).__init__(**kwargs) + self.type = 'HBaseObject' + self.table_name = kwargs.get('table_name', None) + + +class HdfsLinkedService(LinkedService): + """Hadoop Distributed File System (HDFS) linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. The URL of the HDFS service endpoint, e.g. + http://myhostname:50070/webhdfs/v1 . Type: string (or Expression with resultType string). + :type url: object + :param authentication_type: Type of authentication used to connect to the HDFS. Possible values + are: Anonymous and Windows. Type: string (or Expression with resultType string). + :type authentication_type: object + :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). + :type encrypted_credential: object + :param user_name: User name for Windows authentication. Type: string (or Expression with + resultType string). + :type user_name: object + :param password: Password for Windows authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + } + + def __init__( + self, + **kwargs + ): + super(HdfsLinkedService, self).__init__(**kwargs) + self.type = 'Hdfs' + self.url = kwargs['url'] + self.authentication_type = kwargs.get('authentication_type', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + + +class HdInsightHiveActivity(ExecutionActivity): + """HDInsight Hive activity type. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param storage_linked_services: Storage linked service references. + :type storage_linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceReference] + :param arguments: User specified arguments to HDInsightActivity. + :type arguments: list[object] + :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure". + :type get_debug_info: str or ~azure.mgmt.datafactory.models.HdInsightActivityDebugInfoOption + :param script_path: Script path. Type: string (or Expression with resultType string). + :type script_path: object + :param script_linked_service: Script linked service reference. + :type script_linked_service: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param defines: Allows user to specify defines for Hive job request. + :type defines: dict[str, object] + :param variables: User specified arguments under hivevar namespace. + :type variables: list[object] + :param query_timeout: Query timeout value (in minutes). Effective when the HDInsight cluster + is with ESP (Enterprise Security Package). + :type query_timeout: int + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'}, + 'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'}, + 'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'}, + 'script_path': {'key': 'typeProperties.scriptPath', 'type': 'object'}, + 'script_linked_service': {'key': 'typeProperties.scriptLinkedService', 'type': 'LinkedServiceReference'}, + 'defines': {'key': 'typeProperties.defines', 'type': '{object}'}, + 'variables': {'key': 'typeProperties.variables', 'type': '[object]'}, + 'query_timeout': {'key': 'typeProperties.queryTimeout', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(HdInsightHiveActivity, self).__init__(**kwargs) + self.type = 'HDInsightHive' + self.storage_linked_services = kwargs.get('storage_linked_services', None) + self.arguments = kwargs.get('arguments', None) + self.get_debug_info = kwargs.get('get_debug_info', None) + self.script_path = kwargs.get('script_path', None) + self.script_linked_service = kwargs.get('script_linked_service', None) + self.defines = kwargs.get('defines', None) + self.variables = kwargs.get('variables', None) + self.query_timeout = kwargs.get('query_timeout', None) + + +class HdInsightLinkedService(LinkedService): + """HDInsight linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param cluster_uri: Required. HDInsight cluster URI. Type: string (or Expression with + resultType string). + :type cluster_uri: object + :param user_name: HDInsight cluster user name. Type: string (or Expression with resultType + string). + :type user_name: object + :param password: HDInsight cluster password. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param linked_service_name: The Azure Storage linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param hcatalog_linked_service_name: A reference to the Azure SQL linked service that points to + the HCatalog database. + :type hcatalog_linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :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). + :type encrypted_credential: object + :param is_esp_enabled: Specify if the HDInsight is created with ESP (Enterprise Security + Package). Type: Boolean. + :type is_esp_enabled: object + :param file_system: Specify the FileSystem if the main storage for the HDInsight is ADLS Gen2. + Type: string (or Expression with resultType string). + :type file_system: object + """ + + _validation = { + 'type': {'required': True}, + 'cluster_uri': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'cluster_uri': {'key': 'typeProperties.clusterUri', 'type': 'object'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'linked_service_name': {'key': 'typeProperties.linkedServiceName', 'type': 'LinkedServiceReference'}, + 'hcatalog_linked_service_name': {'key': 'typeProperties.hcatalogLinkedServiceName', 'type': 'LinkedServiceReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'is_esp_enabled': {'key': 'typeProperties.isEspEnabled', 'type': 'object'}, + 'file_system': {'key': 'typeProperties.fileSystem', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(HdInsightLinkedService, self).__init__(**kwargs) + self.type = 'HDInsight' + self.cluster_uri = kwargs['cluster_uri'] + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.linked_service_name = kwargs.get('linked_service_name', None) + self.hcatalog_linked_service_name = kwargs.get('hcatalog_linked_service_name', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.is_esp_enabled = kwargs.get('is_esp_enabled', None) + self.file_system = kwargs.get('file_system', None) + + +class HdInsightMapReduceActivity(ExecutionActivity): + """HDInsight MapReduce activity type. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param storage_linked_services: Storage linked service references. + :type storage_linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceReference] + :param arguments: User specified arguments to HDInsightActivity. + :type arguments: list[object] + :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure". + :type get_debug_info: str or ~azure.mgmt.datafactory.models.HdInsightActivityDebugInfoOption + :param class_name: Required. Class name. Type: string (or Expression with resultType string). + :type class_name: object + :param jar_file_path: Required. Jar path. Type: string (or Expression with resultType string). + :type jar_file_path: object + :param jar_linked_service: Jar linked service reference. + :type jar_linked_service: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param jar_libs: Jar libs. + :type jar_libs: list[object] + :param defines: Allows user to specify defines for the MapReduce job request. + :type defines: dict[str, object] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'class_name': {'required': True}, + 'jar_file_path': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'}, + 'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'}, + 'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'}, + 'class_name': {'key': 'typeProperties.className', 'type': 'object'}, + 'jar_file_path': {'key': 'typeProperties.jarFilePath', 'type': 'object'}, + 'jar_linked_service': {'key': 'typeProperties.jarLinkedService', 'type': 'LinkedServiceReference'}, + 'jar_libs': {'key': 'typeProperties.jarLibs', 'type': '[object]'}, + 'defines': {'key': 'typeProperties.defines', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(HdInsightMapReduceActivity, self).__init__(**kwargs) + self.type = 'HDInsightMapReduce' + self.storage_linked_services = kwargs.get('storage_linked_services', None) + self.arguments = kwargs.get('arguments', None) + self.get_debug_info = kwargs.get('get_debug_info', None) + self.class_name = kwargs['class_name'] + self.jar_file_path = kwargs['jar_file_path'] + self.jar_linked_service = kwargs.get('jar_linked_service', None) + self.jar_libs = kwargs.get('jar_libs', None) + self.defines = kwargs.get('defines', None) + + +class HdInsightOnDemandLinkedService(LinkedService): + """HDInsight ondemand linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param cluster_size: Required. Number of worker/data nodes in the cluster. Suggestion value: 4. + Type: string (or Expression with resultType string). + :type cluster_size: object + :param time_to_live: Required. The allowed idle time for the on-demand HDInsight cluster. + Specifies how long the on-demand HDInsight cluster stays alive after completion of an activity + run if there are no other active jobs in the cluster. The minimum value is 5 mins. Type: string + (or Expression with resultType string). + :type time_to_live: object + :param version: Required. Version of the HDInsight cluster.  Type: string (or Expression with + resultType string). + :type version: object + :param linked_service_name: Required. Azure Storage linked service to be used by the on-demand + cluster for storing and processing data. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param host_subscription_id: Required. The customer’s subscription to host the cluster. Type: + string (or Expression with resultType string). + :type host_subscription_id: object + :param service_principal_id: The service principal id for the hostSubscriptionId. Type: string + (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The key for the service principal id. + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :param tenant: Required. The Tenant id/name to which the service principal belongs. Type: + string (or Expression with resultType string). + :type tenant: object + :param cluster_resource_group: Required. The resource group where the cluster belongs. Type: + string (or Expression with resultType string). + :type cluster_resource_group: object + :param cluster_name_prefix: The prefix of cluster name, postfix will be distinct with + timestamp. Type: string (or Expression with resultType string). + :type cluster_name_prefix: object + :param cluster_user_name: The username to access the cluster. Type: string (or Expression with + resultType string). + :type cluster_user_name: object + :param cluster_password: The password to access the cluster. + :type cluster_password: ~azure.mgmt.datafactory.models.SecretBase + :param cluster_ssh_user_name: The username to SSH remotely connect to cluster’s node (for + Linux). Type: string (or Expression with resultType string). + :type cluster_ssh_user_name: object + :param cluster_ssh_password: The password to SSH remotely connect cluster’s node (for Linux). + :type cluster_ssh_password: ~azure.mgmt.datafactory.models.SecretBase + :param additional_linked_service_names: Specifies additional storage accounts for the HDInsight + linked service so that the Data Factory service can register them on your behalf. + :type additional_linked_service_names: + list[~azure.mgmt.datafactory.models.LinkedServiceReference] + :param hcatalog_linked_service_name: The name of Azure SQL linked service that point to the + HCatalog database. The on-demand HDInsight cluster is created by using the Azure SQL database + as the metastore. + :type hcatalog_linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param cluster_type: The cluster type. Type: string (or Expression with resultType string). + :type cluster_type: object + :param spark_version: The version of spark if the cluster type is 'spark'. Type: string (or + Expression with resultType string). + :type spark_version: object + :param core_configuration: Specifies the core configuration parameters (as in core-site.xml) + for the HDInsight cluster to be created. + :type core_configuration: object + :param h_base_configuration: Specifies the HBase configuration parameters (hbase-site.xml) for + the HDInsight cluster. + :type h_base_configuration: object + :param hdfs_configuration: Specifies the HDFS configuration parameters (hdfs-site.xml) for the + HDInsight cluster. + :type hdfs_configuration: object + :param hive_configuration: Specifies the hive configuration parameters (hive-site.xml) for the + HDInsight cluster. + :type hive_configuration: object + :param map_reduce_configuration: Specifies the MapReduce configuration parameters (mapred- + site.xml) for the HDInsight cluster. + :type map_reduce_configuration: object + :param oozie_configuration: Specifies the Oozie configuration parameters (oozie-site.xml) for + the HDInsight cluster. + :type oozie_configuration: object + :param storm_configuration: Specifies the Storm configuration parameters (storm-site.xml) for + the HDInsight cluster. + :type storm_configuration: object + :param yarn_configuration: Specifies the Yarn configuration parameters (yarn-site.xml) for the + HDInsight cluster. + :type yarn_configuration: object + :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). + :type encrypted_credential: object + :param head_node_size: Specifies the size of the head node for the HDInsight cluster. + :type head_node_size: object + :param data_node_size: Specifies the size of the data node for the HDInsight cluster. + :type data_node_size: object + :param zookeeper_node_size: Specifies the size of the Zoo Keeper node for the HDInsight + cluster. + :type zookeeper_node_size: object + :param script_actions: Custom script actions to run on HDI ondemand cluster once it's up. + Please refer to https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-hadoop-customize- + cluster-linux?toc=%2Fen-us%2Fazure%2Fhdinsight%2Fr-server%2FTOC.json&bc=%2Fen- + us%2Fazure%2Fbread%2Ftoc.json#understanding-script-actions. + :type script_actions: list[~azure.mgmt.datafactory.models.ScriptAction] + :param virtual_network_id: The ARM resource ID for the vNet to which the cluster should be + joined after creation. Type: string (or Expression with resultType string). + :type virtual_network_id: object + :param subnet_name: The ARM resource ID for the subnet in the vNet. If virtualNetworkId was + specified, then this property is required. Type: string (or Expression with resultType string). + :type subnet_name: object + """ + + _validation = { + 'type': {'required': True}, + 'cluster_size': {'required': True}, + 'time_to_live': {'required': True}, + 'version': {'required': True}, + 'linked_service_name': {'required': True}, + 'host_subscription_id': {'required': True}, + 'tenant': {'required': True}, + 'cluster_resource_group': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'cluster_size': {'key': 'typeProperties.clusterSize', 'type': 'object'}, + 'time_to_live': {'key': 'typeProperties.timeToLive', 'type': 'object'}, + 'version': {'key': 'typeProperties.version', 'type': 'object'}, + 'linked_service_name': {'key': 'typeProperties.linkedServiceName', 'type': 'LinkedServiceReference'}, + 'host_subscription_id': {'key': 'typeProperties.hostSubscriptionId', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'cluster_resource_group': {'key': 'typeProperties.clusterResourceGroup', 'type': 'object'}, + 'cluster_name_prefix': {'key': 'typeProperties.clusterNamePrefix', 'type': 'object'}, + 'cluster_user_name': {'key': 'typeProperties.clusterUserName', 'type': 'object'}, + 'cluster_password': {'key': 'typeProperties.clusterPassword', 'type': 'SecretBase'}, + 'cluster_ssh_user_name': {'key': 'typeProperties.clusterSshUserName', 'type': 'object'}, + 'cluster_ssh_password': {'key': 'typeProperties.clusterSshPassword', 'type': 'SecretBase'}, + 'additional_linked_service_names': {'key': 'typeProperties.additionalLinkedServiceNames', 'type': '[LinkedServiceReference]'}, + 'hcatalog_linked_service_name': {'key': 'typeProperties.hcatalogLinkedServiceName', 'type': 'LinkedServiceReference'}, + 'cluster_type': {'key': 'typeProperties.clusterType', 'type': 'object'}, + 'spark_version': {'key': 'typeProperties.sparkVersion', 'type': 'object'}, + 'core_configuration': {'key': 'typeProperties.coreConfiguration', 'type': 'object'}, + 'h_base_configuration': {'key': 'typeProperties.hBaseConfiguration', 'type': 'object'}, + 'hdfs_configuration': {'key': 'typeProperties.hdfsConfiguration', 'type': 'object'}, + 'hive_configuration': {'key': 'typeProperties.hiveConfiguration', 'type': 'object'}, + 'map_reduce_configuration': {'key': 'typeProperties.mapReduceConfiguration', 'type': 'object'}, + 'oozie_configuration': {'key': 'typeProperties.oozieConfiguration', 'type': 'object'}, + 'storm_configuration': {'key': 'typeProperties.stormConfiguration', 'type': 'object'}, + 'yarn_configuration': {'key': 'typeProperties.yarnConfiguration', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'head_node_size': {'key': 'typeProperties.headNodeSize', 'type': 'object'}, + 'data_node_size': {'key': 'typeProperties.dataNodeSize', 'type': 'object'}, + 'zookeeper_node_size': {'key': 'typeProperties.zookeeperNodeSize', 'type': 'object'}, + 'script_actions': {'key': 'typeProperties.scriptActions', 'type': '[ScriptAction]'}, + 'virtual_network_id': {'key': 'typeProperties.virtualNetworkId', 'type': 'object'}, + 'subnet_name': {'key': 'typeProperties.subnetName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(HdInsightOnDemandLinkedService, self).__init__(**kwargs) + self.type = 'HDInsightOnDemand' + self.cluster_size = kwargs['cluster_size'] + self.time_to_live = kwargs['time_to_live'] + self.version = kwargs['version'] + self.linked_service_name = kwargs['linked_service_name'] + self.host_subscription_id = kwargs['host_subscription_id'] + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_key = kwargs.get('service_principal_key', None) + self.tenant = kwargs['tenant'] + self.cluster_resource_group = kwargs['cluster_resource_group'] + self.cluster_name_prefix = kwargs.get('cluster_name_prefix', None) + self.cluster_user_name = kwargs.get('cluster_user_name', None) + self.cluster_password = kwargs.get('cluster_password', None) + self.cluster_ssh_user_name = kwargs.get('cluster_ssh_user_name', None) + self.cluster_ssh_password = kwargs.get('cluster_ssh_password', None) + self.additional_linked_service_names = kwargs.get('additional_linked_service_names', None) + self.hcatalog_linked_service_name = kwargs.get('hcatalog_linked_service_name', None) + self.cluster_type = kwargs.get('cluster_type', None) + self.spark_version = kwargs.get('spark_version', None) + self.core_configuration = kwargs.get('core_configuration', None) + self.h_base_configuration = kwargs.get('h_base_configuration', None) + self.hdfs_configuration = kwargs.get('hdfs_configuration', None) + self.hive_configuration = kwargs.get('hive_configuration', None) + self.map_reduce_configuration = kwargs.get('map_reduce_configuration', None) + self.oozie_configuration = kwargs.get('oozie_configuration', None) + self.storm_configuration = kwargs.get('storm_configuration', None) + self.yarn_configuration = kwargs.get('yarn_configuration', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.head_node_size = kwargs.get('head_node_size', None) + self.data_node_size = kwargs.get('data_node_size', None) + self.zookeeper_node_size = kwargs.get('zookeeper_node_size', None) + self.script_actions = kwargs.get('script_actions', None) + self.virtual_network_id = kwargs.get('virtual_network_id', None) + self.subnet_name = kwargs.get('subnet_name', None) + + +class HdInsightPigActivity(ExecutionActivity): + """HDInsight Pig activity type. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param storage_linked_services: Storage linked service references. + :type storage_linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceReference] + :param arguments: User specified arguments to HDInsightActivity. Type: array (or Expression + with resultType array). + :type arguments: object + :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure". + :type get_debug_info: str or ~azure.mgmt.datafactory.models.HdInsightActivityDebugInfoOption + :param script_path: Script path. Type: string (or Expression with resultType string). + :type script_path: object + :param script_linked_service: Script linked service reference. + :type script_linked_service: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param defines: Allows user to specify defines for Pig job request. + :type defines: dict[str, object] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'}, + 'arguments': {'key': 'typeProperties.arguments', 'type': 'object'}, + 'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'}, + 'script_path': {'key': 'typeProperties.scriptPath', 'type': 'object'}, + 'script_linked_service': {'key': 'typeProperties.scriptLinkedService', 'type': 'LinkedServiceReference'}, + 'defines': {'key': 'typeProperties.defines', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(HdInsightPigActivity, self).__init__(**kwargs) + self.type = 'HDInsightPig' + self.storage_linked_services = kwargs.get('storage_linked_services', None) + self.arguments = kwargs.get('arguments', None) + self.get_debug_info = kwargs.get('get_debug_info', None) + self.script_path = kwargs.get('script_path', None) + self.script_linked_service = kwargs.get('script_linked_service', None) + self.defines = kwargs.get('defines', None) + + +class HdInsightSparkActivity(ExecutionActivity): + """HDInsight Spark activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param root_path: Required. The root path in 'sparkJobLinkedService' for all the job’s files. + Type: string (or Expression with resultType string). + :type root_path: object + :param entry_file_path: Required. The relative path to the root folder of the code/package to + be executed. Type: string (or Expression with resultType string). + :type entry_file_path: object + :param arguments: The user-specified arguments to HDInsightSparkActivity. + :type arguments: list[object] + :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure". + :type get_debug_info: str or ~azure.mgmt.datafactory.models.HdInsightActivityDebugInfoOption + :param spark_job_linked_service: The storage linked service for uploading the entry file and + dependencies, and for receiving logs. + :type spark_job_linked_service: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param class_name: The application's Java/Spark main class. + :type class_name: str + :param proxy_user: The user to impersonate that will execute the job. Type: string (or + Expression with resultType string). + :type proxy_user: object + :param spark_config: Spark configuration property. + :type spark_config: dict[str, object] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'root_path': {'required': True}, + 'entry_file_path': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'root_path': {'key': 'typeProperties.rootPath', 'type': 'object'}, + 'entry_file_path': {'key': 'typeProperties.entryFilePath', 'type': 'object'}, + 'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'}, + 'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'}, + 'spark_job_linked_service': {'key': 'typeProperties.sparkJobLinkedService', 'type': 'LinkedServiceReference'}, + 'class_name': {'key': 'typeProperties.className', 'type': 'str'}, + 'proxy_user': {'key': 'typeProperties.proxyUser', 'type': 'object'}, + 'spark_config': {'key': 'typeProperties.sparkConfig', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(HdInsightSparkActivity, self).__init__(**kwargs) + self.type = 'HDInsightSpark' + self.root_path = kwargs['root_path'] + self.entry_file_path = kwargs['entry_file_path'] + self.arguments = kwargs.get('arguments', None) + self.get_debug_info = kwargs.get('get_debug_info', None) + self.spark_job_linked_service = kwargs.get('spark_job_linked_service', None) + self.class_name = kwargs.get('class_name', None) + self.proxy_user = kwargs.get('proxy_user', None) + self.spark_config = kwargs.get('spark_config', None) + + +class HdInsightStreamingActivity(ExecutionActivity): + """HDInsight streaming activity type. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param storage_linked_services: Storage linked service references. + :type storage_linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceReference] + :param arguments: User specified arguments to HDInsightActivity. + :type arguments: list[object] + :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure". + :type get_debug_info: str or ~azure.mgmt.datafactory.models.HdInsightActivityDebugInfoOption + :param mapper: Required. Mapper executable name. Type: string (or Expression with resultType + string). + :type mapper: object + :param reducer: Required. Reducer executable name. Type: string (or Expression with resultType + string). + :type reducer: object + :param input: Required. Input blob path. Type: string (or Expression with resultType string). + :type input: object + :param output: Required. Output blob path. Type: string (or Expression with resultType string). + :type output: object + :param file_paths: Required. Paths to streaming job files. Can be directories. + :type file_paths: list[object] + :param file_linked_service: Linked service reference where the files are located. + :type file_linked_service: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param combiner: Combiner executable name. Type: string (or Expression with resultType string). + :type combiner: object + :param command_environment: Command line environment values. + :type command_environment: list[object] + :param defines: Allows user to specify defines for streaming job request. + :type defines: dict[str, object] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'mapper': {'required': True}, + 'reducer': {'required': True}, + 'input': {'required': True}, + 'output': {'required': True}, + 'file_paths': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'}, + 'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'}, + 'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'}, + 'mapper': {'key': 'typeProperties.mapper', 'type': 'object'}, + 'reducer': {'key': 'typeProperties.reducer', 'type': 'object'}, + 'input': {'key': 'typeProperties.input', 'type': 'object'}, + 'output': {'key': 'typeProperties.output', 'type': 'object'}, + 'file_paths': {'key': 'typeProperties.filePaths', 'type': '[object]'}, + 'file_linked_service': {'key': 'typeProperties.fileLinkedService', 'type': 'LinkedServiceReference'}, + 'combiner': {'key': 'typeProperties.combiner', 'type': 'object'}, + 'command_environment': {'key': 'typeProperties.commandEnvironment', 'type': '[object]'}, + 'defines': {'key': 'typeProperties.defines', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(HdInsightStreamingActivity, self).__init__(**kwargs) + self.type = 'HDInsightStreaming' + self.storage_linked_services = kwargs.get('storage_linked_services', None) + self.arguments = kwargs.get('arguments', None) + self.get_debug_info = kwargs.get('get_debug_info', None) + self.mapper = kwargs['mapper'] + self.reducer = kwargs['reducer'] + self.input = kwargs['input'] + self.output = kwargs['output'] + self.file_paths = kwargs['file_paths'] + self.file_linked_service = kwargs.get('file_linked_service', None) + self.combiner = kwargs.get('combiner', None) + self.command_environment = kwargs.get('command_environment', None) + self.defines = kwargs.get('defines', None) + + +class HiveLinkedService(LinkedService): + """Hive Server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. IP address or host name of the Hive server, separated by ';' for + multiple hosts (only when serviceDiscoveryMode is enable). + :type host: object + :param port: The TCP port that the Hive server uses to listen for client connections. + :type port: object + :param server_type: The type of Hive server. Possible values include: "HiveServer1", + "HiveServer2", "HiveThriftServer". + :type server_type: str or ~azure.mgmt.datafactory.models.HiveServerType + :param thrift_transport_protocol: The transport protocol to use in the Thrift layer. Possible + values include: "Binary", "SASL", "HTTP ". + :type thrift_transport_protocol: str or + ~azure.mgmt.datafactory.models.HiveThriftTransportProtocol + :param authentication_type: Required. The authentication method used to access the Hive server. + Possible values include: "Anonymous", "Username", "UsernameAndPassword", + "WindowsAzureHDInsightService". + :type authentication_type: str or ~azure.mgmt.datafactory.models.HiveAuthenticationType + :param service_discovery_mode: true to indicate using the ZooKeeper service, false not. + :type service_discovery_mode: object + :param zoo_keeper_name_space: The namespace on ZooKeeper under which Hive Server 2 nodes are + added. + :type zoo_keeper_name_space: object + :param use_native_query: Specifies whether the driver uses native HiveQL queries,or converts + them into an equivalent form in HiveQL. + :type use_native_query: object + :param username: The user name that you use to access Hive Server. + :type username: object + :param password: The password corresponding to the user name that you provided in the Username + field. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param http_path: The partial URL corresponding to the Hive server. + :type http_path: object + :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The + default value is false. + :type enable_ssl: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust + store or from a specified PEM file. The default value is false. + :type use_system_trust_store: object + :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate + name to match the host name of the server when connecting over SSL. The default value is false. + :type allow_host_name_cn_mismatch: object + :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from + the server. The default value is false. + :type allow_self_signed_server_cert: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'server_type': {'key': 'typeProperties.serverType', 'type': 'str'}, + 'thrift_transport_protocol': {'key': 'typeProperties.thriftTransportProtocol', 'type': 'str'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'service_discovery_mode': {'key': 'typeProperties.serviceDiscoveryMode', 'type': 'object'}, + 'zoo_keeper_name_space': {'key': 'typeProperties.zooKeeperNameSpace', 'type': 'object'}, + 'use_native_query': {'key': 'typeProperties.useNativeQuery', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'}, + 'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'}, + 'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(HiveLinkedService, self).__init__(**kwargs) + self.type = 'Hive' + self.host = kwargs['host'] + self.port = kwargs.get('port', None) + self.server_type = kwargs.get('server_type', None) + self.thrift_transport_protocol = kwargs.get('thrift_transport_protocol', None) + self.authentication_type = kwargs['authentication_type'] + self.service_discovery_mode = kwargs.get('service_discovery_mode', None) + self.zoo_keeper_name_space = kwargs.get('zoo_keeper_name_space', None) + self.use_native_query = kwargs.get('use_native_query', None) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.http_path = kwargs.get('http_path', None) + self.enable_ssl = kwargs.get('enable_ssl', None) + self.trusted_cert_path = kwargs.get('trusted_cert_path', None) + self.use_system_trust_store = kwargs.get('use_system_trust_store', None) + self.allow_host_name_cn_mismatch = kwargs.get('allow_host_name_cn_mismatch', None) + self.allow_self_signed_server_cert = kwargs.get('allow_self_signed_server_cert', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class HiveObjectDataset(Dataset): + """Hive Server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Hive. Type: string (or Expression with resultType string). + :type table: object + :param schema_type_properties_schema: The schema name of the Hive. Type: string (or Expression + with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(HiveObjectDataset, self).__init__(**kwargs) + self.type = 'HiveObject' + self.table_name = kwargs.get('table_name', None) + self.table = kwargs.get('table', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + + +class HttpDataset(Dataset): + """A file in an HTTP web server. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param relative_url: The relative URL based on the URL in the HttpLinkedService refers to an + HTTP file Type: string (or Expression with resultType string). + :type relative_url: object + :param request_method: The HTTP method for the HTTP request. Type: string (or Expression with + resultType string). + :type request_method: object + :param request_body: The body for the HTTP request. Type: string (or Expression with resultType + string). + :type request_body: object + :param additional_headers: The headers for the HTTP Request. e.g. request-header- + name-1:request-header-value-1 + ... + request-header-name-n:request-header-value-n Type: string (or Expression with resultType + string). + :type additional_headers: object + :param format: The format of files. + :type format: ~azure.mgmt.datafactory.models.DatasetStorageFormat + :param compression: The data compression method used on files. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'relative_url': {'key': 'typeProperties.relativeUrl', 'type': 'object'}, + 'request_method': {'key': 'typeProperties.requestMethod', 'type': 'object'}, + 'request_body': {'key': 'typeProperties.requestBody', 'type': 'object'}, + 'additional_headers': {'key': 'typeProperties.additionalHeaders', 'type': 'object'}, + 'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + **kwargs + ): + super(HttpDataset, self).__init__(**kwargs) + self.type = 'HttpFile' + self.relative_url = kwargs.get('relative_url', None) + self.request_method = kwargs.get('request_method', None) + self.request_body = kwargs.get('request_body', None) + self.additional_headers = kwargs.get('additional_headers', None) + self.format = kwargs.get('format', None) + self.compression = kwargs.get('compression', None) + + +class HttpLinkedService(LinkedService): + """Linked service for an HTTP source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. The base URL of the HTTP endpoint, e.g. http://www.microsoft.com. Type: + string (or Expression with resultType string). + :type url: object + :param authentication_type: The authentication type to be used to connect to the HTTP server. + Possible values include: "Basic", "Anonymous", "Digest", "Windows", "ClientCertificate". + :type authentication_type: str or ~azure.mgmt.datafactory.models.HttpAuthenticationType + :param user_name: User name for Basic, Digest, or Windows authentication. Type: string (or + Expression with resultType string). + :type user_name: object + :param password: Password for Basic, Digest, Windows, or ClientCertificate with + EmbeddedCertData authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param embedded_cert_data: Base64 encoded certificate data for ClientCertificate + authentication. For on-premises copy with ClientCertificate authentication, either + CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression + with resultType string). + :type embedded_cert_data: object + :param cert_thumbprint: Thumbprint of certificate for ClientCertificate authentication. Only + valid for on-premises copy. For on-premises copy with ClientCertificate authentication, either + CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression + with resultType string). + :type cert_thumbprint: object + :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). + :type encrypted_credential: object + :param enable_server_certificate_validation: If true, validate the HTTPS server SSL + certificate. Default value is true. Type: boolean (or Expression with resultType boolean). + :type enable_server_certificate_validation: object + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'embedded_cert_data': {'key': 'typeProperties.embeddedCertData', 'type': 'object'}, + 'cert_thumbprint': {'key': 'typeProperties.certThumbprint', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'enable_server_certificate_validation': {'key': 'typeProperties.enableServerCertificateValidation', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(HttpLinkedService, self).__init__(**kwargs) + self.type = 'HttpServer' + self.url = kwargs['url'] + self.authentication_type = kwargs.get('authentication_type', None) + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.embedded_cert_data = kwargs.get('embedded_cert_data', None) + self.cert_thumbprint = kwargs.get('cert_thumbprint', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.enable_server_certificate_validation = kwargs.get('enable_server_certificate_validation', None) + + +class HubspotLinkedService(LinkedService): + """Hubspot Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param client_id: Required. The client ID associated with your Hubspot application. + :type client_id: object + :param client_secret: The client secret associated with your Hubspot application. + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param access_token: The access token obtained when initially authenticating your OAuth + integration. + :type access_token: ~azure.mgmt.datafactory.models.SecretBase + :param refresh_token: The refresh token obtained when initially authenticating your OAuth + integration. + :type refresh_token: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'client_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'refresh_token': {'key': 'typeProperties.refreshToken', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(HubspotLinkedService, self).__init__(**kwargs) + self.type = 'Hubspot' + self.client_id = kwargs['client_id'] + self.client_secret = kwargs.get('client_secret', None) + self.access_token = kwargs.get('access_token', None) + self.refresh_token = kwargs.get('refresh_token', None) + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class HubspotObjectDataset(Dataset): + """Hubspot Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(HubspotObjectDataset, self).__init__(**kwargs) + self.type = 'HubspotObject' + self.table_name = kwargs.get('table_name', None) + + +class IfConditionActivity(ControlActivity): + """This activity evaluates a boolean expression and executes either the activities under the ifTrueActivities property or the ifFalseActivities property depending on the result of the expression. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param expression: Required. An expression that would evaluate to Boolean. This is used to + determine the block of activities (ifTrueActivities or ifFalseActivities) that will be + executed. + :type expression: ~azure.mgmt.datafactory.models.Expression + :param if_true_activities: List of activities to execute if expression is evaluated to true. + This is an optional property and if not provided, the activity will exit without any action. + :type if_true_activities: list[~azure.mgmt.datafactory.models.Activity] + :param if_false_activities: List of activities to execute if expression is evaluated to false. + This is an optional property and if not provided, the activity will exit without any action. + :type if_false_activities: list[~azure.mgmt.datafactory.models.Activity] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'expression': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'expression': {'key': 'typeProperties.expression', 'type': 'Expression'}, + 'if_true_activities': {'key': 'typeProperties.ifTrueActivities', 'type': '[Activity]'}, + 'if_false_activities': {'key': 'typeProperties.ifFalseActivities', 'type': '[Activity]'}, + } + + def __init__( + self, + **kwargs + ): + super(IfConditionActivity, self).__init__(**kwargs) + self.type = 'IfCondition' + self.expression = kwargs['expression'] + self.if_true_activities = kwargs.get('if_true_activities', None) + self.if_false_activities = kwargs.get('if_false_activities', None) + + +class ImpalaLinkedService(LinkedService): + """Impala server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The IP address or host name of the Impala server. (i.e. + 192.168.222.160). + :type host: object + :param port: The TCP port that the Impala server uses to listen for client connections. The + default value is 21050. + :type port: object + :param authentication_type: Required. The authentication type to use. Possible values include: + "Anonymous", "SASLUsername", "UsernameAndPassword". + :type authentication_type: str or ~azure.mgmt.datafactory.models.ImpalaAuthenticationType + :param username: The user name used to access the Impala server. The default value is anonymous + when using SASLUsername. + :type username: object + :param password: The password corresponding to the user name when using UsernameAndPassword. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The + default value is false. + :type enable_ssl: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust + store or from a specified PEM file. The default value is false. + :type use_system_trust_store: object + :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate + name to match the host name of the server when connecting over SSL. The default value is false. + :type allow_host_name_cn_mismatch: object + :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from + the server. The default value is false. + :type allow_self_signed_server_cert: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'}, + 'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'}, + 'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ImpalaLinkedService, self).__init__(**kwargs) + self.type = 'Impala' + self.host = kwargs['host'] + self.port = kwargs.get('port', None) + self.authentication_type = kwargs['authentication_type'] + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.enable_ssl = kwargs.get('enable_ssl', None) + self.trusted_cert_path = kwargs.get('trusted_cert_path', None) + self.use_system_trust_store = kwargs.get('use_system_trust_store', None) + self.allow_host_name_cn_mismatch = kwargs.get('allow_host_name_cn_mismatch', None) + self.allow_self_signed_server_cert = kwargs.get('allow_self_signed_server_cert', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class ImpalaObjectDataset(Dataset): + """Impala server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Impala. Type: string (or Expression with resultType + string). + :type table: object + :param schema_type_properties_schema: The schema name of the Impala. Type: string (or + Expression with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ImpalaObjectDataset, self).__init__(**kwargs) + self.type = 'ImpalaObject' + self.table_name = kwargs.get('table_name', None) + self.table = kwargs.get('table', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + + +class InformixLinkedService(LinkedService): + """Informix linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The non-access credential portion of the connection string + as well as an optional encrypted credential. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param authentication_type: Type of authentication used to connect to the Informix as ODBC data + store. Possible values are: Anonymous and Basic. Type: string (or Expression with resultType + string). + :type authentication_type: object + :param credential: The access credential portion of the connection string specified in driver- + specific property-value format. + :type credential: ~azure.mgmt.datafactory.models.SecretBase + :param user_name: User name for Basic authentication. Type: string (or Expression with + resultType string). + :type user_name: object + :param password: Password for Basic authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'SecretBase'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(InformixLinkedService, self).__init__(**kwargs) + self.type = 'Informix' + self.connection_string = kwargs['connection_string'] + self.authentication_type = kwargs.get('authentication_type', None) + self.credential = kwargs.get('credential', None) + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class InformixTableDataset(Dataset): + """The Informix table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The Informix table name. Type: string (or Expression with resultType + string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(InformixTableDataset, self).__init__(**kwargs) + self.type = 'InformixTable' + self.table_name = kwargs.get('table_name', None) + + +class IntegrationRuntime(msrest.serialization.Model): + """Azure Data Factory nested object which serves as a compute resource for activities. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ManagedIntegrationRuntime, SelfHostedIntegrationRuntime. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of integration runtime.Constant filled by server. Possible values + include: "Managed", "SelfHosted". + :type type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeType + :param description: Integration runtime description. + :type description: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'Managed': 'ManagedIntegrationRuntime', 'SelfHosted': 'SelfHostedIntegrationRuntime'} + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntime, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = 'IntegrationRuntime' + self.description = kwargs.get('description', None) + + +class IntegrationRuntimeAuthKeys(msrest.serialization.Model): + """The integration runtime authentication keys. + + :param auth_key1: The primary integration runtime authentication key. + :type auth_key1: str + :param auth_key2: The secondary integration runtime authentication key. + :type auth_key2: str + """ + + _attribute_map = { + 'auth_key1': {'key': 'authKey1', 'type': 'str'}, + 'auth_key2': {'key': 'authKey2', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeAuthKeys, self).__init__(**kwargs) + self.auth_key1 = kwargs.get('auth_key1', None) + self.auth_key2 = kwargs.get('auth_key2', None) + + +class IntegrationRuntimeComputeProperties(msrest.serialization.Model): + """The compute resource properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param location: The location for managed integration runtime. The supported regions could be + found on https://docs.microsoft.com/en-us/azure/data-factory/data-factory-data-movement- + activities. + :type location: str + :param node_size: The node size requirement to managed integration runtime. + :type node_size: str + :param number_of_nodes: The required number of nodes for managed integration runtime. + :type number_of_nodes: int + :param max_parallel_executions_per_node: Maximum parallel executions count per node for managed + integration runtime. + :type max_parallel_executions_per_node: int + :param data_flow_properties: Data flow properties for managed integration runtime. + :type data_flow_properties: ~azure.mgmt.datafactory.models.IntegrationRuntimeDataFlowProperties + :param v_net_properties: VNet properties for managed integration runtime. + :type v_net_properties: ~azure.mgmt.datafactory.models.IntegrationRuntimeVNetProperties + """ + + _validation = { + 'number_of_nodes': {'minimum': 1}, + 'max_parallel_executions_per_node': {'minimum': 1}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'node_size': {'key': 'nodeSize', 'type': 'str'}, + 'number_of_nodes': {'key': 'numberOfNodes', 'type': 'int'}, + 'max_parallel_executions_per_node': {'key': 'maxParallelExecutionsPerNode', 'type': 'int'}, + 'data_flow_properties': {'key': 'dataFlowProperties', 'type': 'IntegrationRuntimeDataFlowProperties'}, + 'v_net_properties': {'key': 'vNetProperties', 'type': 'IntegrationRuntimeVNetProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeComputeProperties, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.location = kwargs.get('location', None) + self.node_size = kwargs.get('node_size', None) + self.number_of_nodes = kwargs.get('number_of_nodes', None) + self.max_parallel_executions_per_node = kwargs.get('max_parallel_executions_per_node', None) + self.data_flow_properties = kwargs.get('data_flow_properties', None) + self.v_net_properties = kwargs.get('v_net_properties', None) + + +class IntegrationRuntimeConnectionInfo(msrest.serialization.Model): + """Connection information for encrypting the on-premises data source credentials. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar service_token: The token generated in service. Callers use this token to authenticate to + integration runtime. + :vartype service_token: str + :ivar identity_cert_thumbprint: The integration runtime SSL certificate thumbprint. Click-Once + application uses it to do server validation. + :vartype identity_cert_thumbprint: str + :ivar host_service_uri: The on-premises integration runtime host URL. + :vartype host_service_uri: str + :ivar version: The integration runtime version. + :vartype version: str + :ivar public_key: The public key for encrypting a credential when transferring the credential + to the integration runtime. + :vartype public_key: str + :ivar is_identity_cert_exprired: Whether the identity certificate is expired. + :vartype is_identity_cert_exprired: bool + """ + + _validation = { + 'service_token': {'readonly': True}, + 'identity_cert_thumbprint': {'readonly': True}, + 'host_service_uri': {'readonly': True}, + 'version': {'readonly': True}, + 'public_key': {'readonly': True}, + 'is_identity_cert_exprired': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'service_token': {'key': 'serviceToken', 'type': 'str'}, + 'identity_cert_thumbprint': {'key': 'identityCertThumbprint', 'type': 'str'}, + 'host_service_uri': {'key': 'hostServiceUri', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'public_key': {'key': 'publicKey', 'type': 'str'}, + 'is_identity_cert_exprired': {'key': 'isIdentityCertExprired', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeConnectionInfo, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.service_token = None + self.identity_cert_thumbprint = None + self.host_service_uri = None + self.version = None + self.public_key = None + self.is_identity_cert_exprired = None + + +class IntegrationRuntimeCustomSetupScriptProperties(msrest.serialization.Model): + """Custom setup script properties for a managed dedicated integration runtime. + + :param blob_container_uri: The URI of the Azure blob container that contains the custom setup + script. + :type blob_container_uri: str + :param sas_token: The SAS token of the Azure blob container. + :type sas_token: ~azure.mgmt.datafactory.models.SecureString + """ + + _attribute_map = { + 'blob_container_uri': {'key': 'blobContainerUri', 'type': 'str'}, + 'sas_token': {'key': 'sasToken', 'type': 'SecureString'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeCustomSetupScriptProperties, self).__init__(**kwargs) + self.blob_container_uri = kwargs.get('blob_container_uri', None) + self.sas_token = kwargs.get('sas_token', None) + + +class IntegrationRuntimeDataFlowProperties(msrest.serialization.Model): + """Data flow properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param compute_type: Compute type of the cluster which will execute data flow job. Possible + values include: "General", "MemoryOptimized", "ComputeOptimized". + :type compute_type: str or ~azure.mgmt.datafactory.models.DataFlowComputeType + :param core_count: Core count of the cluster which will execute data flow job. Supported values + are: 8, 16, 32, 48, 80, 144 and 272. + :type core_count: int + :param time_to_live: Time to live (in minutes) setting of the cluster which will execute data + flow job. + :type time_to_live: int + """ + + _validation = { + 'time_to_live': {'minimum': 0}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'compute_type': {'key': 'computeType', 'type': 'str'}, + 'core_count': {'key': 'coreCount', 'type': 'int'}, + 'time_to_live': {'key': 'timeToLive', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeDataFlowProperties, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.compute_type = kwargs.get('compute_type', None) + self.core_count = kwargs.get('core_count', None) + self.time_to_live = kwargs.get('time_to_live', None) + + +class IntegrationRuntimeDataProxyProperties(msrest.serialization.Model): + """Data proxy properties for a managed dedicated integration runtime. + + :param connect_via: The self-hosted integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.EntityReference + :param staging_linked_service: The staging linked service reference. + :type staging_linked_service: ~azure.mgmt.datafactory.models.EntityReference + :param path: The path to contain the staged data in the Blob storage. + :type path: str + """ + + _attribute_map = { + 'connect_via': {'key': 'connectVia', 'type': 'EntityReference'}, + 'staging_linked_service': {'key': 'stagingLinkedService', 'type': 'EntityReference'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeDataProxyProperties, self).__init__(**kwargs) + self.connect_via = kwargs.get('connect_via', None) + self.staging_linked_service = kwargs.get('staging_linked_service', None) + self.path = kwargs.get('path', None) + + +class IntegrationRuntimeDebugResource(SubResourceDebugResource): + """Integration runtime debug resource. + + All required parameters must be populated in order to send to Azure. + + :param name: The resource name. + :type name: str + :param properties: Required. Integration runtime properties. + :type properties: ~azure.mgmt.datafactory.models.IntegrationRuntime + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'IntegrationRuntime'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeDebugResource, self).__init__(**kwargs) + self.properties = kwargs['properties'] + + +class IntegrationRuntimeListResponse(msrest.serialization.Model): + """A list of integration runtime resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of integration runtimes. + :type value: list[~azure.mgmt.datafactory.models.IntegrationRuntimeResource] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationRuntimeResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeListResponse, self).__init__(**kwargs) + self.value = kwargs['value'] + self.next_link = kwargs.get('next_link', None) + + +class IntegrationRuntimeMonitoringData(msrest.serialization.Model): + """Get monitoring data response. + + :param name: Integration runtime name. + :type name: str + :param nodes: Integration runtime node monitoring data. + :type nodes: list[~azure.mgmt.datafactory.models.IntegrationRuntimeNodeMonitoringData] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'nodes': {'key': 'nodes', 'type': '[IntegrationRuntimeNodeMonitoringData]'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeMonitoringData, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.nodes = kwargs.get('nodes', None) + + +class IntegrationRuntimeNodeIpAddress(msrest.serialization.Model): + """The IP address of self-hosted integration runtime node. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar ip_address: The IP address of self-hosted integration runtime node. + :vartype ip_address: str + """ + + _validation = { + 'ip_address': {'readonly': True}, + } + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeNodeIpAddress, self).__init__(**kwargs) + self.ip_address = None + + +class IntegrationRuntimeNodeMonitoringData(msrest.serialization.Model): + """Monitoring data for integration runtime node. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar node_name: Name of the integration runtime node. + :vartype node_name: str + :ivar available_memory_in_mb: Available memory (MB) on the integration runtime node. + :vartype available_memory_in_mb: int + :ivar cpu_utilization: CPU percentage on the integration runtime node. + :vartype cpu_utilization: int + :ivar concurrent_jobs_limit: Maximum concurrent jobs on the integration runtime node. + :vartype concurrent_jobs_limit: int + :ivar concurrent_jobs_running: The number of jobs currently running on the integration runtime + node. + :vartype concurrent_jobs_running: int + :ivar max_concurrent_jobs: The maximum concurrent jobs in this integration runtime. + :vartype max_concurrent_jobs: int + :ivar sent_bytes: Sent bytes on the integration runtime node. + :vartype sent_bytes: float + :ivar received_bytes: Received bytes on the integration runtime node. + :vartype received_bytes: float + """ + + _validation = { + 'node_name': {'readonly': True}, + 'available_memory_in_mb': {'readonly': True}, + 'cpu_utilization': {'readonly': True}, + 'concurrent_jobs_limit': {'readonly': True}, + 'concurrent_jobs_running': {'readonly': True}, + 'max_concurrent_jobs': {'readonly': True}, + 'sent_bytes': {'readonly': True}, + 'received_bytes': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'node_name': {'key': 'nodeName', 'type': 'str'}, + 'available_memory_in_mb': {'key': 'availableMemoryInMB', 'type': 'int'}, + 'cpu_utilization': {'key': 'cpuUtilization', 'type': 'int'}, + 'concurrent_jobs_limit': {'key': 'concurrentJobsLimit', 'type': 'int'}, + 'concurrent_jobs_running': {'key': 'concurrentJobsRunning', 'type': 'int'}, + 'max_concurrent_jobs': {'key': 'maxConcurrentJobs', 'type': 'int'}, + 'sent_bytes': {'key': 'sentBytes', 'type': 'float'}, + 'received_bytes': {'key': 'receivedBytes', 'type': 'float'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeNodeMonitoringData, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.node_name = None + self.available_memory_in_mb = None + self.cpu_utilization = None + self.concurrent_jobs_limit = None + self.concurrent_jobs_running = None + self.max_concurrent_jobs = None + self.sent_bytes = None + self.received_bytes = None + + +class IntegrationRuntimeReference(msrest.serialization.Model): + """Integration runtime reference type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar type: Required. Type of integration runtime. Default value: + "IntegrationRuntimeReference". + :vartype type: str + :param reference_name: Required. Reference integration runtime name. + :type reference_name: str + :param parameters: Arguments for integration runtime. + :type parameters: dict[str, object] + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'reference_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{object}'}, + } + + type = "IntegrationRuntimeReference" + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeReference, self).__init__(**kwargs) + self.reference_name = kwargs['reference_name'] + self.parameters = kwargs.get('parameters', None) + + +class IntegrationRuntimeRegenerateKeyParameters(msrest.serialization.Model): + """Parameters to regenerate the authentication key. + + :param key_name: The name of the authentication key to regenerate. Possible values include: + "authKey1", "authKey2". + :type key_name: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeAuthKeyName + """ + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeRegenerateKeyParameters, self).__init__(**kwargs) + self.key_name = kwargs.get('key_name', None) + + +class IntegrationRuntimeResource(SubResource): + """Integration runtime resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Required. Integration runtime properties. + :type properties: ~azure.mgmt.datafactory.models.IntegrationRuntime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'IntegrationRuntime'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeResource, self).__init__(**kwargs) + self.properties = kwargs['properties'] + + +class IntegrationRuntimeSsisCatalogInfo(msrest.serialization.Model): + """Catalog information for managed dedicated integration runtime. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param catalog_server_endpoint: The catalog database server URL. + :type catalog_server_endpoint: str + :param catalog_admin_user_name: The administrator user name of catalog database. + :type catalog_admin_user_name: str + :param catalog_admin_password: The password of the administrator user account of the catalog + database. + :type catalog_admin_password: ~azure.mgmt.datafactory.models.SecureString + :param catalog_pricing_tier: The pricing tier for the catalog database. The valid values could + be found in https://azure.microsoft.com/en-us/pricing/details/sql-database/. Possible values + include: "Basic", "Standard", "Premium", "PremiumRS". + :type catalog_pricing_tier: str or + ~azure.mgmt.datafactory.models.IntegrationRuntimeSsisCatalogPricingTier + """ + + _validation = { + 'catalog_admin_user_name': {'max_length': 128, 'min_length': 1}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'catalog_server_endpoint': {'key': 'catalogServerEndpoint', 'type': 'str'}, + 'catalog_admin_user_name': {'key': 'catalogAdminUserName', 'type': 'str'}, + 'catalog_admin_password': {'key': 'catalogAdminPassword', 'type': 'SecureString'}, + 'catalog_pricing_tier': {'key': 'catalogPricingTier', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeSsisCatalogInfo, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.catalog_server_endpoint = kwargs.get('catalog_server_endpoint', None) + self.catalog_admin_user_name = kwargs.get('catalog_admin_user_name', None) + self.catalog_admin_password = kwargs.get('catalog_admin_password', None) + self.catalog_pricing_tier = kwargs.get('catalog_pricing_tier', None) + + +class IntegrationRuntimeSsisProperties(msrest.serialization.Model): + """SSIS properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param catalog_info: Catalog information for managed dedicated integration runtime. + :type catalog_info: ~azure.mgmt.datafactory.models.IntegrationRuntimeSsisCatalogInfo + :param license_type: License type for bringing your own license scenario. Possible values + include: "BasePrice", "LicenseIncluded". + :type license_type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeLicenseType + :param custom_setup_script_properties: Custom setup script properties for a managed dedicated + integration runtime. + :type custom_setup_script_properties: + ~azure.mgmt.datafactory.models.IntegrationRuntimeCustomSetupScriptProperties + :param data_proxy_properties: Data proxy properties for a managed dedicated integration + runtime. + :type data_proxy_properties: + ~azure.mgmt.datafactory.models.IntegrationRuntimeDataProxyProperties + :param edition: The edition for the SSIS Integration Runtime. Possible values include: + "Standard", "Enterprise". + :type edition: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeEdition + :param express_custom_setup_properties: Custom setup without script properties for a SSIS + integration runtime. + :type express_custom_setup_properties: list[~azure.mgmt.datafactory.models.CustomSetupBase] + :param package_stores: Package stores for the SSIS Integration Runtime. + :type package_stores: list[~azure.mgmt.datafactory.models.PackageStore] + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'catalog_info': {'key': 'catalogInfo', 'type': 'IntegrationRuntimeSsisCatalogInfo'}, + 'license_type': {'key': 'licenseType', 'type': 'str'}, + 'custom_setup_script_properties': {'key': 'customSetupScriptProperties', 'type': 'IntegrationRuntimeCustomSetupScriptProperties'}, + 'data_proxy_properties': {'key': 'dataProxyProperties', 'type': 'IntegrationRuntimeDataProxyProperties'}, + 'edition': {'key': 'edition', 'type': 'str'}, + 'express_custom_setup_properties': {'key': 'expressCustomSetupProperties', 'type': '[CustomSetupBase]'}, + 'package_stores': {'key': 'packageStores', 'type': '[PackageStore]'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeSsisProperties, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.catalog_info = kwargs.get('catalog_info', None) + self.license_type = kwargs.get('license_type', None) + self.custom_setup_script_properties = kwargs.get('custom_setup_script_properties', None) + self.data_proxy_properties = kwargs.get('data_proxy_properties', None) + self.edition = kwargs.get('edition', None) + self.express_custom_setup_properties = kwargs.get('express_custom_setup_properties', None) + self.package_stores = kwargs.get('package_stores', None) + + +class IntegrationRuntimeStatus(msrest.serialization.Model): + """Integration runtime status. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ManagedIntegrationRuntimeStatus, SelfHostedIntegrationRuntimeStatus. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of integration runtime.Constant filled by server. Possible values + include: "Managed", "SelfHosted". + :type type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeType + :ivar data_factory_name: The data factory name which the integration runtime belong to. + :vartype data_factory_name: str + :ivar state: The state of integration runtime. Possible values include: "Initial", "Stopped", + "Started", "Starting", "Stopping", "NeedRegistration", "Online", "Limited", "Offline", + "AccessDenied". + :vartype state: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeState + """ + + _validation = { + 'type': {'required': True}, + 'data_factory_name': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'Managed': 'ManagedIntegrationRuntimeStatus', 'SelfHosted': 'SelfHostedIntegrationRuntimeStatus'} + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeStatus, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = 'IntegrationRuntimeStatus' + self.data_factory_name = None + self.state = None + + +class IntegrationRuntimeStatusListResponse(msrest.serialization.Model): + """A list of integration runtime status. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of integration runtime status. + :type value: list[~azure.mgmt.datafactory.models.IntegrationRuntimeStatusResponse] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationRuntimeStatusResponse]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeStatusListResponse, self).__init__(**kwargs) + self.value = kwargs['value'] + self.next_link = kwargs.get('next_link', None) + + +class IntegrationRuntimeStatusResponse(msrest.serialization.Model): + """Integration runtime status response. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: The integration runtime name. + :vartype name: str + :param properties: Required. Integration runtime properties. + :type properties: ~azure.mgmt.datafactory.models.IntegrationRuntimeStatus + """ + + _validation = { + 'name': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'IntegrationRuntimeStatus'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeStatusResponse, self).__init__(**kwargs) + self.name = None + self.properties = kwargs['properties'] + + +class IntegrationRuntimeVNetProperties(msrest.serialization.Model): + """VNet properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param v_net_id: The ID of the VNet that this integration runtime will join. + :type v_net_id: str + :param subnet: The name of the subnet this integration runtime will join. + :type subnet: str + :param public_i_ps: Resource IDs of the public IP addresses that this integration runtime will + use. + :type public_i_ps: list[str] + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'v_net_id': {'key': 'vNetId', 'type': 'str'}, + 'subnet': {'key': 'subnet', 'type': 'str'}, + 'public_i_ps': {'key': 'publicIPs', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeVNetProperties, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.v_net_id = kwargs.get('v_net_id', None) + self.subnet = kwargs.get('subnet', None) + self.public_i_ps = kwargs.get('public_i_ps', None) + + +class JiraLinkedService(LinkedService): + """Jira Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The IP address or host name of the Jira service. (e.g. + jira.example.com). + :type host: object + :param port: The TCP port that the Jira server uses to listen for client connections. The + default value is 443 if connecting through HTTPS, or 8080 if connecting through HTTP. + :type port: object + :param username: Required. The user name that you use to access Jira Service. + :type username: object + :param password: The password corresponding to the user name that you provided in the username + field. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'username': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(JiraLinkedService, self).__init__(**kwargs) + self.type = 'Jira' + self.host = kwargs['host'] + self.port = kwargs.get('port', None) + self.username = kwargs['username'] + self.password = kwargs.get('password', None) + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class JiraObjectDataset(Dataset): + """Jira Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(JiraObjectDataset, self).__init__(**kwargs) + self.type = 'JiraObject' + self.table_name = kwargs.get('table_name', None) + + +class JsonDataset(Dataset): + """Json dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param location: The location of the json data storage. + :type location: ~azure.mgmt.datafactory.models.DatasetLocation + :param encoding_name: The code page name of the preferred encoding. If not specified, the + default value is UTF-8, unless BOM denotes another Unicode encoding. Refer to the name column + of the table in the following link to set supported values: + https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with + resultType string). + :type encoding_name: object + :param compression: The data compression method used for the json dataset. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, + 'encoding_name': {'key': 'typeProperties.encodingName', 'type': 'object'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + **kwargs + ): + super(JsonDataset, self).__init__(**kwargs) + self.type = 'Json' + self.location = kwargs.get('location', None) + self.encoding_name = kwargs.get('encoding_name', None) + self.compression = kwargs.get('compression', None) + + +class LinkedIntegrationRuntime(msrest.serialization.Model): + """The linked integration runtime information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The name of the linked integration runtime. + :vartype name: str + :ivar subscription_id: The subscription ID for which the linked integration runtime belong to. + :vartype subscription_id: str + :ivar data_factory_name: The name of the data factory for which the linked integration runtime + belong to. + :vartype data_factory_name: str + :ivar data_factory_location: The location of the data factory for which the linked integration + runtime belong to. + :vartype data_factory_location: str + :ivar create_time: The creating time of the linked integration runtime. + :vartype create_time: ~datetime.datetime + """ + + _validation = { + 'name': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'data_factory_name': {'readonly': True}, + 'data_factory_location': {'readonly': True}, + 'create_time': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'data_factory_location': {'key': 'dataFactoryLocation', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(LinkedIntegrationRuntime, self).__init__(**kwargs) + self.name = None + self.subscription_id = None + self.data_factory_name = None + self.data_factory_location = None + self.create_time = None + + +class LinkedIntegrationRuntimeType(msrest.serialization.Model): + """The base definition of a linked integration runtime. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: LinkedIntegrationRuntimeKeyAuthorization, LinkedIntegrationRuntimeRbacAuthorization. + + All required parameters must be populated in order to send to Azure. + + :param authorization_type: Required. The authorization type for integration runtime + sharing.Constant filled by server. + :type authorization_type: str + """ + + _validation = { + 'authorization_type': {'required': True}, + } + + _attribute_map = { + 'authorization_type': {'key': 'authorizationType', 'type': 'str'}, + } + + _subtype_map = { + 'authorization_type': {'Key': 'LinkedIntegrationRuntimeKeyAuthorization', 'RBAC': 'LinkedIntegrationRuntimeRbacAuthorization'} + } + + def __init__( + self, + **kwargs + ): + super(LinkedIntegrationRuntimeType, self).__init__(**kwargs) + self.authorization_type = None + + +class LinkedIntegrationRuntimeKeyAuthorization(LinkedIntegrationRuntimeType): + """The key authorization type integration runtime. + + All required parameters must be populated in order to send to Azure. + + :param authorization_type: Required. The authorization type for integration runtime + sharing.Constant filled by server. + :type authorization_type: str + :param key: Required. The key used for authorization. + :type key: ~azure.mgmt.datafactory.models.SecureString + """ + + _validation = { + 'authorization_type': {'required': True}, + 'key': {'required': True}, + } + + _attribute_map = { + 'authorization_type': {'key': 'authorizationType', 'type': 'str'}, + 'key': {'key': 'key', 'type': 'SecureString'}, + } + + def __init__( + self, + **kwargs + ): + super(LinkedIntegrationRuntimeKeyAuthorization, self).__init__(**kwargs) + self.authorization_type = 'Key' + self.key = kwargs['key'] + + +class LinkedIntegrationRuntimeRbacAuthorization(LinkedIntegrationRuntimeType): + """The role based access control (RBAC) authorization type integration runtime. + + All required parameters must be populated in order to send to Azure. + + :param authorization_type: Required. The authorization type for integration runtime + sharing.Constant filled by server. + :type authorization_type: str + :param resource_id: Required. The resource identifier of the integration runtime to be shared. + :type resource_id: str + """ + + _validation = { + 'authorization_type': {'required': True}, + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'authorization_type': {'key': 'authorizationType', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LinkedIntegrationRuntimeRbacAuthorization, self).__init__(**kwargs) + self.authorization_type = 'RBAC' + self.resource_id = kwargs['resource_id'] + + +class LinkedIntegrationRuntimeRequest(msrest.serialization.Model): + """Data factory name for linked integration runtime request. + + All required parameters must be populated in order to send to Azure. + + :param linked_factory_name: Required. The data factory name for linked integration runtime. + :type linked_factory_name: str + """ + + _validation = { + 'linked_factory_name': {'required': True}, + } + + _attribute_map = { + 'linked_factory_name': {'key': 'factoryName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LinkedIntegrationRuntimeRequest, self).__init__(**kwargs) + self.linked_factory_name = kwargs['linked_factory_name'] + + +class LinkedServiceDebugResource(SubResourceDebugResource): + """Linked service debug resource. + + All required parameters must be populated in order to send to Azure. + + :param name: The resource name. + :type name: str + :param properties: Required. Properties of linked service. + :type properties: ~azure.mgmt.datafactory.models.LinkedService + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'LinkedService'}, + } + + def __init__( + self, + **kwargs + ): + super(LinkedServiceDebugResource, self).__init__(**kwargs) + self.properties = kwargs['properties'] + + +class LinkedServiceListResponse(msrest.serialization.Model): + """A list of linked service resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of linked services. + :type value: list[~azure.mgmt.datafactory.models.LinkedServiceResource] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[LinkedServiceResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LinkedServiceListResponse, self).__init__(**kwargs) + self.value = kwargs['value'] + self.next_link = kwargs.get('next_link', None) + + +class LinkedServiceReference(msrest.serialization.Model): + """Linked service reference type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar type: Required. Linked service reference type. Default value: "LinkedServiceReference". + :vartype type: str + :param reference_name: Required. Reference LinkedService name. + :type reference_name: str + :param parameters: Arguments for LinkedService. + :type parameters: dict[str, object] + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'reference_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{object}'}, + } + + type = "LinkedServiceReference" + + def __init__( + self, + **kwargs + ): + super(LinkedServiceReference, self).__init__(**kwargs) + self.reference_name = kwargs['reference_name'] + self.parameters = kwargs.get('parameters', None) + + +class LinkedServiceResource(SubResource): + """Linked service resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Required. Properties of linked service. + :type properties: ~azure.mgmt.datafactory.models.LinkedService + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'LinkedService'}, + } + + def __init__( + self, + **kwargs + ): + super(LinkedServiceResource, self).__init__(**kwargs) + self.properties = kwargs['properties'] + + +class LogStorageSettings(msrest.serialization.Model): + """Log storage settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param linked_service_name: Required. Log storage linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param path: The path to storage for storing detailed logs of activity execution. Type: string + (or Expression with resultType string). + :type path: object + """ + + _validation = { + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'path': {'key': 'path', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(LogStorageSettings, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.linked_service_name = kwargs['linked_service_name'] + self.path = kwargs.get('path', None) + + +class LookupActivity(ExecutionActivity): + """Lookup activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param source: Required. Dataset-specific source properties, same as copy activity source. + :type source: ~azure.mgmt.datafactory.models.CopySource + :param dataset: Required. Lookup activity dataset reference. + :type dataset: ~azure.mgmt.datafactory.models.DatasetReference + :param first_row_only: Whether to return first row or all rows. Default value is true. Type: + boolean (or Expression with resultType boolean). + :type first_row_only: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'source': {'required': True}, + 'dataset': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'source': {'key': 'typeProperties.source', 'type': 'CopySource'}, + 'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'}, + 'first_row_only': {'key': 'typeProperties.firstRowOnly', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(LookupActivity, self).__init__(**kwargs) + self.type = 'Lookup' + self.source = kwargs['source'] + self.dataset = kwargs['dataset'] + self.first_row_only = kwargs.get('first_row_only', None) + + +class MagentoLinkedService(LinkedService): + """Magento server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The URL of the Magento instance. (i.e. 192.168.222.110/magento3). + :type host: object + :param access_token: The access token from Magento. + :type access_token: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MagentoLinkedService, self).__init__(**kwargs) + self.type = 'Magento' + self.host = kwargs['host'] + self.access_token = kwargs.get('access_token', None) + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class MagentoObjectDataset(Dataset): + """Magento server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MagentoObjectDataset, self).__init__(**kwargs) + self.type = 'MagentoObject' + self.table_name = kwargs.get('table_name', None) + + +class ManagedIntegrationRuntime(IntegrationRuntime): + """Managed integration runtime, including managed elastic and managed dedicated integration runtimes. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of integration runtime.Constant filled by server. Possible values + include: "Managed", "SelfHosted". + :type type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeType + :param description: Integration runtime description. + :type description: str + :ivar state: Integration runtime state, only valid for managed dedicated integration runtime. + Possible values include: "Initial", "Stopped", "Started", "Starting", "Stopping", + "NeedRegistration", "Online", "Limited", "Offline", "AccessDenied". + :vartype state: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeState + :param compute_properties: The compute resource for managed integration runtime. + :type compute_properties: ~azure.mgmt.datafactory.models.IntegrationRuntimeComputeProperties + :param ssis_properties: SSIS properties for managed integration runtime. + :type ssis_properties: ~azure.mgmt.datafactory.models.IntegrationRuntimeSsisProperties + """ + + _validation = { + 'type': {'required': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'compute_properties': {'key': 'typeProperties.computeProperties', 'type': 'IntegrationRuntimeComputeProperties'}, + 'ssis_properties': {'key': 'typeProperties.ssisProperties', 'type': 'IntegrationRuntimeSsisProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedIntegrationRuntime, self).__init__(**kwargs) + self.type = 'Managed' + self.state = None + self.compute_properties = kwargs.get('compute_properties', None) + self.ssis_properties = kwargs.get('ssis_properties', None) + + +class ManagedIntegrationRuntimeError(msrest.serialization.Model): + """Error definition for managed integration runtime. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar time: The time when the error occurred. + :vartype time: ~datetime.datetime + :ivar code: Error code. + :vartype code: str + :ivar parameters: Managed integration runtime error parameters. + :vartype parameters: list[str] + :ivar message: Error message. + :vartype message: str + """ + + _validation = { + 'time': {'readonly': True}, + 'code': {'readonly': True}, + 'parameters': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'code': {'key': 'code', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedIntegrationRuntimeError, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.time = None + self.code = None + self.parameters = None + self.message = None + + +class ManagedIntegrationRuntimeNode(msrest.serialization.Model): + """Properties of integration runtime node. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar node_id: The managed integration runtime node id. + :vartype node_id: str + :ivar status: The managed integration runtime node status. Possible values include: "Starting", + "Available", "Recycling", "Unavailable". + :vartype status: str or ~azure.mgmt.datafactory.models.ManagedIntegrationRuntimeNodeStatus + :param errors: The errors that occurred on this integration runtime node. + :type errors: list[~azure.mgmt.datafactory.models.ManagedIntegrationRuntimeError] + """ + + _validation = { + 'node_id': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'node_id': {'key': 'nodeId', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ManagedIntegrationRuntimeError]'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedIntegrationRuntimeNode, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.node_id = None + self.status = None + self.errors = kwargs.get('errors', None) + + +class ManagedIntegrationRuntimeOperationResult(msrest.serialization.Model): + """Properties of managed integration runtime operation result. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar type: The operation type. Could be start or stop. + :vartype type: str + :ivar start_time: The start time of the operation. + :vartype start_time: ~datetime.datetime + :ivar result: The operation result. + :vartype result: str + :ivar error_code: The error code. + :vartype error_code: str + :ivar parameters: Managed integration runtime error parameters. + :vartype parameters: list[str] + :ivar activity_id: The activity id for the operation request. + :vartype activity_id: str + """ + + _validation = { + 'type': {'readonly': True}, + 'start_time': {'readonly': True}, + 'result': {'readonly': True}, + 'error_code': {'readonly': True}, + 'parameters': {'readonly': True}, + 'activity_id': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'result': {'key': 'result', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'activity_id': {'key': 'activityId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedIntegrationRuntimeOperationResult, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = None + self.start_time = None + self.result = None + self.error_code = None + self.parameters = None + self.activity_id = None + + +class ManagedIntegrationRuntimeStatus(IntegrationRuntimeStatus): + """Managed integration runtime status. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of integration runtime.Constant filled by server. Possible values + include: "Managed", "SelfHosted". + :type type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeType + :ivar data_factory_name: The data factory name which the integration runtime belong to. + :vartype data_factory_name: str + :ivar state: The state of integration runtime. Possible values include: "Initial", "Stopped", + "Started", "Starting", "Stopping", "NeedRegistration", "Online", "Limited", "Offline", + "AccessDenied". + :vartype state: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeState + :ivar create_time: The time at which the integration runtime was created, in ISO8601 format. + :vartype create_time: ~datetime.datetime + :ivar nodes: The list of nodes for managed integration runtime. + :vartype nodes: list[~azure.mgmt.datafactory.models.ManagedIntegrationRuntimeNode] + :ivar other_errors: The errors that occurred on this integration runtime. + :vartype other_errors: list[~azure.mgmt.datafactory.models.ManagedIntegrationRuntimeError] + :ivar last_operation: The last operation result that occurred on this integration runtime. + :vartype last_operation: + ~azure.mgmt.datafactory.models.ManagedIntegrationRuntimeOperationResult + """ + + _validation = { + 'type': {'required': True}, + 'data_factory_name': {'readonly': True}, + 'state': {'readonly': True}, + 'create_time': {'readonly': True}, + 'nodes': {'readonly': True}, + 'other_errors': {'readonly': True}, + 'last_operation': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'create_time': {'key': 'typeProperties.createTime', 'type': 'iso-8601'}, + 'nodes': {'key': 'typeProperties.nodes', 'type': '[ManagedIntegrationRuntimeNode]'}, + 'other_errors': {'key': 'typeProperties.otherErrors', 'type': '[ManagedIntegrationRuntimeError]'}, + 'last_operation': {'key': 'typeProperties.lastOperation', 'type': 'ManagedIntegrationRuntimeOperationResult'}, + } + + def __init__( + self, + **kwargs + ): + super(ManagedIntegrationRuntimeStatus, self).__init__(**kwargs) + self.type = 'Managed' + self.create_time = None + self.nodes = None + self.other_errors = None + self.last_operation = None + + +class MappingDataFlow(DataFlow): + """Mapping data flow. + + :param type: Type of data flow.Constant filled by server. + :type type: str + :param description: The description of the data flow. + :type description: str + :param annotations: List of tags that can be used for describing the data flow. + :type annotations: list[object] + :param folder: The folder that this data flow is in. If not specified, Data flow will appear at + the root level. + :type folder: ~azure.mgmt.datafactory.models.DataFlowFolder + :param sources: List of sources in data flow. + :type sources: list[~azure.mgmt.datafactory.models.DataFlowSource] + :param sinks: List of sinks in data flow. + :type sinks: list[~azure.mgmt.datafactory.models.DataFlowSink] + :param transformations: List of transformations in data flow. + :type transformations: list[~azure.mgmt.datafactory.models.Transformation] + :param script: DataFlow script. + :type script: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DataFlowFolder'}, + 'sources': {'key': 'typeProperties.sources', 'type': '[DataFlowSource]'}, + 'sinks': {'key': 'typeProperties.sinks', 'type': '[DataFlowSink]'}, + 'transformations': {'key': 'typeProperties.transformations', 'type': '[Transformation]'}, + 'script': {'key': 'typeProperties.script', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MappingDataFlow, self).__init__(**kwargs) + self.type = 'MappingDataFlow' + self.sources = kwargs.get('sources', None) + self.sinks = kwargs.get('sinks', None) + self.transformations = kwargs.get('transformations', None) + self.script = kwargs.get('script', None) + + +class MariaDBLinkedService(LinkedService): + """MariaDB server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param pwd: The Azure key vault secret reference of password in connection string. + :type pwd: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MariaDBLinkedService, self).__init__(**kwargs) + self.type = 'MariaDB' + self.connection_string = kwargs.get('connection_string', None) + self.pwd = kwargs.get('pwd', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class MariaDBTableDataset(Dataset): + """MariaDB server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MariaDBTableDataset, self).__init__(**kwargs) + self.type = 'MariaDBTable' + self.table_name = kwargs.get('table_name', None) + + +class MarketoLinkedService(LinkedService): + """Marketo server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of the Marketo server. (i.e. 123-ABC-321.mktorest.com). + :type endpoint: object + :param client_id: Required. The client Id of your Marketo service. + :type client_id: object + :param client_secret: The client secret of your Marketo service. + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + 'client_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MarketoLinkedService, self).__init__(**kwargs) + self.type = 'Marketo' + self.endpoint = kwargs['endpoint'] + self.client_id = kwargs['client_id'] + self.client_secret = kwargs.get('client_secret', None) + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class MarketoObjectDataset(Dataset): + """Marketo server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MarketoObjectDataset, self).__init__(**kwargs) + self.type = 'MarketoObject' + self.table_name = kwargs.get('table_name', None) + + +class MicrosoftAccessLinkedService(LinkedService): + """Microsoft Access linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The non-access credential portion of the connection string + as well as an optional encrypted credential. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param authentication_type: Type of authentication used to connect to the Microsoft Access as + ODBC data store. Possible values are: Anonymous and Basic. Type: string (or Expression with + resultType string). + :type authentication_type: object + :param credential: The access credential portion of the connection string specified in driver- + specific property-value format. + :type credential: ~azure.mgmt.datafactory.models.SecretBase + :param user_name: User name for Basic authentication. Type: string (or Expression with + resultType string). + :type user_name: object + :param password: Password for Basic authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'SecretBase'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MicrosoftAccessLinkedService, self).__init__(**kwargs) + self.type = 'MicrosoftAccess' + self.connection_string = kwargs['connection_string'] + self.authentication_type = kwargs.get('authentication_type', None) + self.credential = kwargs.get('credential', None) + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class MicrosoftAccessTableDataset(Dataset): + """The Microsoft Access table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The Microsoft Access table name. Type: string (or Expression with resultType + string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MicrosoftAccessTableDataset, self).__init__(**kwargs) + self.type = 'MicrosoftAccessTable' + self.table_name = kwargs.get('table_name', None) + + +class MongoDBCollectionDataset(Dataset): + """The MongoDB database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param collection_name: Required. The table name of the MongoDB database. Type: string (or + Expression with resultType string). + :type collection_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'collection_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'collection_name': {'key': 'typeProperties.collectionName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDBCollectionDataset, self).__init__(**kwargs) + self.type = 'MongoDbCollection' + self.collection_name = kwargs['collection_name'] + + +class MongoDBLinkedService(LinkedService): + """Linked service for MongoDb data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param server: Required. The IP address or server name of the MongoDB server. Type: string (or + Expression with resultType string). + :type server: object + :param authentication_type: The authentication type to be used to connect to the MongoDB + database. Possible values include: "Basic", "Anonymous". + :type authentication_type: str or ~azure.mgmt.datafactory.models.MongoDBAuthenticationType + :param database_name: Required. The name of the MongoDB database that you want to access. Type: + string (or Expression with resultType string). + :type database_name: object + :param username: Username for authentication. Type: string (or Expression with resultType + string). + :type username: object + :param password: Password for authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param auth_source: Database to verify the username and password. Type: string (or Expression + with resultType string). + :type auth_source: object + :param port: The TCP port number that the MongoDB server uses to listen for client connections. + The default value is 27017. Type: integer (or Expression with resultType integer), minimum: 0. + :type port: object + :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The + default value is false. Type: boolean (or Expression with resultType boolean). + :type enable_ssl: object + :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from + the server. The default value is false. Type: boolean (or Expression with resultType boolean). + :type allow_self_signed_server_cert: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'server': {'required': True}, + 'database_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'database_name': {'key': 'typeProperties.databaseName', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'auth_source': {'key': 'typeProperties.authSource', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDBLinkedService, self).__init__(**kwargs) + self.type = 'MongoDb' + self.server = kwargs['server'] + self.authentication_type = kwargs.get('authentication_type', None) + self.database_name = kwargs['database_name'] + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.auth_source = kwargs.get('auth_source', None) + self.port = kwargs.get('port', None) + self.enable_ssl = kwargs.get('enable_ssl', None) + self.allow_self_signed_server_cert = kwargs.get('allow_self_signed_server_cert', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class MongoDBV2CollectionDataset(Dataset): + """The MongoDB database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param collection: Required. The collection name of the MongoDB database. Type: string (or + Expression with resultType string). + :type collection: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'collection': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'collection': {'key': 'typeProperties.collection', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDBV2CollectionDataset, self).__init__(**kwargs) + self.type = 'MongoDbV2Collection' + self.collection = kwargs['collection'] + + +class MongoDBV2LinkedService(LinkedService): + """Linked service for MongoDB data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The MongoDB connection string. Type: string, SecureString + or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference. + :type connection_string: object + :param database: Required. The name of the MongoDB database that you want to access. Type: + string (or Expression with resultType string). + :type database: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + 'database': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDBV2LinkedService, self).__init__(**kwargs) + self.type = 'MongoDbV2' + self.connection_string = kwargs['connection_string'] + self.database = kwargs['database'] + + +class Trigger(msrest.serialization.Model): + """Azure data factory nested object which contains information about creating pipeline run. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MultiplePipelineTrigger. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Trigger type.Constant filled by server. + :type type: str + :param description: Trigger description. + :type description: str + :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are + called on the Trigger. Possible values include: "Started", "Stopped", "Disabled". + :vartype runtime_state: str or ~azure.mgmt.datafactory.models.TriggerRuntimeState + :param annotations: List of tags that can be used for describing the trigger. + :type annotations: list[object] + """ + + _validation = { + 'type': {'required': True}, + 'runtime_state': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'runtime_state': {'key': 'runtimeState', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + } + + _subtype_map = { + 'type': {'MultiplePipelineTrigger': 'MultiplePipelineTrigger'} + } + + def __init__( + self, + **kwargs + ): + super(Trigger, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = 'Trigger' + self.description = kwargs.get('description', None) + self.runtime_state = None + self.annotations = kwargs.get('annotations', None) + + +class MultiplePipelineTrigger(Trigger): + """Base class for all triggers that support one to many model for trigger to pipeline. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Trigger type.Constant filled by server. + :type type: str + :param description: Trigger description. + :type description: str + :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are + called on the Trigger. Possible values include: "Started", "Stopped", "Disabled". + :vartype runtime_state: str or ~azure.mgmt.datafactory.models.TriggerRuntimeState + :param annotations: List of tags that can be used for describing the trigger. + :type annotations: list[object] + :param pipelines: Pipelines that need to be started. + :type pipelines: list[~azure.mgmt.datafactory.models.TriggerPipelineReference] + """ + + _validation = { + 'type': {'required': True}, + 'runtime_state': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'runtime_state': {'key': 'runtimeState', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'pipelines': {'key': 'pipelines', 'type': '[TriggerPipelineReference]'}, + } + + def __init__( + self, + **kwargs + ): + super(MultiplePipelineTrigger, self).__init__(**kwargs) + self.type = 'MultiplePipelineTrigger' + self.pipelines = kwargs.get('pipelines', None) + + +class MySqlLinkedService(LinkedService): + """Linked service for MySQL data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MySqlLinkedService, self).__init__(**kwargs) + self.type = 'MySql' + self.connection_string = kwargs['connection_string'] + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class MySqlTableDataset(Dataset): + """The MySQL table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The MySQL table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MySqlTableDataset, self).__init__(**kwargs) + self.type = 'MySqlTable' + self.table_name = kwargs.get('table_name', None) + + +class NetezzaLinkedService(LinkedService): + """Netezza linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param pwd: The Azure key vault secret reference of password in connection string. + :type pwd: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(NetezzaLinkedService, self).__init__(**kwargs) + self.type = 'Netezza' + self.connection_string = kwargs.get('connection_string', None) + self.pwd = kwargs.get('pwd', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class NetezzaTableDataset(Dataset): + """Netezza dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Netezza. Type: string (or Expression with resultType + string). + :type table: object + :param schema_type_properties_schema: The schema name of the Netezza. Type: string (or + Expression with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(NetezzaTableDataset, self).__init__(**kwargs) + self.type = 'NetezzaTable' + self.table_name = kwargs.get('table_name', None) + self.table = kwargs.get('table', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + + +class ODataLinkedService(LinkedService): + """Open Data Protocol (OData) linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. The URL of the OData service endpoint. Type: string (or Expression with + resultType string). + :type url: object + :param authentication_type: Type of authentication used to connect to the OData service. + Possible values include: "Basic", "Anonymous", "Windows", "AadServicePrincipal", + "ManagedServiceIdentity". + :type authentication_type: str or ~azure.mgmt.datafactory.models.ODataAuthenticationType + :param user_name: User name of the OData service. Type: string (or Expression with resultType + string). + :type user_name: object + :param password: Password of the OData service. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param tenant: Specify the tenant information (domain name or tenant ID) under which your + application resides. Type: string (or Expression with resultType string). + :type tenant: object + :param service_principal_id: Specify the application id of your application registered in Azure + Active Directory. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param aad_resource_id: Specify the resource you are requesting authorization to use Directory. + Type: string (or Expression with resultType string). + :type aad_resource_id: object + :param aad_service_principal_credential_type: Specify the credential type (key or cert) is used + for service principal. Possible values include: "ServicePrincipalKey", "ServicePrincipalCert". + :type aad_service_principal_credential_type: str or + ~azure.mgmt.datafactory.models.ODataAadServicePrincipalCredentialType + :param service_principal_key: Specify the secret of your application registered in Azure Active + Directory. Type: string (or Expression with resultType string). + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :param service_principal_embedded_cert: Specify the base64 encoded certificate of your + application registered in Azure Active Directory. Type: string (or Expression with resultType + string). + :type service_principal_embedded_cert: ~azure.mgmt.datafactory.models.SecretBase + :param service_principal_embedded_cert_password: Specify the password of your certificate if + your certificate has a password and you are using AadServicePrincipal authentication. Type: + string (or Expression with resultType string). + :type service_principal_embedded_cert_password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'aad_resource_id': {'key': 'typeProperties.aadResourceId', 'type': 'object'}, + 'aad_service_principal_credential_type': {'key': 'typeProperties.aadServicePrincipalCredentialType', 'type': 'str'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'service_principal_embedded_cert': {'key': 'typeProperties.servicePrincipalEmbeddedCert', 'type': 'SecretBase'}, + 'service_principal_embedded_cert_password': {'key': 'typeProperties.servicePrincipalEmbeddedCertPassword', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ODataLinkedService, self).__init__(**kwargs) + self.type = 'OData' + self.url = kwargs['url'] + self.authentication_type = kwargs.get('authentication_type', None) + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.tenant = kwargs.get('tenant', None) + self.service_principal_id = kwargs.get('service_principal_id', None) + self.aad_resource_id = kwargs.get('aad_resource_id', None) + self.aad_service_principal_credential_type = kwargs.get('aad_service_principal_credential_type', None) + self.service_principal_key = kwargs.get('service_principal_key', None) + self.service_principal_embedded_cert = kwargs.get('service_principal_embedded_cert', None) + self.service_principal_embedded_cert_password = kwargs.get('service_principal_embedded_cert_password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class ODataResourceDataset(Dataset): + """The Open Data Protocol (OData) resource dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param path: The OData resource path. Type: string (or Expression with resultType string). + :type path: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'path': {'key': 'typeProperties.path', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ODataResourceDataset, self).__init__(**kwargs) + self.type = 'ODataResource' + self.path = kwargs.get('path', None) + + +class OdbcLinkedService(LinkedService): + """Open Database Connectivity (ODBC) linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The non-access credential portion of the connection string + as well as an optional encrypted credential. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param authentication_type: Type of authentication used to connect to the ODBC data store. + Possible values are: Anonymous and Basic. Type: string (or Expression with resultType string). + :type authentication_type: object + :param credential: The access credential portion of the connection string specified in driver- + specific property-value format. + :type credential: ~azure.mgmt.datafactory.models.SecretBase + :param user_name: User name for Basic authentication. Type: string (or Expression with + resultType string). + :type user_name: object + :param password: Password for Basic authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'SecretBase'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(OdbcLinkedService, self).__init__(**kwargs) + self.type = 'Odbc' + self.connection_string = kwargs['connection_string'] + self.authentication_type = kwargs.get('authentication_type', None) + self.credential = kwargs.get('credential', None) + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class OdbcTableDataset(Dataset): + """The ODBC table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The ODBC table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(OdbcTableDataset, self).__init__(**kwargs) + self.type = 'OdbcTable' + self.table_name = kwargs.get('table_name', None) + + +class Office365Dataset(Dataset): + """The Office365 account. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: Required. Name of the dataset to extract from Office 365. Type: string (or + Expression with resultType string). + :type table_name: object + :param predicate: A predicate expression that can be used to filter the specific rows to + extract from Office 365. Type: string (or Expression with resultType string). + :type predicate: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'table_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'predicate': {'key': 'typeProperties.predicate', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(Office365Dataset, self).__init__(**kwargs) + self.type = 'Office365Table' + self.table_name = kwargs['table_name'] + self.predicate = kwargs.get('predicate', None) + + +class Office365LinkedService(LinkedService): + """Office365 linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param office365_tenant_id: Required. Azure tenant ID to which the Office 365 account belongs. + Type: string (or Expression with resultType string). + :type office365_tenant_id: object + :param service_principal_tenant_id: Required. Specify the tenant information under which your + Azure AD web application resides. Type: string (or Expression with resultType string). + :type service_principal_tenant_id: object + :param service_principal_id: Required. Specify the application's client ID. Type: string (or + Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: Required. Specify the application's key. + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'office365_tenant_id': {'required': True}, + 'service_principal_tenant_id': {'required': True}, + 'service_principal_id': {'required': True}, + 'service_principal_key': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'office365_tenant_id': {'key': 'typeProperties.office365TenantId', 'type': 'object'}, + 'service_principal_tenant_id': {'key': 'typeProperties.servicePrincipalTenantId', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(Office365LinkedService, self).__init__(**kwargs) + self.type = 'Office365' + self.office365_tenant_id = kwargs['office365_tenant_id'] + self.service_principal_tenant_id = kwargs['service_principal_tenant_id'] + self.service_principal_id = kwargs['service_principal_id'] + self.service_principal_key = kwargs['service_principal_key'] + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class Operation(msrest.serialization.Model): + """Azure Data Factory API operation definition. + + :param name: Operation name: {provider}/{resource}/{operation}. + :type name: str + :param origin: The intended executor of the operation. + :type origin: str + :param display: Metadata associated with the operation. + :type display: ~azure.mgmt.datafactory.models.OperationDisplay + :param service_specification: Details about a service operation. + :type service_specification: ~azure.mgmt.datafactory.models.OperationServiceSpecification + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationServiceSpecification'}, + } + + def __init__( + self, + **kwargs + ): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.origin = kwargs.get('origin', None) + self.display = kwargs.get('display', None) + self.service_specification = kwargs.get('service_specification', None) + + +class OperationDisplay(msrest.serialization.Model): + """Metadata associated with the operation. + + :param description: The description of the operation. + :type description: str + :param provider: The name of the provider. + :type provider: str + :param resource: The name of the resource type on which the operation is performed. + :type resource: str + :param operation: The type of operation: get, read, delete, etc. + :type operation: str + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationDisplay, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + + +class OperationListResponse(msrest.serialization.Model): + """A list of operations that can be performed by the Data Factory service. + + :param value: List of Data Factory operations supported by the Data Factory resource provider. + :type value: list[~azure.mgmt.datafactory.models.Operation] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationListResponse, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class OperationLogSpecification(msrest.serialization.Model): + """Details about an operation related to logs. + + :param name: The name of the log category. + :type name: str + :param display_name: Localized display name. + :type display_name: str + :param blob_duration: Blobs created in the customer storage account, per hour. + :type blob_duration: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationLogSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.blob_duration = kwargs.get('blob_duration', None) + + +class OperationMetricAvailability(msrest.serialization.Model): + """Defines how often data for a metric becomes available. + + :param time_grain: The granularity for the metric. + :type time_grain: str + :param blob_duration: Blob created in the customer storage account, per hour. + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationMetricAvailability, self).__init__(**kwargs) + self.time_grain = kwargs.get('time_grain', None) + self.blob_duration = kwargs.get('blob_duration', None) + + +class OperationMetricDimension(msrest.serialization.Model): + """Defines the metric dimension. + + :param name: The name of the dimension for the metric. + :type name: str + :param display_name: The display name of the metric dimension. + :type display_name: str + :param to_be_exported_for_shoebox: Whether the dimension should be exported to Azure Monitor. + :type to_be_exported_for_shoebox: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationMetricDimension, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.to_be_exported_for_shoebox = kwargs.get('to_be_exported_for_shoebox', None) + + +class OperationMetricSpecification(msrest.serialization.Model): + """Details about an operation related to metrics. + + :param name: The name of the metric. + :type name: str + :param display_name: Localized display name of the metric. + :type display_name: str + :param display_description: The description of the metric. + :type display_description: str + :param unit: The unit that the metric is measured in. + :type unit: str + :param aggregation_type: The type of metric aggregation. + :type aggregation_type: str + :param enable_regional_mdm_account: Whether or not the service is using regional MDM accounts. + :type enable_regional_mdm_account: str + :param source_mdm_account: The name of the MDM account. + :type source_mdm_account: str + :param source_mdm_namespace: The name of the MDM namespace. + :type source_mdm_namespace: str + :param availabilities: Defines how often data for metrics becomes available. + :type availabilities: list[~azure.mgmt.datafactory.models.OperationMetricAvailability] + :param dimensions: Defines the metric dimension. + :type dimensions: list[~azure.mgmt.datafactory.models.OperationMetricDimension] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'str'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[OperationMetricAvailability]'}, + 'dimensions': {'key': 'dimensions', 'type': '[OperationMetricDimension]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationMetricSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.display_description = kwargs.get('display_description', None) + self.unit = kwargs.get('unit', None) + self.aggregation_type = kwargs.get('aggregation_type', None) + self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) + self.source_mdm_account = kwargs.get('source_mdm_account', None) + self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) + self.availabilities = kwargs.get('availabilities', None) + self.dimensions = kwargs.get('dimensions', None) + + +class OperationServiceSpecification(msrest.serialization.Model): + """Details about a service operation. + + :param log_specifications: Details about operations related to logs. + :type log_specifications: list[~azure.mgmt.datafactory.models.OperationLogSpecification] + :param metric_specifications: Details about operations related to metrics. + :type metric_specifications: list[~azure.mgmt.datafactory.models.OperationMetricSpecification] + """ + + _attribute_map = { + 'log_specifications': {'key': 'logSpecifications', 'type': '[OperationLogSpecification]'}, + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[OperationMetricSpecification]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationServiceSpecification, self).__init__(**kwargs) + self.log_specifications = kwargs.get('log_specifications', None) + self.metric_specifications = kwargs.get('metric_specifications', None) + + +class OracleLinkedService(LinkedService): + """Oracle database. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(OracleLinkedService, self).__init__(**kwargs) + self.type = 'Oracle' + self.connection_string = kwargs['connection_string'] + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class OracleServiceCloudLinkedService(LinkedService): + """Oracle Service Cloud linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The URL of the Oracle Service Cloud instance. + :type host: object + :param username: Required. The user name that you use to access Oracle Service Cloud server. + :type username: object + :param password: Required. The password corresponding to the user name that you provided in the + username key. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean). + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. Type: boolean (or Expression with resultType boolean). + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. Type: boolean (or Expression with resultType + boolean). + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'username': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(OracleServiceCloudLinkedService, self).__init__(**kwargs) + self.type = 'OracleServiceCloud' + self.host = kwargs['host'] + self.username = kwargs['username'] + self.password = kwargs['password'] + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class OracleServiceCloudObjectDataset(Dataset): + """Oracle Service Cloud dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(OracleServiceCloudObjectDataset, self).__init__(**kwargs) + self.type = 'OracleServiceCloudObject' + self.table_name = kwargs.get('table_name', None) + + +class OracleTableDataset(Dataset): + """The on-premises Oracle database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param schema_type_properties_schema: The schema name of the on-premises Oracle database. Type: + string (or Expression with resultType string). + :type schema_type_properties_schema: object + :param table: The table name of the on-premises Oracle database. Type: string (or Expression + with resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(OracleTableDataset, self).__init__(**kwargs) + self.type = 'OracleTable' + self.table_name = kwargs.get('table_name', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + self.table = kwargs.get('table', None) + + +class OrcDataset(Dataset): + """ORC dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param location: The location of the ORC data storage. + :type location: ~azure.mgmt.datafactory.models.DatasetLocation + :param orc_compression_codec: Possible values include: "none", "zlib", "snappy". + :type orc_compression_codec: str or ~azure.mgmt.datafactory.models.OrcCompressionCodec + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, + 'orc_compression_codec': {'key': 'typeProperties.orcCompressionCodec', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OrcDataset, self).__init__(**kwargs) + self.type = 'Orc' + self.location = kwargs.get('location', None) + self.orc_compression_codec = kwargs.get('orc_compression_codec', None) + + +class PackageStore(msrest.serialization.Model): + """Package store for the SSIS integration runtime. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the package store. + :type name: str + :param package_store_linked_service: Required. The package store linked service reference. + :type package_store_linked_service: ~azure.mgmt.datafactory.models.EntityReference + """ + + _validation = { + 'name': {'required': True}, + 'package_store_linked_service': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'package_store_linked_service': {'key': 'packageStoreLinkedService', 'type': 'EntityReference'}, + } + + def __init__( + self, + **kwargs + ): + super(PackageStore, self).__init__(**kwargs) + self.name = kwargs['name'] + self.package_store_linked_service = kwargs['package_store_linked_service'] + + +class ParameterSpecification(msrest.serialization.Model): + """Definition of a single parameter for an entity. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Parameter type. Possible values include: "Object", "String", "Int", + "Float", "Bool", "Array", "SecureString". + :type type: str or ~azure.mgmt.datafactory.models.ParameterType + :param default_value: Default value of parameter. + :type default_value: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'default_value': {'key': 'defaultValue', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ParameterSpecification, self).__init__(**kwargs) + self.type = kwargs['type'] + self.default_value = kwargs.get('default_value', None) + + +class ParquetDataset(Dataset): + """Parquet dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param location: The location of the parquet storage. + :type location: ~azure.mgmt.datafactory.models.DatasetLocation + :param compression_codec: Possible values include: "none", "gzip", "snappy", "lzo", "bzip2", + "deflate", "zipDeflate", "lz4". + :type compression_codec: str or ~azure.mgmt.datafactory.models.CompressionCodec + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, + 'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ParquetDataset, self).__init__(**kwargs) + self.type = 'Parquet' + self.location = kwargs.get('location', None) + self.compression_codec = kwargs.get('compression_codec', None) + + +class PaypalLinkedService(LinkedService): + """Paypal Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The URL of the PayPal instance. (i.e. api.sandbox.paypal.com). + :type host: object + :param client_id: Required. The client ID associated with your PayPal application. + :type client_id: object + :param client_secret: The client secret associated with your PayPal application. + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'client_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(PaypalLinkedService, self).__init__(**kwargs) + self.type = 'Paypal' + self.host = kwargs['host'] + self.client_id = kwargs['client_id'] + self.client_secret = kwargs.get('client_secret', None) + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class PaypalObjectDataset(Dataset): + """Paypal Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(PaypalObjectDataset, self).__init__(**kwargs) + self.type = 'PaypalObject' + self.table_name = kwargs.get('table_name', None) + + +class PhoenixLinkedService(LinkedService): + """Phoenix server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The IP address or host name of the Phoenix server. (i.e. + 192.168.222.160). + :type host: object + :param port: The TCP port that the Phoenix server uses to listen for client connections. The + default value is 8765. + :type port: object + :param http_path: The partial URL corresponding to the Phoenix server. (i.e. + /gateway/sandbox/phoenix/version). The default value is hbasephoenix if using + WindowsAzureHDInsightService. + :type http_path: object + :param authentication_type: Required. The authentication mechanism used to connect to the + Phoenix server. Possible values include: "Anonymous", "UsernameAndPassword", + "WindowsAzureHDInsightService". + :type authentication_type: str or ~azure.mgmt.datafactory.models.PhoenixAuthenticationType + :param username: The user name used to connect to the Phoenix server. + :type username: object + :param password: The password corresponding to the user name. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The + default value is false. + :type enable_ssl: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust + store or from a specified PEM file. The default value is false. + :type use_system_trust_store: object + :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate + name to match the host name of the server when connecting over SSL. The default value is false. + :type allow_host_name_cn_mismatch: object + :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from + the server. The default value is false. + :type allow_self_signed_server_cert: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'}, + 'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'}, + 'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(PhoenixLinkedService, self).__init__(**kwargs) + self.type = 'Phoenix' + self.host = kwargs['host'] + self.port = kwargs.get('port', None) + self.http_path = kwargs.get('http_path', None) + self.authentication_type = kwargs['authentication_type'] + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.enable_ssl = kwargs.get('enable_ssl', None) + self.trusted_cert_path = kwargs.get('trusted_cert_path', None) + self.use_system_trust_store = kwargs.get('use_system_trust_store', None) + self.allow_host_name_cn_mismatch = kwargs.get('allow_host_name_cn_mismatch', None) + self.allow_self_signed_server_cert = kwargs.get('allow_self_signed_server_cert', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class PhoenixObjectDataset(Dataset): + """Phoenix server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Phoenix. Type: string (or Expression with resultType + string). + :type table: object + :param schema_type_properties_schema: The schema name of the Phoenix. Type: string (or + Expression with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(PhoenixObjectDataset, self).__init__(**kwargs) + self.type = 'PhoenixObject' + self.table_name = kwargs.get('table_name', None) + self.table = kwargs.get('table', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + + +class PipelineFolder(msrest.serialization.Model): + """The folder that this Pipeline is in. If not specified, Pipeline will appear at the root level. + + :param name: The name of the folder that this Pipeline is in. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PipelineFolder, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class PipelineListResponse(msrest.serialization.Model): + """A list of pipeline resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of pipelines. + :type value: list[~azure.mgmt.datafactory.models.PipelineResource] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PipelineResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PipelineListResponse, self).__init__(**kwargs) + self.value = kwargs['value'] + self.next_link = kwargs.get('next_link', None) + + +class PipelineReference(msrest.serialization.Model): + """Pipeline reference type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar type: Required. Pipeline reference type. Default value: "PipelineReference". + :vartype type: str + :param reference_name: Required. Reference pipeline name. + :type reference_name: str + :param name: Reference name. + :type name: str + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'reference_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + type = "PipelineReference" + + def __init__( + self, + **kwargs + ): + super(PipelineReference, self).__init__(**kwargs) + self.reference_name = kwargs['reference_name'] + self.name = kwargs.get('name', None) + + +class PipelineResource(SubResource): + """Pipeline resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param description: The description of the pipeline. + :type description: str + :param activities: List of activities in pipeline. + :type activities: list[~azure.mgmt.datafactory.models.Activity] + :param parameters: List of parameters for pipeline. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param variables: List of variables for pipeline. + :type variables: dict[str, ~azure.mgmt.datafactory.models.VariableSpecification] + :param concurrency: The max number of concurrent runs for the pipeline. + :type concurrency: int + :param annotations: List of tags that can be used for describing the Pipeline. + :type annotations: list[object] + :param run_dimensions: Dimensions emitted by Pipeline. + :type run_dimensions: dict[str, object] + :param folder: The folder that this Pipeline is in. If not specified, Pipeline will appear at + the root level. + :type folder: ~azure.mgmt.datafactory.models.PipelineFolder + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'concurrency': {'minimum': 1}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'activities': {'key': 'properties.activities', 'type': '[Activity]'}, + 'parameters': {'key': 'properties.parameters', 'type': '{ParameterSpecification}'}, + 'variables': {'key': 'properties.variables', 'type': '{VariableSpecification}'}, + 'concurrency': {'key': 'properties.concurrency', 'type': 'int'}, + 'annotations': {'key': 'properties.annotations', 'type': '[object]'}, + 'run_dimensions': {'key': 'properties.runDimensions', 'type': '{object}'}, + 'folder': {'key': 'properties.folder', 'type': 'PipelineFolder'}, + } + + def __init__( + self, + **kwargs + ): + super(PipelineResource, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.description = kwargs.get('description', None) + self.activities = kwargs.get('activities', None) + self.parameters = kwargs.get('parameters', None) + self.variables = kwargs.get('variables', None) + self.concurrency = kwargs.get('concurrency', None) + self.annotations = kwargs.get('annotations', None) + self.run_dimensions = kwargs.get('run_dimensions', None) + self.folder = kwargs.get('folder', None) + + +class PipelineRun(msrest.serialization.Model): + """Information about a pipeline run. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar run_id: Identifier of a run. + :vartype run_id: str + :ivar run_group_id: Identifier that correlates all the recovery runs of a pipeline run. + :vartype run_group_id: str + :ivar is_latest: Indicates if the recovered pipeline run is the latest in its group. + :vartype is_latest: bool + :ivar pipeline_name: The pipeline name. + :vartype pipeline_name: str + :ivar parameters: The full or partial list of parameter name, value pair used in the pipeline + run. + :vartype parameters: dict[str, str] + :ivar run_dimensions: Run dimensions emitted by Pipeline run. + :vartype run_dimensions: dict[str, str] + :ivar invoked_by: Entity that started the pipeline run. + :vartype invoked_by: ~azure.mgmt.datafactory.models.PipelineRunInvokedBy + :ivar last_updated: The last updated timestamp for the pipeline run event in ISO8601 format. + :vartype last_updated: ~datetime.datetime + :ivar run_start: The start time of a pipeline run in ISO8601 format. + :vartype run_start: ~datetime.datetime + :ivar run_end: The end time of a pipeline run in ISO8601 format. + :vartype run_end: ~datetime.datetime + :ivar duration_in_ms: The duration of a pipeline run. + :vartype duration_in_ms: int + :ivar status: The status of a pipeline run. + :vartype status: str + :ivar message: The message from a pipeline run. + :vartype message: str + """ + + _validation = { + 'run_id': {'readonly': True}, + 'run_group_id': {'readonly': True}, + 'is_latest': {'readonly': True}, + 'pipeline_name': {'readonly': True}, + 'parameters': {'readonly': True}, + 'run_dimensions': {'readonly': True}, + 'invoked_by': {'readonly': True}, + 'last_updated': {'readonly': True}, + 'run_start': {'readonly': True}, + 'run_end': {'readonly': True}, + 'duration_in_ms': {'readonly': True}, + 'status': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'run_id': {'key': 'runId', 'type': 'str'}, + 'run_group_id': {'key': 'runGroupId', 'type': 'str'}, + 'is_latest': {'key': 'isLatest', 'type': 'bool'}, + 'pipeline_name': {'key': 'pipelineName', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{str}'}, + 'run_dimensions': {'key': 'runDimensions', 'type': '{str}'}, + 'invoked_by': {'key': 'invokedBy', 'type': 'PipelineRunInvokedBy'}, + 'last_updated': {'key': 'lastUpdated', 'type': 'iso-8601'}, + 'run_start': {'key': 'runStart', 'type': 'iso-8601'}, + 'run_end': {'key': 'runEnd', 'type': 'iso-8601'}, + 'duration_in_ms': {'key': 'durationInMs', 'type': 'int'}, + 'status': {'key': 'status', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PipelineRun, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.run_id = None + self.run_group_id = None + self.is_latest = None + self.pipeline_name = None + self.parameters = None + self.run_dimensions = None + self.invoked_by = None + self.last_updated = None + self.run_start = None + self.run_end = None + self.duration_in_ms = None + self.status = None + self.message = None + + +class PipelineRunInvokedBy(msrest.serialization.Model): + """Provides entity name and id that started the pipeline run. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the entity that started the pipeline run. + :vartype name: str + :ivar id: The ID of the entity that started the run. + :vartype id: str + :ivar invoked_by_type: The type of the entity that started the run. + :vartype invoked_by_type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'invoked_by_type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'invoked_by_type': {'key': 'invokedByType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PipelineRunInvokedBy, self).__init__(**kwargs) + self.name = None + self.id = None + self.invoked_by_type = None + + +class PipelineRunsQueryResponse(msrest.serialization.Model): + """A list pipeline runs. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of pipeline runs. + :type value: list[~azure.mgmt.datafactory.models.PipelineRun] + :param continuation_token: The continuation token for getting the next page of results, if any + remaining results exist, null otherwise. + :type continuation_token: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PipelineRun]'}, + 'continuation_token': {'key': 'continuationToken', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PipelineRunsQueryResponse, self).__init__(**kwargs) + self.value = kwargs['value'] + self.continuation_token = kwargs.get('continuation_token', None) + + +class PostgreSqlLinkedService(LinkedService): + """Linked service for PostgreSQL data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(PostgreSqlLinkedService, self).__init__(**kwargs) + self.type = 'PostgreSql' + self.connection_string = kwargs['connection_string'] + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class PostgreSqlTableDataset(Dataset): + """The PostgreSQL table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The PostgreSQL table name. Type: string (or Expression with resultType string). + :type table: object + :param schema_type_properties_schema: The PostgreSQL schema name. Type: string (or Expression + with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(PostgreSqlTableDataset, self).__init__(**kwargs) + self.type = 'PostgreSqlTable' + self.table_name = kwargs.get('table_name', None) + self.table = kwargs.get('table', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + + +class PrestoLinkedService(LinkedService): + """Presto server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The IP address or host name of the Presto server. (i.e. + 192.168.222.160). + :type host: object + :param server_version: Required. The version of the Presto server. (i.e. 0.148-t). + :type server_version: object + :param catalog: Required. The catalog context for all request against the server. + :type catalog: object + :param port: The TCP port that the Presto server uses to listen for client connections. The + default value is 8080. + :type port: object + :param authentication_type: Required. The authentication mechanism used to connect to the + Presto server. Possible values include: "Anonymous", "LDAP". + :type authentication_type: str or ~azure.mgmt.datafactory.models.PrestoAuthenticationType + :param username: The user name used to connect to the Presto server. + :type username: object + :param password: The password corresponding to the user name. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The + default value is false. + :type enable_ssl: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust + store or from a specified PEM file. The default value is false. + :type use_system_trust_store: object + :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate + name to match the host name of the server when connecting over SSL. The default value is false. + :type allow_host_name_cn_mismatch: object + :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from + the server. The default value is false. + :type allow_self_signed_server_cert: object + :param time_zone_id: The local time zone used by the connection. Valid values for this option + are specified in the IANA Time Zone Database. The default value is the system time zone. + :type time_zone_id: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'server_version': {'required': True}, + 'catalog': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'server_version': {'key': 'typeProperties.serverVersion', 'type': 'object'}, + 'catalog': {'key': 'typeProperties.catalog', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'}, + 'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'}, + 'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'}, + 'time_zone_id': {'key': 'typeProperties.timeZoneID', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(PrestoLinkedService, self).__init__(**kwargs) + self.type = 'Presto' + self.host = kwargs['host'] + self.server_version = kwargs['server_version'] + self.catalog = kwargs['catalog'] + self.port = kwargs.get('port', None) + self.authentication_type = kwargs['authentication_type'] + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.enable_ssl = kwargs.get('enable_ssl', None) + self.trusted_cert_path = kwargs.get('trusted_cert_path', None) + self.use_system_trust_store = kwargs.get('use_system_trust_store', None) + self.allow_host_name_cn_mismatch = kwargs.get('allow_host_name_cn_mismatch', None) + self.allow_self_signed_server_cert = kwargs.get('allow_self_signed_server_cert', None) + self.time_zone_id = kwargs.get('time_zone_id', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class PrestoObjectDataset(Dataset): + """Presto server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Presto. Type: string (or Expression with resultType + string). + :type table: object + :param schema_type_properties_schema: The schema name of the Presto. Type: string (or + Expression with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(PrestoObjectDataset, self).__init__(**kwargs) + self.type = 'PrestoObject' + self.table_name = kwargs.get('table_name', None) + self.table = kwargs.get('table', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + + +class QueryDataFlowDebugSessionsResponse(msrest.serialization.Model): + """A list of active debug sessions. + + :param value: Array with all active debug sessions. + :type value: list[~azure.mgmt.datafactory.models.DataFlowDebugSessionInfo] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DataFlowDebugSessionInfo]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(QueryDataFlowDebugSessionsResponse, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class QuickBooksLinkedService(LinkedService): + """QuickBooks server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of the QuickBooks server. (i.e. + quickbooks.api.intuit.com). + :type endpoint: object + :param company_id: Required. The company ID of the QuickBooks company to authorize. + :type company_id: object + :param consumer_key: Required. The consumer key for OAuth 1.0 authentication. + :type consumer_key: object + :param consumer_secret: Required. The consumer secret for OAuth 1.0 authentication. + :type consumer_secret: ~azure.mgmt.datafactory.models.SecretBase + :param access_token: Required. The access token for OAuth 1.0 authentication. + :type access_token: ~azure.mgmt.datafactory.models.SecretBase + :param access_token_secret: Required. The access token secret for OAuth 1.0 authentication. + :type access_token_secret: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + 'company_id': {'required': True}, + 'consumer_key': {'required': True}, + 'consumer_secret': {'required': True}, + 'access_token': {'required': True}, + 'access_token_secret': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'company_id': {'key': 'typeProperties.companyId', 'type': 'object'}, + 'consumer_key': {'key': 'typeProperties.consumerKey', 'type': 'object'}, + 'consumer_secret': {'key': 'typeProperties.consumerSecret', 'type': 'SecretBase'}, + 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'access_token_secret': {'key': 'typeProperties.accessTokenSecret', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(QuickBooksLinkedService, self).__init__(**kwargs) + self.type = 'QuickBooks' + self.endpoint = kwargs['endpoint'] + self.company_id = kwargs['company_id'] + self.consumer_key = kwargs['consumer_key'] + self.consumer_secret = kwargs['consumer_secret'] + self.access_token = kwargs['access_token'] + self.access_token_secret = kwargs['access_token_secret'] + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class QuickBooksObjectDataset(Dataset): + """QuickBooks server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(QuickBooksObjectDataset, self).__init__(**kwargs) + self.type = 'QuickBooksObject' + self.table_name = kwargs.get('table_name', None) + + +class RedirectIncompatibleRowSettings(msrest.serialization.Model): + """Redirect incompatible row settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param linked_service_name: Required. Name of the Azure Storage, Storage SAS, or Azure Data + Lake Store linked service used for redirecting incompatible row. Must be specified if + redirectIncompatibleRowSettings is specified. Type: string (or Expression with resultType + string). + :type linked_service_name: object + :param path: The path for storing the redirect incompatible row data. Type: string (or + Expression with resultType string). + :type path: object + """ + + _validation = { + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'object'}, + 'path': {'key': 'path', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(RedirectIncompatibleRowSettings, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.linked_service_name = kwargs['linked_service_name'] + self.path = kwargs.get('path', None) + + +class RelationalTableDataset(Dataset): + """The relational table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The relational table name. Type: string (or Expression with resultType + string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(RelationalTableDataset, self).__init__(**kwargs) + self.type = 'RelationalTable' + self.table_name = kwargs.get('table_name', None) + + +class ResponsysLinkedService(LinkedService): + """Responsys linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of the Responsys server. + :type endpoint: object + :param client_id: Required. The client ID associated with the Responsys application. Type: + string (or Expression with resultType string). + :type client_id: object + :param client_secret: The client secret associated with the Responsys application. Type: string + (or Expression with resultType string). + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean). + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. Type: boolean (or Expression with resultType boolean). + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. Type: boolean (or Expression with resultType + boolean). + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + 'client_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ResponsysLinkedService, self).__init__(**kwargs) + self.type = 'Responsys' + self.endpoint = kwargs['endpoint'] + self.client_id = kwargs['client_id'] + self.client_secret = kwargs.get('client_secret', None) + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class ResponsysObjectDataset(Dataset): + """Responsys dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ResponsysObjectDataset, self).__init__(**kwargs) + self.type = 'ResponsysObject' + self.table_name = kwargs.get('table_name', None) + + +class RestResourceDataset(Dataset): + """A Rest service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param relative_url: The relative URL to the resource that the RESTful API provides. Type: + string (or Expression with resultType string). + :type relative_url: object + :param request_method: The HTTP method used to call the RESTful API. The default is GET. Type: + string (or Expression with resultType string). + :type request_method: object + :param request_body: The HTTP request body to the RESTful API if requestMethod is POST. Type: + string (or Expression with resultType string). + :type request_body: object + :param additional_headers: The additional HTTP headers in the request to the RESTful API. Type: + string (or Expression with resultType string). + :type additional_headers: object + :param pagination_rules: The pagination rules to compose next page requests. Type: string (or + Expression with resultType string). + :type pagination_rules: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'relative_url': {'key': 'typeProperties.relativeUrl', 'type': 'object'}, + 'request_method': {'key': 'typeProperties.requestMethod', 'type': 'object'}, + 'request_body': {'key': 'typeProperties.requestBody', 'type': 'object'}, + 'additional_headers': {'key': 'typeProperties.additionalHeaders', 'type': 'object'}, + 'pagination_rules': {'key': 'typeProperties.paginationRules', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(RestResourceDataset, self).__init__(**kwargs) + self.type = 'RestResource' + self.relative_url = kwargs.get('relative_url', None) + self.request_method = kwargs.get('request_method', None) + self.request_body = kwargs.get('request_body', None) + self.additional_headers = kwargs.get('additional_headers', None) + self.pagination_rules = kwargs.get('pagination_rules', None) + + +class RestServiceLinkedService(LinkedService): + """Rest Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. The base URL of the REST service. + :type url: object + :param enable_server_certificate_validation: Whether to validate server side SSL certificate + when connecting to the endpoint.The default value is true. Type: boolean (or Expression with + resultType boolean). + :type enable_server_certificate_validation: object + :param authentication_type: Required. Type of authentication used to connect to the REST + service. Possible values include: "Anonymous", "Basic", "AadServicePrincipal", + "ManagedServiceIdentity". + :type authentication_type: str or ~azure.mgmt.datafactory.models.RestServiceAuthenticationType + :param user_name: The user name used in Basic authentication type. + :type user_name: object + :param password: The password used in Basic authentication type. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param service_principal_id: The application's client ID used in AadServicePrincipal + authentication type. + :type service_principal_id: object + :param service_principal_key: The application's key used in AadServicePrincipal authentication + type. + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :param tenant: The tenant information (domain name or tenant ID) used in AadServicePrincipal + authentication type under which your application resides. + :type tenant: object + :param aad_resource_id: The resource you are requesting authorization to use. + :type aad_resource_id: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'enable_server_certificate_validation': {'key': 'typeProperties.enableServerCertificateValidation', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'aad_resource_id': {'key': 'typeProperties.aadResourceId', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(RestServiceLinkedService, self).__init__(**kwargs) + self.type = 'RestService' + self.url = kwargs['url'] + self.enable_server_certificate_validation = kwargs.get('enable_server_certificate_validation', None) + self.authentication_type = kwargs['authentication_type'] + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_key = kwargs.get('service_principal_key', None) + self.tenant = kwargs.get('tenant', None) + self.aad_resource_id = kwargs.get('aad_resource_id', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class RunFilterParameters(msrest.serialization.Model): + """Query parameters for listing runs. + + All required parameters must be populated in order to send to Azure. + + :param continuation_token: The continuation token for getting the next page of results. Null + for first page. + :type continuation_token: str + :param last_updated_after: Required. The time at or after which the run event was updated in + 'ISO 8601' format. + :type last_updated_after: ~datetime.datetime + :param last_updated_before: Required. The time at or before which the run event was updated in + 'ISO 8601' format. + :type last_updated_before: ~datetime.datetime + :param filters: List of filters. + :type filters: list[~azure.mgmt.datafactory.models.RunQueryFilter] + :param order_by: List of OrderBy option. + :type order_by: list[~azure.mgmt.datafactory.models.RunQueryOrderBy] + """ + + _validation = { + 'last_updated_after': {'required': True}, + 'last_updated_before': {'required': True}, + } + + _attribute_map = { + 'continuation_token': {'key': 'continuationToken', 'type': 'str'}, + 'last_updated_after': {'key': 'lastUpdatedAfter', 'type': 'iso-8601'}, + 'last_updated_before': {'key': 'lastUpdatedBefore', 'type': 'iso-8601'}, + 'filters': {'key': 'filters', 'type': '[RunQueryFilter]'}, + 'order_by': {'key': 'orderBy', 'type': '[RunQueryOrderBy]'}, + } + + def __init__( + self, + **kwargs + ): + super(RunFilterParameters, self).__init__(**kwargs) + self.continuation_token = kwargs.get('continuation_token', None) + self.last_updated_after = kwargs['last_updated_after'] + self.last_updated_before = kwargs['last_updated_before'] + self.filters = kwargs.get('filters', None) + self.order_by = kwargs.get('order_by', None) + + +class RunQueryFilter(msrest.serialization.Model): + """Query filter option for listing runs. + + All required parameters must be populated in order to send to Azure. + + :param operand: Required. Parameter name to be used for filter. The allowed operands to query + pipeline runs are PipelineName, RunStart, RunEnd and Status; to query activity runs are + ActivityName, ActivityRunStart, ActivityRunEnd, ActivityType and Status, and to query trigger + runs are TriggerName, TriggerRunTimestamp and Status. Possible values include: "PipelineName", + "Status", "RunStart", "RunEnd", "ActivityName", "ActivityRunStart", "ActivityRunEnd", + "ActivityType", "TriggerName", "TriggerRunTimestamp", "RunGroupId", "LatestOnly". + :type operand: str or ~azure.mgmt.datafactory.models.RunQueryFilterOperand + :param operator: Required. Operator to be used for filter. Possible values include: "Equals", + "NotEquals", "In", "NotIn". + :type operator: str or ~azure.mgmt.datafactory.models.RunQueryFilterOperator + :param values: Required. List of filter values. + :type values: list[str] + """ + + _validation = { + 'operand': {'required': True}, + 'operator': {'required': True}, + 'values': {'required': True}, + } + + _attribute_map = { + 'operand': {'key': 'operand', 'type': 'str'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(RunQueryFilter, self).__init__(**kwargs) + self.operand = kwargs['operand'] + self.operator = kwargs['operator'] + self.values = kwargs['values'] + + +class RunQueryOrderBy(msrest.serialization.Model): + """An object to provide order by options for listing runs. + + All required parameters must be populated in order to send to Azure. + + :param order_by: Required. Parameter name to be used for order by. The allowed parameters to + order by for pipeline runs are PipelineName, RunStart, RunEnd and Status; for activity runs are + ActivityName, ActivityRunStart, ActivityRunEnd and Status; for trigger runs are TriggerName, + TriggerRunTimestamp and Status. Possible values include: "RunStart", "RunEnd", "PipelineName", + "Status", "ActivityName", "ActivityRunStart", "ActivityRunEnd", "TriggerName", + "TriggerRunTimestamp". + :type order_by: str or ~azure.mgmt.datafactory.models.RunQueryOrderByField + :param order: Required. Sorting order of the parameter. Possible values include: "ASC", "DESC". + :type order: str or ~azure.mgmt.datafactory.models.RunQueryOrder + """ + + _validation = { + 'order_by': {'required': True}, + 'order': {'required': True}, + } + + _attribute_map = { + 'order_by': {'key': 'orderBy', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(RunQueryOrderBy, self).__init__(**kwargs) + self.order_by = kwargs['order_by'] + self.order = kwargs['order'] + + +class SalesforceLinkedService(LinkedService): + """Linked service for Salesforce. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param environment_url: The URL of Salesforce instance. Default is + 'https://login.salesforce.com'. To copy data from sandbox, specify + 'https://test.salesforce.com'. To copy data from custom domain, specify, for example, + 'https://[domain].my.salesforce.com'. Type: string (or Expression with resultType string). + :type environment_url: object + :param username: The username for Basic authentication of the Salesforce instance. Type: string + (or Expression with resultType string). + :type username: object + :param password: The password for Basic authentication of the Salesforce instance. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param security_token: The security token is optional to remotely access Salesforce instance. + :type security_token: ~azure.mgmt.datafactory.models.SecretBase + :param api_version: The Salesforce API version used in ADF. Type: string (or Expression with + resultType string). + :type api_version: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'environment_url': {'key': 'typeProperties.environmentUrl', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'security_token': {'key': 'typeProperties.securityToken', 'type': 'SecretBase'}, + 'api_version': {'key': 'typeProperties.apiVersion', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SalesforceLinkedService, self).__init__(**kwargs) + self.type = 'Salesforce' + self.environment_url = kwargs.get('environment_url', None) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.security_token = kwargs.get('security_token', None) + self.api_version = kwargs.get('api_version', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class SalesforceMarketingCloudLinkedService(LinkedService): + """Salesforce Marketing Cloud linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param client_id: Required. The client ID associated with the Salesforce Marketing Cloud + application. Type: string (or Expression with resultType string). + :type client_id: object + :param client_secret: The client secret associated with the Salesforce Marketing Cloud + application. Type: string (or Expression with resultType string). + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean). + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. Type: boolean (or Expression with resultType boolean). + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. Type: boolean (or Expression with resultType + boolean). + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'client_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SalesforceMarketingCloudLinkedService, self).__init__(**kwargs) + self.type = 'SalesforceMarketingCloud' + self.client_id = kwargs['client_id'] + self.client_secret = kwargs.get('client_secret', None) + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class SalesforceMarketingCloudObjectDataset(Dataset): + """Salesforce Marketing Cloud dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SalesforceMarketingCloudObjectDataset, self).__init__(**kwargs) + self.type = 'SalesforceMarketingCloudObject' + self.table_name = kwargs.get('table_name', None) + + +class SalesforceObjectDataset(Dataset): + """The Salesforce object dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param object_api_name: The Salesforce object API name. Type: string (or Expression with + resultType string). + :type object_api_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'object_api_name': {'key': 'typeProperties.objectApiName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SalesforceObjectDataset, self).__init__(**kwargs) + self.type = 'SalesforceObject' + self.object_api_name = kwargs.get('object_api_name', None) + + +class SalesforceServiceCloudLinkedService(LinkedService): + """Linked service for Salesforce Service Cloud. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param environment_url: The URL of Salesforce Service Cloud instance. Default is + 'https://login.salesforce.com'. To copy data from sandbox, specify + 'https://test.salesforce.com'. To copy data from custom domain, specify, for example, + 'https://[domain].my.salesforce.com'. Type: string (or Expression with resultType string). + :type environment_url: object + :param username: The username for Basic authentication of the Salesforce instance. Type: string + (or Expression with resultType string). + :type username: object + :param password: The password for Basic authentication of the Salesforce instance. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param security_token: The security token is optional to remotely access Salesforce instance. + :type security_token: ~azure.mgmt.datafactory.models.SecretBase + :param api_version: The Salesforce API version used in ADF. Type: string (or Expression with + resultType string). + :type api_version: object + :param extended_properties: Extended properties appended to the connection string. Type: string + (or Expression with resultType string). + :type extended_properties: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'environment_url': {'key': 'typeProperties.environmentUrl', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'security_token': {'key': 'typeProperties.securityToken', 'type': 'SecretBase'}, + 'api_version': {'key': 'typeProperties.apiVersion', 'type': 'object'}, + 'extended_properties': {'key': 'typeProperties.extendedProperties', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SalesforceServiceCloudLinkedService, self).__init__(**kwargs) + self.type = 'SalesforceServiceCloud' + self.environment_url = kwargs.get('environment_url', None) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.security_token = kwargs.get('security_token', None) + self.api_version = kwargs.get('api_version', None) + self.extended_properties = kwargs.get('extended_properties', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class SalesforceServiceCloudObjectDataset(Dataset): + """The Salesforce Service Cloud object dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param object_api_name: The Salesforce Service Cloud object API name. Type: string (or + Expression with resultType string). + :type object_api_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'object_api_name': {'key': 'typeProperties.objectApiName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SalesforceServiceCloudObjectDataset, self).__init__(**kwargs) + self.type = 'SalesforceServiceCloudObject' + self.object_api_name = kwargs.get('object_api_name', None) + + +class SapBwCubeDataset(Dataset): + """The SAP BW cube dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + } + + def __init__( + self, + **kwargs + ): + super(SapBwCubeDataset, self).__init__(**kwargs) + self.type = 'SapBwCube' + + +class SapBwLinkedService(LinkedService): + """SAP Business Warehouse Linked Service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param server: Required. Host name of the SAP BW instance. Type: string (or Expression with + resultType string). + :type server: object + :param system_number: Required. System number of the BW system. (Usually a two-digit decimal + number represented as a string.) Type: string (or Expression with resultType string). + :type system_number: object + :param client_id: Required. Client ID of the client on the BW system. (Usually a three-digit + decimal number represented as a string) Type: string (or Expression with resultType string). + :type client_id: object + :param user_name: Username to access the SAP BW server. Type: string (or Expression with + resultType string). + :type user_name: object + :param password: Password to access the SAP BW server. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'server': {'required': True}, + 'system_number': {'required': True}, + 'client_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'system_number': {'key': 'typeProperties.systemNumber', 'type': 'object'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SapBwLinkedService, self).__init__(**kwargs) + self.type = 'SapBW' + self.server = kwargs['server'] + self.system_number = kwargs['system_number'] + self.client_id = kwargs['client_id'] + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class SapCloudForCustomerLinkedService(LinkedService): + """Linked service for SAP Cloud for Customer. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. The URL of SAP Cloud for Customer OData API. For example, + '[https://[tenantname].crm.ondemand.com/sap/c4c/odata/v1]'. Type: string (or Expression with + resultType string). + :type url: object + :param username: The username for Basic authentication. Type: string (or Expression with + resultType string). + :type username: object + :param password: The password for Basic authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Either encryptedCredential or + username/password must be provided. Type: string (or Expression with resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SapCloudForCustomerLinkedService, self).__init__(**kwargs) + self.type = 'SapCloudForCustomer' + self.url = kwargs['url'] + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class SapCloudForCustomerResourceDataset(Dataset): + """The path of the SAP Cloud for Customer OData entity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param path: Required. The path of the SAP Cloud for Customer OData entity. Type: string (or + Expression with resultType string). + :type path: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'path': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'path': {'key': 'typeProperties.path', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SapCloudForCustomerResourceDataset, self).__init__(**kwargs) + self.type = 'SapCloudForCustomerResource' + self.path = kwargs['path'] + + +class SapEccLinkedService(LinkedService): + """Linked service for SAP ERP Central Component(SAP ECC). + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. The URL of SAP ECC OData API. For example, + '[https://hostname:port/sap/opu/odata/sap/servicename/]'. Type: string (or Expression with + resultType string). + :type url: str + :param username: The username for Basic authentication. Type: string (or Expression with + resultType string). + :type username: str + :param password: The password for Basic authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Either encryptedCredential or + username/password must be provided. Type: string (or Expression with resultType string). + :type encrypted_credential: str + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'str'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SapEccLinkedService, self).__init__(**kwargs) + self.type = 'SapEcc' + self.url = kwargs['url'] + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class SapEccResourceDataset(Dataset): + """The path of the SAP ECC OData entity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param path: Required. The path of the SAP ECC OData entity. Type: string (or Expression with + resultType string). + :type path: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'path': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'path': {'key': 'typeProperties.path', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SapEccResourceDataset, self).__init__(**kwargs) + self.type = 'SapEccResource' + self.path = kwargs['path'] + + +class SapHanaLinkedService(LinkedService): + """SAP HANA Linked Service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: SAP HANA ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param server: Host name of the SAP HANA server. Type: string (or Expression with resultType + string). + :type server: object + :param authentication_type: The authentication type to be used to connect to the SAP HANA + server. Possible values include: "Basic", "Windows". + :type authentication_type: str or ~azure.mgmt.datafactory.models.SapHanaAuthenticationType + :param user_name: Username to access the SAP HANA server. Type: string (or Expression with + resultType string). + :type user_name: object + :param password: Password to access the SAP HANA server. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SapHanaLinkedService, self).__init__(**kwargs) + self.type = 'SapHana' + self.connection_string = kwargs.get('connection_string', None) + self.server = kwargs.get('server', None) + self.authentication_type = kwargs.get('authentication_type', None) + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class SapHanaTableDataset(Dataset): + """SAP HANA Table properties. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param schema_type_properties_schema: The schema name of SAP HANA. Type: string (or Expression + with resultType string). + :type schema_type_properties_schema: object + :param table: The table name of SAP HANA. Type: string (or Expression with resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SapHanaTableDataset, self).__init__(**kwargs) + self.type = 'SapHanaTable' + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + self.table = kwargs.get('table', None) + + +class SapOpenHubLinkedService(LinkedService): + """SAP Business Warehouse Open Hub Destination Linked Service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param server: Required. Host name of the SAP BW instance where the open hub destination is + located. Type: string (or Expression with resultType string). + :type server: object + :param system_number: Required. System number of the BW system where the open hub destination + is located. (Usually a two-digit decimal number represented as a string.) Type: string (or + Expression with resultType string). + :type system_number: object + :param client_id: Required. Client ID of the client on the BW system where the open hub + destination is located. (Usually a three-digit decimal number represented as a string) Type: + string (or Expression with resultType string). + :type client_id: object + :param language: Language of the BW system where the open hub destination is located. The + default value is EN. Type: string (or Expression with resultType string). + :type language: object + :param user_name: Username to access the SAP BW server where the open hub destination is + located. Type: string (or Expression with resultType string). + :type user_name: object + :param password: Password to access the SAP BW server where the open hub destination is + located. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'server': {'required': True}, + 'system_number': {'required': True}, + 'client_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'system_number': {'key': 'typeProperties.systemNumber', 'type': 'object'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'language': {'key': 'typeProperties.language', 'type': 'object'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SapOpenHubLinkedService, self).__init__(**kwargs) + self.type = 'SapOpenHub' + self.server = kwargs['server'] + self.system_number = kwargs['system_number'] + self.client_id = kwargs['client_id'] + self.language = kwargs.get('language', None) + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class SapOpenHubTableDataset(Dataset): + """Sap Business Warehouse Open Hub Destination Table properties. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param open_hub_destination_name: Required. The name of the Open Hub Destination with + destination type as Database Table. Type: string (or Expression with resultType string). + :type open_hub_destination_name: object + :param exclude_last_request: Whether to exclude the records of the last request. The default + value is true. Type: boolean (or Expression with resultType boolean). + :type exclude_last_request: object + :param base_request_id: The ID of request for delta loading. Once it is set, only data with + requestId larger than the value of this property will be retrieved. The default value is 0. + Type: integer (or Expression with resultType integer ). + :type base_request_id: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'open_hub_destination_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'open_hub_destination_name': {'key': 'typeProperties.openHubDestinationName', 'type': 'object'}, + 'exclude_last_request': {'key': 'typeProperties.excludeLastRequest', 'type': 'object'}, + 'base_request_id': {'key': 'typeProperties.baseRequestId', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SapOpenHubTableDataset, self).__init__(**kwargs) + self.type = 'SapOpenHubTable' + self.open_hub_destination_name = kwargs['open_hub_destination_name'] + self.exclude_last_request = kwargs.get('exclude_last_request', None) + self.base_request_id = kwargs.get('base_request_id', None) + + +class SapTableLinkedService(LinkedService): + """SAP Table Linked Service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param server: Host name of the SAP instance where the table is located. Type: string (or + Expression with resultType string). + :type server: object + :param system_number: System number of the SAP system where the table is located. (Usually a + two-digit decimal number represented as a string.) Type: string (or Expression with resultType + string). + :type system_number: object + :param client_id: Client ID of the client on the SAP system where the table is located. + (Usually a three-digit decimal number represented as a string) Type: string (or Expression with + resultType string). + :type client_id: object + :param language: Language of the SAP system where the table is located. The default value is + EN. Type: string (or Expression with resultType string). + :type language: object + :param system_id: SystemID of the SAP system where the table is located. Type: string (or + Expression with resultType string). + :type system_id: object + :param user_name: Username to access the SAP server where the table is located. Type: string + (or Expression with resultType string). + :type user_name: object + :param password: Password to access the SAP server where the table is located. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param message_server: The hostname of the SAP Message Server. Type: string (or Expression with + resultType string). + :type message_server: object + :param message_server_service: The service name or port number of the Message Server. Type: + string (or Expression with resultType string). + :type message_server_service: object + :param snc_mode: SNC activation indicator to access the SAP server where the table is located. + Must be either 0 (off) or 1 (on). Type: string (or Expression with resultType string). + :type snc_mode: object + :param snc_my_name: Initiator's SNC name to access the SAP server where the table is located. + Type: string (or Expression with resultType string). + :type snc_my_name: object + :param snc_partner_name: Communication partner's SNC name to access the SAP server where the + table is located. Type: string (or Expression with resultType string). + :type snc_partner_name: object + :param snc_library_path: External security product's library to access the SAP server where the + table is located. Type: string (or Expression with resultType string). + :type snc_library_path: object + :param snc_qop: SNC Quality of Protection. Allowed value include: 1, 2, 3, 8, 9. Type: string + (or Expression with resultType string). + :type snc_qop: object + :param logon_group: The Logon Group for the SAP System. Type: string (or Expression with + resultType string). + :type logon_group: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'system_number': {'key': 'typeProperties.systemNumber', 'type': 'object'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'language': {'key': 'typeProperties.language', 'type': 'object'}, + 'system_id': {'key': 'typeProperties.systemId', 'type': 'object'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'message_server': {'key': 'typeProperties.messageServer', 'type': 'object'}, + 'message_server_service': {'key': 'typeProperties.messageServerService', 'type': 'object'}, + 'snc_mode': {'key': 'typeProperties.sncMode', 'type': 'object'}, + 'snc_my_name': {'key': 'typeProperties.sncMyName', 'type': 'object'}, + 'snc_partner_name': {'key': 'typeProperties.sncPartnerName', 'type': 'object'}, + 'snc_library_path': {'key': 'typeProperties.sncLibraryPath', 'type': 'object'}, + 'snc_qop': {'key': 'typeProperties.sncQop', 'type': 'object'}, + 'logon_group': {'key': 'typeProperties.logonGroup', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SapTableLinkedService, self).__init__(**kwargs) + self.type = 'SapTable' + self.server = kwargs.get('server', None) + self.system_number = kwargs.get('system_number', None) + self.client_id = kwargs.get('client_id', None) + self.language = kwargs.get('language', None) + self.system_id = kwargs.get('system_id', None) + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.message_server = kwargs.get('message_server', None) + self.message_server_service = kwargs.get('message_server_service', None) + self.snc_mode = kwargs.get('snc_mode', None) + self.snc_my_name = kwargs.get('snc_my_name', None) + self.snc_partner_name = kwargs.get('snc_partner_name', None) + self.snc_library_path = kwargs.get('snc_library_path', None) + self.snc_qop = kwargs.get('snc_qop', None) + self.logon_group = kwargs.get('logon_group', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class SapTableResourceDataset(Dataset): + """SAP Table Resource properties. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: Required. The name of the SAP Table. Type: string (or Expression with + resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'table_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SapTableResourceDataset, self).__init__(**kwargs) + self.type = 'SapTableResource' + self.table_name = kwargs['table_name'] + + +class ScriptAction(msrest.serialization.Model): + """Custom script action to run on HDI ondemand cluster once it's up. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The user provided name of the script action. + :type name: str + :param uri: Required. The URI for the script action. + :type uri: str + :param roles: Required. The node types on which the script action should be executed. Possible + values include: "Headnode", "Workernode", "Zookeeper". + :type roles: str or ~azure.mgmt.datafactory.models.HdiNodeTypes + :param parameters: The parameters for the script action. + :type parameters: str + """ + + _validation = { + 'name': {'required': True}, + 'uri': {'required': True}, + 'roles': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'roles': {'key': 'roles', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ScriptAction, self).__init__(**kwargs) + self.name = kwargs['name'] + self.uri = kwargs['uri'] + self.roles = kwargs['roles'] + self.parameters = kwargs.get('parameters', None) + + +class SecureString(SecretBase): + """Azure Data Factory secure string definition. The string value will be masked with asterisks '*' during Get or List API calls. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the secret.Constant filled by server. + :type type: str + :param value: Required. Value of secure string. + :type value: str + """ + + _validation = { + 'type': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SecureString, self).__init__(**kwargs) + self.type = 'SecureString' + self.value = kwargs['value'] + + +class SelfHostedIntegrationRuntime(IntegrationRuntime): + """Self-hosted integration runtime. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of integration runtime.Constant filled by server. Possible values + include: "Managed", "SelfHosted". + :type type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeType + :param description: Integration runtime description. + :type description: str + :param linked_info: The base definition of a linked integration runtime. + :type linked_info: ~azure.mgmt.datafactory.models.LinkedIntegrationRuntimeType + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'linked_info': {'key': 'typeProperties.linkedInfo', 'type': 'LinkedIntegrationRuntimeType'}, + } + + def __init__( + self, + **kwargs + ): + super(SelfHostedIntegrationRuntime, self).__init__(**kwargs) + self.type = 'SelfHosted' + self.linked_info = kwargs.get('linked_info', None) + + +class SelfHostedIntegrationRuntimeNode(msrest.serialization.Model): + """Properties of Self-hosted integration runtime node. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar node_name: Name of the integration runtime node. + :vartype node_name: str + :ivar machine_name: Machine name of the integration runtime node. + :vartype machine_name: str + :ivar host_service_uri: URI for the host machine of the integration runtime. + :vartype host_service_uri: str + :ivar status: Status of the integration runtime node. Possible values include: + "NeedRegistration", "Online", "Limited", "Offline", "Upgrading", "Initializing", + "InitializeFailed". + :vartype status: str or ~azure.mgmt.datafactory.models.SelfHostedIntegrationRuntimeNodeStatus + :ivar capabilities: The integration runtime capabilities dictionary. + :vartype capabilities: dict[str, str] + :ivar version_status: Status of the integration runtime node version. + :vartype version_status: str + :ivar version: Version of the integration runtime node. + :vartype version: str + :ivar register_time: The time at which the integration runtime node was registered in ISO8601 + format. + :vartype register_time: ~datetime.datetime + :ivar last_connect_time: The most recent time at which the integration runtime was connected in + ISO8601 format. + :vartype last_connect_time: ~datetime.datetime + :ivar expiry_time: The time at which the integration runtime will expire in ISO8601 format. + :vartype expiry_time: ~datetime.datetime + :ivar last_start_time: The time the node last started up. + :vartype last_start_time: ~datetime.datetime + :ivar last_stop_time: The integration runtime node last stop time. + :vartype last_stop_time: ~datetime.datetime + :ivar last_update_result: The result of the last integration runtime node update. Possible + values include: "None", "Succeed", "Fail". + :vartype last_update_result: str or + ~azure.mgmt.datafactory.models.IntegrationRuntimeUpdateResult + :ivar last_start_update_time: The last time for the integration runtime node update start. + :vartype last_start_update_time: ~datetime.datetime + :ivar last_end_update_time: The last time for the integration runtime node update end. + :vartype last_end_update_time: ~datetime.datetime + :ivar is_active_dispatcher: Indicates whether this node is the active dispatcher for + integration runtime requests. + :vartype is_active_dispatcher: bool + :ivar concurrent_jobs_limit: Maximum concurrent jobs on the integration runtime node. + :vartype concurrent_jobs_limit: int + :ivar max_concurrent_jobs: The maximum concurrent jobs in this integration runtime. + :vartype max_concurrent_jobs: int + """ + + _validation = { + 'node_name': {'readonly': True}, + 'machine_name': {'readonly': True}, + 'host_service_uri': {'readonly': True}, + 'status': {'readonly': True}, + 'capabilities': {'readonly': True}, + 'version_status': {'readonly': True}, + 'version': {'readonly': True}, + 'register_time': {'readonly': True}, + 'last_connect_time': {'readonly': True}, + 'expiry_time': {'readonly': True}, + 'last_start_time': {'readonly': True}, + 'last_stop_time': {'readonly': True}, + 'last_update_result': {'readonly': True}, + 'last_start_update_time': {'readonly': True}, + 'last_end_update_time': {'readonly': True}, + 'is_active_dispatcher': {'readonly': True}, + 'concurrent_jobs_limit': {'readonly': True}, + 'max_concurrent_jobs': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'node_name': {'key': 'nodeName', 'type': 'str'}, + 'machine_name': {'key': 'machineName', 'type': 'str'}, + 'host_service_uri': {'key': 'hostServiceUri', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'capabilities': {'key': 'capabilities', 'type': '{str}'}, + 'version_status': {'key': 'versionStatus', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'register_time': {'key': 'registerTime', 'type': 'iso-8601'}, + 'last_connect_time': {'key': 'lastConnectTime', 'type': 'iso-8601'}, + 'expiry_time': {'key': 'expiryTime', 'type': 'iso-8601'}, + 'last_start_time': {'key': 'lastStartTime', 'type': 'iso-8601'}, + 'last_stop_time': {'key': 'lastStopTime', 'type': 'iso-8601'}, + 'last_update_result': {'key': 'lastUpdateResult', 'type': 'str'}, + 'last_start_update_time': {'key': 'lastStartUpdateTime', 'type': 'iso-8601'}, + 'last_end_update_time': {'key': 'lastEndUpdateTime', 'type': 'iso-8601'}, + 'is_active_dispatcher': {'key': 'isActiveDispatcher', 'type': 'bool'}, + 'concurrent_jobs_limit': {'key': 'concurrentJobsLimit', 'type': 'int'}, + 'max_concurrent_jobs': {'key': 'maxConcurrentJobs', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(SelfHostedIntegrationRuntimeNode, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.node_name = None + self.machine_name = None + self.host_service_uri = None + self.status = None + self.capabilities = None + self.version_status = None + self.version = None + self.register_time = None + self.last_connect_time = None + self.expiry_time = None + self.last_start_time = None + self.last_stop_time = None + self.last_update_result = None + self.last_start_update_time = None + self.last_end_update_time = None + self.is_active_dispatcher = None + self.concurrent_jobs_limit = None + self.max_concurrent_jobs = None + + +class SelfHostedIntegrationRuntimeStatus(IntegrationRuntimeStatus): + """Self-hosted integration runtime status. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of integration runtime.Constant filled by server. Possible values + include: "Managed", "SelfHosted". + :type type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeType + :ivar data_factory_name: The data factory name which the integration runtime belong to. + :vartype data_factory_name: str + :ivar state: The state of integration runtime. Possible values include: "Initial", "Stopped", + "Started", "Starting", "Stopping", "NeedRegistration", "Online", "Limited", "Offline", + "AccessDenied". + :vartype state: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeState + :ivar create_time: The time at which the integration runtime was created, in ISO8601 format. + :vartype create_time: ~datetime.datetime + :ivar task_queue_id: The task queue id of the integration runtime. + :vartype task_queue_id: str + :ivar internal_channel_encryption: It is used to set the encryption mode for node-node + communication channel (when more than 2 self-hosted integration runtime nodes exist). Possible + values include: "NotSet", "SslEncrypted", "NotEncrypted". + :vartype internal_channel_encryption: str or + ~azure.mgmt.datafactory.models.IntegrationRuntimeInternalChannelEncryptionMode + :ivar version: Version of the integration runtime. + :vartype version: str + :param nodes: The list of nodes for this integration runtime. + :type nodes: list[~azure.mgmt.datafactory.models.SelfHostedIntegrationRuntimeNode] + :ivar scheduled_update_date: The date at which the integration runtime will be scheduled to + update, in ISO8601 format. + :vartype scheduled_update_date: ~datetime.datetime + :ivar update_delay_offset: The time in the date scheduled by service to update the integration + runtime, e.g., PT03H is 3 hours. + :vartype update_delay_offset: str + :ivar local_time_zone_offset: The local time zone offset in hours. + :vartype local_time_zone_offset: str + :ivar capabilities: Object with additional information about integration runtime capabilities. + :vartype capabilities: dict[str, str] + :ivar service_urls: The URLs for the services used in integration runtime backend service. + :vartype service_urls: list[str] + :ivar auto_update: Whether Self-hosted integration runtime auto update has been turned on. + Possible values include: "On", "Off". + :vartype auto_update: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeAutoUpdate + :ivar version_status: Status of the integration runtime version. + :vartype version_status: str + :param links: The list of linked integration runtimes that are created to share with this + integration runtime. + :type links: list[~azure.mgmt.datafactory.models.LinkedIntegrationRuntime] + :ivar pushed_version: The version that the integration runtime is going to update to. + :vartype pushed_version: str + :ivar latest_version: The latest version on download center. + :vartype latest_version: str + :ivar auto_update_eta: The estimated time when the self-hosted integration runtime will be + updated. + :vartype auto_update_eta: ~datetime.datetime + """ + + _validation = { + 'type': {'required': True}, + 'data_factory_name': {'readonly': True}, + 'state': {'readonly': True}, + 'create_time': {'readonly': True}, + 'task_queue_id': {'readonly': True}, + 'internal_channel_encryption': {'readonly': True}, + 'version': {'readonly': True}, + 'scheduled_update_date': {'readonly': True}, + 'update_delay_offset': {'readonly': True}, + 'local_time_zone_offset': {'readonly': True}, + 'capabilities': {'readonly': True}, + 'service_urls': {'readonly': True}, + 'auto_update': {'readonly': True}, + 'version_status': {'readonly': True}, + 'pushed_version': {'readonly': True}, + 'latest_version': {'readonly': True}, + 'auto_update_eta': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'create_time': {'key': 'typeProperties.createTime', 'type': 'iso-8601'}, + 'task_queue_id': {'key': 'typeProperties.taskQueueId', 'type': 'str'}, + 'internal_channel_encryption': {'key': 'typeProperties.internalChannelEncryption', 'type': 'str'}, + 'version': {'key': 'typeProperties.version', 'type': 'str'}, + 'nodes': {'key': 'typeProperties.nodes', 'type': '[SelfHostedIntegrationRuntimeNode]'}, + 'scheduled_update_date': {'key': 'typeProperties.scheduledUpdateDate', 'type': 'iso-8601'}, + 'update_delay_offset': {'key': 'typeProperties.updateDelayOffset', 'type': 'str'}, + 'local_time_zone_offset': {'key': 'typeProperties.localTimeZoneOffset', 'type': 'str'}, + 'capabilities': {'key': 'typeProperties.capabilities', 'type': '{str}'}, + 'service_urls': {'key': 'typeProperties.serviceUrls', 'type': '[str]'}, + 'auto_update': {'key': 'typeProperties.autoUpdate', 'type': 'str'}, + 'version_status': {'key': 'typeProperties.versionStatus', 'type': 'str'}, + 'links': {'key': 'typeProperties.links', 'type': '[LinkedIntegrationRuntime]'}, + 'pushed_version': {'key': 'typeProperties.pushedVersion', 'type': 'str'}, + 'latest_version': {'key': 'typeProperties.latestVersion', 'type': 'str'}, + 'auto_update_eta': {'key': 'typeProperties.autoUpdateETA', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(SelfHostedIntegrationRuntimeStatus, self).__init__(**kwargs) + self.type = 'SelfHosted' + self.create_time = None + self.task_queue_id = None + self.internal_channel_encryption = None + self.version = None + self.nodes = kwargs.get('nodes', None) + self.scheduled_update_date = None + self.update_delay_offset = None + self.local_time_zone_offset = None + self.capabilities = None + self.service_urls = None + self.auto_update = None + self.version_status = None + self.links = kwargs.get('links', None) + self.pushed_version = None + self.latest_version = None + self.auto_update_eta = None + + +class ServiceNowLinkedService(LinkedService): + """ServiceNow server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of the ServiceNow server. (i.e. + :code:``.service-now.com). + :type endpoint: object + :param authentication_type: Required. The authentication type to use. Possible values include: + "Basic", "OAuth2". + :type authentication_type: str or ~azure.mgmt.datafactory.models.ServiceNowAuthenticationType + :param username: The user name used to connect to the ServiceNow server for Basic and OAuth2 + authentication. + :type username: object + :param password: The password corresponding to the user name for Basic and OAuth2 + authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param client_id: The client id for OAuth2 authentication. + :type client_id: object + :param client_secret: The client secret for OAuth2 authentication. + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceNowLinkedService, self).__init__(**kwargs) + self.type = 'ServiceNow' + self.endpoint = kwargs['endpoint'] + self.authentication_type = kwargs['authentication_type'] + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.client_id = kwargs.get('client_id', None) + self.client_secret = kwargs.get('client_secret', None) + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class ServiceNowObjectDataset(Dataset): + """ServiceNow server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ServiceNowObjectDataset, self).__init__(**kwargs) + self.type = 'ServiceNowObject' + self.table_name = kwargs.get('table_name', None) + + +class SetVariableActivity(ControlActivity): + """Set value for a Variable. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param variable_name: Name of the variable whose value needs to be set. + :type variable_name: str + :param value: Value to be set. Could be a static value or Expression. + :type value: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'variable_name': {'key': 'typeProperties.variableName', 'type': 'str'}, + 'value': {'key': 'typeProperties.value', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SetVariableActivity, self).__init__(**kwargs) + self.type = 'SetVariable' + self.variable_name = kwargs.get('variable_name', None) + self.value = kwargs.get('value', None) + + +class SftpServerLinkedService(LinkedService): + """A linked service for an SSH File Transfer Protocol (SFTP) server. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The SFTP server host name. Type: string (or Expression with resultType + string). + :type host: object + :param port: The TCP port number that the SFTP server uses to listen for client connections. + Default value is 22. Type: integer (or Expression with resultType integer), minimum: 0. + :type port: object + :param authentication_type: The authentication type to be used to connect to the FTP server. + Possible values include: "Basic", "SshPublicKey". + :type authentication_type: str or ~azure.mgmt.datafactory.models.SftpAuthenticationType + :param user_name: The username used to log on to the SFTP server. Type: string (or Expression + with resultType string). + :type user_name: object + :param password: Password to logon the SFTP server for Basic authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + :param private_key_path: The SSH private key file path for SshPublicKey authentication. Only + valid for on-premises copy. For on-premises copy with SshPublicKey authentication, either + PrivateKeyPath or PrivateKeyContent should be specified. SSH private key should be OpenSSH + format. Type: string (or Expression with resultType string). + :type private_key_path: object + :param private_key_content: Base64 encoded SSH private key content for SshPublicKey + authentication. For on-premises copy with SshPublicKey authentication, either PrivateKeyPath or + PrivateKeyContent should be specified. SSH private key should be OpenSSH format. + :type private_key_content: ~azure.mgmt.datafactory.models.SecretBase + :param pass_phrase: The password to decrypt the SSH private key if the SSH private key is + encrypted. + :type pass_phrase: ~azure.mgmt.datafactory.models.SecretBase + :param skip_host_key_validation: If true, skip the SSH host key validation. Default value is + false. Type: boolean (or Expression with resultType boolean). + :type skip_host_key_validation: object + :param host_key_fingerprint: The host key finger-print of the SFTP server. When + SkipHostKeyValidation is false, HostKeyFingerprint should be specified. Type: string (or + Expression with resultType string). + :type host_key_fingerprint: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'private_key_path': {'key': 'typeProperties.privateKeyPath', 'type': 'object'}, + 'private_key_content': {'key': 'typeProperties.privateKeyContent', 'type': 'SecretBase'}, + 'pass_phrase': {'key': 'typeProperties.passPhrase', 'type': 'SecretBase'}, + 'skip_host_key_validation': {'key': 'typeProperties.skipHostKeyValidation', 'type': 'object'}, + 'host_key_fingerprint': {'key': 'typeProperties.hostKeyFingerprint', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SftpServerLinkedService, self).__init__(**kwargs) + self.type = 'Sftp' + self.host = kwargs['host'] + self.port = kwargs.get('port', None) + self.authentication_type = kwargs.get('authentication_type', None) + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.private_key_path = kwargs.get('private_key_path', None) + self.private_key_content = kwargs.get('private_key_content', None) + self.pass_phrase = kwargs.get('pass_phrase', None) + self.skip_host_key_validation = kwargs.get('skip_host_key_validation', None) + self.host_key_fingerprint = kwargs.get('host_key_fingerprint', None) + + +class SharePointOnlineListLinkedService(LinkedService): + """SharePoint Online List linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param site_url: Required. The URL of the SharePoint Online site. For example, + https://contoso.sharepoint.com/sites/siteName. Type: string (or Expression with resultType + string). + :type site_url: object + :param tenant_id: Required. The tenant ID under which your application resides. You can find it + from Azure portal Active Directory overview page. Type: string (or Expression with resultType + string). + :type tenant_id: object + :param service_principal_id: Required. The application (client) ID of your application + registered in Azure Active Directory. Make sure to grant SharePoint site permission to this + application. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: Required. The client secret of your application registered in + Azure Active Directory. Type: string (or Expression with resultType string). + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'site_url': {'required': True}, + 'tenant_id': {'required': True}, + 'service_principal_id': {'required': True}, + 'service_principal_key': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'site_url': {'key': 'typeProperties.siteUrl', 'type': 'object'}, + 'tenant_id': {'key': 'typeProperties.tenantId', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SharePointOnlineListLinkedService, self).__init__(**kwargs) + self.type = 'SharePointOnlineList' + self.site_url = kwargs['site_url'] + self.tenant_id = kwargs['tenant_id'] + self.service_principal_id = kwargs['service_principal_id'] + self.service_principal_key = kwargs['service_principal_key'] + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class SharePointOnlineListResourceDataset(Dataset): + """The sharepoint online list resource dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param list_name: The name of the SharePoint Online list. Type: string (or Expression with + resultType string). + :type list_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'list_name': {'key': 'typeProperties.listName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SharePointOnlineListResourceDataset, self).__init__(**kwargs) + self.type = 'SharePointOnlineListResource' + self.list_name = kwargs.get('list_name', None) + + +class ShopifyLinkedService(LinkedService): + """Shopify Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The endpoint of the Shopify server. (i.e. mystore.myshopify.com). + :type host: object + :param access_token: The API access token that can be used to access Shopify’s data. The token + won't expire if it is offline mode. + :type access_token: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ShopifyLinkedService, self).__init__(**kwargs) + self.type = 'Shopify' + self.host = kwargs['host'] + self.access_token = kwargs.get('access_token', None) + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class ShopifyObjectDataset(Dataset): + """Shopify Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ShopifyObjectDataset, self).__init__(**kwargs) + self.type = 'ShopifyObject' + self.table_name = kwargs.get('table_name', None) + + +class SkipErrorFile(msrest.serialization.Model): + """Skip error file. + + :param file_missing: Skip if file is deleted by other client during copy. Default is true. + Type: boolean (or Expression with resultType boolean). + :type file_missing: object + :param data_inconsistency: Skip if source/sink file changed by other concurrent write. Default + is false. Type: boolean (or Expression with resultType boolean). + :type data_inconsistency: object + """ + + _attribute_map = { + 'file_missing': {'key': 'fileMissing', 'type': 'object'}, + 'data_inconsistency': {'key': 'dataInconsistency', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SkipErrorFile, self).__init__(**kwargs) + self.file_missing = kwargs.get('file_missing', None) + self.data_inconsistency = kwargs.get('data_inconsistency', None) + + +class SnowflakeDataset(Dataset): + """The snowflake dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param schema_type_properties_schema: The schema name of the Snowflake database. Type: string + (or Expression with resultType string). + :type schema_type_properties_schema: object + :param table: The table name of the Snowflake database. Type: string (or Expression with + resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SnowflakeDataset, self).__init__(**kwargs) + self.type = 'SnowflakeTable' + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + self.table = kwargs.get('table', None) + + +class SnowflakeLinkedService(LinkedService): + """Snowflake linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string of snowflake. Type: string, + SecureString. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SnowflakeLinkedService, self).__init__(**kwargs) + self.type = 'Snowflake' + self.connection_string = kwargs['connection_string'] + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class SparkLinkedService(LinkedService): + """Spark Server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. IP address or host name of the Spark server. + :type host: object + :param port: Required. The TCP port that the Spark server uses to listen for client + connections. + :type port: object + :param server_type: The type of Spark server. Possible values include: "SharkServer", + "SharkServer2", "SparkThriftServer". + :type server_type: str or ~azure.mgmt.datafactory.models.SparkServerType + :param thrift_transport_protocol: The transport protocol to use in the Thrift layer. Possible + values include: "Binary", "SASL", "HTTP ". + :type thrift_transport_protocol: str or + ~azure.mgmt.datafactory.models.SparkThriftTransportProtocol + :param authentication_type: Required. The authentication method used to access the Spark + server. Possible values include: "Anonymous", "Username", "UsernameAndPassword", + "WindowsAzureHDInsightService". + :type authentication_type: str or ~azure.mgmt.datafactory.models.SparkAuthenticationType + :param username: The user name that you use to access Spark Server. + :type username: object + :param password: The password corresponding to the user name that you provided in the Username + field. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param http_path: The partial URL corresponding to the Spark server. + :type http_path: object + :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The + default value is false. + :type enable_ssl: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust + store or from a specified PEM file. The default value is false. + :type use_system_trust_store: object + :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate + name to match the host name of the server when connecting over SSL. The default value is false. + :type allow_host_name_cn_mismatch: object + :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from + the server. The default value is false. + :type allow_self_signed_server_cert: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'port': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'server_type': {'key': 'typeProperties.serverType', 'type': 'str'}, + 'thrift_transport_protocol': {'key': 'typeProperties.thriftTransportProtocol', 'type': 'str'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'}, + 'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'}, + 'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SparkLinkedService, self).__init__(**kwargs) + self.type = 'Spark' + self.host = kwargs['host'] + self.port = kwargs['port'] + self.server_type = kwargs.get('server_type', None) + self.thrift_transport_protocol = kwargs.get('thrift_transport_protocol', None) + self.authentication_type = kwargs['authentication_type'] + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.http_path = kwargs.get('http_path', None) + self.enable_ssl = kwargs.get('enable_ssl', None) + self.trusted_cert_path = kwargs.get('trusted_cert_path', None) + self.use_system_trust_store = kwargs.get('use_system_trust_store', None) + self.allow_host_name_cn_mismatch = kwargs.get('allow_host_name_cn_mismatch', None) + self.allow_self_signed_server_cert = kwargs.get('allow_self_signed_server_cert', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class SparkObjectDataset(Dataset): + """Spark Server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Spark. Type: string (or Expression with resultType string). + :type table: object + :param schema_type_properties_schema: The schema name of the Spark. Type: string (or Expression + with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SparkObjectDataset, self).__init__(**kwargs) + self.type = 'SparkObject' + self.table_name = kwargs.get('table_name', None) + self.table = kwargs.get('table', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + + +class SqlServerLinkedService(LinkedService): + """SQL Server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param user_name: The on-premises Windows authentication user name. Type: string (or Expression + with resultType string). + :type user_name: object + :param password: The on-premises Windows authentication password. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlServerLinkedService, self).__init__(**kwargs) + self.type = 'SqlServer' + self.connection_string = kwargs['connection_string'] + self.user_name = kwargs.get('user_name', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class SqlServerStoredProcedureActivity(ExecutionActivity): + """SQL stored procedure activity type. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param stored_procedure_name: Required. Stored procedure name. Type: string (or Expression with + resultType string). + :type stored_procedure_name: object + :param stored_procedure_parameters: Value and type setting for stored procedure parameters. + Example: "{Parameter1: {value: "1", type: "int"}}". + :type stored_procedure_parameters: dict[str, + ~azure.mgmt.datafactory.models.StoredProcedureParameter] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'stored_procedure_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'stored_procedure_name': {'key': 'typeProperties.storedProcedureName', 'type': 'object'}, + 'stored_procedure_parameters': {'key': 'typeProperties.storedProcedureParameters', 'type': '{StoredProcedureParameter}'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlServerStoredProcedureActivity, self).__init__(**kwargs) + self.type = 'SqlServerStoredProcedure' + self.stored_procedure_name = kwargs['stored_procedure_name'] + self.stored_procedure_parameters = kwargs.get('stored_procedure_parameters', None) + + +class SqlServerTableDataset(Dataset): + """The on-premises SQL Server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param schema_type_properties_schema: The schema name of the SQL Server dataset. Type: string + (or Expression with resultType string). + :type schema_type_properties_schema: object + :param table: The table name of the SQL Server dataset. Type: string (or Expression with + resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlServerTableDataset, self).__init__(**kwargs) + self.type = 'SqlServerTable' + self.table_name = kwargs.get('table_name', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + self.table = kwargs.get('table', None) + + +class SquareLinkedService(LinkedService): + """Square Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The URL of the Square instance. (i.e. mystore.mysquare.com). + :type host: object + :param client_id: Required. The client ID associated with your Square application. + :type client_id: object + :param client_secret: The client secret associated with your Square application. + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param redirect_uri: Required. The redirect URL assigned in the Square application dashboard. + (i.e. http://localhost:2500). + :type redirect_uri: object + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'client_id': {'required': True}, + 'redirect_uri': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'redirect_uri': {'key': 'typeProperties.redirectUri', 'type': 'object'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SquareLinkedService, self).__init__(**kwargs) + self.type = 'Square' + self.host = kwargs['host'] + self.client_id = kwargs['client_id'] + self.client_secret = kwargs.get('client_secret', None) + self.redirect_uri = kwargs['redirect_uri'] + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class SquareObjectDataset(Dataset): + """Square Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SquareObjectDataset, self).__init__(**kwargs) + self.type = 'SquareObject' + self.table_name = kwargs.get('table_name', None) + + +class SsisAccessCredential(msrest.serialization.Model): + """SSIS access credential. + + All required parameters must be populated in order to send to Azure. + + :param domain: Required. Domain for windows authentication. + :type domain: object + :param user_name: Required. UseName for windows authentication. + :type user_name: object + :param password: Required. Password for windows authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + """ + + _validation = { + 'domain': {'required': True}, + 'user_name': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'domain': {'key': 'domain', 'type': 'object'}, + 'user_name': {'key': 'userName', 'type': 'object'}, + 'password': {'key': 'password', 'type': 'SecretBase'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisAccessCredential, self).__init__(**kwargs) + self.domain = kwargs['domain'] + self.user_name = kwargs['user_name'] + self.password = kwargs['password'] + + +class SsisChildPackage(msrest.serialization.Model): + """SSIS embedded child package. + + All required parameters must be populated in order to send to Azure. + + :param package_path: Required. Path for embedded child package. Type: string (or Expression + with resultType string). + :type package_path: object + :param package_name: Name for embedded child package. + :type package_name: str + :param package_content: Required. Content for embedded child package. Type: string (or + Expression with resultType string). + :type package_content: object + :param package_last_modified_date: Last modified date for embedded child package. + :type package_last_modified_date: str + """ + + _validation = { + 'package_path': {'required': True}, + 'package_content': {'required': True}, + } + + _attribute_map = { + 'package_path': {'key': 'packagePath', 'type': 'object'}, + 'package_name': {'key': 'packageName', 'type': 'str'}, + 'package_content': {'key': 'packageContent', 'type': 'object'}, + 'package_last_modified_date': {'key': 'packageLastModifiedDate', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisChildPackage, self).__init__(**kwargs) + self.package_path = kwargs['package_path'] + self.package_name = kwargs.get('package_name', None) + self.package_content = kwargs['package_content'] + self.package_last_modified_date = kwargs.get('package_last_modified_date', None) + + +class SsisObjectMetadata(msrest.serialization.Model): + """SSIS object metadata. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: SsisEnvironment, SsisFolder, SsisPackage, SsisProject. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of metadata.Constant filled by server. Possible values include: + "Folder", "Project", "Package", "Environment". + :type type: str or ~azure.mgmt.datafactory.models.SsisObjectMetadataType + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'Environment': 'SsisEnvironment', 'Folder': 'SsisFolder', 'Package': 'SsisPackage', 'Project': 'SsisProject'} + } + + def __init__( + self, + **kwargs + ): + super(SsisObjectMetadata, self).__init__(**kwargs) + self.type = None + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + + +class SsisEnvironment(SsisObjectMetadata): + """Ssis environment. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of metadata.Constant filled by server. Possible values include: + "Folder", "Project", "Package", "Environment". + :type type: str or ~azure.mgmt.datafactory.models.SsisObjectMetadataType + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param folder_id: Folder id which contains environment. + :type folder_id: long + :param variables: Variable in environment. + :type variables: list[~azure.mgmt.datafactory.models.SsisVariable] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'folder_id': {'key': 'folderId', 'type': 'long'}, + 'variables': {'key': 'variables', 'type': '[SsisVariable]'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisEnvironment, self).__init__(**kwargs) + self.type = 'Environment' + self.folder_id = kwargs.get('folder_id', None) + self.variables = kwargs.get('variables', None) + + +class SsisEnvironmentReference(msrest.serialization.Model): + """Ssis environment reference. + + :param id: Environment reference id. + :type id: long + :param environment_folder_name: Environment folder name. + :type environment_folder_name: str + :param environment_name: Environment name. + :type environment_name: str + :param reference_type: Reference type. + :type reference_type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'environment_folder_name': {'key': 'environmentFolderName', 'type': 'str'}, + 'environment_name': {'key': 'environmentName', 'type': 'str'}, + 'reference_type': {'key': 'referenceType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisEnvironmentReference, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.environment_folder_name = kwargs.get('environment_folder_name', None) + self.environment_name = kwargs.get('environment_name', None) + self.reference_type = kwargs.get('reference_type', None) + + +class SsisExecutionCredential(msrest.serialization.Model): + """SSIS package execution credential. + + All required parameters must be populated in order to send to Azure. + + :param domain: Required. Domain for windows authentication. + :type domain: object + :param user_name: Required. UseName for windows authentication. + :type user_name: object + :param password: Required. Password for windows authentication. + :type password: ~azure.mgmt.datafactory.models.SecureString + """ + + _validation = { + 'domain': {'required': True}, + 'user_name': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'domain': {'key': 'domain', 'type': 'object'}, + 'user_name': {'key': 'userName', 'type': 'object'}, + 'password': {'key': 'password', 'type': 'SecureString'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisExecutionCredential, self).__init__(**kwargs) + self.domain = kwargs['domain'] + self.user_name = kwargs['user_name'] + self.password = kwargs['password'] + + +class SsisExecutionParameter(msrest.serialization.Model): + """SSIS execution parameter. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. SSIS package execution parameter value. Type: string (or Expression + with resultType string). + :type value: object + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisExecutionParameter, self).__init__(**kwargs) + self.value = kwargs['value'] + + +class SsisFolder(SsisObjectMetadata): + """Ssis folder. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of metadata.Constant filled by server. Possible values include: + "Folder", "Project", "Package", "Environment". + :type type: str or ~azure.mgmt.datafactory.models.SsisObjectMetadataType + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisFolder, self).__init__(**kwargs) + self.type = 'Folder' + + +class SsisLogLocation(msrest.serialization.Model): + """SSIS package execution log location. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param log_path: Required. The SSIS package execution log path. Type: string (or Expression + with resultType string). + :type log_path: object + :ivar type: Required. The type of SSIS log location. Default value: "File". + :vartype type: str + :param access_credential: The package execution log access credential. + :type access_credential: ~azure.mgmt.datafactory.models.SsisAccessCredential + :param log_refresh_interval: Specifies the interval to refresh log. The default interval is 5 + minutes. Type: string (or Expression with resultType string), pattern: + ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type log_refresh_interval: object + """ + + _validation = { + 'log_path': {'required': True}, + 'type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'log_path': {'key': 'logPath', 'type': 'object'}, + 'type': {'key': 'type', 'type': 'str'}, + 'access_credential': {'key': 'typeProperties.accessCredential', 'type': 'SsisAccessCredential'}, + 'log_refresh_interval': {'key': 'typeProperties.logRefreshInterval', 'type': 'object'}, + } + + type = "File" + + def __init__( + self, + **kwargs + ): + super(SsisLogLocation, self).__init__(**kwargs) + self.log_path = kwargs['log_path'] + self.access_credential = kwargs.get('access_credential', None) + self.log_refresh_interval = kwargs.get('log_refresh_interval', None) + + +class SsisObjectMetadataListResponse(msrest.serialization.Model): + """A list of SSIS object metadata. + + :param value: List of SSIS object metadata. + :type value: list[~azure.mgmt.datafactory.models.SsisObjectMetadata] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SsisObjectMetadata]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisObjectMetadataListResponse, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class SsisObjectMetadataStatusResponse(msrest.serialization.Model): + """The status of the operation. + + :param status: The status of the operation. + :type status: str + :param name: The operation name. + :type name: str + :param properties: The operation properties. + :type properties: str + :param error: The operation error message. + :type error: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisObjectMetadataStatusResponse, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.name = kwargs.get('name', None) + self.properties = kwargs.get('properties', None) + self.error = kwargs.get('error', None) + + +class SsisPackage(SsisObjectMetadata): + """Ssis Package. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of metadata.Constant filled by server. Possible values include: + "Folder", "Project", "Package", "Environment". + :type type: str or ~azure.mgmt.datafactory.models.SsisObjectMetadataType + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param folder_id: Folder id which contains package. + :type folder_id: long + :param project_version: Project version which contains package. + :type project_version: long + :param project_id: Project id which contains package. + :type project_id: long + :param parameters: Parameters in package. + :type parameters: list[~azure.mgmt.datafactory.models.SsisParameter] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'folder_id': {'key': 'folderId', 'type': 'long'}, + 'project_version': {'key': 'projectVersion', 'type': 'long'}, + 'project_id': {'key': 'projectId', 'type': 'long'}, + 'parameters': {'key': 'parameters', 'type': '[SsisParameter]'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisPackage, self).__init__(**kwargs) + self.type = 'Package' + self.folder_id = kwargs.get('folder_id', None) + self.project_version = kwargs.get('project_version', None) + self.project_id = kwargs.get('project_id', None) + self.parameters = kwargs.get('parameters', None) + + +class SsisPackageLocation(msrest.serialization.Model): + """SSIS package location. + + :param package_path: The SSIS package path. Type: string (or Expression with resultType + string). + :type package_path: object + :param type: The type of SSIS package location. Possible values include: "SSISDB", "File", + "InlinePackage", "PackageStore". + :type type: str or ~azure.mgmt.datafactory.models.SsisPackageLocationType + :param package_password: Password of the package. + :type package_password: ~azure.mgmt.datafactory.models.SecretBase + :param access_credential: The package access credential. + :type access_credential: ~azure.mgmt.datafactory.models.SsisAccessCredential + :param configuration_path: The configuration file of the package execution. Type: string (or + Expression with resultType string). + :type configuration_path: object + :param configuration_access_credential: The configuration file access credential. + :type configuration_access_credential: ~azure.mgmt.datafactory.models.SsisAccessCredential + :param package_name: The package name. + :type package_name: str + :param package_content: The embedded package content. Type: string (or Expression with + resultType string). + :type package_content: object + :param package_last_modified_date: The embedded package last modified date. + :type package_last_modified_date: str + :param child_packages: The embedded child package list. + :type child_packages: list[~azure.mgmt.datafactory.models.SsisChildPackage] + """ + + _attribute_map = { + 'package_path': {'key': 'packagePath', 'type': 'object'}, + 'type': {'key': 'type', 'type': 'str'}, + 'package_password': {'key': 'typeProperties.packagePassword', 'type': 'SecretBase'}, + 'access_credential': {'key': 'typeProperties.accessCredential', 'type': 'SsisAccessCredential'}, + 'configuration_path': {'key': 'typeProperties.configurationPath', 'type': 'object'}, + 'configuration_access_credential': {'key': 'typeProperties.configurationAccessCredential', 'type': 'SsisAccessCredential'}, + 'package_name': {'key': 'typeProperties.packageName', 'type': 'str'}, + 'package_content': {'key': 'typeProperties.packageContent', 'type': 'object'}, + 'package_last_modified_date': {'key': 'typeProperties.packageLastModifiedDate', 'type': 'str'}, + 'child_packages': {'key': 'typeProperties.childPackages', 'type': '[SsisChildPackage]'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisPackageLocation, self).__init__(**kwargs) + self.package_path = kwargs.get('package_path', None) + self.type = kwargs.get('type', None) + self.package_password = kwargs.get('package_password', None) + self.access_credential = kwargs.get('access_credential', None) + self.configuration_path = kwargs.get('configuration_path', None) + self.configuration_access_credential = kwargs.get('configuration_access_credential', None) + self.package_name = kwargs.get('package_name', None) + self.package_content = kwargs.get('package_content', None) + self.package_last_modified_date = kwargs.get('package_last_modified_date', None) + self.child_packages = kwargs.get('child_packages', None) + + +class SsisParameter(msrest.serialization.Model): + """Ssis parameter. + + :param id: Parameter id. + :type id: long + :param name: Parameter name. + :type name: str + :param description: Parameter description. + :type description: str + :param data_type: Parameter type. + :type data_type: str + :param required: Whether parameter is required. + :type required: bool + :param sensitive: Whether parameter is sensitive. + :type sensitive: bool + :param design_default_value: Design default value of parameter. + :type design_default_value: str + :param default_value: Default value of parameter. + :type default_value: str + :param sensitive_default_value: Default sensitive value of parameter. + :type sensitive_default_value: str + :param value_type: Parameter value type. + :type value_type: str + :param value_set: Parameter value set. + :type value_set: bool + :param variable: Parameter reference variable. + :type variable: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'data_type': {'key': 'dataType', 'type': 'str'}, + 'required': {'key': 'required', 'type': 'bool'}, + 'sensitive': {'key': 'sensitive', 'type': 'bool'}, + 'design_default_value': {'key': 'designDefaultValue', 'type': 'str'}, + 'default_value': {'key': 'defaultValue', 'type': 'str'}, + 'sensitive_default_value': {'key': 'sensitiveDefaultValue', 'type': 'str'}, + 'value_type': {'key': 'valueType', 'type': 'str'}, + 'value_set': {'key': 'valueSet', 'type': 'bool'}, + 'variable': {'key': 'variable', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisParameter, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.data_type = kwargs.get('data_type', None) + self.required = kwargs.get('required', None) + self.sensitive = kwargs.get('sensitive', None) + self.design_default_value = kwargs.get('design_default_value', None) + self.default_value = kwargs.get('default_value', None) + self.sensitive_default_value = kwargs.get('sensitive_default_value', None) + self.value_type = kwargs.get('value_type', None) + self.value_set = kwargs.get('value_set', None) + self.variable = kwargs.get('variable', None) + + +class SsisProject(SsisObjectMetadata): + """Ssis project. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of metadata.Constant filled by server. Possible values include: + "Folder", "Project", "Package", "Environment". + :type type: str or ~azure.mgmt.datafactory.models.SsisObjectMetadataType + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param folder_id: Folder id which contains project. + :type folder_id: long + :param version: Project version. + :type version: long + :param environment_refs: Environment reference in project. + :type environment_refs: list[~azure.mgmt.datafactory.models.SsisEnvironmentReference] + :param parameters: Parameters in project. + :type parameters: list[~azure.mgmt.datafactory.models.SsisParameter] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'folder_id': {'key': 'folderId', 'type': 'long'}, + 'version': {'key': 'version', 'type': 'long'}, + 'environment_refs': {'key': 'environmentRefs', 'type': '[SsisEnvironmentReference]'}, + 'parameters': {'key': 'parameters', 'type': '[SsisParameter]'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisProject, self).__init__(**kwargs) + self.type = 'Project' + self.folder_id = kwargs.get('folder_id', None) + self.version = kwargs.get('version', None) + self.environment_refs = kwargs.get('environment_refs', None) + self.parameters = kwargs.get('parameters', None) + + +class SsisPropertyOverride(msrest.serialization.Model): + """SSIS property override. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. SSIS package property override value. Type: string (or Expression with + resultType string). + :type value: object + :param is_sensitive: Whether SSIS package property override value is sensitive data. Value will + be encrypted in SSISDB if it is true. + :type is_sensitive: bool + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'object'}, + 'is_sensitive': {'key': 'isSensitive', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisPropertyOverride, self).__init__(**kwargs) + self.value = kwargs['value'] + self.is_sensitive = kwargs.get('is_sensitive', None) + + +class SsisVariable(msrest.serialization.Model): + """Ssis variable. + + :param id: Variable id. + :type id: long + :param name: Variable name. + :type name: str + :param description: Variable description. + :type description: str + :param data_type: Variable type. + :type data_type: str + :param sensitive: Whether variable is sensitive. + :type sensitive: bool + :param value: Variable value. + :type value: str + :param sensitive_value: Variable sensitive value. + :type sensitive_value: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'data_type': {'key': 'dataType', 'type': 'str'}, + 'sensitive': {'key': 'sensitive', 'type': 'bool'}, + 'value': {'key': 'value', 'type': 'str'}, + 'sensitive_value': {'key': 'sensitiveValue', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SsisVariable, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.data_type = kwargs.get('data_type', None) + self.sensitive = kwargs.get('sensitive', None) + self.value = kwargs.get('value', None) + self.sensitive_value = kwargs.get('sensitive_value', None) + + +class StagingSettings(msrest.serialization.Model): + """Staging settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param linked_service_name: Required. Staging linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param path: The path to storage for storing the interim data. Type: string (or Expression with + resultType string). + :type path: object + :param enable_compression: Specifies whether to use compression when copying data via an + interim staging. Default value is false. Type: boolean (or Expression with resultType boolean). + :type enable_compression: object + """ + + _validation = { + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'path': {'key': 'path', 'type': 'object'}, + 'enable_compression': {'key': 'enableCompression', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(StagingSettings, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.linked_service_name = kwargs['linked_service_name'] + self.path = kwargs.get('path', None) + self.enable_compression = kwargs.get('enable_compression', None) + + +class StoredProcedureParameter(msrest.serialization.Model): + """SQL stored procedure parameter. + + :param value: Stored procedure parameter value. Type: string (or Expression with resultType + string). + :type value: object + :param type: Stored procedure parameter type. Possible values include: "String", "Int", + "Int64", "Decimal", "Guid", "Boolean", "Date". + :type type: str or ~azure.mgmt.datafactory.models.StoredProcedureParameterType + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'object'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(StoredProcedureParameter, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.type = kwargs.get('type', None) + + +class SwitchActivity(ControlActivity): + """This activity evaluates an expression and executes activities under the cases property that correspond to the expression evaluation expected in the equals property. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param on: Required. An expression that would evaluate to a string or integer. This is used to + determine the block of activities in cases that will be executed. + :type on: ~azure.mgmt.datafactory.models.Expression + :param cases: List of cases that correspond to expected values of the 'on' property. This is an + optional property and if not provided, the activity will execute activities provided in + defaultActivities. + :type cases: list[~azure.mgmt.datafactory.models.SwitchCase] + :param default_activities: List of activities to execute if no case condition is satisfied. + This is an optional property and if not provided, the activity will exit without any action. + :type default_activities: list[~azure.mgmt.datafactory.models.Activity] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'on': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'on': {'key': 'typeProperties.on', 'type': 'Expression'}, + 'cases': {'key': 'typeProperties.cases', 'type': '[SwitchCase]'}, + 'default_activities': {'key': 'typeProperties.defaultActivities', 'type': '[Activity]'}, + } + + def __init__( + self, + **kwargs + ): + super(SwitchActivity, self).__init__(**kwargs) + self.type = 'Switch' + self.on = kwargs['on'] + self.cases = kwargs.get('cases', None) + self.default_activities = kwargs.get('default_activities', None) + + +class SwitchCase(msrest.serialization.Model): + """Switch cases with have a value and corresponding activities. + + :param value: Expected value that satisfies the expression result of the 'on' property. + :type value: str + :param activities: List of activities to execute for satisfied case condition. + :type activities: list[~azure.mgmt.datafactory.models.Activity] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'activities': {'key': 'activities', 'type': '[Activity]'}, + } + + def __init__( + self, + **kwargs + ): + super(SwitchCase, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.activities = kwargs.get('activities', None) + + +class SybaseLinkedService(LinkedService): + """Linked service for Sybase data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param server: Required. Server name for connection. Type: string (or Expression with + resultType string). + :type server: object + :param database: Required. Database name for connection. Type: string (or Expression with + resultType string). + :type database: object + :param schema: Schema name for connection. Type: string (or Expression with resultType string). + :type schema: object + :param authentication_type: AuthenticationType to be used for connection. Possible values + include: "Basic", "Windows". + :type authentication_type: str or ~azure.mgmt.datafactory.models.SybaseAuthenticationType + :param username: Username for authentication. Type: string (or Expression with resultType + string). + :type username: object + :param password: Password for authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'server': {'required': True}, + 'database': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + 'schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SybaseLinkedService, self).__init__(**kwargs) + self.type = 'Sybase' + self.server = kwargs['server'] + self.database = kwargs['database'] + self.schema = kwargs.get('schema', None) + self.authentication_type = kwargs.get('authentication_type', None) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class SybaseTableDataset(Dataset): + """The Sybase table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The Sybase table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(SybaseTableDataset, self).__init__(**kwargs) + self.type = 'SybaseTable' + self.table_name = kwargs.get('table_name', None) + + +class TeradataLinkedService(LinkedService): + """Linked service for Teradata data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Teradata ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param server: Server name for connection. Type: string (or Expression with resultType string). + :type server: object + :param authentication_type: AuthenticationType to be used for connection. Possible values + include: "Basic", "Windows". + :type authentication_type: str or ~azure.mgmt.datafactory.models.TeradataAuthenticationType + :param username: Username for authentication. Type: string (or Expression with resultType + string). + :type username: object + :param password: Password for authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(TeradataLinkedService, self).__init__(**kwargs) + self.type = 'Teradata' + self.connection_string = kwargs.get('connection_string', None) + self.server = kwargs.get('server', None) + self.authentication_type = kwargs.get('authentication_type', None) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class TeradataTableDataset(Dataset): + """The Teradata database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param database: The database name of Teradata. Type: string (or Expression with resultType + string). + :type database: object + :param table: The table name of Teradata. Type: string (or Expression with resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(TeradataTableDataset, self).__init__(**kwargs) + self.type = 'TeradataTable' + self.database = kwargs.get('database', None) + self.table = kwargs.get('table', None) + + +class TriggerFilterParameters(msrest.serialization.Model): + """Query parameters for triggers. + + :param continuation_token: The continuation token for getting the next page of results. Null + for first page. + :type continuation_token: str + :param parent_trigger_name: The name of the parent TumblingWindowTrigger to get the child rerun + triggers. + :type parent_trigger_name: str + """ + + _attribute_map = { + 'continuation_token': {'key': 'continuationToken', 'type': 'str'}, + 'parent_trigger_name': {'key': 'parentTriggerName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TriggerFilterParameters, self).__init__(**kwargs) + self.continuation_token = kwargs.get('continuation_token', None) + self.parent_trigger_name = kwargs.get('parent_trigger_name', None) + + +class TriggerListResponse(msrest.serialization.Model): + """A list of trigger resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of triggers. + :type value: list[~azure.mgmt.datafactory.models.TriggerResource] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[TriggerResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TriggerListResponse, self).__init__(**kwargs) + self.value = kwargs['value'] + self.next_link = kwargs.get('next_link', None) + + +class TriggerPipelineReference(msrest.serialization.Model): + """Pipeline that needs to be triggered with the given parameters. + + :param pipeline_reference: Pipeline reference. + :type pipeline_reference: ~azure.mgmt.datafactory.models.PipelineReference + :param parameters: Pipeline parameters. + :type parameters: dict[str, object] + """ + + _attribute_map = { + 'pipeline_reference': {'key': 'pipelineReference', 'type': 'PipelineReference'}, + 'parameters': {'key': 'parameters', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(TriggerPipelineReference, self).__init__(**kwargs) + self.pipeline_reference = kwargs.get('pipeline_reference', None) + self.parameters = kwargs.get('parameters', None) + + +class TriggerQueryResponse(msrest.serialization.Model): + """A query of triggers. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of triggers. + :type value: list[~azure.mgmt.datafactory.models.TriggerResource] + :param continuation_token: The continuation token for getting the next page of results, if any + remaining results exist, null otherwise. + :type continuation_token: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[TriggerResource]'}, + 'continuation_token': {'key': 'continuationToken', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TriggerQueryResponse, self).__init__(**kwargs) + self.value = kwargs['value'] + self.continuation_token = kwargs.get('continuation_token', None) + + +class TriggerResource(SubResource): + """Trigger resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Required. Properties of the trigger. + :type properties: ~azure.mgmt.datafactory.models.Trigger + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'Trigger'}, + } + + def __init__( + self, + **kwargs + ): + super(TriggerResource, self).__init__(**kwargs) + self.properties = kwargs['properties'] + + +class TriggerRun(msrest.serialization.Model): + """Trigger runs. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar trigger_run_id: Trigger run id. + :vartype trigger_run_id: str + :ivar trigger_name: Trigger name. + :vartype trigger_name: str + :ivar trigger_type: Trigger type. + :vartype trigger_type: str + :ivar trigger_run_timestamp: Trigger run start time. + :vartype trigger_run_timestamp: ~datetime.datetime + :ivar status: Trigger run status. Possible values include: "Succeeded", "Failed", "Inprogress". + :vartype status: str or ~azure.mgmt.datafactory.models.TriggerRunStatus + :ivar message: Trigger error message. + :vartype message: str + :ivar properties: List of property name and value related to trigger run. Name, value pair + depends on type of trigger. + :vartype properties: dict[str, str] + :ivar triggered_pipelines: List of pipeline name and run Id triggered by the trigger run. + :vartype triggered_pipelines: dict[str, str] + :ivar run_dimension: Run dimension for which trigger was fired. + :vartype run_dimension: dict[str, str] + :ivar dependency_status: Status of the upstream pipelines. + :vartype dependency_status: dict[str, object] + """ + + _validation = { + 'trigger_run_id': {'readonly': True}, + 'trigger_name': {'readonly': True}, + 'trigger_type': {'readonly': True}, + 'trigger_run_timestamp': {'readonly': True}, + 'status': {'readonly': True}, + 'message': {'readonly': True}, + 'properties': {'readonly': True}, + 'triggered_pipelines': {'readonly': True}, + 'run_dimension': {'readonly': True}, + 'dependency_status': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'trigger_run_id': {'key': 'triggerRunId', 'type': 'str'}, + 'trigger_name': {'key': 'triggerName', 'type': 'str'}, + 'trigger_type': {'key': 'triggerType', 'type': 'str'}, + 'trigger_run_timestamp': {'key': 'triggerRunTimestamp', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'triggered_pipelines': {'key': 'triggeredPipelines', 'type': '{str}'}, + 'run_dimension': {'key': 'runDimension', 'type': '{str}'}, + 'dependency_status': {'key': 'dependencyStatus', 'type': '{object}'}, + } + + def __init__( + self, + **kwargs + ): + super(TriggerRun, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.trigger_run_id = None + self.trigger_name = None + self.trigger_type = None + self.trigger_run_timestamp = None + self.status = None + self.message = None + self.properties = None + self.triggered_pipelines = None + self.run_dimension = None + self.dependency_status = None + + +class TriggerRunsQueryResponse(msrest.serialization.Model): + """A list of trigger runs. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of trigger runs. + :type value: list[~azure.mgmt.datafactory.models.TriggerRun] + :param continuation_token: The continuation token for getting the next page of results, if any + remaining results exist, null otherwise. + :type continuation_token: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[TriggerRun]'}, + 'continuation_token': {'key': 'continuationToken', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TriggerRunsQueryResponse, self).__init__(**kwargs) + self.value = kwargs['value'] + self.continuation_token = kwargs.get('continuation_token', None) + + +class TriggerSubscriptionOperationStatus(msrest.serialization.Model): + """Defines the response of a trigger subscription operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar trigger_name: Trigger name. + :vartype trigger_name: str + :ivar status: Event Subscription Status. Possible values include: "Enabled", "Provisioning", + "Deprovisioning", "Disabled", "Unknown". + :vartype status: str or ~azure.mgmt.datafactory.models.EventSubscriptionStatus + """ + + _validation = { + 'trigger_name': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'trigger_name': {'key': 'triggerName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TriggerSubscriptionOperationStatus, self).__init__(**kwargs) + self.trigger_name = None + self.status = None + + +class UntilActivity(ControlActivity): + """This activity executes inner activities until the specified boolean expression results to true or timeout is reached, whichever is earlier. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param expression: Required. An expression that would evaluate to Boolean. The loop will + continue until this expression evaluates to true. + :type expression: ~azure.mgmt.datafactory.models.Expression + :param timeout: Specifies the timeout for the activity to run. If there is no value specified, + it takes the value of TimeSpan.FromDays(7) which is 1 week as default. Type: string (or + Expression with resultType string), pattern: + ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). Type: string (or Expression with + resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type timeout: object + :param activities: Required. List of activities to execute. + :type activities: list[~azure.mgmt.datafactory.models.Activity] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'expression': {'required': True}, + 'activities': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'expression': {'key': 'typeProperties.expression', 'type': 'Expression'}, + 'timeout': {'key': 'typeProperties.timeout', 'type': 'object'}, + 'activities': {'key': 'typeProperties.activities', 'type': '[Activity]'}, + } + + def __init__( + self, + **kwargs + ): + super(UntilActivity, self).__init__(**kwargs) + self.type = 'Until' + self.expression = kwargs['expression'] + self.timeout = kwargs.get('timeout', None) + self.activities = kwargs['activities'] + + +class UpdateIntegrationRuntimeNodeRequest(msrest.serialization.Model): + """Update integration runtime node request. + + :param concurrent_jobs_limit: The number of concurrent jobs permitted to run on the integration + runtime node. Values between 1 and maxConcurrentJobs(inclusive) are allowed. + :type concurrent_jobs_limit: int + """ + + _validation = { + 'concurrent_jobs_limit': {'minimum': 1}, + } + + _attribute_map = { + 'concurrent_jobs_limit': {'key': 'concurrentJobsLimit', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(UpdateIntegrationRuntimeNodeRequest, self).__init__(**kwargs) + self.concurrent_jobs_limit = kwargs.get('concurrent_jobs_limit', None) + + +class UpdateIntegrationRuntimeRequest(msrest.serialization.Model): + """Update integration runtime request. + + :param auto_update: Enables or disables the auto-update feature of the self-hosted integration + runtime. See https://go.microsoft.com/fwlink/?linkid=854189. Possible values include: "On", + "Off". + :type auto_update: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeAutoUpdate + :param update_delay_offset: The time offset (in hours) in the day, e.g., PT03H is 3 hours. The + integration runtime auto update will happen on that time. + :type update_delay_offset: str + """ + + _attribute_map = { + 'auto_update': {'key': 'autoUpdate', 'type': 'str'}, + 'update_delay_offset': {'key': 'updateDelayOffset', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(UpdateIntegrationRuntimeRequest, self).__init__(**kwargs) + self.auto_update = kwargs.get('auto_update', None) + self.update_delay_offset = kwargs.get('update_delay_offset', None) + + +class UserAccessPolicy(msrest.serialization.Model): + """Get Data Plane read only token request definition. + + :param permissions: The string with permissions for Data Plane access. Currently only 'r' is + supported which grants read only access. + :type permissions: str + :param access_resource_path: The resource path to get access relative to factory. Currently + only empty string is supported which corresponds to the factory resource. + :type access_resource_path: str + :param profile_name: The name of the profile. Currently only the default is supported. The + default value is DefaultProfile. + :type profile_name: str + :param start_time: Start time for the token. If not specified the current time will be used. + :type start_time: str + :param expire_time: Expiration time for the token. Maximum duration for the token is eight + hours and by default the token will expire in eight hours. + :type expire_time: str + """ + + _attribute_map = { + 'permissions': {'key': 'permissions', 'type': 'str'}, + 'access_resource_path': {'key': 'accessResourcePath', 'type': 'str'}, + 'profile_name': {'key': 'profileName', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'expire_time': {'key': 'expireTime', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(UserAccessPolicy, self).__init__(**kwargs) + self.permissions = kwargs.get('permissions', None) + self.access_resource_path = kwargs.get('access_resource_path', None) + self.profile_name = kwargs.get('profile_name', None) + self.start_time = kwargs.get('start_time', None) + self.expire_time = kwargs.get('expire_time', None) + + +class UserProperty(msrest.serialization.Model): + """User property. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. User property name. + :type name: str + :param value: Required. User property value. Type: string (or Expression with resultType + string). + :type value: object + """ + + _validation = { + 'name': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(UserProperty, self).__init__(**kwargs) + self.name = kwargs['name'] + self.value = kwargs['value'] + + +class ValidationActivity(ControlActivity): + """This activity verifies that an external resource exists. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param timeout: Specifies the timeout for the activity to run. If there is no value specified, + it takes the value of TimeSpan.FromDays(7) which is 1 week as default. Type: string (or + Expression with resultType string), pattern: + ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type timeout: object + :param sleep: A delay in seconds between validation attempts. If no value is specified, 10 + seconds will be used as the default. Type: integer (or Expression with resultType integer). + :type sleep: object + :param minimum_size: Can be used if dataset points to a file. The file must be greater than or + equal in size to the value specified. Type: integer (or Expression with resultType integer). + :type minimum_size: object + :param child_items: Can be used if dataset points to a folder. If set to true, the folder must + have at least one file. If set to false, the folder must be empty. Type: boolean (or Expression + with resultType boolean). + :type child_items: object + :param dataset: Required. Validation activity dataset reference. + :type dataset: ~azure.mgmt.datafactory.models.DatasetReference + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'dataset': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'timeout': {'key': 'typeProperties.timeout', 'type': 'object'}, + 'sleep': {'key': 'typeProperties.sleep', 'type': 'object'}, + 'minimum_size': {'key': 'typeProperties.minimumSize', 'type': 'object'}, + 'child_items': {'key': 'typeProperties.childItems', 'type': 'object'}, + 'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'}, + } + + def __init__( + self, + **kwargs + ): + super(ValidationActivity, self).__init__(**kwargs) + self.type = 'Validation' + self.timeout = kwargs.get('timeout', None) + self.sleep = kwargs.get('sleep', None) + self.minimum_size = kwargs.get('minimum_size', None) + self.child_items = kwargs.get('child_items', None) + self.dataset = kwargs['dataset'] + + +class VariableSpecification(msrest.serialization.Model): + """Definition of a single variable for a Pipeline. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Variable type. Possible values include: "String", "Bool", "Array". + :type type: str or ~azure.mgmt.datafactory.models.VariableType + :param default_value: Default value of variable. + :type default_value: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'default_value': {'key': 'defaultValue', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(VariableSpecification, self).__init__(**kwargs) + self.type = kwargs['type'] + self.default_value = kwargs.get('default_value', None) + + +class VerticaLinkedService(LinkedService): + """Vertica linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param pwd: The Azure key vault secret reference of password in connection string. + :type pwd: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(VerticaLinkedService, self).__init__(**kwargs) + self.type = 'Vertica' + self.connection_string = kwargs.get('connection_string', None) + self.pwd = kwargs.get('pwd', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class VerticaTableDataset(Dataset): + """Vertica dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Vertica. Type: string (or Expression with resultType + string). + :type table: object + :param schema_type_properties_schema: The schema name of the Vertica. Type: string (or + Expression with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(VerticaTableDataset, self).__init__(**kwargs) + self.type = 'VerticaTable' + self.table_name = kwargs.get('table_name', None) + self.table = kwargs.get('table', None) + self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) + + +class WaitActivity(ControlActivity): + """This activity suspends pipeline execution for the specified interval. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param wait_time_in_seconds: Required. Duration in seconds. + :type wait_time_in_seconds: int + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'wait_time_in_seconds': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'wait_time_in_seconds': {'key': 'typeProperties.waitTimeInSeconds', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(WaitActivity, self).__init__(**kwargs) + self.type = 'Wait' + self.wait_time_in_seconds = kwargs['wait_time_in_seconds'] + + +class WebActivity(ExecutionActivity): + """Web activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param method: Required. Rest API method for target endpoint. Possible values include: "GET", + "POST", "PUT", "DELETE". + :type method: str or ~azure.mgmt.datafactory.models.WebActivityMethod + :param url: Required. Web activity target endpoint and path. Type: string (or Expression with + resultType string). + :type url: object + :param headers: Represents the headers that will be sent to the request. For example, to set + the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type": + "application/json" }. Type: string (or Expression with resultType string). + :type headers: object + :param body: Represents the payload that will be sent to the endpoint. Required for POST/PUT + method, not allowed for GET method Type: string (or Expression with resultType string). + :type body: object + :param authentication: Authentication method used for calling the endpoint. + :type authentication: ~azure.mgmt.datafactory.models.WebActivityAuthentication + :param datasets: List of datasets passed to web endpoint. + :type datasets: list[~azure.mgmt.datafactory.models.DatasetReference] + :param linked_services: List of linked services passed to web endpoint. + :type linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceReference] + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'method': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'method': {'key': 'typeProperties.method', 'type': 'str'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'headers': {'key': 'typeProperties.headers', 'type': 'object'}, + 'body': {'key': 'typeProperties.body', 'type': 'object'}, + 'authentication': {'key': 'typeProperties.authentication', 'type': 'WebActivityAuthentication'}, + 'datasets': {'key': 'typeProperties.datasets', 'type': '[DatasetReference]'}, + 'linked_services': {'key': 'typeProperties.linkedServices', 'type': '[LinkedServiceReference]'}, + 'connect_via': {'key': 'typeProperties.connectVia', 'type': 'IntegrationRuntimeReference'}, + } + + def __init__( + self, + **kwargs + ): + super(WebActivity, self).__init__(**kwargs) + self.type = 'WebActivity' + self.method = kwargs['method'] + self.url = kwargs['url'] + self.headers = kwargs.get('headers', None) + self.body = kwargs.get('body', None) + self.authentication = kwargs.get('authentication', None) + self.datasets = kwargs.get('datasets', None) + self.linked_services = kwargs.get('linked_services', None) + self.connect_via = kwargs.get('connect_via', None) + + +class WebActivityAuthentication(msrest.serialization.Model): + """Web activity authentication properties. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Web activity authentication (Basic/ClientCertificate/MSI). + :type type: str + :param pfx: Base64-encoded contents of a PFX file. + :type pfx: ~azure.mgmt.datafactory.models.SecretBase + :param username: Web activity authentication user name for basic authentication. + :type username: str + :param password: Password for the PFX file or basic authentication. + :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 + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'pfx': {'key': 'pfx', 'type': 'SecretBase'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'SecretBase'}, + 'resource': {'key': 'resource', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebActivityAuthentication, self).__init__(**kwargs) + self.type = kwargs['type'] + self.pfx = kwargs.get('pfx', None) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + self.resource = kwargs.get('resource', None) + + +class WebLinkedServiceTypeProperties(msrest.serialization.Model): + """Base definition of WebLinkedServiceTypeProperties, this typeProperties is polymorphic based on authenticationType, so not flattened in SDK models. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: WebAnonymousAuthentication, WebBasicAuthentication, WebClientCertificateAuthentication. + + All required parameters must be populated in order to send to Azure. + + :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com . + Type: string (or Expression with resultType string). + :type url: object + :param authentication_type: Required. Type of authentication used to connect to the web table + source.Constant filled by server. Possible values include: "Basic", "Anonymous", + "ClientCertificate". + :type authentication_type: str or ~azure.mgmt.datafactory.models.WebAuthenticationType + """ + + _validation = { + 'url': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'object'}, + 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, + } + + _subtype_map = { + 'authentication_type': {'Anonymous': 'WebAnonymousAuthentication', 'Basic': 'WebBasicAuthentication', 'ClientCertificate': 'WebClientCertificateAuthentication'} + } + + def __init__( + self, + **kwargs + ): + super(WebLinkedServiceTypeProperties, self).__init__(**kwargs) + self.url = kwargs['url'] + self.authentication_type = None + + +class WebAnonymousAuthentication(WebLinkedServiceTypeProperties): + """A WebLinkedService that uses anonymous authentication to communicate with an HTTP endpoint. + + All required parameters must be populated in order to send to Azure. + + :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com . + Type: string (or Expression with resultType string). + :type url: object + :param authentication_type: Required. Type of authentication used to connect to the web table + source.Constant filled by server. Possible values include: "Basic", "Anonymous", + "ClientCertificate". + :type authentication_type: str or ~azure.mgmt.datafactory.models.WebAuthenticationType + """ + + _validation = { + 'url': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'object'}, + 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(WebAnonymousAuthentication, self).__init__(**kwargs) + self.authentication_type = 'Anonymous' + + +class WebBasicAuthentication(WebLinkedServiceTypeProperties): + """A WebLinkedService that uses basic authentication to communicate with an HTTP endpoint. + + All required parameters must be populated in order to send to Azure. + + :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com . + Type: string (or Expression with resultType string). + :type url: object + :param authentication_type: Required. Type of authentication used to connect to the web table + source.Constant filled by server. Possible values include: "Basic", "Anonymous", + "ClientCertificate". + :type authentication_type: str or ~azure.mgmt.datafactory.models.WebAuthenticationType + :param username: Required. User name for Basic authentication. Type: string (or Expression with + resultType string). + :type username: object + :param password: Required. The password for Basic authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + """ + + _validation = { + 'url': {'required': True}, + 'authentication_type': {'required': True}, + 'username': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'object'}, + 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, + 'username': {'key': 'username', 'type': 'object'}, + 'password': {'key': 'password', 'type': 'SecretBase'}, + } + + def __init__( + self, + **kwargs + ): + super(WebBasicAuthentication, self).__init__(**kwargs) + self.authentication_type = 'Basic' + self.username = kwargs['username'] + self.password = kwargs['password'] + + +class WebClientCertificateAuthentication(WebLinkedServiceTypeProperties): + """A WebLinkedService that uses client certificate based authentication to communicate with an HTTP endpoint. This scheme follows mutual authentication; the server must also provide valid credentials to the client. + + All required parameters must be populated in order to send to Azure. + + :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com . + Type: string (or Expression with resultType string). + :type url: object + :param authentication_type: Required. Type of authentication used to connect to the web table + source.Constant filled by server. Possible values include: "Basic", "Anonymous", + "ClientCertificate". + :type authentication_type: str or ~azure.mgmt.datafactory.models.WebAuthenticationType + :param pfx: Required. Base64-encoded contents of a PFX file. + :type pfx: ~azure.mgmt.datafactory.models.SecretBase + :param password: Required. Password for the PFX file. + :type password: ~azure.mgmt.datafactory.models.SecretBase + """ + + _validation = { + 'url': {'required': True}, + 'authentication_type': {'required': True}, + 'pfx': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'object'}, + 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, + 'pfx': {'key': 'pfx', 'type': 'SecretBase'}, + 'password': {'key': 'password', 'type': 'SecretBase'}, + } + + def __init__( + self, + **kwargs + ): + super(WebClientCertificateAuthentication, self).__init__(**kwargs) + self.authentication_type = 'ClientCertificate' + self.pfx = kwargs['pfx'] + self.password = kwargs['password'] + + +class WebHookActivity(ControlActivity): + """WebHook activity. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :ivar method: Required. Rest API method for target endpoint. Default value: "POST". + :vartype method: str + :param url: Required. WebHook activity target endpoint and path. Type: string (or Expression + with resultType string). + :type url: object + :param timeout: The timeout within which the webhook should be called back. If there is no + value specified, it defaults to 10 minutes. Type: string. Pattern: + ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type timeout: str + :param headers: Represents the headers that will be sent to the request. For example, to set + the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type": + "application/json" }. Type: string (or Expression with resultType string). + :type headers: object + :param body: Represents the payload that will be sent to the endpoint. Required for POST/PUT + method, not allowed for GET method Type: string (or Expression with resultType string). + :type body: object + :param authentication: Authentication method used for calling the endpoint. + :type authentication: ~azure.mgmt.datafactory.models.WebActivityAuthentication + :param report_status_on_call_back: When set to true, + statusCode, output and error in callback request body will be + consumed by activity. The activity can be marked as failed by setting statusCode >= 400 in + callback request. Default is false. Type: boolean (or Expression with resultType boolean). + :type report_status_on_call_back: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'method': {'required': True, 'constant': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'method': {'key': 'typeProperties.method', 'type': 'str'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'timeout': {'key': 'typeProperties.timeout', 'type': 'str'}, + 'headers': {'key': 'typeProperties.headers', 'type': 'object'}, + 'body': {'key': 'typeProperties.body', 'type': 'object'}, + 'authentication': {'key': 'typeProperties.authentication', 'type': 'WebActivityAuthentication'}, + 'report_status_on_call_back': {'key': 'typeProperties.reportStatusOnCallBack', 'type': 'object'}, + } + + method = "POST" + + def __init__( + self, + **kwargs + ): + super(WebHookActivity, self).__init__(**kwargs) + self.type = 'WebHook' + self.url = kwargs['url'] + self.timeout = kwargs.get('timeout', None) + self.headers = kwargs.get('headers', None) + self.body = kwargs.get('body', None) + self.authentication = kwargs.get('authentication', None) + self.report_status_on_call_back = kwargs.get('report_status_on_call_back', None) + + +class WebLinkedService(LinkedService): + """Web linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param type_properties: Required. Web linked service properties. + :type type_properties: ~azure.mgmt.datafactory.models.WebLinkedServiceTypeProperties + """ + + _validation = { + 'type': {'required': True}, + 'type_properties': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'type_properties': {'key': 'typeProperties', 'type': 'WebLinkedServiceTypeProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(WebLinkedService, self).__init__(**kwargs) + self.type = 'Web' + self.type_properties = kwargs['type_properties'] + + +class WebTableDataset(Dataset): + """The dataset points to a HTML table in the web page. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param index: Required. The zero-based index of the table in the web page. Type: integer (or + Expression with resultType integer), minimum: 0. + :type index: object + :param path: The relative URL to the web page from the linked service URL. Type: string (or + Expression with resultType string). + :type path: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'index': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'index': {'key': 'typeProperties.index', 'type': 'object'}, + 'path': {'key': 'typeProperties.path', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(WebTableDataset, self).__init__(**kwargs) + self.type = 'WebTable' + self.index = kwargs['index'] + self.path = kwargs.get('path', None) + + +class XeroLinkedService(LinkedService): + """Xero Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The endpoint of the Xero server. (i.e. api.xero.com). + :type host: object + :param consumer_key: The consumer key associated with the Xero application. + :type consumer_key: ~azure.mgmt.datafactory.models.SecretBase + :param private_key: The private key from the .pem file that was generated for your Xero private + application. You must include all the text from the .pem file, including the Unix line endings( + ). + :type private_key: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'consumer_key': {'key': 'typeProperties.consumerKey', 'type': 'SecretBase'}, + 'private_key': {'key': 'typeProperties.privateKey', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(XeroLinkedService, self).__init__(**kwargs) + self.type = 'Xero' + self.host = kwargs['host'] + self.consumer_key = kwargs.get('consumer_key', None) + self.private_key = kwargs.get('private_key', None) + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class XeroObjectDataset(Dataset): + """Xero Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(XeroObjectDataset, self).__init__(**kwargs) + self.type = 'XeroObject' + self.table_name = kwargs.get('table_name', None) + + +class ZohoLinkedService(LinkedService): + """Zoho server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of the Zoho server. (i.e. crm.zoho.com/crm/private). + :type endpoint: object + :param access_token: The access token for Zoho authentication. + :type access_token: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ZohoLinkedService, self).__init__(**kwargs) + self.type = 'Zoho' + self.endpoint = kwargs['endpoint'] + self.access_token = kwargs.get('access_token', None) + self.use_encrypted_endpoints = kwargs.get('use_encrypted_endpoints', None) + self.use_host_verification = kwargs.get('use_host_verification', None) + self.use_peer_verification = kwargs.get('use_peer_verification', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class ZohoObjectDataset(Dataset): + """Zoho server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ZohoObjectDataset, self).__init__(**kwargs) + self.type = 'ZohoObject' + self.table_name = kwargs.get('table_name', None) diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models_py3.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models_py3.py new file mode 100644 index 00000000000..2212578028f --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models_py3.py @@ -0,0 +1,25665 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Dict, List, Optional, Union + +import msrest.serialization + + +class AccessPolicyResponse(msrest.serialization.Model): + """Get Data Plane read only token response definition. + + :param policy: The user access policy. + :type policy: ~azure.mgmt.datafactory.models.UserAccessPolicy + :param access_token: Data Plane read only access token. + :type access_token: str + :param data_plane_url: Data Plane service base URL. + :type data_plane_url: str + """ + + _attribute_map = { + 'policy': {'key': 'policy', 'type': 'UserAccessPolicy'}, + 'access_token': {'key': 'accessToken', 'type': 'str'}, + 'data_plane_url': {'key': 'dataPlaneUrl', 'type': 'str'}, + } + + def __init__( + self, + *, + policy: Optional["UserAccessPolicy"] = None, + access_token: Optional[str] = None, + data_plane_url: Optional[str] = None, + **kwargs + ): + super(AccessPolicyResponse, self).__init__(**kwargs) + self.policy = policy + self.access_token = access_token + self.data_plane_url = data_plane_url + + +class Activity(msrest.serialization.Model): + """A pipeline activity. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ControlActivity, ExecutionActivity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + } + + _subtype_map = { + 'type': {'Container': 'ControlActivity', 'Execution': 'ExecutionActivity'} + } + + def __init__( + self, + *, + name: str, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + **kwargs + ): + super(Activity, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.name = name + self.type = 'Activity' + self.description = description + self.depends_on = depends_on + self.user_properties = user_properties + + +class ActivityDependency(msrest.serialization.Model): + """Activity dependency information. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param activity: Required. Activity name. + :type activity: str + :param dependency_conditions: Required. Match-Condition for the dependency. + :type dependency_conditions: list[str or ~azure.mgmt.datafactory.models.DependencyCondition] + """ + + _validation = { + 'activity': {'required': True}, + 'dependency_conditions': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'activity': {'key': 'activity', 'type': 'str'}, + 'dependency_conditions': {'key': 'dependencyConditions', 'type': '[str]'}, + } + + def __init__( + self, + *, + activity: str, + dependency_conditions: List[Union[str, "DependencyCondition"]], + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(ActivityDependency, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.activity = activity + self.dependency_conditions = dependency_conditions + + +class ActivityPolicy(msrest.serialization.Model): + """Execution policy for an activity. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param timeout: Specifies the timeout for the activity to run. The default timeout is 7 days. + Type: string (or Expression with resultType string), pattern: + ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type timeout: object + :param retry: Maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with + resultType integer), minimum: 0. + :type retry: object + :param retry_interval_in_seconds: Interval between each retry attempt (in seconds). The default + is 30 sec. + :type retry_interval_in_seconds: int + :param secure_input: When set to true, Input from activity is considered as secure and will not + be logged to monitoring. + :type secure_input: bool + :param secure_output: When set to true, Output from activity is considered as secure and will + not be logged to monitoring. + :type secure_output: bool + """ + + _validation = { + 'retry_interval_in_seconds': {'maximum': 86400, 'minimum': 30}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'timeout': {'key': 'timeout', 'type': 'object'}, + 'retry': {'key': 'retry', 'type': 'object'}, + 'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'int'}, + 'secure_input': {'key': 'secureInput', 'type': 'bool'}, + 'secure_output': {'key': 'secureOutput', 'type': 'bool'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + timeout: Optional[object] = None, + retry: Optional[object] = None, + retry_interval_in_seconds: Optional[int] = None, + secure_input: Optional[bool] = None, + secure_output: Optional[bool] = None, + **kwargs + ): + super(ActivityPolicy, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.timeout = timeout + self.retry = retry + self.retry_interval_in_seconds = retry_interval_in_seconds + self.secure_input = secure_input + self.secure_output = secure_output + + +class ActivityRun(msrest.serialization.Model): + """Information about an activity run in a pipeline. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar pipeline_name: The name of the pipeline. + :vartype pipeline_name: str + :ivar pipeline_run_id: The id of the pipeline run. + :vartype pipeline_run_id: str + :ivar activity_name: The name of the activity. + :vartype activity_name: str + :ivar activity_type: The type of the activity. + :vartype activity_type: str + :ivar activity_run_id: The id of the activity run. + :vartype activity_run_id: str + :ivar linked_service_name: The name of the compute linked service. + :vartype linked_service_name: str + :ivar status: The status of the activity run. + :vartype status: str + :ivar activity_run_start: The start time of the activity run in 'ISO 8601' format. + :vartype activity_run_start: ~datetime.datetime + :ivar activity_run_end: The end time of the activity run in 'ISO 8601' format. + :vartype activity_run_end: ~datetime.datetime + :ivar duration_in_ms: The duration of the activity run. + :vartype duration_in_ms: int + :ivar input: The input for the activity. + :vartype input: object + :ivar output: The output for the activity. + :vartype output: object + :ivar error: The error if any from the activity run. + :vartype error: object + """ + + _validation = { + 'pipeline_name': {'readonly': True}, + 'pipeline_run_id': {'readonly': True}, + 'activity_name': {'readonly': True}, + 'activity_type': {'readonly': True}, + 'activity_run_id': {'readonly': True}, + 'linked_service_name': {'readonly': True}, + 'status': {'readonly': True}, + 'activity_run_start': {'readonly': True}, + 'activity_run_end': {'readonly': True}, + 'duration_in_ms': {'readonly': True}, + 'input': {'readonly': True}, + 'output': {'readonly': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'pipeline_name': {'key': 'pipelineName', 'type': 'str'}, + 'pipeline_run_id': {'key': 'pipelineRunId', 'type': 'str'}, + 'activity_name': {'key': 'activityName', 'type': 'str'}, + 'activity_type': {'key': 'activityType', 'type': 'str'}, + 'activity_run_id': {'key': 'activityRunId', 'type': 'str'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'activity_run_start': {'key': 'activityRunStart', 'type': 'iso-8601'}, + 'activity_run_end': {'key': 'activityRunEnd', 'type': 'iso-8601'}, + 'duration_in_ms': {'key': 'durationInMs', 'type': 'int'}, + 'input': {'key': 'input', 'type': 'object'}, + 'output': {'key': 'output', 'type': 'object'}, + 'error': {'key': 'error', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(ActivityRun, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.pipeline_name = None + self.pipeline_run_id = None + self.activity_name = None + self.activity_type = None + self.activity_run_id = None + self.linked_service_name = None + self.status = None + self.activity_run_start = None + self.activity_run_end = None + self.duration_in_ms = None + self.input = None + self.output = None + self.error = None + + +class ActivityRunsQueryResponse(msrest.serialization.Model): + """A list activity runs. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of activity runs. + :type value: list[~azure.mgmt.datafactory.models.ActivityRun] + :param continuation_token: The continuation token for getting the next page of results, if any + remaining results exist, null otherwise. + :type continuation_token: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ActivityRun]'}, + 'continuation_token': {'key': 'continuationToken', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["ActivityRun"], + continuation_token: Optional[str] = None, + **kwargs + ): + super(ActivityRunsQueryResponse, self).__init__(**kwargs) + self.value = value + self.continuation_token = continuation_token + + +class AddDataFlowToDebugSessionResponse(msrest.serialization.Model): + """Response body structure for starting data flow debug session. + + :param job_version: The ID of data flow debug job version. + :type job_version: str + """ + + _attribute_map = { + 'job_version': {'key': 'jobVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + job_version: Optional[str] = None, + **kwargs + ): + super(AddDataFlowToDebugSessionResponse, self).__init__(**kwargs) + self.job_version = job_version + + +class LinkedService(msrest.serialization.Model): + """The Azure Data Factory nested object which contains the information and credential which can be used to connect with related store or compute resource. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AmazonMwsLinkedService, AmazonRedshiftLinkedService, AmazonS3LinkedService, AzureBatchLinkedService, AzureBlobFsLinkedService, AzureBlobStorageLinkedService, AzureDataExplorerLinkedService, AzureDataLakeAnalyticsLinkedService, AzureDataLakeStoreLinkedService, AzureDatabricksLinkedService, AzureFileStorageLinkedService, AzureFunctionLinkedService, AzureKeyVaultLinkedService, AzureMlLinkedService, AzureMlServiceLinkedService, AzureMariaDBLinkedService, AzureMySqlLinkedService, AzurePostgreSqlLinkedService, AzureSearchLinkedService, AzureSqlDwLinkedService, AzureSqlDatabaseLinkedService, AzureSqlMiLinkedService, AzureStorageLinkedService, AzureTableStorageLinkedService, CassandraLinkedService, CommonDataServiceForAppsLinkedService, ConcurLinkedService, CosmosDBLinkedService, CosmosDBMongoDBApiLinkedService, CouchbaseLinkedService, CustomDataSourceLinkedService, Db2LinkedService, DrillLinkedService, DynamicsLinkedService, DynamicsAxLinkedService, DynamicsCrmLinkedService, EloquaLinkedService, FileServerLinkedService, FtpServerLinkedService, GoogleAdWordsLinkedService, GoogleBigQueryLinkedService, GoogleCloudStorageLinkedService, GreenplumLinkedService, HBaseLinkedService, HdInsightLinkedService, HdInsightOnDemandLinkedService, HdfsLinkedService, HiveLinkedService, HttpLinkedService, HubspotLinkedService, ImpalaLinkedService, InformixLinkedService, JiraLinkedService, MagentoLinkedService, MariaDBLinkedService, MarketoLinkedService, MicrosoftAccessLinkedService, MongoDBLinkedService, MongoDBV2LinkedService, MySqlLinkedService, NetezzaLinkedService, ODataLinkedService, OdbcLinkedService, Office365LinkedService, OracleLinkedService, OracleServiceCloudLinkedService, PaypalLinkedService, PhoenixLinkedService, PostgreSqlLinkedService, PrestoLinkedService, QuickBooksLinkedService, ResponsysLinkedService, RestServiceLinkedService, SalesforceLinkedService, SalesforceMarketingCloudLinkedService, SalesforceServiceCloudLinkedService, SapBwLinkedService, SapCloudForCustomerLinkedService, SapEccLinkedService, SapHanaLinkedService, SapOpenHubLinkedService, SapTableLinkedService, ServiceNowLinkedService, SftpServerLinkedService, SharePointOnlineListLinkedService, ShopifyLinkedService, SnowflakeLinkedService, SparkLinkedService, SqlServerLinkedService, SquareLinkedService, SybaseLinkedService, TeradataLinkedService, VerticaLinkedService, WebLinkedService, XeroLinkedService, ZohoLinkedService. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + } + + _subtype_map = { + 'type': {'AmazonMWS': 'AmazonMwsLinkedService', 'AmazonRedshift': 'AmazonRedshiftLinkedService', 'AmazonS3': 'AmazonS3LinkedService', 'AzureBatch': 'AzureBatchLinkedService', 'AzureBlobFS': 'AzureBlobFsLinkedService', 'AzureBlobStorage': 'AzureBlobStorageLinkedService', 'AzureDataExplorer': 'AzureDataExplorerLinkedService', 'AzureDataLakeAnalytics': 'AzureDataLakeAnalyticsLinkedService', 'AzureDataLakeStore': 'AzureDataLakeStoreLinkedService', 'AzureDatabricks': 'AzureDatabricksLinkedService', 'AzureFileStorage': 'AzureFileStorageLinkedService', 'AzureFunction': 'AzureFunctionLinkedService', 'AzureKeyVault': 'AzureKeyVaultLinkedService', 'AzureML': 'AzureMlLinkedService', 'AzureMLService': 'AzureMlServiceLinkedService', 'AzureMariaDB': 'AzureMariaDBLinkedService', 'AzureMySql': 'AzureMySqlLinkedService', 'AzurePostgreSql': 'AzurePostgreSqlLinkedService', 'AzureSearch': 'AzureSearchLinkedService', 'AzureSqlDW': 'AzureSqlDwLinkedService', 'AzureSqlDatabase': 'AzureSqlDatabaseLinkedService', 'AzureSqlMI': 'AzureSqlMiLinkedService', 'AzureStorage': 'AzureStorageLinkedService', 'AzureTableStorage': 'AzureTableStorageLinkedService', 'Cassandra': 'CassandraLinkedService', 'CommonDataServiceForApps': 'CommonDataServiceForAppsLinkedService', 'Concur': 'ConcurLinkedService', 'CosmosDb': 'CosmosDBLinkedService', 'CosmosDbMongoDbApi': 'CosmosDBMongoDBApiLinkedService', 'Couchbase': 'CouchbaseLinkedService', 'CustomDataSource': 'CustomDataSourceLinkedService', 'Db2': 'Db2LinkedService', 'Drill': 'DrillLinkedService', 'Dynamics': 'DynamicsLinkedService', 'DynamicsAX': 'DynamicsAxLinkedService', 'DynamicsCrm': 'DynamicsCrmLinkedService', 'Eloqua': 'EloquaLinkedService', 'FileServer': 'FileServerLinkedService', 'FtpServer': 'FtpServerLinkedService', 'GoogleAdWords': 'GoogleAdWordsLinkedService', 'GoogleBigQuery': 'GoogleBigQueryLinkedService', 'GoogleCloudStorage': 'GoogleCloudStorageLinkedService', 'Greenplum': 'GreenplumLinkedService', 'HBase': 'HBaseLinkedService', 'HDInsight': 'HdInsightLinkedService', 'HDInsightOnDemand': 'HdInsightOnDemandLinkedService', 'Hdfs': 'HdfsLinkedService', 'Hive': 'HiveLinkedService', 'HttpServer': 'HttpLinkedService', 'Hubspot': 'HubspotLinkedService', 'Impala': 'ImpalaLinkedService', 'Informix': 'InformixLinkedService', 'Jira': 'JiraLinkedService', 'Magento': 'MagentoLinkedService', 'MariaDB': 'MariaDBLinkedService', 'Marketo': 'MarketoLinkedService', 'MicrosoftAccess': 'MicrosoftAccessLinkedService', 'MongoDb': 'MongoDBLinkedService', 'MongoDbV2': 'MongoDBV2LinkedService', 'MySql': 'MySqlLinkedService', 'Netezza': 'NetezzaLinkedService', 'OData': 'ODataLinkedService', 'Odbc': 'OdbcLinkedService', 'Office365': 'Office365LinkedService', 'Oracle': 'OracleLinkedService', 'OracleServiceCloud': 'OracleServiceCloudLinkedService', 'Paypal': 'PaypalLinkedService', 'Phoenix': 'PhoenixLinkedService', 'PostgreSql': 'PostgreSqlLinkedService', 'Presto': 'PrestoLinkedService', 'QuickBooks': 'QuickBooksLinkedService', 'Responsys': 'ResponsysLinkedService', 'RestService': 'RestServiceLinkedService', 'Salesforce': 'SalesforceLinkedService', 'SalesforceMarketingCloud': 'SalesforceMarketingCloudLinkedService', 'SalesforceServiceCloud': 'SalesforceServiceCloudLinkedService', 'SapBW': 'SapBwLinkedService', 'SapCloudForCustomer': 'SapCloudForCustomerLinkedService', 'SapEcc': 'SapEccLinkedService', 'SapHana': 'SapHanaLinkedService', 'SapOpenHub': 'SapOpenHubLinkedService', 'SapTable': 'SapTableLinkedService', 'ServiceNow': 'ServiceNowLinkedService', 'Sftp': 'SftpServerLinkedService', 'SharePointOnlineList': 'SharePointOnlineListLinkedService', 'Shopify': 'ShopifyLinkedService', 'Snowflake': 'SnowflakeLinkedService', 'Spark': 'SparkLinkedService', 'SqlServer': 'SqlServerLinkedService', 'Square': 'SquareLinkedService', 'Sybase': 'SybaseLinkedService', 'Teradata': 'TeradataLinkedService', 'Vertica': 'VerticaLinkedService', 'Web': 'WebLinkedService', 'Xero': 'XeroLinkedService', 'Zoho': 'ZohoLinkedService'} + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + **kwargs + ): + super(LinkedService, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = 'LinkedService' + self.connect_via = connect_via + self.description = description + self.parameters = parameters + self.annotations = annotations + + +class AmazonMwsLinkedService(LinkedService): + """Amazon Marketplace Web Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of the Amazon MWS server, (i.e. + mws.amazonservices.com). + :type endpoint: object + :param marketplace_id: Required. The Amazon Marketplace ID you want to retrieve data from. To + retrieve data from multiple Marketplace IDs, separate them with a comma (,). (i.e. + A2EUQ1WTGCTBG2). + :type marketplace_id: object + :param seller_id: Required. The Amazon seller ID. + :type seller_id: object + :param mws_auth_token: The Amazon MWS authentication token. + :type mws_auth_token: ~azure.mgmt.datafactory.models.SecretBase + :param access_key_id: Required. The access key id used to access data. + :type access_key_id: object + :param secret_key: The secret key used to access data. + :type secret_key: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + 'marketplace_id': {'required': True}, + 'seller_id': {'required': True}, + 'access_key_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'marketplace_id': {'key': 'typeProperties.marketplaceID', 'type': 'object'}, + 'seller_id': {'key': 'typeProperties.sellerID', 'type': 'object'}, + 'mws_auth_token': {'key': 'typeProperties.mwsAuthToken', 'type': 'SecretBase'}, + 'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'}, + 'secret_key': {'key': 'typeProperties.secretKey', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + endpoint: object, + marketplace_id: object, + seller_id: object, + access_key_id: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + mws_auth_token: Optional["SecretBase"] = None, + secret_key: Optional["SecretBase"] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AmazonMwsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AmazonMWS' + self.endpoint = endpoint + self.marketplace_id = marketplace_id + self.seller_id = seller_id + self.mws_auth_token = mws_auth_token + self.access_key_id = access_key_id + self.secret_key = secret_key + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class Dataset(msrest.serialization.Model): + """The Azure Data Factory nested object which identifies data within different data stores, such as tables, files, folders, and documents. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AmazonMwsObjectDataset, AmazonRedshiftTableDataset, AmazonS3Dataset, AvroDataset, AzureBlobDataset, AzureBlobFsDataset, AzureDataExplorerTableDataset, AzureDataLakeStoreDataset, AzureMariaDBTableDataset, AzureMySqlTableDataset, AzurePostgreSqlTableDataset, AzureSearchIndexDataset, AzureSqlDwTableDataset, AzureSqlMiTableDataset, AzureSqlTableDataset, AzureTableDataset, BinaryDataset, CassandraTableDataset, CommonDataServiceForAppsEntityDataset, ConcurObjectDataset, CosmosDBMongoDBApiCollectionDataset, CosmosDBSqlApiCollectionDataset, CouchbaseTableDataset, Db2TableDataset, DelimitedTextDataset, DocumentDBCollectionDataset, DrillTableDataset, DynamicsAxResourceDataset, DynamicsCrmEntityDataset, DynamicsEntityDataset, EloquaObjectDataset, FileShareDataset, GoogleAdWordsObjectDataset, GoogleBigQueryObjectDataset, GreenplumTableDataset, HBaseObjectDataset, HiveObjectDataset, HttpDataset, HubspotObjectDataset, ImpalaObjectDataset, InformixTableDataset, JiraObjectDataset, JsonDataset, MagentoObjectDataset, MariaDBTableDataset, MarketoObjectDataset, MicrosoftAccessTableDataset, MongoDBCollectionDataset, MongoDBV2CollectionDataset, MySqlTableDataset, NetezzaTableDataset, ODataResourceDataset, OdbcTableDataset, Office365Dataset, OracleServiceCloudObjectDataset, OracleTableDataset, OrcDataset, ParquetDataset, PaypalObjectDataset, PhoenixObjectDataset, PostgreSqlTableDataset, PrestoObjectDataset, QuickBooksObjectDataset, RelationalTableDataset, ResponsysObjectDataset, RestResourceDataset, SalesforceMarketingCloudObjectDataset, SalesforceObjectDataset, SalesforceServiceCloudObjectDataset, SapBwCubeDataset, SapCloudForCustomerResourceDataset, SapEccResourceDataset, SapHanaTableDataset, SapOpenHubTableDataset, SapTableResourceDataset, ServiceNowObjectDataset, SharePointOnlineListResourceDataset, ShopifyObjectDataset, SnowflakeDataset, SparkObjectDataset, SqlServerTableDataset, SquareObjectDataset, SybaseTableDataset, TeradataTableDataset, VerticaTableDataset, WebTableDataset, XeroObjectDataset, ZohoObjectDataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + } + + _subtype_map = { + 'type': {'AmazonMWSObject': 'AmazonMwsObjectDataset', 'AmazonRedshiftTable': 'AmazonRedshiftTableDataset', 'AmazonS3Object': 'AmazonS3Dataset', 'Avro': 'AvroDataset', 'AzureBlob': 'AzureBlobDataset', 'AzureBlobFSFile': 'AzureBlobFsDataset', 'AzureDataExplorerTable': 'AzureDataExplorerTableDataset', 'AzureDataLakeStoreFile': 'AzureDataLakeStoreDataset', 'AzureMariaDBTable': 'AzureMariaDBTableDataset', 'AzureMySqlTable': 'AzureMySqlTableDataset', 'AzurePostgreSqlTable': 'AzurePostgreSqlTableDataset', 'AzureSearchIndex': 'AzureSearchIndexDataset', 'AzureSqlDWTable': 'AzureSqlDwTableDataset', 'AzureSqlMITable': 'AzureSqlMiTableDataset', 'AzureSqlTable': 'AzureSqlTableDataset', 'AzureTable': 'AzureTableDataset', 'Binary': 'BinaryDataset', 'CassandraTable': 'CassandraTableDataset', 'CommonDataServiceForAppsEntity': 'CommonDataServiceForAppsEntityDataset', 'ConcurObject': 'ConcurObjectDataset', 'CosmosDbMongoDbApiCollection': 'CosmosDBMongoDBApiCollectionDataset', 'CosmosDbSqlApiCollection': 'CosmosDBSqlApiCollectionDataset', 'CouchbaseTable': 'CouchbaseTableDataset', 'Db2Table': 'Db2TableDataset', 'DelimitedText': 'DelimitedTextDataset', 'DocumentDbCollection': 'DocumentDBCollectionDataset', 'DrillTable': 'DrillTableDataset', 'DynamicsAXResource': 'DynamicsAxResourceDataset', 'DynamicsCrmEntity': 'DynamicsCrmEntityDataset', 'DynamicsEntity': 'DynamicsEntityDataset', 'EloquaObject': 'EloquaObjectDataset', 'FileShare': 'FileShareDataset', 'GoogleAdWordsObject': 'GoogleAdWordsObjectDataset', 'GoogleBigQueryObject': 'GoogleBigQueryObjectDataset', 'GreenplumTable': 'GreenplumTableDataset', 'HBaseObject': 'HBaseObjectDataset', 'HiveObject': 'HiveObjectDataset', 'HttpFile': 'HttpDataset', 'HubspotObject': 'HubspotObjectDataset', 'ImpalaObject': 'ImpalaObjectDataset', 'InformixTable': 'InformixTableDataset', 'JiraObject': 'JiraObjectDataset', 'Json': 'JsonDataset', 'MagentoObject': 'MagentoObjectDataset', 'MariaDBTable': 'MariaDBTableDataset', 'MarketoObject': 'MarketoObjectDataset', 'MicrosoftAccessTable': 'MicrosoftAccessTableDataset', 'MongoDbCollection': 'MongoDBCollectionDataset', 'MongoDbV2Collection': 'MongoDBV2CollectionDataset', 'MySqlTable': 'MySqlTableDataset', 'NetezzaTable': 'NetezzaTableDataset', 'ODataResource': 'ODataResourceDataset', 'OdbcTable': 'OdbcTableDataset', 'Office365Table': 'Office365Dataset', 'OracleServiceCloudObject': 'OracleServiceCloudObjectDataset', 'OracleTable': 'OracleTableDataset', 'Orc': 'OrcDataset', 'Parquet': 'ParquetDataset', 'PaypalObject': 'PaypalObjectDataset', 'PhoenixObject': 'PhoenixObjectDataset', 'PostgreSqlTable': 'PostgreSqlTableDataset', 'PrestoObject': 'PrestoObjectDataset', 'QuickBooksObject': 'QuickBooksObjectDataset', 'RelationalTable': 'RelationalTableDataset', 'ResponsysObject': 'ResponsysObjectDataset', 'RestResource': 'RestResourceDataset', 'SalesforceMarketingCloudObject': 'SalesforceMarketingCloudObjectDataset', 'SalesforceObject': 'SalesforceObjectDataset', 'SalesforceServiceCloudObject': 'SalesforceServiceCloudObjectDataset', 'SapBwCube': 'SapBwCubeDataset', 'SapCloudForCustomerResource': 'SapCloudForCustomerResourceDataset', 'SapEccResource': 'SapEccResourceDataset', 'SapHanaTable': 'SapHanaTableDataset', 'SapOpenHubTable': 'SapOpenHubTableDataset', 'SapTableResource': 'SapTableResourceDataset', 'ServiceNowObject': 'ServiceNowObjectDataset', 'SharePointOnlineListResource': 'SharePointOnlineListResourceDataset', 'ShopifyObject': 'ShopifyObjectDataset', 'SnowflakeTable': 'SnowflakeDataset', 'SparkObject': 'SparkObjectDataset', 'SqlServerTable': 'SqlServerTableDataset', 'SquareObject': 'SquareObjectDataset', 'SybaseTable': 'SybaseTableDataset', 'TeradataTable': 'TeradataTableDataset', 'VerticaTable': 'VerticaTableDataset', 'WebTable': 'WebTableDataset', 'XeroObject': 'XeroObjectDataset', 'ZohoObject': 'ZohoObjectDataset'} + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + **kwargs + ): + super(Dataset, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = 'Dataset' + self.description = description + self.structure = structure + self.schema = schema + self.linked_service_name = linked_service_name + self.parameters = parameters + self.annotations = annotations + self.folder = folder + + +class AmazonMwsObjectDataset(Dataset): + """Amazon Marketplace Web Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(AmazonMwsObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AmazonMWSObject' + self.table_name = table_name + + +class AmazonRedshiftLinkedService(LinkedService): + """Linked service for Amazon Redshift. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param server: Required. The name of the Amazon Redshift server. Type: string (or Expression + with resultType string). + :type server: object + :param username: The username of the Amazon Redshift source. Type: string (or Expression with + resultType string). + :type username: object + :param password: The password of the Amazon Redshift source. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param database: Required. The database name of the Amazon Redshift source. Type: string (or + Expression with resultType string). + :type database: object + :param port: The TCP port number that the Amazon Redshift server uses to listen for client + connections. The default value is 5439. Type: integer (or Expression with resultType integer). + :type port: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'server': {'required': True}, + 'database': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + server: object, + database: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + port: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AmazonRedshiftLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AmazonRedshift' + self.server = server + self.username = username + self.password = password + self.database = database + self.port = port + self.encrypted_credential = encrypted_credential + + +class AmazonRedshiftTableDataset(Dataset): + """The Amazon Redshift table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The Amazon Redshift table name. Type: string (or Expression with resultType + string). + :type table: object + :param schema_type_properties_schema: The Amazon Redshift schema name. Type: string (or + Expression with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + table: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + **kwargs + ): + super(AmazonRedshiftTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AmazonRedshiftTable' + self.table_name = table_name + self.table = table + self.schema_type_properties_schema = schema_type_properties_schema + + +class AmazonS3Dataset(Dataset): + """A single Amazon Simple Storage Service (S3) object or a set of S3 objects. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param bucket_name: Required. The name of the Amazon S3 bucket. Type: string (or Expression + with resultType string). + :type bucket_name: object + :param key: The key of the Amazon S3 object. Type: string (or Expression with resultType + string). + :type key: object + :param prefix: The prefix filter for the S3 object name. Type: string (or Expression with + resultType string). + :type prefix: object + :param version: The version for the S3 object. Type: string (or Expression with resultType + string). + :type version: object + :param modified_datetime_start: The start of S3 object's modified datetime. Type: string (or + Expression with resultType string). + :type modified_datetime_start: object + :param modified_datetime_end: The end of S3 object's modified datetime. Type: string (or + Expression with resultType string). + :type modified_datetime_end: object + :param format: The format of files. + :type format: ~azure.mgmt.datafactory.models.DatasetStorageFormat + :param compression: The data compression method used for the Amazon S3 object. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'bucket_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'bucket_name': {'key': 'typeProperties.bucketName', 'type': 'object'}, + 'key': {'key': 'typeProperties.key', 'type': 'object'}, + 'prefix': {'key': 'typeProperties.prefix', 'type': 'object'}, + 'version': {'key': 'typeProperties.version', 'type': 'object'}, + 'modified_datetime_start': {'key': 'typeProperties.modifiedDatetimeStart', 'type': 'object'}, + 'modified_datetime_end': {'key': 'typeProperties.modifiedDatetimeEnd', 'type': 'object'}, + 'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + bucket_name: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + key: Optional[object] = None, + prefix: Optional[object] = None, + version: Optional[object] = None, + modified_datetime_start: Optional[object] = None, + modified_datetime_end: Optional[object] = None, + format: Optional["DatasetStorageFormat"] = None, + compression: Optional["DatasetCompression"] = None, + **kwargs + ): + super(AmazonS3Dataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AmazonS3Object' + self.bucket_name = bucket_name + self.key = key + self.prefix = prefix + self.version = version + self.modified_datetime_start = modified_datetime_start + self.modified_datetime_end = modified_datetime_end + self.format = format + self.compression = compression + + +class AmazonS3LinkedService(LinkedService): + """Linked service for Amazon S3. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param access_key_id: The access key identifier of the Amazon S3 Identity and Access Management + (IAM) user. Type: string (or Expression with resultType string). + :type access_key_id: object + :param secret_access_key: The secret access key of the Amazon S3 Identity and Access Management + (IAM) user. + :type secret_access_key: ~azure.mgmt.datafactory.models.SecretBase + :param service_url: This value specifies the endpoint to access with the S3 Connector. This is + an optional property; change it only if you want to try a different service endpoint or want to + switch between https and http. Type: string (or Expression with resultType string). + :type service_url: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'}, + 'secret_access_key': {'key': 'typeProperties.secretAccessKey', 'type': 'SecretBase'}, + 'service_url': {'key': 'typeProperties.serviceUrl', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + access_key_id: Optional[object] = None, + secret_access_key: Optional["SecretBase"] = None, + service_url: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AmazonS3LinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AmazonS3' + self.access_key_id = access_key_id + self.secret_access_key = secret_access_key + self.service_url = service_url + self.encrypted_credential = encrypted_credential + + +class ControlActivity(Activity): + """Base class for all control activities like IfCondition, ForEach , Until. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AppendVariableActivity, ExecutePipelineActivity, FilterActivity, ForEachActivity, IfConditionActivity, SetVariableActivity, SwitchActivity, UntilActivity, ValidationActivity, WaitActivity, WebHookActivity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + } + + _subtype_map = { + 'type': {'AppendVariable': 'AppendVariableActivity', 'ExecutePipeline': 'ExecutePipelineActivity', 'Filter': 'FilterActivity', 'ForEach': 'ForEachActivity', 'IfCondition': 'IfConditionActivity', 'SetVariable': 'SetVariableActivity', 'Switch': 'SwitchActivity', 'Until': 'UntilActivity', 'Validation': 'ValidationActivity', 'Wait': 'WaitActivity', 'WebHook': 'WebHookActivity'} + } + + def __init__( + self, + *, + name: str, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + **kwargs + ): + super(ControlActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs) + self.type = 'Container' + + +class AppendVariableActivity(ControlActivity): + """Append value for a Variable of type Array. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param variable_name: Name of the variable whose value needs to be appended to. + :type variable_name: str + :param value: Value to be appended. Could be a static value or Expression. + :type value: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'variable_name': {'key': 'typeProperties.variableName', 'type': 'str'}, + 'value': {'key': 'typeProperties.value', 'type': 'object'}, + } + + def __init__( + self, + *, + name: str, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + variable_name: Optional[str] = None, + value: Optional[object] = None, + **kwargs + ): + super(AppendVariableActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs) + self.type = 'AppendVariable' + self.variable_name = variable_name + self.value = value + + +class AvroDataset(Dataset): + """Avro dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param location: The location of the avro storage. + :type location: ~azure.mgmt.datafactory.models.DatasetLocation + :param avro_compression_codec: Possible values include: "none", "deflate", "snappy", "xz", + "bzip2". + :type avro_compression_codec: str or ~azure.mgmt.datafactory.models.AvroCompressionCodec + :param avro_compression_level: + :type avro_compression_level: int + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'avro_compression_level': {'maximum': 9, 'minimum': 1}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, + 'avro_compression_codec': {'key': 'typeProperties.avroCompressionCodec', 'type': 'str'}, + 'avro_compression_level': {'key': 'typeProperties.avroCompressionLevel', 'type': 'int'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + location: Optional["DatasetLocation"] = None, + avro_compression_codec: Optional[Union[str, "AvroCompressionCodec"]] = None, + avro_compression_level: Optional[int] = None, + **kwargs + ): + super(AvroDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'Avro' + self.location = location + self.avro_compression_codec = avro_compression_codec + self.avro_compression_level = avro_compression_level + + +class AzureBatchLinkedService(LinkedService): + """Azure Batch linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param account_name: Required. The Azure Batch account name. Type: string (or Expression with + resultType string). + :type account_name: object + :param access_key: The Azure Batch account access key. + :type access_key: ~azure.mgmt.datafactory.models.SecretBase + :param batch_uri: Required. The Azure Batch URI. Type: string (or Expression with resultType + string). + :type batch_uri: object + :param pool_name: Required. The Azure Batch pool name. Type: string (or Expression with + resultType string). + :type pool_name: object + :param linked_service_name: Required. The Azure Storage linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'account_name': {'required': True}, + 'batch_uri': {'required': True}, + 'pool_name': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'account_name': {'key': 'typeProperties.accountName', 'type': 'object'}, + 'access_key': {'key': 'typeProperties.accessKey', 'type': 'SecretBase'}, + 'batch_uri': {'key': 'typeProperties.batchUri', 'type': 'object'}, + 'pool_name': {'key': 'typeProperties.poolName', 'type': 'object'}, + 'linked_service_name': {'key': 'typeProperties.linkedServiceName', 'type': 'LinkedServiceReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + account_name: object, + batch_uri: object, + pool_name: object, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + access_key: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureBatchLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureBatch' + self.account_name = account_name + self.access_key = access_key + self.batch_uri = batch_uri + self.pool_name = pool_name + self.linked_service_name = linked_service_name + self.encrypted_credential = encrypted_credential + + +class AzureBlobDataset(Dataset): + """The Azure Blob storage. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param folder_path: The path of the Azure Blob storage. Type: string (or Expression with + resultType string). + :type folder_path: object + :param table_root_location: The root of blob path. Type: string (or Expression with resultType + string). + :type table_root_location: object + :param file_name: The name of the Azure Blob. Type: string (or Expression with resultType + string). + :type file_name: object + :param modified_datetime_start: The start of Azure Blob's modified datetime. Type: string (or + Expression with resultType string). + :type modified_datetime_start: object + :param modified_datetime_end: The end of Azure Blob's modified datetime. Type: string (or + Expression with resultType string). + :type modified_datetime_end: object + :param format: The format of the Azure Blob storage. + :type format: ~azure.mgmt.datafactory.models.DatasetStorageFormat + :param compression: The data compression method used for the blob storage. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'}, + 'table_root_location': {'key': 'typeProperties.tableRootLocation', 'type': 'object'}, + 'file_name': {'key': 'typeProperties.fileName', 'type': 'object'}, + 'modified_datetime_start': {'key': 'typeProperties.modifiedDatetimeStart', 'type': 'object'}, + 'modified_datetime_end': {'key': 'typeProperties.modifiedDatetimeEnd', 'type': 'object'}, + 'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + folder_path: Optional[object] = None, + table_root_location: Optional[object] = None, + file_name: Optional[object] = None, + modified_datetime_start: Optional[object] = None, + modified_datetime_end: Optional[object] = None, + format: Optional["DatasetStorageFormat"] = None, + compression: Optional["DatasetCompression"] = None, + **kwargs + ): + super(AzureBlobDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AzureBlob' + self.folder_path = folder_path + self.table_root_location = table_root_location + self.file_name = file_name + self.modified_datetime_start = modified_datetime_start + self.modified_datetime_end = modified_datetime_end + self.format = format + self.compression = compression + + +class AzureBlobFsDataset(Dataset): + """The Azure Data Lake Storage Gen2 storage. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param folder_path: The path of the Azure Data Lake Storage Gen2 storage. Type: string (or + Expression with resultType string). + :type folder_path: object + :param file_name: The name of the Azure Data Lake Storage Gen2. Type: string (or Expression + with resultType string). + :type file_name: object + :param format: The format of the Azure Data Lake Storage Gen2 storage. + :type format: ~azure.mgmt.datafactory.models.DatasetStorageFormat + :param compression: The data compression method used for the blob storage. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'}, + 'file_name': {'key': 'typeProperties.fileName', 'type': 'object'}, + 'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + folder_path: Optional[object] = None, + file_name: Optional[object] = None, + format: Optional["DatasetStorageFormat"] = None, + compression: Optional["DatasetCompression"] = None, + **kwargs + ): + super(AzureBlobFsDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AzureBlobFSFile' + self.folder_path = folder_path + self.file_name = file_name + self.format = format + self.compression = compression + + +class AzureBlobFsLinkedService(LinkedService): + """Azure Data Lake Storage Gen2 linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. Endpoint for the Azure Data Lake Storage Gen2 service. Type: string (or + Expression with resultType string). + :type url: object + :param account_key: Account key for the Azure Data Lake Storage Gen2 service. Type: string (or + Expression with resultType string). + :type account_key: object + :param service_principal_id: The ID of the application used to authenticate against the Azure + Data Lake Storage Gen2 account. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The Key of the application used to authenticate against the Azure + Data Lake Storage Gen2 account. + :type service_principal_key: ~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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'account_key': {'key': 'typeProperties.accountKey', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + url: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + account_key: Optional[object] = None, + service_principal_id: Optional[object] = None, + service_principal_key: Optional["SecretBase"] = None, + tenant: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureBlobFsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureBlobFS' + self.url = url + self.account_key = account_key + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.tenant = tenant + self.encrypted_credential = encrypted_credential + + +class AzureBlobStorageLinkedService(LinkedService): + """The azure blob storage linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: The connection string. It is mutually exclusive with sasUri, + serviceEndpoint property. Type: string, SecureString or AzureKeyVaultSecretReference. + :type connection_string: object + :param account_key: The Azure key vault secret reference of accountKey in connection string. + :type account_key: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param sas_uri: SAS URI of the Azure Blob Storage resource. It is mutually exclusive with + connectionString, serviceEndpoint property. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type sas_uri: object + :param sas_token: The Azure key vault secret reference of sasToken in sas uri. + :type sas_token: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param service_endpoint: Blob service endpoint of the Azure Blob Storage resource. It is + mutually exclusive with connectionString, sasUri property. + :type service_endpoint: str + :param service_principal_id: The ID of the service principal used to authenticate against Azure + SQL Data Warehouse. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate against + Azure SQL Data Warehouse. + :type service_principal_key: ~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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'}, + 'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'}, + 'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'}, + 'service_endpoint': {'key': 'typeProperties.serviceEndpoint', 'type': 'str'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + connection_string: Optional[object] = None, + account_key: Optional["AzureKeyVaultSecretReference"] = None, + sas_uri: Optional[object] = None, + sas_token: Optional["AzureKeyVaultSecretReference"] = None, + service_endpoint: Optional[str] = None, + service_principal_id: Optional[object] = None, + service_principal_key: Optional["SecretBase"] = None, + tenant: Optional[object] = None, + encrypted_credential: Optional[str] = None, + **kwargs + ): + super(AzureBlobStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureBlobStorage' + self.connection_string = connection_string + self.account_key = account_key + self.sas_uri = sas_uri + self.sas_token = sas_token + self.service_endpoint = service_endpoint + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.tenant = tenant + self.encrypted_credential = encrypted_credential + + +class AzureDatabricksLinkedService(LinkedService): + """Azure Databricks linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param domain: Required. :code:``.azuredatabricks.net, domain name of your Databricks + deployment. Type: string (or Expression with resultType string). + :type domain: object + :param access_token: Required. Access token for databricks REST API. Refer to + https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string (or Expression + with resultType string). + :type access_token: ~azure.mgmt.datafactory.models.SecretBase + :param existing_cluster_id: The id of an existing interactive cluster that will be used for all + runs of this activity. Type: string (or Expression with resultType string). + :type existing_cluster_id: object + :param instance_pool_id: The id of an existing instance pool that will be used for all runs of + this activity. Type: string (or Expression with resultType string). + :type instance_pool_id: object + :param new_cluster_version: If not using an existing interactive cluster, this specifies the + Spark version of a new job cluster or instance pool nodes created for each run of this + activity. Required if instancePoolId is specified. Type: string (or Expression with resultType + string). + :type new_cluster_version: object + :param new_cluster_num_of_worker: If not using an existing interactive cluster, this specifies + the number of worker nodes to use for the new job cluster or instance pool. For new job + clusters, this a string-formatted Int32, like '1' means numOfWorker is 1 or '1:10' means auto- + scale from 1 (min) to 10 (max). For instance pools, this is a string-formatted Int32, and can + only specify a fixed number of worker nodes, such as '2'. Required if newClusterVersion is + specified. Type: string (or Expression with resultType string). + :type new_cluster_num_of_worker: object + :param new_cluster_node_type: The node type of the new job cluster. This property is required + if newClusterVersion is specified and instancePoolId is not specified. If instancePoolId is + specified, this property is ignored. Type: string (or Expression with resultType string). + :type new_cluster_node_type: object + :param new_cluster_spark_conf: A set of optional, user-specified Spark configuration key-value + pairs. + :type new_cluster_spark_conf: dict[str, object] + :param new_cluster_spark_env_vars: A set of optional, user-specified Spark environment + variables key-value pairs. + :type new_cluster_spark_env_vars: dict[str, object] + :param new_cluster_custom_tags: Additional tags for cluster resources. This property is ignored + in instance pool configurations. + :type new_cluster_custom_tags: dict[str, object] + :param new_cluster_driver_node_type: The driver node type for the new job cluster. This + property is ignored in instance pool configurations. Type: string (or Expression with + resultType string). + :type new_cluster_driver_node_type: object + :param new_cluster_init_scripts: User-defined initialization scripts for the new cluster. Type: + array of strings (or Expression with resultType array of strings). + :type new_cluster_init_scripts: object + :param new_cluster_enable_elastic_disk: Enable the elastic disk on the new cluster. This + property is now ignored, and takes the default elastic disk behavior in Databricks (elastic + disks are always enabled). Type: boolean (or Expression with resultType boolean). + :type new_cluster_enable_elastic_disk: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'domain': {'required': True}, + 'access_token': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'domain': {'key': 'typeProperties.domain', 'type': 'object'}, + 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'existing_cluster_id': {'key': 'typeProperties.existingClusterId', 'type': 'object'}, + 'instance_pool_id': {'key': 'typeProperties.instancePoolId', 'type': 'object'}, + 'new_cluster_version': {'key': 'typeProperties.newClusterVersion', 'type': 'object'}, + 'new_cluster_num_of_worker': {'key': 'typeProperties.newClusterNumOfWorker', 'type': 'object'}, + 'new_cluster_node_type': {'key': 'typeProperties.newClusterNodeType', 'type': 'object'}, + 'new_cluster_spark_conf': {'key': 'typeProperties.newClusterSparkConf', 'type': '{object}'}, + 'new_cluster_spark_env_vars': {'key': 'typeProperties.newClusterSparkEnvVars', 'type': '{object}'}, + 'new_cluster_custom_tags': {'key': 'typeProperties.newClusterCustomTags', 'type': '{object}'}, + 'new_cluster_driver_node_type': {'key': 'typeProperties.newClusterDriverNodeType', 'type': 'object'}, + 'new_cluster_init_scripts': {'key': 'typeProperties.newClusterInitScripts', 'type': 'object'}, + 'new_cluster_enable_elastic_disk': {'key': 'typeProperties.newClusterEnableElasticDisk', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + domain: object, + access_token: "SecretBase", + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + existing_cluster_id: Optional[object] = None, + instance_pool_id: Optional[object] = None, + new_cluster_version: Optional[object] = None, + new_cluster_num_of_worker: Optional[object] = None, + new_cluster_node_type: Optional[object] = None, + new_cluster_spark_conf: Optional[Dict[str, object]] = None, + new_cluster_spark_env_vars: Optional[Dict[str, object]] = None, + new_cluster_custom_tags: Optional[Dict[str, object]] = None, + new_cluster_driver_node_type: Optional[object] = None, + new_cluster_init_scripts: Optional[object] = None, + new_cluster_enable_elastic_disk: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureDatabricksLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureDatabricks' + self.domain = domain + self.access_token = access_token + self.existing_cluster_id = existing_cluster_id + self.instance_pool_id = instance_pool_id + self.new_cluster_version = new_cluster_version + self.new_cluster_num_of_worker = new_cluster_num_of_worker + self.new_cluster_node_type = new_cluster_node_type + self.new_cluster_spark_conf = new_cluster_spark_conf + self.new_cluster_spark_env_vars = new_cluster_spark_env_vars + self.new_cluster_custom_tags = new_cluster_custom_tags + self.new_cluster_driver_node_type = new_cluster_driver_node_type + self.new_cluster_init_scripts = new_cluster_init_scripts + self.new_cluster_enable_elastic_disk = new_cluster_enable_elastic_disk + self.encrypted_credential = encrypted_credential + + +class ExecutionActivity(Activity): + """Base class for all execution activities. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AzureDataExplorerCommandActivity, AzureFunctionActivity, AzureMlBatchExecutionActivity, AzureMlExecutePipelineActivity, AzureMlUpdateResourceActivity, CopyActivity, CustomActivity, DataLakeAnalyticsUsqlActivity, DatabricksNotebookActivity, DatabricksSparkJarActivity, DatabricksSparkPythonActivity, DeleteActivity, ExecuteDataFlowActivity, ExecuteSsisPackageActivity, GetMetadataActivity, HdInsightHiveActivity, HdInsightMapReduceActivity, HdInsightPigActivity, HdInsightSparkActivity, HdInsightStreamingActivity, LookupActivity, SqlServerStoredProcedureActivity, WebActivity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + } + + _subtype_map = { + 'type': {'AzureDataExplorerCommand': 'AzureDataExplorerCommandActivity', 'AzureFunctionActivity': 'AzureFunctionActivity', 'AzureMLBatchExecution': 'AzureMlBatchExecutionActivity', 'AzureMLExecutePipeline': 'AzureMlExecutePipelineActivity', 'AzureMLUpdateResource': 'AzureMlUpdateResourceActivity', 'Copy': 'CopyActivity', 'Custom': 'CustomActivity', 'DataLakeAnalyticsU-SQL': 'DataLakeAnalyticsUsqlActivity', 'DatabricksNotebook': 'DatabricksNotebookActivity', 'DatabricksSparkJar': 'DatabricksSparkJarActivity', 'DatabricksSparkPython': 'DatabricksSparkPythonActivity', 'Delete': 'DeleteActivity', 'ExecuteDataFlow': 'ExecuteDataFlowActivity', 'ExecuteSSISPackage': 'ExecuteSsisPackageActivity', 'GetMetadata': 'GetMetadataActivity', 'HDInsightHive': 'HdInsightHiveActivity', 'HDInsightMapReduce': 'HdInsightMapReduceActivity', 'HDInsightPig': 'HdInsightPigActivity', 'HDInsightSpark': 'HdInsightSparkActivity', 'HDInsightStreaming': 'HdInsightStreamingActivity', 'Lookup': 'LookupActivity', 'SqlServerStoredProcedure': 'SqlServerStoredProcedureActivity', 'WebActivity': 'WebActivity'} + } + + def __init__( + self, + *, + name: str, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + **kwargs + ): + super(ExecutionActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs) + self.type = 'Execution' + self.linked_service_name = linked_service_name + self.policy = policy + + +class AzureDataExplorerCommandActivity(ExecutionActivity): + """Azure Data Explorer command activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param command: Required. A control command, according to the Azure Data Explorer command + syntax. Type: string (or Expression with resultType string). + :type command: object + :param command_timeout: Control command timeout. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..). + :type command_timeout: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'command': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'command': {'key': 'typeProperties.command', 'type': 'object'}, + 'command_timeout': {'key': 'typeProperties.commandTimeout', 'type': 'object'}, + } + + def __init__( + self, + *, + name: str, + command: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + command_timeout: Optional[object] = None, + **kwargs + ): + super(AzureDataExplorerCommandActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'AzureDataExplorerCommand' + self.command = command + self.command_timeout = command_timeout + + +class AzureDataExplorerLinkedService(LinkedService): + """Azure Data Explorer (Kusto) linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of Azure Data Explorer (the engine's endpoint). URL + will be in the format https://:code:``.:code:``.kusto.windows.net. + Type: string (or Expression with resultType string). + :type endpoint: object + :param service_principal_id: Required. The ID of the service principal used to authenticate + against Azure Data Explorer. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: Required. The key of the service principal used to authenticate + against Kusto. + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :param database: Required. Database name for connection. Type: string (or Expression with + resultType string). + :type database: object + :param tenant: Required. The name or ID of the tenant to which the service principal belongs. + Type: string (or Expression with resultType string). + :type tenant: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + 'service_principal_id': {'required': True}, + 'service_principal_key': {'required': True}, + 'database': {'required': True}, + 'tenant': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + } + + def __init__( + self, + *, + endpoint: object, + service_principal_id: object, + service_principal_key: "SecretBase", + database: object, + tenant: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + **kwargs + ): + super(AzureDataExplorerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureDataExplorer' + self.endpoint = endpoint + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.database = database + self.tenant = tenant + + +class AzureDataExplorerTableDataset(Dataset): + """The Azure Data Explorer (Kusto) dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table: The table name of the Azure Data Explorer database. Type: string (or Expression + with resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table: Optional[object] = None, + **kwargs + ): + super(AzureDataExplorerTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AzureDataExplorerTable' + self.table = table + + +class AzureDataLakeAnalyticsLinkedService(LinkedService): + """Azure Data Lake Analytics linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param account_name: Required. The Azure Data Lake Analytics account name. Type: string (or + Expression with resultType string). + :type account_name: object + :param service_principal_id: The ID of the application used to authenticate against the Azure + Data Lake Analytics account. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The Key of the application used to authenticate against the Azure + Data Lake Analytics account. + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :param tenant: Required. The name or ID of the tenant to which the service principal belongs. + Type: string (or Expression with resultType string). + :type tenant: object + :param subscription_id: Data Lake Analytics account subscription ID (if different from Data + Factory account). Type: string (or Expression with resultType string). + :type subscription_id: object + :param resource_group_name: Data Lake Analytics account resource group name (if different from + Data Factory account). Type: string (or Expression with resultType string). + :type resource_group_name: object + :param data_lake_analytics_uri: Azure Data Lake Analytics URI Type: string (or Expression with + resultType string). + :type data_lake_analytics_uri: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'account_name': {'required': True}, + 'tenant': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'account_name': {'key': 'typeProperties.accountName', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'subscription_id': {'key': 'typeProperties.subscriptionId', 'type': 'object'}, + 'resource_group_name': {'key': 'typeProperties.resourceGroupName', 'type': 'object'}, + 'data_lake_analytics_uri': {'key': 'typeProperties.dataLakeAnalyticsUri', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + account_name: object, + tenant: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + service_principal_id: Optional[object] = None, + service_principal_key: Optional["SecretBase"] = None, + subscription_id: Optional[object] = None, + resource_group_name: Optional[object] = None, + data_lake_analytics_uri: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureDataLakeAnalyticsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureDataLakeAnalytics' + self.account_name = account_name + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.tenant = tenant + self.subscription_id = subscription_id + self.resource_group_name = resource_group_name + self.data_lake_analytics_uri = data_lake_analytics_uri + self.encrypted_credential = encrypted_credential + + +class AzureDataLakeStoreDataset(Dataset): + """Azure Data Lake Store dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param folder_path: Path to the folder in the Azure Data Lake Store. Type: string (or + Expression with resultType string). + :type folder_path: object + :param file_name: The name of the file in the Azure Data Lake Store. Type: string (or + Expression with resultType string). + :type file_name: object + :param format: The format of the Data Lake Store. + :type format: ~azure.mgmt.datafactory.models.DatasetStorageFormat + :param compression: The data compression method used for the item(s) in the Azure Data Lake + Store. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'}, + 'file_name': {'key': 'typeProperties.fileName', 'type': 'object'}, + 'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + folder_path: Optional[object] = None, + file_name: Optional[object] = None, + format: Optional["DatasetStorageFormat"] = None, + compression: Optional["DatasetCompression"] = None, + **kwargs + ): + super(AzureDataLakeStoreDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AzureDataLakeStoreFile' + self.folder_path = folder_path + self.file_name = file_name + self.format = format + self.compression = compression + + +class AzureDataLakeStoreLinkedService(LinkedService): + """Azure Data Lake Store linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param data_lake_store_uri: Required. Data Lake Store service URI. Type: string (or Expression + with resultType string). + :type data_lake_store_uri: object + :param service_principal_id: The ID of the application used to authenticate against the Azure + Data Lake Store account. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The Key of the application used to authenticate against the Azure + Data Lake Store account. + :type service_principal_key: ~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 account_name: Data Lake Store account name. Type: string (or Expression with resultType + string). + :type account_name: object + :param subscription_id: Data Lake Store account subscription ID (if different from Data Factory + account). Type: string (or Expression with resultType string). + :type subscription_id: object + :param resource_group_name: Data Lake Store account resource group name (if different from Data + Factory account). Type: string (or Expression with resultType string). + :type resource_group_name: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'data_lake_store_uri': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'data_lake_store_uri': {'key': 'typeProperties.dataLakeStoreUri', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'account_name': {'key': 'typeProperties.accountName', 'type': 'object'}, + 'subscription_id': {'key': 'typeProperties.subscriptionId', 'type': 'object'}, + 'resource_group_name': {'key': 'typeProperties.resourceGroupName', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + data_lake_store_uri: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + service_principal_id: Optional[object] = None, + service_principal_key: Optional["SecretBase"] = None, + tenant: Optional[object] = None, + account_name: Optional[object] = None, + subscription_id: Optional[object] = None, + resource_group_name: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureDataLakeStoreLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureDataLakeStore' + self.data_lake_store_uri = data_lake_store_uri + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.tenant = tenant + self.account_name = account_name + self.subscription_id = subscription_id + self.resource_group_name = resource_group_name + self.encrypted_credential = encrypted_credential + + +class AzureFileStorageLinkedService(LinkedService): + """Azure File Storage linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Host name of the server. Type: string (or Expression with resultType string). + :type host: object + :param user_id: User ID to logon the server. Type: string (or Expression with resultType + string). + :type user_id: object + :param password: Password to logon the server. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param connection_string: The connection string. It is mutually exclusive with sasUri property. + Type: string, SecureString or AzureKeyVaultSecretReference. + :type connection_string: object + :param account_key: The Azure key vault secret reference of accountKey in connection string. + :type account_key: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param sas_uri: SAS URI of the Azure File resource. It is mutually exclusive with + connectionString property. Type: string, SecureString or AzureKeyVaultSecretReference. + :type sas_uri: object + :param sas_token: The Azure key vault secret reference of sasToken in sas uri. + :type sas_token: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param file_share: The azure file share name. It is required when auth with + accountKey/sasToken. Type: string (or Expression with resultType string). + :type file_share: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'user_id': {'key': 'typeProperties.userId', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'}, + 'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'}, + 'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'}, + 'file_share': {'key': 'typeProperties.fileShare', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + host: Optional[object] = None, + user_id: Optional[object] = None, + password: Optional["SecretBase"] = None, + connection_string: Optional[object] = None, + account_key: Optional["AzureKeyVaultSecretReference"] = None, + sas_uri: Optional[object] = None, + sas_token: Optional["AzureKeyVaultSecretReference"] = None, + file_share: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureFileStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureFileStorage' + self.host = host + self.user_id = user_id + self.password = password + self.connection_string = connection_string + self.account_key = account_key + self.sas_uri = sas_uri + self.sas_token = sas_token + self.file_share = file_share + self.encrypted_credential = encrypted_credential + + +class AzureFunctionActivity(ExecutionActivity): + """Azure Function activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param method: Required. Rest API method for target endpoint. Possible values include: "GET", + "POST", "PUT", "DELETE", "OPTIONS", "HEAD", "TRACE". + :type method: str or ~azure.mgmt.datafactory.models.AzureFunctionActivityMethod + :param function_name: Required. Name of the Function that the Azure Function Activity will + call. Type: string (or Expression with resultType string). + :type function_name: object + :param headers: Represents the headers that will be sent to the request. For example, to set + the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type": + "application/json" }. Type: string (or Expression with resultType string). + :type headers: object + :param body: Represents the payload that will be sent to the endpoint. Required for POST/PUT + method, not allowed for GET method Type: string (or Expression with resultType string). + :type body: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'method': {'required': True}, + 'function_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'method': {'key': 'typeProperties.method', 'type': 'str'}, + 'function_name': {'key': 'typeProperties.functionName', 'type': 'object'}, + 'headers': {'key': 'typeProperties.headers', 'type': 'object'}, + 'body': {'key': 'typeProperties.body', 'type': 'object'}, + } + + def __init__( + self, + *, + name: str, + method: Union[str, "AzureFunctionActivityMethod"], + function_name: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + headers: Optional[object] = None, + body: Optional[object] = None, + **kwargs + ): + super(AzureFunctionActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'AzureFunctionActivity' + self.method = method + self.function_name = function_name + self.headers = headers + self.body = body + + +class AzureFunctionLinkedService(LinkedService): + """Azure Function linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param function_app_url: Required. The endpoint of the Azure Function App. URL will be in the + format https://:code:``.azurewebsites.net. + :type function_app_url: object + :param function_key: Function or Host key for Azure Function App. + :type function_key: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'function_app_url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'function_app_url': {'key': 'typeProperties.functionAppUrl', 'type': 'object'}, + 'function_key': {'key': 'typeProperties.functionKey', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + function_app_url: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + function_key: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureFunctionLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureFunction' + self.function_app_url = function_app_url + self.function_key = function_key + self.encrypted_credential = encrypted_credential + + +class AzureKeyVaultLinkedService(LinkedService): + """Azure Key Vault linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param base_url: Required. The base URL of the Azure Key Vault. e.g. + https://myakv.vault.azure.net Type: string (or Expression with resultType string). + :type base_url: object + """ + + _validation = { + 'type': {'required': True}, + 'base_url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'base_url': {'key': 'typeProperties.baseUrl', 'type': 'object'}, + } + + def __init__( + self, + *, + base_url: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + **kwargs + ): + super(AzureKeyVaultLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureKeyVault' + self.base_url = base_url + + +class SecretBase(msrest.serialization.Model): + """The base definition of a secret type. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AzureKeyVaultSecretReference, SecureString. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the secret.Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'AzureKeyVaultSecret': 'AzureKeyVaultSecretReference', 'SecureString': 'SecureString'} + } + + def __init__( + self, + **kwargs + ): + super(SecretBase, self).__init__(**kwargs) + self.type = None + + +class AzureKeyVaultSecretReference(SecretBase): + """Azure Key Vault secret reference. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the secret.Constant filled by server. + :type type: str + :param store: Required. The Azure Key Vault linked service reference. + :type store: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param secret_name: Required. The name of the secret in Azure Key Vault. Type: string (or + Expression with resultType string). + :type secret_name: object + :param secret_version: The version of the secret in Azure Key Vault. The default value is the + latest version of the secret. Type: string (or Expression with resultType string). + :type secret_version: object + """ + + _validation = { + 'type': {'required': True}, + 'store': {'required': True}, + 'secret_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'store': {'key': 'store', 'type': 'LinkedServiceReference'}, + 'secret_name': {'key': 'secretName', 'type': 'object'}, + 'secret_version': {'key': 'secretVersion', 'type': 'object'}, + } + + def __init__( + self, + *, + store: "LinkedServiceReference", + secret_name: object, + secret_version: Optional[object] = None, + **kwargs + ): + super(AzureKeyVaultSecretReference, self).__init__(**kwargs) + self.type = 'AzureKeyVaultSecret' + self.store = store + self.secret_name = secret_name + self.secret_version = secret_version + + +class AzureMariaDBLinkedService(LinkedService): + """Azure Database for MariaDB linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param pwd: The Azure key vault secret reference of password in connection string. + :type pwd: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + connection_string: Optional[object] = None, + pwd: Optional["AzureKeyVaultSecretReference"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureMariaDBLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureMariaDB' + self.connection_string = connection_string + self.pwd = pwd + self.encrypted_credential = encrypted_credential + + +class AzureMariaDBTableDataset(Dataset): + """Azure Database for MariaDB dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(AzureMariaDBTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AzureMariaDBTable' + self.table_name = table_name + + +class AzureMlBatchExecutionActivity(ExecutionActivity): + """Azure ML Batch Execution activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param global_parameters: Key,Value pairs to be passed to the Azure ML Batch Execution Service + endpoint. Keys must match the names of web service parameters defined in the published Azure ML + web service. Values will be passed in the GlobalParameters property of the Azure ML batch + execution request. + :type global_parameters: dict[str, object] + :param web_service_outputs: Key,Value pairs, mapping the names of Azure ML endpoint's Web + Service Outputs to AzureMLWebServiceFile objects specifying the output Blob locations. This + information will be passed in the WebServiceOutputs property of the Azure ML batch execution + request. + :type web_service_outputs: dict[str, ~azure.mgmt.datafactory.models.AzureMlWebServiceFile] + :param web_service_inputs: Key,Value pairs, mapping the names of Azure ML endpoint's Web + Service Inputs to AzureMLWebServiceFile objects specifying the input Blob locations.. This + information will be passed in the WebServiceInputs property of the Azure ML batch execution + request. + :type web_service_inputs: dict[str, ~azure.mgmt.datafactory.models.AzureMlWebServiceFile] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'global_parameters': {'key': 'typeProperties.globalParameters', 'type': '{object}'}, + 'web_service_outputs': {'key': 'typeProperties.webServiceOutputs', 'type': '{AzureMlWebServiceFile}'}, + 'web_service_inputs': {'key': 'typeProperties.webServiceInputs', 'type': '{AzureMlWebServiceFile}'}, + } + + def __init__( + self, + *, + name: str, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + global_parameters: Optional[Dict[str, object]] = None, + web_service_outputs: Optional[Dict[str, "AzureMlWebServiceFile"]] = None, + web_service_inputs: Optional[Dict[str, "AzureMlWebServiceFile"]] = None, + **kwargs + ): + super(AzureMlBatchExecutionActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'AzureMLBatchExecution' + self.global_parameters = global_parameters + self.web_service_outputs = web_service_outputs + self.web_service_inputs = web_service_inputs + + +class AzureMlExecutePipelineActivity(ExecutionActivity): + """Azure ML Execute Pipeline activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param ml_pipeline_id: Required. ID of the published Azure ML pipeline. Type: string (or + Expression with resultType string). + :type ml_pipeline_id: object + :param experiment_name: Run history experiment name of the pipeline run. This information will + be passed in the ExperimentName property of the published pipeline execution request. Type: + string (or Expression with resultType string). + :type experiment_name: object + :param ml_pipeline_parameters: Key,Value pairs to be passed to the published Azure ML pipeline + endpoint. Keys must match the names of pipeline parameters defined in the published pipeline. + Values will be passed in the ParameterAssignments property of the published pipeline execution + request. Type: object with key value pairs (or Expression with resultType object). + :type ml_pipeline_parameters: object + :param ml_parent_run_id: The parent Azure ML Service pipeline run id. This information will be + passed in the ParentRunId property of the published pipeline execution request. Type: string + (or Expression with resultType string). + :type ml_parent_run_id: object + :param continue_on_step_failure: Whether to continue execution of other steps in the + PipelineRun if a step fails. This information will be passed in the continueOnStepFailure + property of the published pipeline execution request. Type: boolean (or Expression with + resultType boolean). + :type continue_on_step_failure: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'ml_pipeline_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'ml_pipeline_id': {'key': 'typeProperties.mlPipelineId', 'type': 'object'}, + 'experiment_name': {'key': 'typeProperties.experimentName', 'type': 'object'}, + 'ml_pipeline_parameters': {'key': 'typeProperties.mlPipelineParameters', 'type': 'object'}, + 'ml_parent_run_id': {'key': 'typeProperties.mlParentRunId', 'type': 'object'}, + 'continue_on_step_failure': {'key': 'typeProperties.continueOnStepFailure', 'type': 'object'}, + } + + def __init__( + self, + *, + name: str, + ml_pipeline_id: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + experiment_name: Optional[object] = None, + ml_pipeline_parameters: Optional[object] = None, + ml_parent_run_id: Optional[object] = None, + continue_on_step_failure: Optional[object] = None, + **kwargs + ): + super(AzureMlExecutePipelineActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'AzureMLExecutePipeline' + self.ml_pipeline_id = ml_pipeline_id + self.experiment_name = experiment_name + self.ml_pipeline_parameters = ml_pipeline_parameters + self.ml_parent_run_id = ml_parent_run_id + self.continue_on_step_failure = continue_on_step_failure + + +class AzureMlLinkedService(LinkedService): + """Azure ML Studio Web Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param ml_endpoint: Required. The Batch Execution REST URL for an Azure ML Studio Web Service + endpoint. Type: string (or Expression with resultType string). + :type ml_endpoint: object + :param api_key: Required. The API key for accessing the Azure ML model endpoint. + :type api_key: ~azure.mgmt.datafactory.models.SecretBase + :param update_resource_endpoint: The Update Resource REST URL for an Azure ML Studio Web + Service endpoint. Type: string (or Expression with resultType string). + :type update_resource_endpoint: object + :param service_principal_id: The ID of the service principal used to authenticate against the + ARM-based updateResourceEndpoint of an Azure ML Studio web service. Type: string (or Expression + with resultType string). + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate against the + ARM-based updateResourceEndpoint of an Azure ML Studio web service. + :type service_principal_key: ~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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'ml_endpoint': {'required': True}, + 'api_key': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'ml_endpoint': {'key': 'typeProperties.mlEndpoint', 'type': 'object'}, + 'api_key': {'key': 'typeProperties.apiKey', 'type': 'SecretBase'}, + 'update_resource_endpoint': {'key': 'typeProperties.updateResourceEndpoint', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + ml_endpoint: object, + api_key: "SecretBase", + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + update_resource_endpoint: Optional[object] = None, + service_principal_id: Optional[object] = None, + service_principal_key: Optional["SecretBase"] = None, + tenant: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureMlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureML' + self.ml_endpoint = ml_endpoint + self.api_key = api_key + self.update_resource_endpoint = update_resource_endpoint + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.tenant = tenant + self.encrypted_credential = encrypted_credential + + +class AzureMlServiceLinkedService(LinkedService): + """Azure ML Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param subscription_id: Required. Azure ML Service workspace subscription ID. Type: string (or + Expression with resultType string). + :type subscription_id: object + :param resource_group_name: Required. Azure ML Service workspace resource group name. Type: + string (or Expression with resultType string). + :type resource_group_name: object + :param ml_workspace_name: Required. Azure ML Service workspace name. Type: string (or + Expression with resultType string). + :type ml_workspace_name: object + :param service_principal_id: The ID of the service principal used to authenticate against the + endpoint of a published Azure ML Service pipeline. Type: string (or Expression with resultType + string). + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate against the + endpoint of a published Azure ML Service pipeline. + :type service_principal_key: ~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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'subscription_id': {'required': True}, + 'resource_group_name': {'required': True}, + 'ml_workspace_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'subscription_id': {'key': 'typeProperties.subscriptionId', 'type': 'object'}, + 'resource_group_name': {'key': 'typeProperties.resourceGroupName', 'type': 'object'}, + 'ml_workspace_name': {'key': 'typeProperties.mlWorkspaceName', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + subscription_id: object, + resource_group_name: object, + ml_workspace_name: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + service_principal_id: Optional[object] = None, + service_principal_key: Optional["SecretBase"] = None, + tenant: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureMlServiceLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureMLService' + self.subscription_id = subscription_id + self.resource_group_name = resource_group_name + self.ml_workspace_name = ml_workspace_name + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.tenant = tenant + self.encrypted_credential = encrypted_credential + + +class AzureMlUpdateResourceActivity(ExecutionActivity): + """Azure ML Update Resource management activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param trained_model_name: Required. Name of the Trained Model module in the Web Service + experiment to be updated. Type: string (or Expression with resultType string). + :type trained_model_name: object + :param trained_model_linked_service_name: Required. Name of Azure Storage linked service + holding the .ilearner file that will be uploaded by the update operation. + :type trained_model_linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param trained_model_file_path: Required. The relative file path in trainedModelLinkedService + to represent the .ilearner file that will be uploaded by the update operation. Type: string + (or Expression with resultType string). + :type trained_model_file_path: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'trained_model_name': {'required': True}, + 'trained_model_linked_service_name': {'required': True}, + 'trained_model_file_path': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'trained_model_name': {'key': 'typeProperties.trainedModelName', 'type': 'object'}, + 'trained_model_linked_service_name': {'key': 'typeProperties.trainedModelLinkedServiceName', 'type': 'LinkedServiceReference'}, + 'trained_model_file_path': {'key': 'typeProperties.trainedModelFilePath', 'type': 'object'}, + } + + def __init__( + self, + *, + name: str, + trained_model_name: object, + trained_model_linked_service_name: "LinkedServiceReference", + trained_model_file_path: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + **kwargs + ): + super(AzureMlUpdateResourceActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'AzureMLUpdateResource' + self.trained_model_name = trained_model_name + self.trained_model_linked_service_name = trained_model_linked_service_name + self.trained_model_file_path = trained_model_file_path + + +class AzureMlWebServiceFile(msrest.serialization.Model): + """Azure ML WebService Input/Output file. + + All required parameters must be populated in order to send to Azure. + + :param file_path: Required. The relative file path, including container name, in the Azure Blob + Storage specified by the LinkedService. Type: string (or Expression with resultType string). + :type file_path: object + :param linked_service_name: Required. Reference to an Azure Storage LinkedService, where Azure + ML WebService Input/Output file located. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + """ + + _validation = { + 'file_path': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'file_path': {'key': 'filePath', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + } + + def __init__( + self, + *, + file_path: object, + linked_service_name: "LinkedServiceReference", + **kwargs + ): + super(AzureMlWebServiceFile, self).__init__(**kwargs) + self.file_path = file_path + self.linked_service_name = linked_service_name + + +class AzureMySqlLinkedService(LinkedService): + """Azure MySQL database linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + connection_string: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + password: Optional["AzureKeyVaultSecretReference"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureMySqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureMySql' + self.connection_string = connection_string + self.password = password + self.encrypted_credential = encrypted_credential + + +class AzureMySqlTableDataset(Dataset): + """The Azure MySQL database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The Azure MySQL database table name. Type: string (or Expression with + resultType string). + :type table_name: object + :param table: The name of Azure MySQL database table. Type: string (or Expression with + resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + table: Optional[object] = None, + **kwargs + ): + super(AzureMySqlTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AzureMySqlTable' + self.table_name = table_name + self.table = table + + +class AzurePostgreSqlLinkedService(LinkedService): + """Azure PostgreSQL linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + connection_string: Optional[object] = None, + password: Optional["AzureKeyVaultSecretReference"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzurePostgreSqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzurePostgreSql' + self.connection_string = connection_string + self.password = password + self.encrypted_credential = encrypted_credential + + +class AzurePostgreSqlTableDataset(Dataset): + """Azure PostgreSQL dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name of the Azure PostgreSQL database which includes both schema + and table. Type: string (or Expression with resultType string). + :type table_name: object + :param table: The table name of the Azure PostgreSQL database. Type: string (or Expression with + resultType string). + :type table: object + :param schema_type_properties_schema: The schema name of the Azure PostgreSQL database. Type: + string (or Expression with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + table: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + **kwargs + ): + super(AzurePostgreSqlTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AzurePostgreSqlTable' + self.table_name = table_name + self.table = table + self.schema_type_properties_schema = schema_type_properties_schema + + +class AzureSearchIndexDataset(Dataset): + """The Azure Search Index. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param index_name: Required. The name of the Azure Search Index. Type: string (or Expression + with resultType string). + :type index_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'index_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'index_name': {'key': 'typeProperties.indexName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + index_name: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + **kwargs + ): + super(AzureSearchIndexDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AzureSearchIndex' + self.index_name = index_name + + +class AzureSearchLinkedService(LinkedService): + """Linked service for Windows Azure Search Service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. URL for Azure Search service. Type: string (or Expression with resultType + string). + :type url: object + :param key: Admin Key for Azure Search service. + :type key: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'key': {'key': 'typeProperties.key', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + url: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + key: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureSearchLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureSearch' + self.url = url + self.key = key + self.encrypted_credential = encrypted_credential + + +class AzureSqlDatabaseLinkedService(LinkedService): + """Microsoft Azure SQL Database linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param service_principal_id: The ID of the service principal used to authenticate against Azure + SQL Database. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate against + Azure SQL Database. + :type service_principal_key: ~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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + connection_string: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + password: Optional["AzureKeyVaultSecretReference"] = None, + service_principal_id: Optional[object] = None, + service_principal_key: Optional["SecretBase"] = None, + tenant: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureSqlDatabaseLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureSqlDatabase' + self.connection_string = connection_string + self.password = password + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.tenant = tenant + self.encrypted_credential = encrypted_credential + + +class AzureSqlDwLinkedService(LinkedService): + """Azure SQL Data Warehouse linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param service_principal_id: The ID of the service principal used to authenticate against Azure + SQL Data Warehouse. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate against + Azure SQL Data Warehouse. + :type service_principal_key: ~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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + connection_string: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + password: Optional["AzureKeyVaultSecretReference"] = None, + service_principal_id: Optional[object] = None, + service_principal_key: Optional["SecretBase"] = None, + tenant: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureSqlDwLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureSqlDW' + self.connection_string = connection_string + self.password = password + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.tenant = tenant + self.encrypted_credential = encrypted_credential + + +class AzureSqlDwTableDataset(Dataset): + """The Azure SQL Data Warehouse dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param schema_type_properties_schema: The schema name of the Azure SQL Data Warehouse. Type: + string (or Expression with resultType string). + :type schema_type_properties_schema: object + :param table: The table name of the Azure SQL Data Warehouse. Type: string (or Expression with + resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + table: Optional[object] = None, + **kwargs + ): + super(AzureSqlDwTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AzureSqlDWTable' + self.table_name = table_name + self.schema_type_properties_schema = schema_type_properties_schema + self.table = table + + +class AzureSqlMiLinkedService(LinkedService): + """Azure SQL Managed Instance linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param service_principal_id: The ID of the service principal used to authenticate against Azure + SQL Managed Instance. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate against + Azure SQL Managed Instance. + :type service_principal_key: ~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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + connection_string: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + password: Optional["AzureKeyVaultSecretReference"] = None, + service_principal_id: Optional[object] = None, + service_principal_key: Optional["SecretBase"] = None, + tenant: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureSqlMiLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureSqlMI' + self.connection_string = connection_string + self.password = password + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.tenant = tenant + self.encrypted_credential = encrypted_credential + + +class AzureSqlMiTableDataset(Dataset): + """The Azure SQL Managed Instance dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param schema_type_properties_schema: The schema name of the Azure SQL Managed Instance. Type: + string (or Expression with resultType string). + :type schema_type_properties_schema: object + :param table: The table name of the Azure SQL Managed Instance dataset. Type: string (or + Expression with resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + table: Optional[object] = None, + **kwargs + ): + super(AzureSqlMiTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AzureSqlMITable' + self.table_name = table_name + self.schema_type_properties_schema = schema_type_properties_schema + self.table = table + + +class AzureSqlTableDataset(Dataset): + """The Azure SQL Server database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param schema_type_properties_schema: The schema name of the Azure SQL database. Type: string + (or Expression with resultType string). + :type schema_type_properties_schema: object + :param table: The table name of the Azure SQL database. Type: string (or Expression with + resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + table: Optional[object] = None, + **kwargs + ): + super(AzureSqlTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AzureSqlTable' + self.table_name = table_name + self.schema_type_properties_schema = schema_type_properties_schema + self.table = table + + +class AzureStorageLinkedService(LinkedService): + """The storage account linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: The connection string. It is mutually exclusive with sasUri property. + Type: string, SecureString or AzureKeyVaultSecretReference. + :type connection_string: object + :param account_key: The Azure key vault secret reference of accountKey in connection string. + :type account_key: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param sas_uri: SAS URI of the Azure Storage resource. It is mutually exclusive with + connectionString property. Type: string, SecureString or AzureKeyVaultSecretReference. + :type sas_uri: object + :param sas_token: The Azure key vault secret reference of sasToken in sas uri. + :type sas_token: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'}, + 'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'}, + 'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + connection_string: Optional[object] = None, + account_key: Optional["AzureKeyVaultSecretReference"] = None, + sas_uri: Optional[object] = None, + sas_token: Optional["AzureKeyVaultSecretReference"] = None, + encrypted_credential: Optional[str] = None, + **kwargs + ): + super(AzureStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureStorage' + self.connection_string = connection_string + self.account_key = account_key + self.sas_uri = sas_uri + self.sas_token = sas_token + self.encrypted_credential = encrypted_credential + + +class AzureTableDataset(Dataset): + """The Azure Table storage dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: Required. The table name of the Azure Table storage. Type: string (or + Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'table_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + table_name: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + **kwargs + ): + super(AzureTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AzureTable' + self.table_name = table_name + + +class AzureTableStorageLinkedService(LinkedService): + """The azure table storage linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: The connection string. It is mutually exclusive with sasUri property. + Type: string, SecureString or AzureKeyVaultSecretReference. + :type connection_string: object + :param account_key: The Azure key vault secret reference of accountKey in connection string. + :type account_key: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :param sas_uri: SAS URI of the Azure Storage resource. It is mutually exclusive with + connectionString property. Type: string, SecureString or AzureKeyVaultSecretReference. + :type sas_uri: object + :param sas_token: The Azure key vault secret reference of sasToken in sas uri. + :type sas_token: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'}, + 'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'}, + 'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + connection_string: Optional[object] = None, + account_key: Optional["AzureKeyVaultSecretReference"] = None, + sas_uri: Optional[object] = None, + sas_token: Optional["AzureKeyVaultSecretReference"] = None, + encrypted_credential: Optional[str] = None, + **kwargs + ): + super(AzureTableStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureTableStorage' + self.connection_string = connection_string + self.account_key = account_key + self.sas_uri = sas_uri + self.sas_token = sas_token + self.encrypted_credential = encrypted_credential + + +class BinaryDataset(Dataset): + """Binary dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param location: The location of the Binary storage. + :type location: ~azure.mgmt.datafactory.models.DatasetLocation + :param compression: The data compression method used for the binary dataset. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + location: Optional["DatasetLocation"] = None, + compression: Optional["DatasetCompression"] = None, + **kwargs + ): + super(BinaryDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'Binary' + self.location = location + self.compression = compression + + +class CassandraLinkedService(LinkedService): + """Linked service for Cassandra data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. Host name for connection. Type: string (or Expression with resultType + string). + :type host: object + :param authentication_type: AuthenticationType to be used for connection. Type: string (or + Expression with resultType string). + :type authentication_type: object + :param port: The port for the connection. Type: integer (or Expression with resultType + integer). + :type port: object + :param username: Username for authentication. Type: string (or Expression with resultType + string). + :type username: object + :param password: Password for authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + authentication_type: Optional[object] = None, + port: Optional[object] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(CassandraLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Cassandra' + self.host = host + self.authentication_type = authentication_type + self.port = port + self.username = username + self.password = password + self.encrypted_credential = encrypted_credential + + +class CassandraTableDataset(Dataset): + """The Cassandra database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name of the Cassandra database. Type: string (or Expression with + resultType string). + :type table_name: object + :param keyspace: The keyspace of the Cassandra database. Type: string (or Expression with + resultType string). + :type keyspace: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'keyspace': {'key': 'typeProperties.keyspace', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + keyspace: Optional[object] = None, + **kwargs + ): + super(CassandraTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'CassandraTable' + self.table_name = table_name + self.keyspace = keyspace + + +class CloudError(msrest.serialization.Model): + """The object that defines the structure of an Azure Data Factory error response. + + All required parameters must be populated in order to send to Azure. + + :param code: Required. Error code. + :type code: str + :param message: Required. Error message. + :type message: str + :param target: Property name/path in request associated with error. + :type target: str + :param details: Array with additional error details. + :type details: list[~azure.mgmt.datafactory.models.CloudError] + """ + + _validation = { + 'code': {'required': True}, + 'message': {'required': True}, + } + + _attribute_map = { + 'code': {'key': 'error.code', 'type': 'str'}, + 'message': {'key': 'error.message', 'type': 'str'}, + 'target': {'key': 'error.target', 'type': 'str'}, + 'details': {'key': 'error.details', 'type': '[CloudError]'}, + } + + def __init__( + self, + *, + code: str, + message: str, + target: Optional[str] = None, + details: Optional[List["CloudError"]] = None, + **kwargs + ): + super(CloudError, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class CommonDataServiceForAppsEntityDataset(Dataset): + """The Common Data Service for Apps entity dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param entity_name: The logical name of the entity. Type: string (or Expression with resultType + string). + :type entity_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'entity_name': {'key': 'typeProperties.entityName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + entity_name: Optional[object] = None, + **kwargs + ): + super(CommonDataServiceForAppsEntityDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'CommonDataServiceForAppsEntity' + self.entity_name = entity_name + + +class CommonDataServiceForAppsLinkedService(LinkedService): + """Common Data Service for Apps linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param deployment_type: Required. The deployment type of the Common Data Service for Apps + instance. 'Online' for Common Data Service for Apps Online and 'OnPremisesWithIfd' for Common + Data Service for Apps on-premises with Ifd. Type: string (or Expression with resultType + string). Possible values include: "Online", "OnPremisesWithIfd". + :type deployment_type: str or ~azure.mgmt.datafactory.models.DynamicsDeploymentType + :param host_name: The host name of the on-premises Common Data Service for Apps server. The + property is required for on-prem and not allowed for online. Type: string (or Expression with + resultType string). + :type host_name: object + :param port: The port of on-premises Common Data Service for Apps server. The property is + required for on-prem and not allowed for online. Default is 443. Type: integer (or Expression + with resultType integer), minimum: 0. + :type port: object + :param service_uri: The URL to the Microsoft Common Data Service for Apps server. The property + is required for on-line and not allowed for on-prem. Type: string (or Expression with + resultType string). + :type service_uri: object + :param organization_name: The organization name of the Common Data Service for Apps instance. + The property is required for on-prem and required for online when there are more than one + Common Data Service for Apps instances associated with the user. Type: string (or Expression + with resultType string). + :type organization_name: object + :param authentication_type: Required. The authentication type to connect to Common Data Service + for Apps server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario. + 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or + Expression with resultType string). Possible values include: "Office365", "Ifd", + "AADServicePrincipal". + :type authentication_type: str or ~azure.mgmt.datafactory.models.DynamicsAuthenticationType + :param username: User name to access the Common Data Service for Apps instance. Type: string + (or Expression with resultType string). + :type username: object + :param password: Password to access the Common Data Service for Apps instance. + :type password: ~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.DynamicsServicePrincipalCredentialType + :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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'deployment_type': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'}, + 'host_name': {'key': 'typeProperties.hostName', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'}, + 'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', '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'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + deployment_type: Union[str, "DynamicsDeploymentType"], + authentication_type: Union[str, "DynamicsAuthenticationType"], + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + host_name: Optional[object] = None, + port: Optional[object] = None, + service_uri: Optional[object] = None, + organization_name: Optional[object] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + service_principal_id: Optional[object] = None, + service_principal_credential_type: Optional[Union[str, "DynamicsServicePrincipalCredentialType"]] = None, + service_principal_credential: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(CommonDataServiceForAppsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'CommonDataServiceForApps' + self.deployment_type = deployment_type + self.host_name = host_name + self.port = port + self.service_uri = service_uri + self.organization_name = organization_name + self.authentication_type = authentication_type + self.username = username + self.password = password + self.service_principal_id = service_principal_id + self.service_principal_credential_type = service_principal_credential_type + self.service_principal_credential = service_principal_credential + self.encrypted_credential = encrypted_credential + + +class ConcurLinkedService(LinkedService): + """Concur Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param client_id: Required. Application client_id supplied by Concur App Management. + :type client_id: object + :param username: Required. The user name that you use to access Concur Service. + :type username: object + :param password: The password corresponding to the user name that you provided in the username + field. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'client_id': {'required': True}, + 'username': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + client_id: object, + username: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + password: Optional["SecretBase"] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(ConcurLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Concur' + self.client_id = client_id + self.username = username + self.password = password + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class ConcurObjectDataset(Dataset): + """Concur Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(ConcurObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'ConcurObject' + self.table_name = table_name + + +class CopyActivity(ExecutionActivity): + """Copy activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param inputs: List of inputs for the activity. + :type inputs: list[~azure.mgmt.datafactory.models.DatasetReference] + :param outputs: List of outputs for the activity. + :type outputs: list[~azure.mgmt.datafactory.models.DatasetReference] + :param source: Required. Copy activity source. + :type source: ~azure.mgmt.datafactory.models.CopySource + :param sink: Required. Copy activity sink. + :type sink: ~azure.mgmt.datafactory.models.CopySink + :param translator: Copy activity translator. If not specified, tabular translator is used. + :type translator: object + :param enable_staging: Specifies whether to copy data via an interim staging. Default value is + false. Type: boolean (or Expression with resultType boolean). + :type enable_staging: object + :param staging_settings: Specifies interim staging settings when EnableStaging is true. + :type staging_settings: ~azure.mgmt.datafactory.models.StagingSettings + :param parallel_copies: Maximum number of concurrent sessions opened on the source or sink to + avoid overloading the data store. Type: integer (or Expression with resultType integer), + minimum: 0. + :type parallel_copies: object + :param data_integration_units: Maximum number of data integration units that can be used to + perform this data movement. Type: integer (or Expression with resultType integer), minimum: 0. + :type data_integration_units: object + :param enable_skip_incompatible_row: Whether to skip incompatible row. Default value is false. + Type: boolean (or Expression with resultType boolean). + :type enable_skip_incompatible_row: object + :param redirect_incompatible_row_settings: Redirect incompatible row settings when + EnableSkipIncompatibleRow is true. + :type redirect_incompatible_row_settings: + ~azure.mgmt.datafactory.models.RedirectIncompatibleRowSettings + :param log_storage_settings: Log storage settings customer need to provide when enabling + session log. + :type log_storage_settings: ~azure.mgmt.datafactory.models.LogStorageSettings + :param preserve_rules: Preserve Rules. + :type preserve_rules: list[object] + :param preserve: Preserve rules. + :type preserve: list[object] + :param validate_data_consistency: Whether to enable Data Consistency validation. Type: boolean + (or Expression with resultType boolean). + :type validate_data_consistency: object + :param skip_error_file: Specify the fault tolerance for data consistency. + :type skip_error_file: ~azure.mgmt.datafactory.models.SkipErrorFile + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'source': {'required': True}, + 'sink': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'inputs': {'key': 'inputs', 'type': '[DatasetReference]'}, + 'outputs': {'key': 'outputs', 'type': '[DatasetReference]'}, + 'source': {'key': 'typeProperties.source', 'type': 'CopySource'}, + 'sink': {'key': 'typeProperties.sink', 'type': 'CopySink'}, + 'translator': {'key': 'typeProperties.translator', 'type': 'object'}, + 'enable_staging': {'key': 'typeProperties.enableStaging', 'type': 'object'}, + 'staging_settings': {'key': 'typeProperties.stagingSettings', 'type': 'StagingSettings'}, + 'parallel_copies': {'key': 'typeProperties.parallelCopies', 'type': 'object'}, + 'data_integration_units': {'key': 'typeProperties.dataIntegrationUnits', 'type': 'object'}, + 'enable_skip_incompatible_row': {'key': 'typeProperties.enableSkipIncompatibleRow', 'type': 'object'}, + 'redirect_incompatible_row_settings': {'key': 'typeProperties.redirectIncompatibleRowSettings', 'type': 'RedirectIncompatibleRowSettings'}, + 'log_storage_settings': {'key': 'typeProperties.logStorageSettings', 'type': 'LogStorageSettings'}, + 'preserve_rules': {'key': 'typeProperties.preserveRules', 'type': '[object]'}, + 'preserve': {'key': 'typeProperties.preserve', 'type': '[object]'}, + 'validate_data_consistency': {'key': 'typeProperties.validateDataConsistency', 'type': 'object'}, + 'skip_error_file': {'key': 'typeProperties.skipErrorFile', 'type': 'SkipErrorFile'}, + } + + def __init__( + self, + *, + name: str, + source: "CopySource", + sink: "CopySink", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + inputs: Optional[List["DatasetReference"]] = None, + outputs: Optional[List["DatasetReference"]] = None, + translator: Optional[object] = None, + enable_staging: Optional[object] = None, + staging_settings: Optional["StagingSettings"] = None, + parallel_copies: Optional[object] = None, + data_integration_units: Optional[object] = None, + enable_skip_incompatible_row: Optional[object] = None, + redirect_incompatible_row_settings: Optional["RedirectIncompatibleRowSettings"] = None, + log_storage_settings: Optional["LogStorageSettings"] = None, + preserve_rules: Optional[List[object]] = None, + preserve: Optional[List[object]] = None, + validate_data_consistency: Optional[object] = None, + skip_error_file: Optional["SkipErrorFile"] = None, + **kwargs + ): + super(CopyActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'Copy' + self.inputs = inputs + self.outputs = outputs + self.source = source + self.sink = sink + self.translator = translator + self.enable_staging = enable_staging + self.staging_settings = staging_settings + self.parallel_copies = parallel_copies + self.data_integration_units = data_integration_units + self.enable_skip_incompatible_row = enable_skip_incompatible_row + self.redirect_incompatible_row_settings = redirect_incompatible_row_settings + self.log_storage_settings = log_storage_settings + self.preserve_rules = preserve_rules + self.preserve = preserve + self.validate_data_consistency = validate_data_consistency + self.skip_error_file = skip_error_file + + +class CopySink(msrest.serialization.Model): + """A copy activity sink. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: . + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Copy sink type.Constant filled by server. + :type type: str + :param write_batch_size: Write batch size. Type: integer (or Expression with resultType + integer), minimum: 0. + :type write_batch_size: object + :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type write_batch_timeout: object + :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType + integer). + :type sink_retry_count: object + :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string), + pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type sink_retry_wait: object + :param max_concurrent_connections: The maximum concurrent connection count for the sink data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'}, + 'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'}, + 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, + 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + } + + _subtype_map = { + 'type': {} + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + write_batch_size: Optional[object] = None, + write_batch_timeout: Optional[object] = None, + sink_retry_count: Optional[object] = None, + sink_retry_wait: Optional[object] = None, + max_concurrent_connections: Optional[object] = None, + **kwargs + ): + super(CopySink, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = 'CopySink' + self.write_batch_size = write_batch_size + self.write_batch_timeout = write_batch_timeout + self.sink_retry_count = sink_retry_count + self.sink_retry_wait = sink_retry_wait + self.max_concurrent_connections = max_concurrent_connections + + +class CopySource(msrest.serialization.Model): + """A copy activity source. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: . + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Copy source type.Constant filled by server. + :type type: str + :param source_retry_count: Source retry count. Type: integer (or Expression with resultType + integer). + :type source_retry_count: object + :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type source_retry_wait: object + :param max_concurrent_connections: The maximum concurrent connection count for the source data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, + 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + } + + _subtype_map = { + 'type': {} + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + source_retry_count: Optional[object] = None, + source_retry_wait: Optional[object] = None, + max_concurrent_connections: Optional[object] = None, + **kwargs + ): + super(CopySource, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = 'CopySource' + self.source_retry_count = source_retry_count + self.source_retry_wait = source_retry_wait + self.max_concurrent_connections = max_concurrent_connections + + +class CosmosDBLinkedService(LinkedService): + """Microsoft Azure Cosmos Database (CosmosDB) linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: The connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param account_endpoint: The endpoint of the Azure CosmosDB account. Type: string (or + Expression with resultType string). + :type account_endpoint: object + :param database: The name of the database. Type: string (or Expression with resultType string). + :type database: object + :param account_key: The account key of the Azure CosmosDB account. Type: SecureString or + AzureKeyVaultSecretReference. + :type account_key: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'account_endpoint': {'key': 'typeProperties.accountEndpoint', 'type': 'object'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + 'account_key': {'key': 'typeProperties.accountKey', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + connection_string: Optional[object] = None, + account_endpoint: Optional[object] = None, + database: Optional[object] = None, + account_key: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(CosmosDBLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'CosmosDb' + self.connection_string = connection_string + self.account_endpoint = account_endpoint + self.database = database + self.account_key = account_key + self.encrypted_credential = encrypted_credential + + +class CosmosDBMongoDBApiCollectionDataset(Dataset): + """The CosmosDB (MongoDB API) database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param collection: Required. The collection name of the CosmosDB (MongoDB API) database. Type: + string (or Expression with resultType string). + :type collection: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'collection': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'collection': {'key': 'typeProperties.collection', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + collection: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + **kwargs + ): + super(CosmosDBMongoDBApiCollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'CosmosDbMongoDbApiCollection' + self.collection = collection + + +class CosmosDBMongoDBApiLinkedService(LinkedService): + """Linked service for CosmosDB (MongoDB API) data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The CosmosDB (MongoDB API) connection string. Type: string, + SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param database: Required. The name of the CosmosDB (MongoDB API) database that you want to + access. Type: string (or Expression with resultType string). + :type database: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + 'database': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + } + + def __init__( + self, + *, + connection_string: object, + database: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + **kwargs + ): + super(CosmosDBMongoDBApiLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'CosmosDbMongoDbApi' + self.connection_string = connection_string + self.database = database + + +class CosmosDBSqlApiCollectionDataset(Dataset): + """Microsoft Azure CosmosDB (SQL API) Collection dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param collection_name: Required. CosmosDB (SQL API) collection name. Type: string (or + Expression with resultType string). + :type collection_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'collection_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'collection_name': {'key': 'typeProperties.collectionName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + collection_name: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + **kwargs + ): + super(CosmosDBSqlApiCollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'CosmosDbSqlApiCollection' + self.collection_name = collection_name + + +class CouchbaseLinkedService(LinkedService): + """Couchbase server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param cred_string: The Azure key vault secret reference of credString in connection string. + :type cred_string: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'cred_string': {'key': 'typeProperties.credString', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + connection_string: Optional[object] = None, + cred_string: Optional["AzureKeyVaultSecretReference"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(CouchbaseLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Couchbase' + self.connection_string = connection_string + self.cred_string = cred_string + self.encrypted_credential = encrypted_credential + + +class CouchbaseTableDataset(Dataset): + """Couchbase server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(CouchbaseTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'CouchbaseTable' + self.table_name = table_name + + +class CreateDataFlowDebugSessionRequest(msrest.serialization.Model): + """Request body structure for creating data flow debug session. + + :param compute_type: Compute type of the cluster. The value will be overwritten by the same + setting in integration runtime if provided. + :type compute_type: str + :param core_count: Core count of the cluster. The value will be overwritten by the same setting + in integration runtime if provided. + :type core_count: int + :param time_to_live: Time to live setting of the cluster in minutes. + :type time_to_live: int + :param name: The resource name. + :type name: str + :param properties: Integration runtime properties. + :type properties: ~azure.mgmt.datafactory.models.IntegrationRuntime + """ + + _attribute_map = { + 'compute_type': {'key': 'computeType', 'type': 'str'}, + 'core_count': {'key': 'coreCount', 'type': 'int'}, + 'time_to_live': {'key': 'timeToLive', 'type': 'int'}, + 'name': {'key': 'integrationRuntime.name', 'type': 'str'}, + 'properties': {'key': 'integrationRuntime.properties', 'type': 'IntegrationRuntime'}, + } + + def __init__( + self, + *, + compute_type: Optional[str] = None, + core_count: Optional[int] = None, + time_to_live: Optional[int] = None, + name: Optional[str] = None, + properties: Optional["IntegrationRuntime"] = None, + **kwargs + ): + super(CreateDataFlowDebugSessionRequest, self).__init__(**kwargs) + self.compute_type = compute_type + self.core_count = core_count + self.time_to_live = time_to_live + self.name = name + self.properties = properties + + +class CreateDataFlowDebugSessionResponse(msrest.serialization.Model): + """Response body structure for creating data flow debug session. + + :param status: The state of the debug session. + :type status: str + :param session_id: The ID of data flow debug session. + :type session_id: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'session_id': {'key': 'sessionId', 'type': 'str'}, + } + + def __init__( + self, + *, + status: Optional[str] = None, + session_id: Optional[str] = None, + **kwargs + ): + super(CreateDataFlowDebugSessionResponse, self).__init__(**kwargs) + self.status = status + self.session_id = session_id + + +class CreateLinkedIntegrationRuntimeRequest(msrest.serialization.Model): + """The linked integration runtime information. + + :param name: The name of the linked integration runtime. + :type name: str + :param subscription_id: The ID of the subscription that the linked integration runtime belongs + to. + :type subscription_id: str + :param data_factory_name: The name of the data factory that the linked integration runtime + belongs to. + :type data_factory_name: str + :param data_factory_location: The location of the data factory that the linked integration + runtime belongs to. + :type data_factory_location: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'data_factory_location': {'key': 'dataFactoryLocation', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + subscription_id: Optional[str] = None, + data_factory_name: Optional[str] = None, + data_factory_location: Optional[str] = None, + **kwargs + ): + super(CreateLinkedIntegrationRuntimeRequest, self).__init__(**kwargs) + self.name = name + self.subscription_id = subscription_id + self.data_factory_name = data_factory_name + self.data_factory_location = data_factory_location + + +class CreateRunResponse(msrest.serialization.Model): + """Response body with a run identifier. + + All required parameters must be populated in order to send to Azure. + + :param run_id: Required. Identifier of a run. + :type run_id: str + """ + + _validation = { + 'run_id': {'required': True}, + } + + _attribute_map = { + 'run_id': {'key': 'runId', 'type': 'str'}, + } + + def __init__( + self, + *, + run_id: str, + **kwargs + ): + super(CreateRunResponse, self).__init__(**kwargs) + self.run_id = run_id + + +class CustomActivity(ExecutionActivity): + """Custom activity type. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param command: Required. Command for custom activity Type: string (or Expression with + resultType string). + :type command: object + :param resource_linked_service: Resource linked service reference. + :type resource_linked_service: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param folder_path: Folder path for resource files Type: string (or Expression with resultType + string). + :type folder_path: object + :param reference_objects: Reference objects. + :type reference_objects: ~azure.mgmt.datafactory.models.CustomActivityReferenceObject + :param extended_properties: User defined property bag. There is no restriction on the keys or + values that can be used. The user specified custom activity has the full responsibility to + consume and interpret the content defined. + :type extended_properties: dict[str, object] + :param retention_time_in_days: The retention time for the files submitted for custom activity. + Type: double (or Expression with resultType double). + :type retention_time_in_days: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'command': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'command': {'key': 'typeProperties.command', 'type': 'object'}, + 'resource_linked_service': {'key': 'typeProperties.resourceLinkedService', 'type': 'LinkedServiceReference'}, + 'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'}, + 'reference_objects': {'key': 'typeProperties.referenceObjects', 'type': 'CustomActivityReferenceObject'}, + 'extended_properties': {'key': 'typeProperties.extendedProperties', 'type': '{object}'}, + 'retention_time_in_days': {'key': 'typeProperties.retentionTimeInDays', 'type': 'object'}, + } + + def __init__( + self, + *, + name: str, + command: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + resource_linked_service: Optional["LinkedServiceReference"] = None, + folder_path: Optional[object] = None, + reference_objects: Optional["CustomActivityReferenceObject"] = None, + extended_properties: Optional[Dict[str, object]] = None, + retention_time_in_days: Optional[object] = None, + **kwargs + ): + super(CustomActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'Custom' + self.command = command + self.resource_linked_service = resource_linked_service + self.folder_path = folder_path + self.reference_objects = reference_objects + self.extended_properties = extended_properties + self.retention_time_in_days = retention_time_in_days + + +class CustomActivityReferenceObject(msrest.serialization.Model): + """Reference objects for custom activity. + + :param linked_services: Linked service references. + :type linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceReference] + :param datasets: Dataset references. + :type datasets: list[~azure.mgmt.datafactory.models.DatasetReference] + """ + + _attribute_map = { + 'linked_services': {'key': 'linkedServices', 'type': '[LinkedServiceReference]'}, + 'datasets': {'key': 'datasets', 'type': '[DatasetReference]'}, + } + + def __init__( + self, + *, + linked_services: Optional[List["LinkedServiceReference"]] = None, + datasets: Optional[List["DatasetReference"]] = None, + **kwargs + ): + super(CustomActivityReferenceObject, self).__init__(**kwargs) + self.linked_services = linked_services + self.datasets = datasets + + +class CustomDataSourceLinkedService(LinkedService): + """Custom linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param type_properties: Required. Custom linked service properties. + :type type_properties: object + """ + + _validation = { + 'type': {'required': True}, + 'type_properties': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'type_properties': {'key': 'typeProperties', 'type': 'object'}, + } + + def __init__( + self, + *, + type_properties: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + **kwargs + ): + super(CustomDataSourceLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'CustomDataSource' + self.type_properties = type_properties + + +class CustomSetupBase(msrest.serialization.Model): + """The base definition of the custom setup. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: . + + All required parameters must be populated in order to send to Azure. + + :param type: Required. The type of custom setup.Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {} + } + + def __init__( + self, + **kwargs + ): + super(CustomSetupBase, self).__init__(**kwargs) + self.type = None + + +class DatabricksNotebookActivity(ExecutionActivity): + """DatabricksNotebook activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param notebook_path: Required. The absolute path of the notebook to be run in the Databricks + Workspace. This path must begin with a slash. Type: string (or Expression with resultType + string). + :type notebook_path: object + :param base_parameters: Base parameters to be used for each run of this job.If the notebook + takes a parameter that is not specified, the default value from the notebook will be used. + :type base_parameters: dict[str, object] + :param libraries: A list of libraries to be installed on the cluster that will execute the job. + :type libraries: list[dict[str, object]] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'notebook_path': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'notebook_path': {'key': 'typeProperties.notebookPath', 'type': 'object'}, + 'base_parameters': {'key': 'typeProperties.baseParameters', 'type': '{object}'}, + 'libraries': {'key': 'typeProperties.libraries', 'type': '[{object}]'}, + } + + def __init__( + self, + *, + name: str, + notebook_path: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + base_parameters: Optional[Dict[str, object]] = None, + libraries: Optional[List[Dict[str, object]]] = None, + **kwargs + ): + super(DatabricksNotebookActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'DatabricksNotebook' + self.notebook_path = notebook_path + self.base_parameters = base_parameters + self.libraries = libraries + + +class DatabricksSparkJarActivity(ExecutionActivity): + """DatabricksSparkJar activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param main_class_name: Required. The full name of the class containing the main method to be + executed. This class must be contained in a JAR provided as a library. Type: string (or + Expression with resultType string). + :type main_class_name: object + :param parameters: Parameters that will be passed to the main method. + :type parameters: list[object] + :param libraries: A list of libraries to be installed on the cluster that will execute the job. + :type libraries: list[dict[str, object]] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'main_class_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'main_class_name': {'key': 'typeProperties.mainClassName', 'type': 'object'}, + 'parameters': {'key': 'typeProperties.parameters', 'type': '[object]'}, + 'libraries': {'key': 'typeProperties.libraries', 'type': '[{object}]'}, + } + + def __init__( + self, + *, + name: str, + main_class_name: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + parameters: Optional[List[object]] = None, + libraries: Optional[List[Dict[str, object]]] = None, + **kwargs + ): + super(DatabricksSparkJarActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'DatabricksSparkJar' + self.main_class_name = main_class_name + self.parameters = parameters + self.libraries = libraries + + +class DatabricksSparkPythonActivity(ExecutionActivity): + """DatabricksSparkPython activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param python_file: Required. The URI of the Python file to be executed. DBFS paths are + supported. Type: string (or Expression with resultType string). + :type python_file: object + :param parameters: Command line parameters that will be passed to the Python file. + :type parameters: list[object] + :param libraries: A list of libraries to be installed on the cluster that will execute the job. + :type libraries: list[dict[str, object]] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'python_file': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'python_file': {'key': 'typeProperties.pythonFile', 'type': 'object'}, + 'parameters': {'key': 'typeProperties.parameters', 'type': '[object]'}, + 'libraries': {'key': 'typeProperties.libraries', 'type': '[{object}]'}, + } + + def __init__( + self, + *, + name: str, + python_file: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + parameters: Optional[List[object]] = None, + libraries: Optional[List[Dict[str, object]]] = None, + **kwargs + ): + super(DatabricksSparkPythonActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'DatabricksSparkPython' + self.python_file = python_file + self.parameters = parameters + self.libraries = libraries + + +class DataFlow(msrest.serialization.Model): + """Azure Data Factory nested object which contains a flow with data movements and transformations. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MappingDataFlow. + + :param type: Type of data flow.Constant filled by server. + :type type: str + :param description: The description of the data flow. + :type description: str + :param annotations: List of tags that can be used for describing the data flow. + :type annotations: list[object] + :param folder: The folder that this data flow is in. If not specified, Data flow will appear at + the root level. + :type folder: ~azure.mgmt.datafactory.models.DataFlowFolder + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DataFlowFolder'}, + } + + _subtype_map = { + 'type': {'MappingDataFlow': 'MappingDataFlow'} + } + + def __init__( + self, + *, + description: Optional[str] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DataFlowFolder"] = None, + **kwargs + ): + super(DataFlow, self).__init__(**kwargs) + self.type = None + self.description = description + self.annotations = annotations + self.folder = folder + + +class DataFlowDebugCommandPayload(msrest.serialization.Model): + """Structure of command payload. + + All required parameters must be populated in order to send to Azure. + + :param stream_name: Required. The stream name which is used for preview. + :type stream_name: str + :param row_limits: Row limits for preview response. + :type row_limits: int + :param columns: Array of column names. + :type columns: list[str] + :param expression: The expression which is used for preview. + :type expression: str + """ + + _validation = { + 'stream_name': {'required': True}, + } + + _attribute_map = { + 'stream_name': {'key': 'streamName', 'type': 'str'}, + 'row_limits': {'key': 'rowLimits', 'type': 'int'}, + 'columns': {'key': 'columns', 'type': '[str]'}, + 'expression': {'key': 'expression', 'type': 'str'}, + } + + def __init__( + self, + *, + stream_name: str, + row_limits: Optional[int] = None, + columns: Optional[List[str]] = None, + expression: Optional[str] = None, + **kwargs + ): + super(DataFlowDebugCommandPayload, self).__init__(**kwargs) + self.stream_name = stream_name + self.row_limits = row_limits + self.columns = columns + self.expression = expression + + +class DataFlowDebugCommandRequest(msrest.serialization.Model): + """Request body structure for data flow debug command. + + :param session_id: The ID of data flow debug session. + :type session_id: str + :param command: The command type. Possible values include: "executePreviewQuery", + "executeStatisticsQuery", "executeExpressionQuery". + :type command: str or ~azure.mgmt.datafactory.models.DataFlowDebugCommandType + :param command_payload: The command payload object. + :type command_payload: ~azure.mgmt.datafactory.models.DataFlowDebugCommandPayload + """ + + _attribute_map = { + 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'command': {'key': 'command', 'type': 'str'}, + 'command_payload': {'key': 'commandPayload', 'type': 'DataFlowDebugCommandPayload'}, + } + + def __init__( + self, + *, + session_id: Optional[str] = None, + command: Optional[Union[str, "DataFlowDebugCommandType"]] = None, + command_payload: Optional["DataFlowDebugCommandPayload"] = None, + **kwargs + ): + super(DataFlowDebugCommandRequest, self).__init__(**kwargs) + self.session_id = session_id + self.command = command + self.command_payload = command_payload + + +class DataFlowDebugCommandResponse(msrest.serialization.Model): + """Response body structure of data flow result for data preview, statistics or expression preview. + + :param status: The run status of data preview, statistics or expression preview. + :type status: str + :param data: The result data of data preview, statistics or expression preview. + :type data: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'data': {'key': 'data', 'type': 'str'}, + } + + def __init__( + self, + *, + status: Optional[str] = None, + data: Optional[str] = None, + **kwargs + ): + super(DataFlowDebugCommandResponse, self).__init__(**kwargs) + self.status = status + self.data = data + + +class DataFlowDebugPackage(msrest.serialization.Model): + """Request body structure for starting data flow debug session. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param session_id: The ID of data flow debug session. + :type session_id: str + :param datasets: List of datasets. + :type datasets: list[~azure.mgmt.datafactory.models.DatasetDebugResource] + :param linked_services: List of linked services. + :type linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceDebugResource] + :param source_settings: Source setting for data flow debug. + :type source_settings: list[~azure.mgmt.datafactory.models.DataFlowSourceSetting] + :param parameters_debug_settings_parameters: Data flow parameters. + :type parameters_debug_settings_parameters: dict[str, object] + :param dataset_parameters: Parameters for dataset. + :type dataset_parameters: object + :param folder_path: Folder path for staging blob. + :type folder_path: str + :ivar type: Linked service reference type. Default value: "LinkedServiceReference". + :vartype type: str + :param reference_name: Reference LinkedService name. + :type reference_name: str + :param parameters_staging_linked_service_parameters: Arguments for LinkedService. + :type parameters_staging_linked_service_parameters: dict[str, object] + :param name: The resource name. + :type name: str + :param properties: Data flow properties. + :type properties: ~azure.mgmt.datafactory.models.DataFlow + """ + + _validation = { + 'type': {'constant': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'datasets': {'key': 'datasets', 'type': '[DatasetDebugResource]'}, + 'linked_services': {'key': 'linkedServices', 'type': '[LinkedServiceDebugResource]'}, + 'source_settings': {'key': 'debugSettings.sourceSettings', 'type': '[DataFlowSourceSetting]'}, + 'parameters_debug_settings_parameters': {'key': 'debugSettings.parameters', 'type': '{object}'}, + 'dataset_parameters': {'key': 'debugSettings.datasetParameters', 'type': 'object'}, + 'folder_path': {'key': 'staging.folderPath', 'type': 'str'}, + 'type': {'key': 'staging.linkedService.type', 'type': 'str'}, + 'reference_name': {'key': 'staging.linkedService.referenceName', 'type': 'str'}, + 'parameters_staging_linked_service_parameters': {'key': 'staging.linkedService.parameters', 'type': '{object}'}, + 'name': {'key': 'dataFlow.name', 'type': 'str'}, + 'properties': {'key': 'dataFlow.properties', 'type': 'DataFlow'}, + } + + type = "LinkedServiceReference" + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + session_id: Optional[str] = None, + datasets: Optional[List["DatasetDebugResource"]] = None, + linked_services: Optional[List["LinkedServiceDebugResource"]] = None, + source_settings: Optional[List["DataFlowSourceSetting"]] = None, + parameters_debug_settings_parameters: Optional[Dict[str, object]] = None, + dataset_parameters: Optional[object] = None, + folder_path: Optional[str] = None, + reference_name: Optional[str] = None, + parameters_staging_linked_service_parameters: Optional[Dict[str, object]] = None, + name: Optional[str] = None, + properties: Optional["DataFlow"] = None, + **kwargs + ): + super(DataFlowDebugPackage, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.session_id = session_id + self.datasets = datasets + self.linked_services = linked_services + self.source_settings = source_settings + self.parameters_debug_settings_parameters = parameters_debug_settings_parameters + self.dataset_parameters = dataset_parameters + self.folder_path = folder_path + self.reference_name = reference_name + self.parameters_staging_linked_service_parameters = parameters_staging_linked_service_parameters + self.name = name + self.properties = properties + + +class SubResourceDebugResource(msrest.serialization.Model): + """Azure Data Factory nested debug resource. + + :param name: The resource name. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + **kwargs + ): + super(SubResourceDebugResource, self).__init__(**kwargs) + self.name = name + + +class DataFlowDebugResource(SubResourceDebugResource): + """Data flow debug resource. + + All required parameters must be populated in order to send to Azure. + + :param name: The resource name. + :type name: str + :param properties: Required. Data flow properties. + :type properties: ~azure.mgmt.datafactory.models.DataFlow + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DataFlow'}, + } + + def __init__( + self, + *, + properties: "DataFlow", + name: Optional[str] = None, + **kwargs + ): + super(DataFlowDebugResource, self).__init__(name=name, **kwargs) + self.properties = properties + + +class DataFlowDebugSessionInfo(msrest.serialization.Model): + """Data flow debug session info. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param data_flow_name: The name of the data flow. + :type data_flow_name: str + :param compute_type: Compute type of the cluster. + :type compute_type: str + :param core_count: Core count of the cluster. + :type core_count: int + :param node_count: Node count of the cluster. (deprecated property). + :type node_count: int + :param integration_runtime_name: Attached integration runtime name of data flow debug session. + :type integration_runtime_name: str + :param session_id: The ID of data flow debug session. + :type session_id: str + :param start_time: Start time of data flow debug session. + :type start_time: str + :param time_to_live_in_minutes: Compute type of the cluster. + :type time_to_live_in_minutes: int + :param last_activity_time: Last activity time of data flow debug session. + :type last_activity_time: str + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'data_flow_name': {'key': 'dataFlowName', 'type': 'str'}, + 'compute_type': {'key': 'computeType', 'type': 'str'}, + 'core_count': {'key': 'coreCount', 'type': 'int'}, + 'node_count': {'key': 'nodeCount', 'type': 'int'}, + 'integration_runtime_name': {'key': 'integrationRuntimeName', 'type': 'str'}, + 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'time_to_live_in_minutes': {'key': 'timeToLiveInMinutes', 'type': 'int'}, + 'last_activity_time': {'key': 'lastActivityTime', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + data_flow_name: Optional[str] = None, + compute_type: Optional[str] = None, + core_count: Optional[int] = None, + node_count: Optional[int] = None, + integration_runtime_name: Optional[str] = None, + session_id: Optional[str] = None, + start_time: Optional[str] = None, + time_to_live_in_minutes: Optional[int] = None, + last_activity_time: Optional[str] = None, + **kwargs + ): + super(DataFlowDebugSessionInfo, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.data_flow_name = data_flow_name + self.compute_type = compute_type + self.core_count = core_count + self.node_count = node_count + self.integration_runtime_name = integration_runtime_name + self.session_id = session_id + self.start_time = start_time + self.time_to_live_in_minutes = time_to_live_in_minutes + self.last_activity_time = last_activity_time + + +class DataFlowFolder(msrest.serialization.Model): + """The folder that this data flow is in. If not specified, Data flow will appear at the root level. + + :param name: The name of the folder that this data flow is in. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + **kwargs + ): + super(DataFlowFolder, self).__init__(**kwargs) + self.name = name + + +class DataFlowListResponse(msrest.serialization.Model): + """A list of data flow resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of data flows. + :type value: list[~azure.mgmt.datafactory.models.DataFlowResource] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DataFlowResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["DataFlowResource"], + next_link: Optional[str] = None, + **kwargs + ): + super(DataFlowListResponse, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class DataFlowReference(msrest.serialization.Model): + """Data flow reference type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar type: Required. Data flow reference type. Default value: "DataFlowReference". + :vartype type: str + :param reference_name: Required. Reference data flow name. + :type reference_name: str + :param dataset_parameters: Reference data flow parameters from dataset. + :type dataset_parameters: object + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'reference_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + 'dataset_parameters': {'key': 'datasetParameters', 'type': 'object'}, + } + + type = "DataFlowReference" + + def __init__( + self, + *, + reference_name: str, + additional_properties: Optional[Dict[str, object]] = None, + dataset_parameters: Optional[object] = None, + **kwargs + ): + super(DataFlowReference, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.reference_name = reference_name + self.dataset_parameters = dataset_parameters + + +class SubResource(msrest.serialization.Model): + """Azure Data Factory nested resource, which belongs to a factory. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(SubResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.etag = None + + +class DataFlowResource(SubResource): + """Data flow resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Required. Data flow properties. + :type properties: ~azure.mgmt.datafactory.models.DataFlow + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'DataFlow'}, + } + + def __init__( + self, + *, + properties: "DataFlow", + **kwargs + ): + super(DataFlowResource, self).__init__(**kwargs) + self.properties = properties + + +class Transformation(msrest.serialization.Model): + """A data flow transformation. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Transformation name. + :type name: str + :param description: Transformation description. + :type description: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + description: Optional[str] = None, + **kwargs + ): + super(Transformation, self).__init__(**kwargs) + self.name = name + self.description = description + + +class DataFlowSink(Transformation): + """Transformation for data flow sink. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Transformation name. + :type name: str + :param description: Transformation description. + :type description: str + :param dataset: Dataset reference. + :type dataset: ~azure.mgmt.datafactory.models.DatasetReference + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'dataset': {'key': 'dataset', 'type': 'DatasetReference'}, + } + + def __init__( + self, + *, + name: str, + description: Optional[str] = None, + dataset: Optional["DatasetReference"] = None, + **kwargs + ): + super(DataFlowSink, self).__init__(name=name, description=description, **kwargs) + self.dataset = dataset + + +class DataFlowSource(Transformation): + """Transformation for data flow source. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Transformation name. + :type name: str + :param description: Transformation description. + :type description: str + :param dataset: Dataset reference. + :type dataset: ~azure.mgmt.datafactory.models.DatasetReference + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'dataset': {'key': 'dataset', 'type': 'DatasetReference'}, + } + + def __init__( + self, + *, + name: str, + description: Optional[str] = None, + dataset: Optional["DatasetReference"] = None, + **kwargs + ): + super(DataFlowSource, self).__init__(name=name, description=description, **kwargs) + self.dataset = dataset + + +class DataFlowSourceSetting(msrest.serialization.Model): + """Definition of data flow source setting for debug. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param source_name: The data flow source name. + :type source_name: str + :param row_limit: Defines the row limit of data flow source in debug. + :type row_limit: int + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'source_name': {'key': 'sourceName', 'type': 'str'}, + 'row_limit': {'key': 'rowLimit', 'type': 'int'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + source_name: Optional[str] = None, + row_limit: Optional[int] = None, + **kwargs + ): + super(DataFlowSourceSetting, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.source_name = source_name + self.row_limit = row_limit + + +class DataFlowStagingInfo(msrest.serialization.Model): + """Staging info for execute data flow activity. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param folder_path: Folder path for staging blob. + :type folder_path: str + :ivar type: Linked service reference type. Default value: "LinkedServiceReference". + :vartype type: str + :param reference_name: Reference LinkedService name. + :type reference_name: str + :param parameters: Arguments for LinkedService. + :type parameters: dict[str, object] + """ + + _validation = { + 'type': {'constant': True}, + } + + _attribute_map = { + 'folder_path': {'key': 'folderPath', 'type': 'str'}, + 'type': {'key': 'linkedService.type', 'type': 'str'}, + 'reference_name': {'key': 'linkedService.referenceName', 'type': 'str'}, + 'parameters': {'key': 'linkedService.parameters', 'type': '{object}'}, + } + + type = "LinkedServiceReference" + + def __init__( + self, + *, + folder_path: Optional[str] = None, + reference_name: Optional[str] = None, + parameters: Optional[Dict[str, object]] = None, + **kwargs + ): + super(DataFlowStagingInfo, self).__init__(**kwargs) + self.folder_path = folder_path + self.reference_name = reference_name + self.parameters = parameters + + +class DataLakeAnalyticsUsqlActivity(ExecutionActivity): + """Data Lake Analytics U-SQL activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param script_path: Required. Case-sensitive path to folder that contains the U-SQL script. + Type: string (or Expression with resultType string). + :type script_path: object + :param script_linked_service: Required. Script linked service reference. + :type script_linked_service: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param degree_of_parallelism: The maximum number of nodes simultaneously used to run the job. + Default value is 1. Type: integer (or Expression with resultType integer), minimum: 1. + :type degree_of_parallelism: object + :param priority: Determines which jobs out of all that are queued should be selected to run + first. The lower the number, the higher the priority. Default value is 1000. Type: integer (or + Expression with resultType integer), minimum: 1. + :type priority: object + :param parameters: Parameters for U-SQL job request. + :type parameters: dict[str, object] + :param runtime_version: Runtime version of the U-SQL engine to use. Type: string (or Expression + with resultType string). + :type runtime_version: object + :param compilation_mode: Compilation mode of U-SQL. Must be one of these values : Semantic, + Full and SingleBox. Type: string (or Expression with resultType string). + :type compilation_mode: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'script_path': {'required': True}, + 'script_linked_service': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'script_path': {'key': 'typeProperties.scriptPath', 'type': 'object'}, + 'script_linked_service': {'key': 'typeProperties.scriptLinkedService', 'type': 'LinkedServiceReference'}, + 'degree_of_parallelism': {'key': 'typeProperties.degreeOfParallelism', 'type': 'object'}, + 'priority': {'key': 'typeProperties.priority', 'type': 'object'}, + 'parameters': {'key': 'typeProperties.parameters', 'type': '{object}'}, + 'runtime_version': {'key': 'typeProperties.runtimeVersion', 'type': 'object'}, + 'compilation_mode': {'key': 'typeProperties.compilationMode', 'type': 'object'}, + } + + def __init__( + self, + *, + name: str, + script_path: object, + script_linked_service: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + degree_of_parallelism: Optional[object] = None, + priority: Optional[object] = None, + parameters: Optional[Dict[str, object]] = None, + runtime_version: Optional[object] = None, + compilation_mode: Optional[object] = None, + **kwargs + ): + super(DataLakeAnalyticsUsqlActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'DataLakeAnalyticsU-SQL' + self.script_path = script_path + self.script_linked_service = script_linked_service + self.degree_of_parallelism = degree_of_parallelism + self.priority = priority + self.parameters = parameters + self.runtime_version = runtime_version + self.compilation_mode = compilation_mode + + +class DatasetCompression(msrest.serialization.Model): + """The compression method used on a dataset. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: DatasetBZip2Compression, DatasetDeflateCompression, DatasetGZipCompression, DatasetZipDeflateCompression. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset compression.Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'BZip2': 'DatasetBZip2Compression', 'Deflate': 'DatasetDeflateCompression', 'GZip': 'DatasetGZipCompression', 'ZipDeflate': 'DatasetZipDeflateCompression'} + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(DatasetCompression, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = 'DatasetCompression' + + +class DatasetBZip2Compression(DatasetCompression): + """The BZip2 compression method used on a dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset compression.Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(DatasetBZip2Compression, self).__init__(additional_properties=additional_properties, **kwargs) + self.type = 'BZip2' + + +class DatasetDebugResource(SubResourceDebugResource): + """Dataset debug resource. + + All required parameters must be populated in order to send to Azure. + + :param name: The resource name. + :type name: str + :param properties: Required. Dataset properties. + :type properties: ~azure.mgmt.datafactory.models.Dataset + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'Dataset'}, + } + + def __init__( + self, + *, + properties: "Dataset", + name: Optional[str] = None, + **kwargs + ): + super(DatasetDebugResource, self).__init__(name=name, **kwargs) + self.properties = properties + + +class DatasetDeflateCompression(DatasetCompression): + """The Deflate compression method used on a dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset compression.Constant filled by server. + :type type: str + :param level: The Deflate compression level. Possible values include: "Optimal", "Fastest". + :type level: str or ~azure.mgmt.datafactory.models.DatasetCompressionLevel + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + level: Optional[Union[str, "DatasetCompressionLevel"]] = None, + **kwargs + ): + super(DatasetDeflateCompression, self).__init__(additional_properties=additional_properties, **kwargs) + self.type = 'Deflate' + self.level = level + + +class DatasetFolder(msrest.serialization.Model): + """The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + + :param name: The name of the folder that this Dataset is in. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + **kwargs + ): + super(DatasetFolder, self).__init__(**kwargs) + self.name = name + + +class DatasetGZipCompression(DatasetCompression): + """The GZip compression method used on a dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset compression.Constant filled by server. + :type type: str + :param level: The GZip compression level. Possible values include: "Optimal", "Fastest". + :type level: str or ~azure.mgmt.datafactory.models.DatasetCompressionLevel + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + level: Optional[Union[str, "DatasetCompressionLevel"]] = None, + **kwargs + ): + super(DatasetGZipCompression, self).__init__(additional_properties=additional_properties, **kwargs) + self.type = 'GZip' + self.level = level + + +class DatasetListResponse(msrest.serialization.Model): + """A list of dataset resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of datasets. + :type value: list[~azure.mgmt.datafactory.models.DatasetResource] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DatasetResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["DatasetResource"], + next_link: Optional[str] = None, + **kwargs + ): + super(DatasetListResponse, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class DatasetLocation(msrest.serialization.Model): + """Dataset location. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: . + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset storage location.Constant filled by server. + :type type: str + :param folder_path: Specify the folder path of dataset. Type: string (or Expression with + resultType string). + :type folder_path: object + :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType + string). + :type file_name: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'folder_path': {'key': 'folderPath', 'type': 'object'}, + 'file_name': {'key': 'fileName', 'type': 'object'}, + } + + _subtype_map = { + 'type': {} + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + folder_path: Optional[object] = None, + file_name: Optional[object] = None, + **kwargs + ): + super(DatasetLocation, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = 'DatasetLocation' + self.folder_path = folder_path + self.file_name = file_name + + +class DatasetReference(msrest.serialization.Model): + """Dataset reference type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar type: Required. Dataset reference type. Default value: "DatasetReference". + :vartype type: str + :param reference_name: Required. Reference dataset name. + :type reference_name: str + :param parameters: Arguments for dataset. + :type parameters: dict[str, object] + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'reference_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{object}'}, + } + + type = "DatasetReference" + + def __init__( + self, + *, + reference_name: str, + parameters: Optional[Dict[str, object]] = None, + **kwargs + ): + super(DatasetReference, self).__init__(**kwargs) + self.reference_name = reference_name + self.parameters = parameters + + +class DatasetResource(SubResource): + """Dataset resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Required. Dataset properties. + :type properties: ~azure.mgmt.datafactory.models.Dataset + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'Dataset'}, + } + + def __init__( + self, + *, + properties: "Dataset", + **kwargs + ): + super(DatasetResource, self).__init__(**kwargs) + self.properties = properties + + +class DatasetStorageFormat(msrest.serialization.Model): + """The format definition of a storage. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: . + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset storage format.Constant filled by server. + :type type: str + :param serializer: Serializer. Type: string (or Expression with resultType string). + :type serializer: object + :param deserializer: Deserializer. Type: string (or Expression with resultType string). + :type deserializer: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'serializer': {'key': 'serializer', 'type': 'object'}, + 'deserializer': {'key': 'deserializer', 'type': 'object'}, + } + + _subtype_map = { + 'type': {} + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + serializer: Optional[object] = None, + deserializer: Optional[object] = None, + **kwargs + ): + super(DatasetStorageFormat, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = 'DatasetStorageFormat' + self.serializer = serializer + self.deserializer = deserializer + + +class DatasetZipDeflateCompression(DatasetCompression): + """The ZipDeflate compression method used on a dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset compression.Constant filled by server. + :type type: str + :param level: The ZipDeflate compression level. Possible values include: "Optimal", "Fastest". + :type level: str or ~azure.mgmt.datafactory.models.DatasetCompressionLevel + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + level: Optional[Union[str, "DatasetCompressionLevel"]] = None, + **kwargs + ): + super(DatasetZipDeflateCompression, self).__init__(additional_properties=additional_properties, **kwargs) + self.type = 'ZipDeflate' + self.level = level + + +class Db2LinkedService(LinkedService): + """Linked service for DB2 data source. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: The connection string. It is mutually exclusive with server, + database, authenticationType, userName, packageCollection and certificateCommonName property. + Type: string, SecureString or AzureKeyVaultSecretReference. + :type connection_string: object + :param server: Server name for connection. It is mutually exclusive with connectionString + property. Type: string (or Expression with resultType string). + :type server: object + :param database: Database name for connection. It is mutually exclusive with connectionString + property. Type: string (or Expression with resultType string). + :type database: object + :ivar authentication_type: AuthenticationType to be used for connection. It is mutually + exclusive with connectionString property. Default value: "Basic". + :vartype authentication_type: str + :param username: Username for authentication. It is mutually exclusive with connectionString + property. Type: string (or Expression with resultType string). + :type username: object + :param password: Password for authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param package_collection: Under where packages are created when querying database. It is + mutually exclusive with connectionString property. Type: string (or Expression with resultType + string). + :type package_collection: object + :param certificate_common_name: Certificate Common Name when TLS is enabled. It is mutually + exclusive with connectionString property. Type: string (or Expression with resultType string). + :type certificate_common_name: object + :param encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. It is mutually exclusive with + connectionString property. Type: string (or Expression with resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'authentication_type': {'constant': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'package_collection': {'key': 'typeProperties.packageCollection', 'type': 'object'}, + 'certificate_common_name': {'key': 'typeProperties.certificateCommonName', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + authentication_type = "Basic" + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + connection_string: Optional[object] = None, + server: Optional[object] = None, + database: Optional[object] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + package_collection: Optional[object] = None, + certificate_common_name: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(Db2LinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Db2' + self.connection_string = connection_string + self.server = server + self.database = database + self.username = username + self.password = password + self.package_collection = package_collection + self.certificate_common_name = certificate_common_name + self.encrypted_credential = encrypted_credential + + +class Db2TableDataset(Dataset): + """The Db2 table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param schema_type_properties_schema: The Db2 schema name. Type: string (or Expression with + resultType string). + :type schema_type_properties_schema: object + :param table: The Db2 table name. Type: string (or Expression with resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + table: Optional[object] = None, + **kwargs + ): + super(Db2TableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'Db2Table' + self.table_name = table_name + self.schema_type_properties_schema = schema_type_properties_schema + self.table = table + + +class DeleteActivity(ExecutionActivity): + """Delete activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param recursive: If true, files or sub-folders under current folder path will be deleted + recursively. Default is false. Type: boolean (or Expression with resultType boolean). + :type recursive: object + :param max_concurrent_connections: The max concurrent connections to connect data source at the + same time. + :type max_concurrent_connections: int + :param enable_logging: Whether to record detailed logs of delete-activity execution. Default + value is false. Type: boolean (or Expression with resultType boolean). + :type enable_logging: object + :param log_storage_settings: Log storage settings customer need to provide when enableLogging + is true. + :type log_storage_settings: ~azure.mgmt.datafactory.models.LogStorageSettings + :param dataset: Required. Delete activity dataset reference. + :type dataset: ~azure.mgmt.datafactory.models.DatasetReference + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'max_concurrent_connections': {'minimum': 1}, + 'dataset': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'recursive': {'key': 'typeProperties.recursive', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'typeProperties.maxConcurrentConnections', 'type': 'int'}, + 'enable_logging': {'key': 'typeProperties.enableLogging', 'type': 'object'}, + 'log_storage_settings': {'key': 'typeProperties.logStorageSettings', 'type': 'LogStorageSettings'}, + 'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'}, + } + + def __init__( + self, + *, + name: str, + dataset: "DatasetReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + recursive: Optional[object] = None, + max_concurrent_connections: Optional[int] = None, + enable_logging: Optional[object] = None, + log_storage_settings: Optional["LogStorageSettings"] = None, + **kwargs + ): + super(DeleteActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'Delete' + self.recursive = recursive + self.max_concurrent_connections = max_concurrent_connections + self.enable_logging = enable_logging + self.log_storage_settings = log_storage_settings + self.dataset = dataset + + +class DeleteDataFlowDebugSessionRequest(msrest.serialization.Model): + """Request body structure for deleting data flow debug session. + + :param session_id: The ID of data flow debug session. + :type session_id: str + """ + + _attribute_map = { + 'session_id': {'key': 'sessionId', 'type': 'str'}, + } + + def __init__( + self, + *, + session_id: Optional[str] = None, + **kwargs + ): + super(DeleteDataFlowDebugSessionRequest, self).__init__(**kwargs) + self.session_id = session_id + + +class DelimitedTextDataset(Dataset): + """Delimited text dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param location: The location of the delimited text storage. + :type location: ~azure.mgmt.datafactory.models.DatasetLocation + :param column_delimiter: The column delimiter. Type: string (or Expression with resultType + string). + :type column_delimiter: object + :param row_delimiter: The row delimiter. Type: string (or Expression with resultType string). + :type row_delimiter: object + :param encoding_name: The code page name of the preferred encoding. If miss, the default value + is UTF-8, unless BOM denotes another Unicode encoding. Refer to the name column of the table in + the following link to set supported values: + https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with + resultType string). + :type encoding_name: object + :param compression_codec: Possible values include: "none", "gzip", "snappy", "lzo", "bzip2", + "deflate", "zipDeflate", "lz4". + :type compression_codec: str or ~azure.mgmt.datafactory.models.CompressionCodec + :param compression_level: The data compression method used for DelimitedText. Possible values + include: "Optimal", "Fastest". + :type compression_level: str or ~azure.mgmt.datafactory.models.DatasetCompressionLevel + :param quote_char: The quote character. Type: string (or Expression with resultType string). + :type quote_char: object + :param escape_char: The escape character. Type: string (or Expression with resultType string). + :type escape_char: object + :param first_row_as_header: When used as input, treat the first row of data as headers. When + used as output,write the headers into the output as the first row of data. The default value is + false. Type: boolean (or Expression with resultType boolean). + :type first_row_as_header: object + :param null_value: The null value string. Type: string (or Expression with resultType string). + :type null_value: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, + 'column_delimiter': {'key': 'typeProperties.columnDelimiter', 'type': 'object'}, + 'row_delimiter': {'key': 'typeProperties.rowDelimiter', 'type': 'object'}, + 'encoding_name': {'key': 'typeProperties.encodingName', 'type': 'object'}, + 'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'str'}, + 'compression_level': {'key': 'typeProperties.compressionLevel', 'type': 'str'}, + 'quote_char': {'key': 'typeProperties.quoteChar', 'type': 'object'}, + 'escape_char': {'key': 'typeProperties.escapeChar', 'type': 'object'}, + 'first_row_as_header': {'key': 'typeProperties.firstRowAsHeader', 'type': 'object'}, + 'null_value': {'key': 'typeProperties.nullValue', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + location: Optional["DatasetLocation"] = None, + column_delimiter: Optional[object] = None, + row_delimiter: Optional[object] = None, + encoding_name: Optional[object] = None, + compression_codec: Optional[Union[str, "CompressionCodec"]] = None, + compression_level: Optional[Union[str, "DatasetCompressionLevel"]] = None, + quote_char: Optional[object] = None, + escape_char: Optional[object] = None, + first_row_as_header: Optional[object] = None, + null_value: Optional[object] = None, + **kwargs + ): + super(DelimitedTextDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'DelimitedText' + self.location = location + self.column_delimiter = column_delimiter + self.row_delimiter = row_delimiter + self.encoding_name = encoding_name + self.compression_codec = compression_codec + self.compression_level = compression_level + self.quote_char = quote_char + self.escape_char = escape_char + self.first_row_as_header = first_row_as_header + self.null_value = null_value + + +class DocumentDBCollectionDataset(Dataset): + """Microsoft Azure Document Database Collection dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param collection_name: Required. Document Database collection name. Type: string (or + Expression with resultType string). + :type collection_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'collection_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'collection_name': {'key': 'typeProperties.collectionName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + collection_name: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + **kwargs + ): + super(DocumentDBCollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'DocumentDbCollection' + self.collection_name = collection_name + + +class DrillLinkedService(LinkedService): + """Drill server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param pwd: The Azure key vault secret reference of password in connection string. + :type pwd: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + connection_string: Optional[object] = None, + pwd: Optional["AzureKeyVaultSecretReference"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(DrillLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Drill' + self.connection_string = connection_string + self.pwd = pwd + self.encrypted_credential = encrypted_credential + + +class DrillTableDataset(Dataset): + """Drill server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Drill. Type: string (or Expression with resultType string). + :type table: object + :param schema_type_properties_schema: The schema name of the Drill. Type: string (or Expression + with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + table: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + **kwargs + ): + super(DrillTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'DrillTable' + self.table_name = table_name + self.table = table + self.schema_type_properties_schema = schema_type_properties_schema + + +class DynamicsAxLinkedService(LinkedService): + """Dynamics AX linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. The Dynamics AX (or Dynamics 365 Finance and Operations) instance OData + endpoint. + :type url: object + :param service_principal_id: Required. Specify the application's client ID. Type: string (or + Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: Required. Specify the application's key. Mark this field as a + SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key + Vault. Type: string (or Expression with resultType string). + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :param tenant: Required. Specify the tenant information (domain name or tenant ID) under which + your application resides. Retrieve it by hovering the mouse in the top-right corner of the + Azure portal. Type: string (or Expression with resultType string). + :type tenant: object + :param aad_resource_id: Required. Specify the resource you are requesting authorization. Type: + string (or Expression with resultType string). + :type aad_resource_id: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + 'service_principal_id': {'required': True}, + 'service_principal_key': {'required': True}, + 'tenant': {'required': True}, + 'aad_resource_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'aad_resource_id': {'key': 'typeProperties.aadResourceId', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + url: object, + service_principal_id: object, + service_principal_key: "SecretBase", + tenant: object, + aad_resource_id: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(DynamicsAxLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'DynamicsAX' + self.url = url + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.tenant = tenant + self.aad_resource_id = aad_resource_id + self.encrypted_credential = encrypted_credential + + +class DynamicsAxResourceDataset(Dataset): + """The path of the Dynamics AX OData entity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param path: Required. The path of the Dynamics AX OData entity. Type: string (or Expression + with resultType string). + :type path: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'path': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'path': {'key': 'typeProperties.path', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + path: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + **kwargs + ): + super(DynamicsAxResourceDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'DynamicsAXResource' + self.path = path + + +class DynamicsCrmEntityDataset(Dataset): + """The Dynamics CRM entity dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param entity_name: The logical name of the entity. Type: string (or Expression with resultType + string). + :type entity_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'entity_name': {'key': 'typeProperties.entityName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + entity_name: Optional[object] = None, + **kwargs + ): + super(DynamicsCrmEntityDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'DynamicsCrmEntity' + self.entity_name = entity_name + + +class DynamicsCrmLinkedService(LinkedService): + """Dynamics CRM linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param deployment_type: Required. The deployment type of the Dynamics CRM instance. 'Online' + for Dynamics CRM Online and 'OnPremisesWithIfd' for Dynamics CRM on-premises with Ifd. Type: + string (or Expression with resultType string). Possible values include: "Online", + "OnPremisesWithIfd". + :type deployment_type: str or ~azure.mgmt.datafactory.models.DynamicsDeploymentType + :param host_name: The host name of the on-premises Dynamics CRM server. The property is + required for on-prem and not allowed for online. Type: string (or Expression with resultType + string). + :type host_name: object + :param port: The port of on-premises Dynamics CRM server. The property is required for on-prem + and not allowed for online. Default is 443. Type: integer (or Expression with resultType + integer), minimum: 0. + :type port: object + :param service_uri: The URL to the Microsoft Dynamics CRM server. The property is required for + on-line and not allowed for on-prem. Type: string (or Expression with resultType string). + :type service_uri: object + :param organization_name: The organization name of the Dynamics CRM instance. The property is + required for on-prem and required for online when there are more than one Dynamics CRM + instances associated with the user. Type: string (or Expression with resultType string). + :type organization_name: object + :param authentication_type: Required. The authentication type to connect to Dynamics CRM + server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, + 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or + Expression with resultType string). Possible values include: "Office365", "Ifd", + "AADServicePrincipal". + :type authentication_type: str or ~azure.mgmt.datafactory.models.DynamicsAuthenticationType + :param username: User name to access the Dynamics CRM instance. Type: string (or Expression + with resultType string). + :type username: object + :param password: Password to access the Dynamics CRM instance. + :type password: ~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.DynamicsServicePrincipalCredentialType + :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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'deployment_type': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'}, + 'host_name': {'key': 'typeProperties.hostName', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'}, + 'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', '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'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + deployment_type: Union[str, "DynamicsDeploymentType"], + authentication_type: Union[str, "DynamicsAuthenticationType"], + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + host_name: Optional[object] = None, + port: Optional[object] = None, + service_uri: Optional[object] = None, + organization_name: Optional[object] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + service_principal_id: Optional[object] = None, + service_principal_credential_type: Optional[Union[str, "DynamicsServicePrincipalCredentialType"]] = None, + service_principal_credential: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(DynamicsCrmLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'DynamicsCrm' + self.deployment_type = deployment_type + self.host_name = host_name + self.port = port + self.service_uri = service_uri + self.organization_name = organization_name + self.authentication_type = authentication_type + self.username = username + self.password = password + self.service_principal_id = service_principal_id + self.service_principal_credential_type = service_principal_credential_type + self.service_principal_credential = service_principal_credential + self.encrypted_credential = encrypted_credential + + +class DynamicsEntityDataset(Dataset): + """The Dynamics entity dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param entity_name: The logical name of the entity. Type: string (or Expression with resultType + string). + :type entity_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'entity_name': {'key': 'typeProperties.entityName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + entity_name: Optional[object] = None, + **kwargs + ): + super(DynamicsEntityDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'DynamicsEntity' + self.entity_name = entity_name + + +class DynamicsLinkedService(LinkedService): + """Dynamics linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param deployment_type: Required. The deployment type of the Dynamics instance. 'Online' for + Dynamics Online and 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or + Expression with resultType string). Possible values include: "Online", "OnPremisesWithIfd". + :type deployment_type: str or ~azure.mgmt.datafactory.models.DynamicsDeploymentType + :param host_name: The host name of the on-premises Dynamics server. The property is required + for on-prem and not allowed for online. Type: string (or Expression with resultType string). + :type host_name: object + :param port: The port of on-premises Dynamics server. The property is required for on-prem and + not allowed for online. Default is 443. Type: integer (or Expression with resultType integer), + minimum: 0. + :type port: object + :param service_uri: The URL to the Microsoft Dynamics server. The property is required for on- + line and not allowed for on-prem. Type: string (or Expression with resultType string). + :type service_uri: object + :param organization_name: The organization name of the Dynamics instance. The property is + required for on-prem and required for online when there are more than one Dynamics instances + associated with the user. Type: string (or Expression with resultType string). + :type organization_name: object + :param authentication_type: Required. The authentication type to connect to Dynamics server. + 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal' + for Server-To-Server authentication in online scenario. Type: string (or Expression with + resultType string). Possible values include: "Office365", "Ifd", "AADServicePrincipal". + :type authentication_type: str or ~azure.mgmt.datafactory.models.DynamicsAuthenticationType + :param username: User name to access the Dynamics instance. Type: string (or Expression with + resultType string). + :type username: object + :param password: Password to access the Dynamics instance. + :type password: ~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.DynamicsServicePrincipalCredentialType + :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 encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'deployment_type': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'}, + 'host_name': {'key': 'typeProperties.hostName', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'}, + 'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', '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'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + deployment_type: Union[str, "DynamicsDeploymentType"], + authentication_type: Union[str, "DynamicsAuthenticationType"], + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + host_name: Optional[object] = None, + port: Optional[object] = None, + service_uri: Optional[object] = None, + organization_name: Optional[object] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + service_principal_id: Optional[object] = None, + service_principal_credential_type: Optional[Union[str, "DynamicsServicePrincipalCredentialType"]] = None, + service_principal_credential: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(DynamicsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Dynamics' + self.deployment_type = deployment_type + self.host_name = host_name + self.port = port + self.service_uri = service_uri + self.organization_name = organization_name + self.authentication_type = authentication_type + self.username = username + self.password = password + self.service_principal_id = service_principal_id + self.service_principal_credential_type = service_principal_credential_type + self.service_principal_credential = service_principal_credential + self.encrypted_credential = encrypted_credential + + +class EloquaLinkedService(LinkedService): + """Eloqua server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of the Eloqua server. (i.e. eloqua.example.com). + :type endpoint: object + :param username: Required. The site name and user name of your Eloqua account in the form: + sitename/username. (i.e. Eloqua/Alice). + :type username: object + :param password: The password corresponding to the user name. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + 'username': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + endpoint: object, + username: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + password: Optional["SecretBase"] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(EloquaLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Eloqua' + self.endpoint = endpoint + self.username = username + self.password = password + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class EloquaObjectDataset(Dataset): + """Eloqua server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(EloquaObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'EloquaObject' + self.table_name = table_name + + +class EntityReference(msrest.serialization.Model): + """The entity reference. + + :param type: The type of this referenced entity. Possible values include: + "IntegrationRuntimeReference", "LinkedServiceReference". + :type type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeEntityReferenceType + :param reference_name: The name of this referenced entity. + :type reference_name: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "IntegrationRuntimeEntityReferenceType"]] = None, + reference_name: Optional[str] = None, + **kwargs + ): + super(EntityReference, self).__init__(**kwargs) + self.type = type + self.reference_name = reference_name + + +class ExecuteDataFlowActivity(ExecutionActivity): + """Execute data flow activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param data_flow: Required. Data flow reference. + :type data_flow: ~azure.mgmt.datafactory.models.DataFlowReference + :param staging: Staging info for execute data flow activity. + :type staging: ~azure.mgmt.datafactory.models.DataFlowStagingInfo + :param integration_runtime: The integration runtime reference. + :type integration_runtime: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param compute: Compute properties for data flow activity. + :type compute: ~azure.mgmt.datafactory.models.ExecuteDataFlowActivityTypePropertiesCompute + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'data_flow': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'data_flow': {'key': 'typeProperties.dataFlow', 'type': 'DataFlowReference'}, + 'staging': {'key': 'typeProperties.staging', 'type': 'DataFlowStagingInfo'}, + 'integration_runtime': {'key': 'typeProperties.integrationRuntime', 'type': 'IntegrationRuntimeReference'}, + 'compute': {'key': 'typeProperties.compute', 'type': 'ExecuteDataFlowActivityTypePropertiesCompute'}, + } + + def __init__( + self, + *, + name: str, + data_flow: "DataFlowReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + staging: Optional["DataFlowStagingInfo"] = None, + integration_runtime: Optional["IntegrationRuntimeReference"] = None, + compute: Optional["ExecuteDataFlowActivityTypePropertiesCompute"] = None, + **kwargs + ): + super(ExecuteDataFlowActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'ExecuteDataFlow' + self.data_flow = data_flow + self.staging = staging + self.integration_runtime = integration_runtime + self.compute = compute + + +class ExecuteDataFlowActivityTypePropertiesCompute(msrest.serialization.Model): + """Compute properties for data flow activity. + + :param compute_type: Compute type of the cluster which will execute data flow job. Possible + values include: "General", "MemoryOptimized", "ComputeOptimized". + :type compute_type: str or ~azure.mgmt.datafactory.models.DataFlowComputeType + :param core_count: Core count of the cluster which will execute data flow job. Supported values + are: 8, 16, 32, 48, 80, 144 and 272. + :type core_count: int + """ + + _attribute_map = { + 'compute_type': {'key': 'computeType', 'type': 'str'}, + 'core_count': {'key': 'coreCount', 'type': 'int'}, + } + + def __init__( + self, + *, + compute_type: Optional[Union[str, "DataFlowComputeType"]] = None, + core_count: Optional[int] = None, + **kwargs + ): + super(ExecuteDataFlowActivityTypePropertiesCompute, self).__init__(**kwargs) + self.compute_type = compute_type + self.core_count = core_count + + +class ExecutePipelineActivity(ControlActivity): + """Execute pipeline activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param pipeline: Required. Pipeline reference. + :type pipeline: ~azure.mgmt.datafactory.models.PipelineReference + :param parameters: Pipeline parameters. + :type parameters: dict[str, object] + :param wait_on_completion: Defines whether activity execution will wait for the dependent + pipeline execution to finish. Default is false. + :type wait_on_completion: bool + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'pipeline': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'pipeline': {'key': 'typeProperties.pipeline', 'type': 'PipelineReference'}, + 'parameters': {'key': 'typeProperties.parameters', 'type': '{object}'}, + 'wait_on_completion': {'key': 'typeProperties.waitOnCompletion', 'type': 'bool'}, + } + + def __init__( + self, + *, + name: str, + pipeline: "PipelineReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + parameters: Optional[Dict[str, object]] = None, + wait_on_completion: Optional[bool] = None, + **kwargs + ): + super(ExecutePipelineActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs) + self.type = 'ExecutePipeline' + self.pipeline = pipeline + self.parameters = parameters + self.wait_on_completion = wait_on_completion + + +class ExecuteSsisPackageActivity(ExecutionActivity): + """Execute SSIS package activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param package_location: Required. SSIS package location. + :type package_location: ~azure.mgmt.datafactory.models.SsisPackageLocation + :param runtime: Specifies the runtime to execute SSIS package. The value should be "x86" or + "x64". Type: string (or Expression with resultType string). + :type runtime: object + :param logging_level: The logging level of SSIS package execution. Type: string (or Expression + with resultType string). + :type logging_level: object + :param environment_path: The environment path to execute the SSIS package. Type: string (or + Expression with resultType string). + :type environment_path: object + :param execution_credential: The package execution credential. + :type execution_credential: ~azure.mgmt.datafactory.models.SsisExecutionCredential + :param connect_via: Required. The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param project_parameters: The project level parameters to execute the SSIS package. + :type project_parameters: dict[str, ~azure.mgmt.datafactory.models.SsisExecutionParameter] + :param package_parameters: The package level parameters to execute the SSIS package. + :type package_parameters: dict[str, ~azure.mgmt.datafactory.models.SsisExecutionParameter] + :param project_connection_managers: The project level connection managers to execute the SSIS + package. + :type project_connection_managers: dict[str, object] + :param package_connection_managers: The package level connection managers to execute the SSIS + package. + :type package_connection_managers: dict[str, object] + :param property_overrides: The property overrides to execute the SSIS package. + :type property_overrides: dict[str, ~azure.mgmt.datafactory.models.SsisPropertyOverride] + :param log_location: SSIS package execution log location. + :type log_location: ~azure.mgmt.datafactory.models.SsisLogLocation + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'package_location': {'required': True}, + 'connect_via': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'package_location': {'key': 'typeProperties.packageLocation', 'type': 'SsisPackageLocation'}, + 'runtime': {'key': 'typeProperties.runtime', 'type': 'object'}, + 'logging_level': {'key': 'typeProperties.loggingLevel', 'type': 'object'}, + 'environment_path': {'key': 'typeProperties.environmentPath', 'type': 'object'}, + 'execution_credential': {'key': 'typeProperties.executionCredential', 'type': 'SsisExecutionCredential'}, + 'connect_via': {'key': 'typeProperties.connectVia', 'type': 'IntegrationRuntimeReference'}, + 'project_parameters': {'key': 'typeProperties.projectParameters', 'type': '{SsisExecutionParameter}'}, + 'package_parameters': {'key': 'typeProperties.packageParameters', 'type': '{SsisExecutionParameter}'}, + 'project_connection_managers': {'key': 'typeProperties.projectConnectionManagers', 'type': '{object}'}, + 'package_connection_managers': {'key': 'typeProperties.packageConnectionManagers', 'type': '{object}'}, + 'property_overrides': {'key': 'typeProperties.propertyOverrides', 'type': '{SsisPropertyOverride}'}, + 'log_location': {'key': 'typeProperties.logLocation', 'type': 'SsisLogLocation'}, + } + + def __init__( + self, + *, + name: str, + package_location: "SsisPackageLocation", + connect_via: "IntegrationRuntimeReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + runtime: Optional[object] = None, + logging_level: Optional[object] = None, + environment_path: Optional[object] = None, + execution_credential: Optional["SsisExecutionCredential"] = None, + project_parameters: Optional[Dict[str, "SsisExecutionParameter"]] = None, + package_parameters: Optional[Dict[str, "SsisExecutionParameter"]] = None, + project_connection_managers: Optional[Dict[str, object]] = None, + package_connection_managers: Optional[Dict[str, object]] = None, + property_overrides: Optional[Dict[str, "SsisPropertyOverride"]] = None, + log_location: Optional["SsisLogLocation"] = None, + **kwargs + ): + super(ExecuteSsisPackageActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'ExecuteSSISPackage' + self.package_location = package_location + self.runtime = runtime + self.logging_level = logging_level + self.environment_path = environment_path + self.execution_credential = execution_credential + self.connect_via = connect_via + self.project_parameters = project_parameters + self.package_parameters = package_parameters + self.project_connection_managers = project_connection_managers + self.package_connection_managers = package_connection_managers + self.property_overrides = property_overrides + self.log_location = log_location + + +class ExposureControlRequest(msrest.serialization.Model): + """The exposure control request. + + :param feature_name: The feature name. + :type feature_name: str + :param feature_type: The feature type. + :type feature_type: str + """ + + _attribute_map = { + 'feature_name': {'key': 'featureName', 'type': 'str'}, + 'feature_type': {'key': 'featureType', 'type': 'str'}, + } + + def __init__( + self, + *, + feature_name: Optional[str] = None, + feature_type: Optional[str] = None, + **kwargs + ): + super(ExposureControlRequest, self).__init__(**kwargs) + self.feature_name = feature_name + self.feature_type = feature_type + + +class ExposureControlResponse(msrest.serialization.Model): + """The exposure control response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar feature_name: The feature name. + :vartype feature_name: str + :ivar value: The feature value. + :vartype value: str + """ + + _validation = { + 'feature_name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'feature_name': {'key': 'featureName', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ExposureControlResponse, self).__init__(**kwargs) + self.feature_name = None + self.value = None + + +class Expression(msrest.serialization.Model): + """Azure Data Factory expression definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar type: Required. Expression type. Default value: "Expression". + :vartype type: str + :param value: Required. Expression value. + :type value: str + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + type = "Expression" + + def __init__( + self, + *, + value: str, + **kwargs + ): + super(Expression, self).__init__(**kwargs) + self.value = value + + +class Resource(msrest.serialization.Model): + """Azure Data Factory top-level resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :ivar e_tag: Etag identifies change in the resource. + :vartype e_tag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'e_tag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + self.e_tag = None + + +class Factory(Resource): + """Factory resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :param location: The resource location. + :type location: str + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :ivar e_tag: Etag identifies change in the resource. + :vartype e_tag: str + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param identity: Managed service identity of the factory. + :type identity: ~azure.mgmt.datafactory.models.FactoryIdentity + :ivar provisioning_state: Factory provisioning state, example Succeeded. + :vartype provisioning_state: str + :ivar create_time: Time the factory was created in ISO8601 format. + :vartype create_time: ~datetime.datetime + :ivar version: Version of the factory. + :vartype version: str + :param repo_configuration: Git repo information of the factory. + :type repo_configuration: ~azure.mgmt.datafactory.models.FactoryRepoConfiguration + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'e_tag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'create_time': {'readonly': True}, + 'version': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'identity': {'key': 'identity', 'type': 'FactoryIdentity'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'create_time': {'key': 'properties.createTime', 'type': 'iso-8601'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'repo_configuration': {'key': 'properties.repoConfiguration', 'type': 'FactoryRepoConfiguration'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + additional_properties: Optional[Dict[str, object]] = None, + identity: Optional["FactoryIdentity"] = None, + repo_configuration: Optional["FactoryRepoConfiguration"] = None, + **kwargs + ): + super(Factory, self).__init__(location=location, tags=tags, **kwargs) + self.additional_properties = additional_properties + self.identity = identity + self.provisioning_state = None + self.create_time = None + self.version = None + self.repo_configuration = repo_configuration + + +class FactoryRepoConfiguration(msrest.serialization.Model): + """Factory's git repo information. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: FactoryGitHubConfiguration, FactoryVstsConfiguration. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of repo configuration.Constant filled by server. + :type type: str + :param account_name: Required. Account name. + :type account_name: str + :param repository_name: Required. Repository name. + :type repository_name: str + :param collaboration_branch: Required. Collaboration branch. + :type collaboration_branch: str + :param root_folder: Required. Root folder. + :type root_folder: str + :param last_commit_id: Last commit id. + :type last_commit_id: str + """ + + _validation = { + 'type': {'required': True}, + 'account_name': {'required': True}, + 'repository_name': {'required': True}, + 'collaboration_branch': {'required': True}, + 'root_folder': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'repository_name': {'key': 'repositoryName', 'type': 'str'}, + 'collaboration_branch': {'key': 'collaborationBranch', 'type': 'str'}, + 'root_folder': {'key': 'rootFolder', 'type': 'str'}, + 'last_commit_id': {'key': 'lastCommitId', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'FactoryGitHubConfiguration': 'FactoryGitHubConfiguration', 'FactoryVSTSConfiguration': 'FactoryVstsConfiguration'} + } + + def __init__( + self, + *, + account_name: str, + repository_name: str, + collaboration_branch: str, + root_folder: str, + last_commit_id: Optional[str] = None, + **kwargs + ): + super(FactoryRepoConfiguration, self).__init__(**kwargs) + self.type = None + self.account_name = account_name + self.repository_name = repository_name + self.collaboration_branch = collaboration_branch + self.root_folder = root_folder + self.last_commit_id = last_commit_id + + +class FactoryGitHubConfiguration(FactoryRepoConfiguration): + """Factory's GitHub repo information. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of repo configuration.Constant filled by server. + :type type: str + :param account_name: Required. Account name. + :type account_name: str + :param repository_name: Required. Repository name. + :type repository_name: str + :param collaboration_branch: Required. Collaboration branch. + :type collaboration_branch: str + :param root_folder: Required. Root folder. + :type root_folder: str + :param last_commit_id: Last commit id. + :type last_commit_id: str + :param host_name: GitHub Enterprise host name. For example: https://github.mydomain.com. + :type host_name: str + """ + + _validation = { + 'type': {'required': True}, + 'account_name': {'required': True}, + 'repository_name': {'required': True}, + 'collaboration_branch': {'required': True}, + 'root_folder': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'repository_name': {'key': 'repositoryName', 'type': 'str'}, + 'collaboration_branch': {'key': 'collaborationBranch', 'type': 'str'}, + 'root_folder': {'key': 'rootFolder', 'type': 'str'}, + 'last_commit_id': {'key': 'lastCommitId', 'type': 'str'}, + 'host_name': {'key': 'hostName', 'type': 'str'}, + } + + def __init__( + self, + *, + account_name: str, + repository_name: str, + collaboration_branch: str, + root_folder: str, + last_commit_id: Optional[str] = None, + host_name: Optional[str] = None, + **kwargs + ): + super(FactoryGitHubConfiguration, self).__init__(account_name=account_name, repository_name=repository_name, collaboration_branch=collaboration_branch, root_folder=root_folder, last_commit_id=last_commit_id, **kwargs) + self.type = 'FactoryGitHubConfiguration' + self.host_name = host_name + + +class FactoryIdentity(msrest.serialization.Model): + """Identity properties of the factory resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar type: Required. The identity type. Currently the only supported type is 'SystemAssigned'. + Default value: "SystemAssigned". + :vartype type: str + :ivar principal_id: The principal id of the identity. + :vartype principal_id: str + :ivar tenant_id: The client tenant id of the identity. + :vartype tenant_id: str + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + type = "SystemAssigned" + + def __init__( + self, + **kwargs + ): + super(FactoryIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + + +class FactoryListResponse(msrest.serialization.Model): + """A list of factory resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of factories. + :type value: list[~azure.mgmt.datafactory.models.Factory] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Factory]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["Factory"], + next_link: Optional[str] = None, + **kwargs + ): + super(FactoryListResponse, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class FactoryRepoUpdate(msrest.serialization.Model): + """Factory's git repo information. + + :param factory_resource_id: The factory resource id. + :type factory_resource_id: str + :param repo_configuration: Git repo information of the factory. + :type repo_configuration: ~azure.mgmt.datafactory.models.FactoryRepoConfiguration + """ + + _attribute_map = { + 'factory_resource_id': {'key': 'factoryResourceId', 'type': 'str'}, + 'repo_configuration': {'key': 'repoConfiguration', 'type': 'FactoryRepoConfiguration'}, + } + + def __init__( + self, + *, + factory_resource_id: Optional[str] = None, + repo_configuration: Optional["FactoryRepoConfiguration"] = None, + **kwargs + ): + super(FactoryRepoUpdate, self).__init__(**kwargs) + self.factory_resource_id = factory_resource_id + self.repo_configuration = repo_configuration + + +class FactoryUpdateParameters(msrest.serialization.Model): + """Parameters for updating a factory resource. + + :param tags: A set of tags. The resource tags. + :type tags: dict[str, str] + :param identity: Managed service identity of the factory. + :type identity: ~azure.mgmt.datafactory.models.FactoryIdentity + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'FactoryIdentity'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + identity: Optional["FactoryIdentity"] = None, + **kwargs + ): + super(FactoryUpdateParameters, self).__init__(**kwargs) + self.tags = tags + self.identity = identity + + +class FactoryVstsConfiguration(FactoryRepoConfiguration): + """Factory's VSTS repo information. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of repo configuration.Constant filled by server. + :type type: str + :param account_name: Required. Account name. + :type account_name: str + :param repository_name: Required. Repository name. + :type repository_name: str + :param collaboration_branch: Required. Collaboration branch. + :type collaboration_branch: str + :param root_folder: Required. Root folder. + :type root_folder: str + :param last_commit_id: Last commit id. + :type last_commit_id: str + :param project_name: Required. VSTS project name. + :type project_name: str + :param tenant_id: VSTS tenant id. + :type tenant_id: str + """ + + _validation = { + 'type': {'required': True}, + 'account_name': {'required': True}, + 'repository_name': {'required': True}, + 'collaboration_branch': {'required': True}, + 'root_folder': {'required': True}, + 'project_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'account_name': {'key': 'accountName', 'type': 'str'}, + 'repository_name': {'key': 'repositoryName', 'type': 'str'}, + 'collaboration_branch': {'key': 'collaborationBranch', 'type': 'str'}, + 'root_folder': {'key': 'rootFolder', 'type': 'str'}, + 'last_commit_id': {'key': 'lastCommitId', 'type': 'str'}, + 'project_name': {'key': 'projectName', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + } + + def __init__( + self, + *, + account_name: str, + repository_name: str, + collaboration_branch: str, + root_folder: str, + project_name: str, + last_commit_id: Optional[str] = None, + tenant_id: Optional[str] = None, + **kwargs + ): + super(FactoryVstsConfiguration, self).__init__(account_name=account_name, repository_name=repository_name, collaboration_branch=collaboration_branch, root_folder=root_folder, last_commit_id=last_commit_id, **kwargs) + self.type = 'FactoryVSTSConfiguration' + self.project_name = project_name + self.tenant_id = tenant_id + + +class FileServerLinkedService(LinkedService): + """File system linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. Host name of the server. Type: string (or Expression with resultType + string). + :type host: object + :param user_id: User ID to logon the server. Type: string (or Expression with resultType + string). + :type user_id: object + :param password: Password to logon the server. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'user_id': {'key': 'typeProperties.userId', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + user_id: Optional[object] = None, + password: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(FileServerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'FileServer' + self.host = host + self.user_id = user_id + self.password = password + self.encrypted_credential = encrypted_credential + + +class FileShareDataset(Dataset): + """An on-premises file system dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param folder_path: The path of the on-premises file system. Type: string (or Expression with + resultType string). + :type folder_path: object + :param file_name: The name of the on-premises file system. Type: string (or Expression with + resultType string). + :type file_name: object + :param modified_datetime_start: The start of file's modified datetime. Type: string (or + Expression with resultType string). + :type modified_datetime_start: object + :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression + with resultType string). + :type modified_datetime_end: object + :param format: The format of the files. + :type format: ~azure.mgmt.datafactory.models.DatasetStorageFormat + :param file_filter: Specify a filter to be used to select a subset of files in the folderPath + rather than all files. Type: string (or Expression with resultType string). + :type file_filter: object + :param compression: The data compression method used for the file system. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'}, + 'file_name': {'key': 'typeProperties.fileName', 'type': 'object'}, + 'modified_datetime_start': {'key': 'typeProperties.modifiedDatetimeStart', 'type': 'object'}, + 'modified_datetime_end': {'key': 'typeProperties.modifiedDatetimeEnd', 'type': 'object'}, + 'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'}, + 'file_filter': {'key': 'typeProperties.fileFilter', 'type': 'object'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + folder_path: Optional[object] = None, + file_name: Optional[object] = None, + modified_datetime_start: Optional[object] = None, + modified_datetime_end: Optional[object] = None, + format: Optional["DatasetStorageFormat"] = None, + file_filter: Optional[object] = None, + compression: Optional["DatasetCompression"] = None, + **kwargs + ): + super(FileShareDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'FileShare' + self.folder_path = folder_path + self.file_name = file_name + self.modified_datetime_start = modified_datetime_start + self.modified_datetime_end = modified_datetime_end + self.format = format + self.file_filter = file_filter + self.compression = compression + + +class FilterActivity(ControlActivity): + """Filter and return results from input array based on the conditions. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param items: Required. Input array on which filter should be applied. + :type items: ~azure.mgmt.datafactory.models.Expression + :param condition: Required. Condition to be used for filtering the input. + :type condition: ~azure.mgmt.datafactory.models.Expression + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'items': {'required': True}, + 'condition': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'items': {'key': 'typeProperties.items', 'type': 'Expression'}, + 'condition': {'key': 'typeProperties.condition', 'type': 'Expression'}, + } + + def __init__( + self, + *, + name: str, + items: "Expression", + condition: "Expression", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + **kwargs + ): + super(FilterActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs) + self.type = 'Filter' + self.items = items + self.condition = condition + + +class ForEachActivity(ControlActivity): + """This activity is used for iterating over a collection and execute given activities. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param is_sequential: Should the loop be executed in sequence or in parallel (max 50). + :type is_sequential: bool + :param batch_count: Batch count to be used for controlling the number of parallel execution + (when isSequential is set to false). + :type batch_count: int + :param items: Required. Collection to iterate. + :type items: ~azure.mgmt.datafactory.models.Expression + :param activities: Required. List of activities to execute . + :type activities: list[~azure.mgmt.datafactory.models.Activity] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'batch_count': {'maximum': 50}, + 'items': {'required': True}, + 'activities': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'is_sequential': {'key': 'typeProperties.isSequential', 'type': 'bool'}, + 'batch_count': {'key': 'typeProperties.batchCount', 'type': 'int'}, + 'items': {'key': 'typeProperties.items', 'type': 'Expression'}, + 'activities': {'key': 'typeProperties.activities', 'type': '[Activity]'}, + } + + def __init__( + self, + *, + name: str, + items: "Expression", + activities: List["Activity"], + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + is_sequential: Optional[bool] = None, + batch_count: Optional[int] = None, + **kwargs + ): + super(ForEachActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs) + self.type = 'ForEach' + self.is_sequential = is_sequential + self.batch_count = batch_count + self.items = items + self.activities = activities + + +class FtpServerLinkedService(LinkedService): + """A FTP server Linked Service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. Host name of the FTP server. Type: string (or Expression with resultType + string). + :type host: object + :param port: The TCP port number that the FTP server uses to listen for client connections. + Default value is 21. Type: integer (or Expression with resultType integer), minimum: 0. + :type port: object + :param authentication_type: The authentication type to be used to connect to the FTP server. + Possible values include: "Basic", "Anonymous". + :type authentication_type: str or ~azure.mgmt.datafactory.models.FtpAuthenticationType + :param user_name: Username to logon the FTP server. Type: string (or Expression with resultType + string). + :type user_name: object + :param password: Password to logon the FTP server. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + :param enable_ssl: If true, connect to the FTP server over SSL/TLS channel. Default value is + true. Type: boolean (or Expression with resultType boolean). + :type enable_ssl: object + :param enable_server_certificate_validation: If true, validate the FTP server SSL certificate + when connect over SSL/TLS channel. Default value is true. Type: boolean (or Expression with + resultType boolean). + :type enable_server_certificate_validation: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'enable_server_certificate_validation': {'key': 'typeProperties.enableServerCertificateValidation', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + port: Optional[object] = None, + authentication_type: Optional[Union[str, "FtpAuthenticationType"]] = None, + user_name: Optional[object] = None, + password: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + enable_ssl: Optional[object] = None, + enable_server_certificate_validation: Optional[object] = None, + **kwargs + ): + super(FtpServerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'FtpServer' + self.host = host + self.port = port + self.authentication_type = authentication_type + self.user_name = user_name + self.password = password + self.encrypted_credential = encrypted_credential + self.enable_ssl = enable_ssl + self.enable_server_certificate_validation = enable_server_certificate_validation + + +class GetDataFactoryOperationStatusResponse(msrest.serialization.Model): + """Response body structure for get data factory operation status. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param status: Status of the operation. + :type status: str + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + status: Optional[str] = None, + **kwargs + ): + super(GetDataFactoryOperationStatusResponse, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.status = status + + +class GetMetadataActivity(ExecutionActivity): + """Activity to get metadata of dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param dataset: Required. GetMetadata activity dataset reference. + :type dataset: ~azure.mgmt.datafactory.models.DatasetReference + :param field_list: Fields of metadata to get from dataset. + :type field_list: list[object] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'dataset': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'}, + 'field_list': {'key': 'typeProperties.fieldList', 'type': '[object]'}, + } + + def __init__( + self, + *, + name: str, + dataset: "DatasetReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + field_list: Optional[List[object]] = None, + **kwargs + ): + super(GetMetadataActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'GetMetadata' + self.dataset = dataset + self.field_list = field_list + + +class GetSsisObjectMetadataRequest(msrest.serialization.Model): + """The request payload of get SSIS object metadata. + + :param metadata_path: Metadata path. + :type metadata_path: str + """ + + _attribute_map = { + 'metadata_path': {'key': 'metadataPath', 'type': 'str'}, + } + + def __init__( + self, + *, + metadata_path: Optional[str] = None, + **kwargs + ): + super(GetSsisObjectMetadataRequest, self).__init__(**kwargs) + self.metadata_path = metadata_path + + +class GitHubAccessTokenRequest(msrest.serialization.Model): + """Get GitHub access token request definition. + + All required parameters must be populated in order to send to Azure. + + :param git_hub_access_code: Required. GitHub access code. + :type git_hub_access_code: str + :param git_hub_client_id: GitHub application client ID. + :type git_hub_client_id: str + :param git_hub_access_token_base_url: Required. GitHub access token base URL. + :type git_hub_access_token_base_url: str + """ + + _validation = { + 'git_hub_access_code': {'required': True}, + 'git_hub_access_token_base_url': {'required': True}, + } + + _attribute_map = { + 'git_hub_access_code': {'key': 'gitHubAccessCode', 'type': 'str'}, + 'git_hub_client_id': {'key': 'gitHubClientId', 'type': 'str'}, + 'git_hub_access_token_base_url': {'key': 'gitHubAccessTokenBaseUrl', 'type': 'str'}, + } + + def __init__( + self, + *, + git_hub_access_code: str, + git_hub_access_token_base_url: str, + git_hub_client_id: Optional[str] = None, + **kwargs + ): + super(GitHubAccessTokenRequest, self).__init__(**kwargs) + self.git_hub_access_code = git_hub_access_code + self.git_hub_client_id = git_hub_client_id + self.git_hub_access_token_base_url = git_hub_access_token_base_url + + +class GitHubAccessTokenResponse(msrest.serialization.Model): + """Get GitHub access token response definition. + + :param git_hub_access_token: GitHub access token. + :type git_hub_access_token: str + """ + + _attribute_map = { + 'git_hub_access_token': {'key': 'gitHubAccessToken', 'type': 'str'}, + } + + def __init__( + self, + *, + git_hub_access_token: Optional[str] = None, + **kwargs + ): + super(GitHubAccessTokenResponse, self).__init__(**kwargs) + self.git_hub_access_token = git_hub_access_token + + +class GoogleAdWordsLinkedService(LinkedService): + """Google AdWords service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param client_customer_id: Required. The Client customer ID of the AdWords account that you + want to fetch report data for. + :type client_customer_id: object + :param developer_token: Required. The developer token associated with the manager account that + you use to grant access to the AdWords API. + :type developer_token: ~azure.mgmt.datafactory.models.SecretBase + :param authentication_type: Required. The OAuth 2.0 authentication mechanism used for + authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values + include: "ServiceAuthentication", "UserAuthentication". + :type authentication_type: str or + ~azure.mgmt.datafactory.models.GoogleAdWordsAuthenticationType + :param refresh_token: The refresh token obtained from Google for authorizing access to AdWords + for UserAuthentication. + :type refresh_token: ~azure.mgmt.datafactory.models.SecretBase + :param client_id: The client id of the google application used to acquire the refresh token. + Type: string (or Expression with resultType string). + :type client_id: object + :param client_secret: The client secret of the google application used to acquire the refresh + token. + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param email: The service account email ID that is used for ServiceAuthentication and can only + be used on self-hosted IR. + :type email: object + :param key_file_path: The full path to the .p12 key file that is used to authenticate the + service account email address and can only be used on self-hosted IR. + :type key_file_path: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust + store or from a specified PEM file. The default value is false. + :type use_system_trust_store: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'client_customer_id': {'required': True}, + 'developer_token': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'client_customer_id': {'key': 'typeProperties.clientCustomerID', 'type': 'object'}, + 'developer_token': {'key': 'typeProperties.developerToken', 'type': 'SecretBase'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'refresh_token': {'key': 'typeProperties.refreshToken', 'type': 'SecretBase'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'email': {'key': 'typeProperties.email', 'type': 'object'}, + 'key_file_path': {'key': 'typeProperties.keyFilePath', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + client_customer_id: object, + developer_token: "SecretBase", + authentication_type: Union[str, "GoogleAdWordsAuthenticationType"], + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + refresh_token: Optional["SecretBase"] = None, + client_id: Optional[object] = None, + client_secret: Optional["SecretBase"] = None, + email: Optional[object] = None, + key_file_path: Optional[object] = None, + trusted_cert_path: Optional[object] = None, + use_system_trust_store: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(GoogleAdWordsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'GoogleAdWords' + self.client_customer_id = client_customer_id + self.developer_token = developer_token + self.authentication_type = authentication_type + self.refresh_token = refresh_token + self.client_id = client_id + self.client_secret = client_secret + self.email = email + self.key_file_path = key_file_path + self.trusted_cert_path = trusted_cert_path + self.use_system_trust_store = use_system_trust_store + self.encrypted_credential = encrypted_credential + + +class GoogleAdWordsObjectDataset(Dataset): + """Google AdWords service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(GoogleAdWordsObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'GoogleAdWordsObject' + self.table_name = table_name + + +class GoogleBigQueryLinkedService(LinkedService): + """Google BigQuery service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param project: Required. The default BigQuery project to query against. + :type project: object + :param additional_projects: A comma-separated list of public BigQuery projects to access. + :type additional_projects: object + :param request_google_drive_scope: Whether to request access to Google Drive. Allowing Google + Drive access enables support for federated tables that combine BigQuery data with data from + Google Drive. The default value is false. + :type request_google_drive_scope: object + :param authentication_type: Required. The OAuth 2.0 authentication mechanism used for + authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values + include: "ServiceAuthentication", "UserAuthentication". + :type authentication_type: str or + ~azure.mgmt.datafactory.models.GoogleBigQueryAuthenticationType + :param refresh_token: The refresh token obtained from Google for authorizing access to BigQuery + for UserAuthentication. + :type refresh_token: ~azure.mgmt.datafactory.models.SecretBase + :param client_id: The client id of the google application used to acquire the refresh token. + Type: string (or Expression with resultType string). + :type client_id: object + :param client_secret: The client secret of the google application used to acquire the refresh + token. + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param email: The service account email ID that is used for ServiceAuthentication and can only + be used on self-hosted IR. + :type email: object + :param key_file_path: The full path to the .p12 key file that is used to authenticate the + service account email address and can only be used on self-hosted IR. + :type key_file_path: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust + store or from a specified PEM file. The default value is false. + :type use_system_trust_store: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'project': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'project': {'key': 'typeProperties.project', 'type': 'object'}, + 'additional_projects': {'key': 'typeProperties.additionalProjects', 'type': 'object'}, + 'request_google_drive_scope': {'key': 'typeProperties.requestGoogleDriveScope', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'refresh_token': {'key': 'typeProperties.refreshToken', 'type': 'SecretBase'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'email': {'key': 'typeProperties.email', 'type': 'object'}, + 'key_file_path': {'key': 'typeProperties.keyFilePath', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + project: object, + authentication_type: Union[str, "GoogleBigQueryAuthenticationType"], + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + additional_projects: Optional[object] = None, + request_google_drive_scope: Optional[object] = None, + refresh_token: Optional["SecretBase"] = None, + client_id: Optional[object] = None, + client_secret: Optional["SecretBase"] = None, + email: Optional[object] = None, + key_file_path: Optional[object] = None, + trusted_cert_path: Optional[object] = None, + use_system_trust_store: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(GoogleBigQueryLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'GoogleBigQuery' + self.project = project + self.additional_projects = additional_projects + self.request_google_drive_scope = request_google_drive_scope + self.authentication_type = authentication_type + self.refresh_token = refresh_token + self.client_id = client_id + self.client_secret = client_secret + self.email = email + self.key_file_path = key_file_path + self.trusted_cert_path = trusted_cert_path + self.use_system_trust_store = use_system_trust_store + self.encrypted_credential = encrypted_credential + + +class GoogleBigQueryObjectDataset(Dataset): + """Google BigQuery service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using database + table + properties instead. + :type table_name: object + :param table: The table name of the Google BigQuery. Type: string (or Expression with + resultType string). + :type table: object + :param dataset: The database name of the Google BigQuery. Type: string (or Expression with + resultType string). + :type dataset: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'dataset': {'key': 'typeProperties.dataset', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + table: Optional[object] = None, + dataset: Optional[object] = None, + **kwargs + ): + super(GoogleBigQueryObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'GoogleBigQueryObject' + self.table_name = table_name + self.table = table + self.dataset = dataset + + +class GoogleCloudStorageLinkedService(LinkedService): + """Linked service for Google Cloud Storage. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param access_key_id: The access key identifier of the Google Cloud Storage Identity and Access + Management (IAM) user. Type: string (or Expression with resultType string). + :type access_key_id: object + :param secret_access_key: The secret access key of the Google Cloud Storage Identity and Access + Management (IAM) user. + :type secret_access_key: ~azure.mgmt.datafactory.models.SecretBase + :param service_url: This value specifies the endpoint to access with the Google Cloud Storage + Connector. This is an optional property; change it only if you want to try a different service + endpoint or want to switch between https and http. Type: string (or Expression with resultType + string). + :type service_url: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'}, + 'secret_access_key': {'key': 'typeProperties.secretAccessKey', 'type': 'SecretBase'}, + 'service_url': {'key': 'typeProperties.serviceUrl', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + access_key_id: Optional[object] = None, + secret_access_key: Optional["SecretBase"] = None, + service_url: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(GoogleCloudStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'GoogleCloudStorage' + self.access_key_id = access_key_id + self.secret_access_key = secret_access_key + self.service_url = service_url + self.encrypted_credential = encrypted_credential + + +class GreenplumLinkedService(LinkedService): + """Greenplum Database linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param pwd: The Azure key vault secret reference of password in connection string. + :type pwd: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + connection_string: Optional[object] = None, + pwd: Optional["AzureKeyVaultSecretReference"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(GreenplumLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Greenplum' + self.connection_string = connection_string + self.pwd = pwd + self.encrypted_credential = encrypted_credential + + +class GreenplumTableDataset(Dataset): + """Greenplum Database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of Greenplum. Type: string (or Expression with resultType string). + :type table: object + :param schema_type_properties_schema: The schema name of Greenplum. Type: string (or Expression + with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + table: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + **kwargs + ): + super(GreenplumTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'GreenplumTable' + self.table_name = table_name + self.table = table + self.schema_type_properties_schema = schema_type_properties_schema + + +class HBaseLinkedService(LinkedService): + """HBase server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The IP address or host name of the HBase server. (i.e. 192.168.222.160). + :type host: object + :param port: The TCP port that the HBase instance uses to listen for client connections. The + default value is 9090. + :type port: object + :param http_path: The partial URL corresponding to the HBase server. (i.e. + /gateway/sandbox/hbase/version). + :type http_path: object + :param authentication_type: Required. The authentication mechanism to use to connect to the + HBase server. Possible values include: "Anonymous", "Basic". + :type authentication_type: str or ~azure.mgmt.datafactory.models.HBaseAuthenticationType + :param username: The user name used to connect to the HBase instance. + :type username: object + :param password: The password corresponding to the user name. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The + default value is false. + :type enable_ssl: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate + name to match the host name of the server when connecting over SSL. The default value is false. + :type allow_host_name_cn_mismatch: object + :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from + the server. The default value is false. + :type allow_self_signed_server_cert: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'}, + 'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + authentication_type: Union[str, "HBaseAuthenticationType"], + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + port: Optional[object] = None, + http_path: Optional[object] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + enable_ssl: Optional[object] = None, + trusted_cert_path: Optional[object] = None, + allow_host_name_cn_mismatch: Optional[object] = None, + allow_self_signed_server_cert: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(HBaseLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'HBase' + self.host = host + self.port = port + self.http_path = http_path + self.authentication_type = authentication_type + self.username = username + self.password = password + self.enable_ssl = enable_ssl + self.trusted_cert_path = trusted_cert_path + self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch + self.allow_self_signed_server_cert = allow_self_signed_server_cert + self.encrypted_credential = encrypted_credential + + +class HBaseObjectDataset(Dataset): + """HBase server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(HBaseObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'HBaseObject' + self.table_name = table_name + + +class HdfsLinkedService(LinkedService): + """Hadoop Distributed File System (HDFS) linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. The URL of the HDFS service endpoint, e.g. + http://myhostname:50070/webhdfs/v1 . Type: string (or Expression with resultType string). + :type url: object + :param authentication_type: Type of authentication used to connect to the HDFS. Possible values + are: Anonymous and Windows. Type: string (or Expression with resultType string). + :type authentication_type: object + :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). + :type encrypted_credential: object + :param user_name: User name for Windows authentication. Type: string (or Expression with + resultType string). + :type user_name: object + :param password: Password for Windows authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + } + + def __init__( + self, + *, + url: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + authentication_type: Optional[object] = None, + encrypted_credential: Optional[object] = None, + user_name: Optional[object] = None, + password: Optional["SecretBase"] = None, + **kwargs + ): + super(HdfsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Hdfs' + self.url = url + self.authentication_type = authentication_type + self.encrypted_credential = encrypted_credential + self.user_name = user_name + self.password = password + + +class HdInsightHiveActivity(ExecutionActivity): + """HDInsight Hive activity type. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param storage_linked_services: Storage linked service references. + :type storage_linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceReference] + :param arguments: User specified arguments to HDInsightActivity. + :type arguments: list[object] + :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure". + :type get_debug_info: str or ~azure.mgmt.datafactory.models.HdInsightActivityDebugInfoOption + :param script_path: Script path. Type: string (or Expression with resultType string). + :type script_path: object + :param script_linked_service: Script linked service reference. + :type script_linked_service: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param defines: Allows user to specify defines for Hive job request. + :type defines: dict[str, object] + :param variables: User specified arguments under hivevar namespace. + :type variables: list[object] + :param query_timeout: Query timeout value (in minutes). Effective when the HDInsight cluster + is with ESP (Enterprise Security Package). + :type query_timeout: int + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'}, + 'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'}, + 'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'}, + 'script_path': {'key': 'typeProperties.scriptPath', 'type': 'object'}, + 'script_linked_service': {'key': 'typeProperties.scriptLinkedService', 'type': 'LinkedServiceReference'}, + 'defines': {'key': 'typeProperties.defines', 'type': '{object}'}, + 'variables': {'key': 'typeProperties.variables', 'type': '[object]'}, + 'query_timeout': {'key': 'typeProperties.queryTimeout', 'type': 'int'}, + } + + def __init__( + self, + *, + name: str, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + storage_linked_services: Optional[List["LinkedServiceReference"]] = None, + arguments: Optional[List[object]] = None, + get_debug_info: Optional[Union[str, "HdInsightActivityDebugInfoOption"]] = None, + script_path: Optional[object] = None, + script_linked_service: Optional["LinkedServiceReference"] = None, + defines: Optional[Dict[str, object]] = None, + variables: Optional[List[object]] = None, + query_timeout: Optional[int] = None, + **kwargs + ): + super(HdInsightHiveActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'HDInsightHive' + self.storage_linked_services = storage_linked_services + self.arguments = arguments + self.get_debug_info = get_debug_info + self.script_path = script_path + self.script_linked_service = script_linked_service + self.defines = defines + self.variables = variables + self.query_timeout = query_timeout + + +class HdInsightLinkedService(LinkedService): + """HDInsight linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param cluster_uri: Required. HDInsight cluster URI. Type: string (or Expression with + resultType string). + :type cluster_uri: object + :param user_name: HDInsight cluster user name. Type: string (or Expression with resultType + string). + :type user_name: object + :param password: HDInsight cluster password. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param linked_service_name: The Azure Storage linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param hcatalog_linked_service_name: A reference to the Azure SQL linked service that points to + the HCatalog database. + :type hcatalog_linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :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). + :type encrypted_credential: object + :param is_esp_enabled: Specify if the HDInsight is created with ESP (Enterprise Security + Package). Type: Boolean. + :type is_esp_enabled: object + :param file_system: Specify the FileSystem if the main storage for the HDInsight is ADLS Gen2. + Type: string (or Expression with resultType string). + :type file_system: object + """ + + _validation = { + 'type': {'required': True}, + 'cluster_uri': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'cluster_uri': {'key': 'typeProperties.clusterUri', 'type': 'object'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'linked_service_name': {'key': 'typeProperties.linkedServiceName', 'type': 'LinkedServiceReference'}, + 'hcatalog_linked_service_name': {'key': 'typeProperties.hcatalogLinkedServiceName', 'type': 'LinkedServiceReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'is_esp_enabled': {'key': 'typeProperties.isEspEnabled', 'type': 'object'}, + 'file_system': {'key': 'typeProperties.fileSystem', 'type': 'object'}, + } + + def __init__( + self, + *, + cluster_uri: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + user_name: Optional[object] = None, + password: Optional["SecretBase"] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + hcatalog_linked_service_name: Optional["LinkedServiceReference"] = None, + encrypted_credential: Optional[object] = None, + is_esp_enabled: Optional[object] = None, + file_system: Optional[object] = None, + **kwargs + ): + super(HdInsightLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'HDInsight' + self.cluster_uri = cluster_uri + self.user_name = user_name + self.password = password + self.linked_service_name = linked_service_name + self.hcatalog_linked_service_name = hcatalog_linked_service_name + self.encrypted_credential = encrypted_credential + self.is_esp_enabled = is_esp_enabled + self.file_system = file_system + + +class HdInsightMapReduceActivity(ExecutionActivity): + """HDInsight MapReduce activity type. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param storage_linked_services: Storage linked service references. + :type storage_linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceReference] + :param arguments: User specified arguments to HDInsightActivity. + :type arguments: list[object] + :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure". + :type get_debug_info: str or ~azure.mgmt.datafactory.models.HdInsightActivityDebugInfoOption + :param class_name: Required. Class name. Type: string (or Expression with resultType string). + :type class_name: object + :param jar_file_path: Required. Jar path. Type: string (or Expression with resultType string). + :type jar_file_path: object + :param jar_linked_service: Jar linked service reference. + :type jar_linked_service: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param jar_libs: Jar libs. + :type jar_libs: list[object] + :param defines: Allows user to specify defines for the MapReduce job request. + :type defines: dict[str, object] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'class_name': {'required': True}, + 'jar_file_path': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'}, + 'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'}, + 'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'}, + 'class_name': {'key': 'typeProperties.className', 'type': 'object'}, + 'jar_file_path': {'key': 'typeProperties.jarFilePath', 'type': 'object'}, + 'jar_linked_service': {'key': 'typeProperties.jarLinkedService', 'type': 'LinkedServiceReference'}, + 'jar_libs': {'key': 'typeProperties.jarLibs', 'type': '[object]'}, + 'defines': {'key': 'typeProperties.defines', 'type': '{object}'}, + } + + def __init__( + self, + *, + name: str, + class_name: object, + jar_file_path: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + storage_linked_services: Optional[List["LinkedServiceReference"]] = None, + arguments: Optional[List[object]] = None, + get_debug_info: Optional[Union[str, "HdInsightActivityDebugInfoOption"]] = None, + jar_linked_service: Optional["LinkedServiceReference"] = None, + jar_libs: Optional[List[object]] = None, + defines: Optional[Dict[str, object]] = None, + **kwargs + ): + super(HdInsightMapReduceActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'HDInsightMapReduce' + self.storage_linked_services = storage_linked_services + self.arguments = arguments + self.get_debug_info = get_debug_info + self.class_name = class_name + self.jar_file_path = jar_file_path + self.jar_linked_service = jar_linked_service + self.jar_libs = jar_libs + self.defines = defines + + +class HdInsightOnDemandLinkedService(LinkedService): + """HDInsight ondemand linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param cluster_size: Required. Number of worker/data nodes in the cluster. Suggestion value: 4. + Type: string (or Expression with resultType string). + :type cluster_size: object + :param time_to_live: Required. The allowed idle time for the on-demand HDInsight cluster. + Specifies how long the on-demand HDInsight cluster stays alive after completion of an activity + run if there are no other active jobs in the cluster. The minimum value is 5 mins. Type: string + (or Expression with resultType string). + :type time_to_live: object + :param version: Required. Version of the HDInsight cluster.  Type: string (or Expression with + resultType string). + :type version: object + :param linked_service_name: Required. Azure Storage linked service to be used by the on-demand + cluster for storing and processing data. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param host_subscription_id: Required. The customer’s subscription to host the cluster. Type: + string (or Expression with resultType string). + :type host_subscription_id: object + :param service_principal_id: The service principal id for the hostSubscriptionId. Type: string + (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The key for the service principal id. + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :param tenant: Required. The Tenant id/name to which the service principal belongs. Type: + string (or Expression with resultType string). + :type tenant: object + :param cluster_resource_group: Required. The resource group where the cluster belongs. Type: + string (or Expression with resultType string). + :type cluster_resource_group: object + :param cluster_name_prefix: The prefix of cluster name, postfix will be distinct with + timestamp. Type: string (or Expression with resultType string). + :type cluster_name_prefix: object + :param cluster_user_name: The username to access the cluster. Type: string (or Expression with + resultType string). + :type cluster_user_name: object + :param cluster_password: The password to access the cluster. + :type cluster_password: ~azure.mgmt.datafactory.models.SecretBase + :param cluster_ssh_user_name: The username to SSH remotely connect to cluster’s node (for + Linux). Type: string (or Expression with resultType string). + :type cluster_ssh_user_name: object + :param cluster_ssh_password: The password to SSH remotely connect cluster’s node (for Linux). + :type cluster_ssh_password: ~azure.mgmt.datafactory.models.SecretBase + :param additional_linked_service_names: Specifies additional storage accounts for the HDInsight + linked service so that the Data Factory service can register them on your behalf. + :type additional_linked_service_names: + list[~azure.mgmt.datafactory.models.LinkedServiceReference] + :param hcatalog_linked_service_name: The name of Azure SQL linked service that point to the + HCatalog database. The on-demand HDInsight cluster is created by using the Azure SQL database + as the metastore. + :type hcatalog_linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param cluster_type: The cluster type. Type: string (or Expression with resultType string). + :type cluster_type: object + :param spark_version: The version of spark if the cluster type is 'spark'. Type: string (or + Expression with resultType string). + :type spark_version: object + :param core_configuration: Specifies the core configuration parameters (as in core-site.xml) + for the HDInsight cluster to be created. + :type core_configuration: object + :param h_base_configuration: Specifies the HBase configuration parameters (hbase-site.xml) for + the HDInsight cluster. + :type h_base_configuration: object + :param hdfs_configuration: Specifies the HDFS configuration parameters (hdfs-site.xml) for the + HDInsight cluster. + :type hdfs_configuration: object + :param hive_configuration: Specifies the hive configuration parameters (hive-site.xml) for the + HDInsight cluster. + :type hive_configuration: object + :param map_reduce_configuration: Specifies the MapReduce configuration parameters (mapred- + site.xml) for the HDInsight cluster. + :type map_reduce_configuration: object + :param oozie_configuration: Specifies the Oozie configuration parameters (oozie-site.xml) for + the HDInsight cluster. + :type oozie_configuration: object + :param storm_configuration: Specifies the Storm configuration parameters (storm-site.xml) for + the HDInsight cluster. + :type storm_configuration: object + :param yarn_configuration: Specifies the Yarn configuration parameters (yarn-site.xml) for the + HDInsight cluster. + :type yarn_configuration: object + :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). + :type encrypted_credential: object + :param head_node_size: Specifies the size of the head node for the HDInsight cluster. + :type head_node_size: object + :param data_node_size: Specifies the size of the data node for the HDInsight cluster. + :type data_node_size: object + :param zookeeper_node_size: Specifies the size of the Zoo Keeper node for the HDInsight + cluster. + :type zookeeper_node_size: object + :param script_actions: Custom script actions to run on HDI ondemand cluster once it's up. + Please refer to https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-hadoop-customize- + cluster-linux?toc=%2Fen-us%2Fazure%2Fhdinsight%2Fr-server%2FTOC.json&bc=%2Fen- + us%2Fazure%2Fbread%2Ftoc.json#understanding-script-actions. + :type script_actions: list[~azure.mgmt.datafactory.models.ScriptAction] + :param virtual_network_id: The ARM resource ID for the vNet to which the cluster should be + joined after creation. Type: string (or Expression with resultType string). + :type virtual_network_id: object + :param subnet_name: The ARM resource ID for the subnet in the vNet. If virtualNetworkId was + specified, then this property is required. Type: string (or Expression with resultType string). + :type subnet_name: object + """ + + _validation = { + 'type': {'required': True}, + 'cluster_size': {'required': True}, + 'time_to_live': {'required': True}, + 'version': {'required': True}, + 'linked_service_name': {'required': True}, + 'host_subscription_id': {'required': True}, + 'tenant': {'required': True}, + 'cluster_resource_group': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'cluster_size': {'key': 'typeProperties.clusterSize', 'type': 'object'}, + 'time_to_live': {'key': 'typeProperties.timeToLive', 'type': 'object'}, + 'version': {'key': 'typeProperties.version', 'type': 'object'}, + 'linked_service_name': {'key': 'typeProperties.linkedServiceName', 'type': 'LinkedServiceReference'}, + 'host_subscription_id': {'key': 'typeProperties.hostSubscriptionId', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'cluster_resource_group': {'key': 'typeProperties.clusterResourceGroup', 'type': 'object'}, + 'cluster_name_prefix': {'key': 'typeProperties.clusterNamePrefix', 'type': 'object'}, + 'cluster_user_name': {'key': 'typeProperties.clusterUserName', 'type': 'object'}, + 'cluster_password': {'key': 'typeProperties.clusterPassword', 'type': 'SecretBase'}, + 'cluster_ssh_user_name': {'key': 'typeProperties.clusterSshUserName', 'type': 'object'}, + 'cluster_ssh_password': {'key': 'typeProperties.clusterSshPassword', 'type': 'SecretBase'}, + 'additional_linked_service_names': {'key': 'typeProperties.additionalLinkedServiceNames', 'type': '[LinkedServiceReference]'}, + 'hcatalog_linked_service_name': {'key': 'typeProperties.hcatalogLinkedServiceName', 'type': 'LinkedServiceReference'}, + 'cluster_type': {'key': 'typeProperties.clusterType', 'type': 'object'}, + 'spark_version': {'key': 'typeProperties.sparkVersion', 'type': 'object'}, + 'core_configuration': {'key': 'typeProperties.coreConfiguration', 'type': 'object'}, + 'h_base_configuration': {'key': 'typeProperties.hBaseConfiguration', 'type': 'object'}, + 'hdfs_configuration': {'key': 'typeProperties.hdfsConfiguration', 'type': 'object'}, + 'hive_configuration': {'key': 'typeProperties.hiveConfiguration', 'type': 'object'}, + 'map_reduce_configuration': {'key': 'typeProperties.mapReduceConfiguration', 'type': 'object'}, + 'oozie_configuration': {'key': 'typeProperties.oozieConfiguration', 'type': 'object'}, + 'storm_configuration': {'key': 'typeProperties.stormConfiguration', 'type': 'object'}, + 'yarn_configuration': {'key': 'typeProperties.yarnConfiguration', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'head_node_size': {'key': 'typeProperties.headNodeSize', 'type': 'object'}, + 'data_node_size': {'key': 'typeProperties.dataNodeSize', 'type': 'object'}, + 'zookeeper_node_size': {'key': 'typeProperties.zookeeperNodeSize', 'type': 'object'}, + 'script_actions': {'key': 'typeProperties.scriptActions', 'type': '[ScriptAction]'}, + 'virtual_network_id': {'key': 'typeProperties.virtualNetworkId', 'type': 'object'}, + 'subnet_name': {'key': 'typeProperties.subnetName', 'type': 'object'}, + } + + def __init__( + self, + *, + cluster_size: object, + time_to_live: object, + version: object, + linked_service_name: "LinkedServiceReference", + host_subscription_id: object, + tenant: object, + cluster_resource_group: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + service_principal_id: Optional[object] = None, + service_principal_key: Optional["SecretBase"] = None, + cluster_name_prefix: Optional[object] = None, + cluster_user_name: Optional[object] = None, + cluster_password: Optional["SecretBase"] = None, + cluster_ssh_user_name: Optional[object] = None, + cluster_ssh_password: Optional["SecretBase"] = None, + additional_linked_service_names: Optional[List["LinkedServiceReference"]] = None, + hcatalog_linked_service_name: Optional["LinkedServiceReference"] = None, + cluster_type: Optional[object] = None, + spark_version: Optional[object] = None, + core_configuration: Optional[object] = None, + h_base_configuration: Optional[object] = None, + hdfs_configuration: Optional[object] = None, + hive_configuration: Optional[object] = None, + map_reduce_configuration: Optional[object] = None, + oozie_configuration: Optional[object] = None, + storm_configuration: Optional[object] = None, + yarn_configuration: Optional[object] = None, + encrypted_credential: Optional[object] = None, + head_node_size: Optional[object] = None, + data_node_size: Optional[object] = None, + zookeeper_node_size: Optional[object] = None, + script_actions: Optional[List["ScriptAction"]] = None, + virtual_network_id: Optional[object] = None, + subnet_name: Optional[object] = None, + **kwargs + ): + super(HdInsightOnDemandLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'HDInsightOnDemand' + self.cluster_size = cluster_size + self.time_to_live = time_to_live + self.version = version + self.linked_service_name = linked_service_name + self.host_subscription_id = host_subscription_id + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.tenant = tenant + self.cluster_resource_group = cluster_resource_group + self.cluster_name_prefix = cluster_name_prefix + self.cluster_user_name = cluster_user_name + self.cluster_password = cluster_password + self.cluster_ssh_user_name = cluster_ssh_user_name + self.cluster_ssh_password = cluster_ssh_password + self.additional_linked_service_names = additional_linked_service_names + self.hcatalog_linked_service_name = hcatalog_linked_service_name + self.cluster_type = cluster_type + self.spark_version = spark_version + self.core_configuration = core_configuration + self.h_base_configuration = h_base_configuration + self.hdfs_configuration = hdfs_configuration + self.hive_configuration = hive_configuration + self.map_reduce_configuration = map_reduce_configuration + self.oozie_configuration = oozie_configuration + self.storm_configuration = storm_configuration + self.yarn_configuration = yarn_configuration + self.encrypted_credential = encrypted_credential + self.head_node_size = head_node_size + self.data_node_size = data_node_size + self.zookeeper_node_size = zookeeper_node_size + self.script_actions = script_actions + self.virtual_network_id = virtual_network_id + self.subnet_name = subnet_name + + +class HdInsightPigActivity(ExecutionActivity): + """HDInsight Pig activity type. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param storage_linked_services: Storage linked service references. + :type storage_linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceReference] + :param arguments: User specified arguments to HDInsightActivity. Type: array (or Expression + with resultType array). + :type arguments: object + :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure". + :type get_debug_info: str or ~azure.mgmt.datafactory.models.HdInsightActivityDebugInfoOption + :param script_path: Script path. Type: string (or Expression with resultType string). + :type script_path: object + :param script_linked_service: Script linked service reference. + :type script_linked_service: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param defines: Allows user to specify defines for Pig job request. + :type defines: dict[str, object] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'}, + 'arguments': {'key': 'typeProperties.arguments', 'type': 'object'}, + 'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'}, + 'script_path': {'key': 'typeProperties.scriptPath', 'type': 'object'}, + 'script_linked_service': {'key': 'typeProperties.scriptLinkedService', 'type': 'LinkedServiceReference'}, + 'defines': {'key': 'typeProperties.defines', 'type': '{object}'}, + } + + def __init__( + self, + *, + name: str, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + storage_linked_services: Optional[List["LinkedServiceReference"]] = None, + arguments: Optional[object] = None, + get_debug_info: Optional[Union[str, "HdInsightActivityDebugInfoOption"]] = None, + script_path: Optional[object] = None, + script_linked_service: Optional["LinkedServiceReference"] = None, + defines: Optional[Dict[str, object]] = None, + **kwargs + ): + super(HdInsightPigActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'HDInsightPig' + self.storage_linked_services = storage_linked_services + self.arguments = arguments + self.get_debug_info = get_debug_info + self.script_path = script_path + self.script_linked_service = script_linked_service + self.defines = defines + + +class HdInsightSparkActivity(ExecutionActivity): + """HDInsight Spark activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param root_path: Required. The root path in 'sparkJobLinkedService' for all the job’s files. + Type: string (or Expression with resultType string). + :type root_path: object + :param entry_file_path: Required. The relative path to the root folder of the code/package to + be executed. Type: string (or Expression with resultType string). + :type entry_file_path: object + :param arguments: The user-specified arguments to HDInsightSparkActivity. + :type arguments: list[object] + :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure". + :type get_debug_info: str or ~azure.mgmt.datafactory.models.HdInsightActivityDebugInfoOption + :param spark_job_linked_service: The storage linked service for uploading the entry file and + dependencies, and for receiving logs. + :type spark_job_linked_service: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param class_name: The application's Java/Spark main class. + :type class_name: str + :param proxy_user: The user to impersonate that will execute the job. Type: string (or + Expression with resultType string). + :type proxy_user: object + :param spark_config: Spark configuration property. + :type spark_config: dict[str, object] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'root_path': {'required': True}, + 'entry_file_path': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'root_path': {'key': 'typeProperties.rootPath', 'type': 'object'}, + 'entry_file_path': {'key': 'typeProperties.entryFilePath', 'type': 'object'}, + 'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'}, + 'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'}, + 'spark_job_linked_service': {'key': 'typeProperties.sparkJobLinkedService', 'type': 'LinkedServiceReference'}, + 'class_name': {'key': 'typeProperties.className', 'type': 'str'}, + 'proxy_user': {'key': 'typeProperties.proxyUser', 'type': 'object'}, + 'spark_config': {'key': 'typeProperties.sparkConfig', 'type': '{object}'}, + } + + def __init__( + self, + *, + name: str, + root_path: object, + entry_file_path: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + arguments: Optional[List[object]] = None, + get_debug_info: Optional[Union[str, "HdInsightActivityDebugInfoOption"]] = None, + spark_job_linked_service: Optional["LinkedServiceReference"] = None, + class_name: Optional[str] = None, + proxy_user: Optional[object] = None, + spark_config: Optional[Dict[str, object]] = None, + **kwargs + ): + super(HdInsightSparkActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'HDInsightSpark' + self.root_path = root_path + self.entry_file_path = entry_file_path + self.arguments = arguments + self.get_debug_info = get_debug_info + self.spark_job_linked_service = spark_job_linked_service + self.class_name = class_name + self.proxy_user = proxy_user + self.spark_config = spark_config + + +class HdInsightStreamingActivity(ExecutionActivity): + """HDInsight streaming activity type. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param storage_linked_services: Storage linked service references. + :type storage_linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceReference] + :param arguments: User specified arguments to HDInsightActivity. + :type arguments: list[object] + :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure". + :type get_debug_info: str or ~azure.mgmt.datafactory.models.HdInsightActivityDebugInfoOption + :param mapper: Required. Mapper executable name. Type: string (or Expression with resultType + string). + :type mapper: object + :param reducer: Required. Reducer executable name. Type: string (or Expression with resultType + string). + :type reducer: object + :param input: Required. Input blob path. Type: string (or Expression with resultType string). + :type input: object + :param output: Required. Output blob path. Type: string (or Expression with resultType string). + :type output: object + :param file_paths: Required. Paths to streaming job files. Can be directories. + :type file_paths: list[object] + :param file_linked_service: Linked service reference where the files are located. + :type file_linked_service: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param combiner: Combiner executable name. Type: string (or Expression with resultType string). + :type combiner: object + :param command_environment: Command line environment values. + :type command_environment: list[object] + :param defines: Allows user to specify defines for streaming job request. + :type defines: dict[str, object] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'mapper': {'required': True}, + 'reducer': {'required': True}, + 'input': {'required': True}, + 'output': {'required': True}, + 'file_paths': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'}, + 'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'}, + 'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'}, + 'mapper': {'key': 'typeProperties.mapper', 'type': 'object'}, + 'reducer': {'key': 'typeProperties.reducer', 'type': 'object'}, + 'input': {'key': 'typeProperties.input', 'type': 'object'}, + 'output': {'key': 'typeProperties.output', 'type': 'object'}, + 'file_paths': {'key': 'typeProperties.filePaths', 'type': '[object]'}, + 'file_linked_service': {'key': 'typeProperties.fileLinkedService', 'type': 'LinkedServiceReference'}, + 'combiner': {'key': 'typeProperties.combiner', 'type': 'object'}, + 'command_environment': {'key': 'typeProperties.commandEnvironment', 'type': '[object]'}, + 'defines': {'key': 'typeProperties.defines', 'type': '{object}'}, + } + + def __init__( + self, + *, + name: str, + mapper: object, + reducer: object, + input: object, + output: object, + file_paths: List[object], + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + storage_linked_services: Optional[List["LinkedServiceReference"]] = None, + arguments: Optional[List[object]] = None, + get_debug_info: Optional[Union[str, "HdInsightActivityDebugInfoOption"]] = None, + file_linked_service: Optional["LinkedServiceReference"] = None, + combiner: Optional[object] = None, + command_environment: Optional[List[object]] = None, + defines: Optional[Dict[str, object]] = None, + **kwargs + ): + super(HdInsightStreamingActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'HDInsightStreaming' + self.storage_linked_services = storage_linked_services + self.arguments = arguments + self.get_debug_info = get_debug_info + self.mapper = mapper + self.reducer = reducer + self.input = input + self.output = output + self.file_paths = file_paths + self.file_linked_service = file_linked_service + self.combiner = combiner + self.command_environment = command_environment + self.defines = defines + + +class HiveLinkedService(LinkedService): + """Hive Server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. IP address or host name of the Hive server, separated by ';' for + multiple hosts (only when serviceDiscoveryMode is enable). + :type host: object + :param port: The TCP port that the Hive server uses to listen for client connections. + :type port: object + :param server_type: The type of Hive server. Possible values include: "HiveServer1", + "HiveServer2", "HiveThriftServer". + :type server_type: str or ~azure.mgmt.datafactory.models.HiveServerType + :param thrift_transport_protocol: The transport protocol to use in the Thrift layer. Possible + values include: "Binary", "SASL", "HTTP ". + :type thrift_transport_protocol: str or + ~azure.mgmt.datafactory.models.HiveThriftTransportProtocol + :param authentication_type: Required. The authentication method used to access the Hive server. + Possible values include: "Anonymous", "Username", "UsernameAndPassword", + "WindowsAzureHDInsightService". + :type authentication_type: str or ~azure.mgmt.datafactory.models.HiveAuthenticationType + :param service_discovery_mode: true to indicate using the ZooKeeper service, false not. + :type service_discovery_mode: object + :param zoo_keeper_name_space: The namespace on ZooKeeper under which Hive Server 2 nodes are + added. + :type zoo_keeper_name_space: object + :param use_native_query: Specifies whether the driver uses native HiveQL queries,or converts + them into an equivalent form in HiveQL. + :type use_native_query: object + :param username: The user name that you use to access Hive Server. + :type username: object + :param password: The password corresponding to the user name that you provided in the Username + field. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param http_path: The partial URL corresponding to the Hive server. + :type http_path: object + :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The + default value is false. + :type enable_ssl: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust + store or from a specified PEM file. The default value is false. + :type use_system_trust_store: object + :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate + name to match the host name of the server when connecting over SSL. The default value is false. + :type allow_host_name_cn_mismatch: object + :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from + the server. The default value is false. + :type allow_self_signed_server_cert: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'server_type': {'key': 'typeProperties.serverType', 'type': 'str'}, + 'thrift_transport_protocol': {'key': 'typeProperties.thriftTransportProtocol', 'type': 'str'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'service_discovery_mode': {'key': 'typeProperties.serviceDiscoveryMode', 'type': 'object'}, + 'zoo_keeper_name_space': {'key': 'typeProperties.zooKeeperNameSpace', 'type': 'object'}, + 'use_native_query': {'key': 'typeProperties.useNativeQuery', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'}, + 'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'}, + 'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + authentication_type: Union[str, "HiveAuthenticationType"], + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + port: Optional[object] = None, + server_type: Optional[Union[str, "HiveServerType"]] = None, + thrift_transport_protocol: Optional[Union[str, "HiveThriftTransportProtocol"]] = None, + service_discovery_mode: Optional[object] = None, + zoo_keeper_name_space: Optional[object] = None, + use_native_query: Optional[object] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + http_path: Optional[object] = None, + enable_ssl: Optional[object] = None, + trusted_cert_path: Optional[object] = None, + use_system_trust_store: Optional[object] = None, + allow_host_name_cn_mismatch: Optional[object] = None, + allow_self_signed_server_cert: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(HiveLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Hive' + self.host = host + self.port = port + self.server_type = server_type + self.thrift_transport_protocol = thrift_transport_protocol + self.authentication_type = authentication_type + self.service_discovery_mode = service_discovery_mode + self.zoo_keeper_name_space = zoo_keeper_name_space + self.use_native_query = use_native_query + self.username = username + self.password = password + self.http_path = http_path + self.enable_ssl = enable_ssl + self.trusted_cert_path = trusted_cert_path + self.use_system_trust_store = use_system_trust_store + self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch + self.allow_self_signed_server_cert = allow_self_signed_server_cert + self.encrypted_credential = encrypted_credential + + +class HiveObjectDataset(Dataset): + """Hive Server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Hive. Type: string (or Expression with resultType string). + :type table: object + :param schema_type_properties_schema: The schema name of the Hive. Type: string (or Expression + with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + table: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + **kwargs + ): + super(HiveObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'HiveObject' + self.table_name = table_name + self.table = table + self.schema_type_properties_schema = schema_type_properties_schema + + +class HttpDataset(Dataset): + """A file in an HTTP web server. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param relative_url: The relative URL based on the URL in the HttpLinkedService refers to an + HTTP file Type: string (or Expression with resultType string). + :type relative_url: object + :param request_method: The HTTP method for the HTTP request. Type: string (or Expression with + resultType string). + :type request_method: object + :param request_body: The body for the HTTP request. Type: string (or Expression with resultType + string). + :type request_body: object + :param additional_headers: The headers for the HTTP Request. e.g. request-header- + name-1:request-header-value-1 + ... + request-header-name-n:request-header-value-n Type: string (or Expression with resultType + string). + :type additional_headers: object + :param format: The format of files. + :type format: ~azure.mgmt.datafactory.models.DatasetStorageFormat + :param compression: The data compression method used on files. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'relative_url': {'key': 'typeProperties.relativeUrl', 'type': 'object'}, + 'request_method': {'key': 'typeProperties.requestMethod', 'type': 'object'}, + 'request_body': {'key': 'typeProperties.requestBody', 'type': 'object'}, + 'additional_headers': {'key': 'typeProperties.additionalHeaders', 'type': 'object'}, + 'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + relative_url: Optional[object] = None, + request_method: Optional[object] = None, + request_body: Optional[object] = None, + additional_headers: Optional[object] = None, + format: Optional["DatasetStorageFormat"] = None, + compression: Optional["DatasetCompression"] = None, + **kwargs + ): + super(HttpDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'HttpFile' + self.relative_url = relative_url + self.request_method = request_method + self.request_body = request_body + self.additional_headers = additional_headers + self.format = format + self.compression = compression + + +class HttpLinkedService(LinkedService): + """Linked service for an HTTP source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. The base URL of the HTTP endpoint, e.g. http://www.microsoft.com. Type: + string (or Expression with resultType string). + :type url: object + :param authentication_type: The authentication type to be used to connect to the HTTP server. + Possible values include: "Basic", "Anonymous", "Digest", "Windows", "ClientCertificate". + :type authentication_type: str or ~azure.mgmt.datafactory.models.HttpAuthenticationType + :param user_name: User name for Basic, Digest, or Windows authentication. Type: string (or + Expression with resultType string). + :type user_name: object + :param password: Password for Basic, Digest, Windows, or ClientCertificate with + EmbeddedCertData authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param embedded_cert_data: Base64 encoded certificate data for ClientCertificate + authentication. For on-premises copy with ClientCertificate authentication, either + CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression + with resultType string). + :type embedded_cert_data: object + :param cert_thumbprint: Thumbprint of certificate for ClientCertificate authentication. Only + valid for on-premises copy. For on-premises copy with ClientCertificate authentication, either + CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression + with resultType string). + :type cert_thumbprint: object + :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). + :type encrypted_credential: object + :param enable_server_certificate_validation: If true, validate the HTTPS server SSL + certificate. Default value is true. Type: boolean (or Expression with resultType boolean). + :type enable_server_certificate_validation: object + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'embedded_cert_data': {'key': 'typeProperties.embeddedCertData', 'type': 'object'}, + 'cert_thumbprint': {'key': 'typeProperties.certThumbprint', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'enable_server_certificate_validation': {'key': 'typeProperties.enableServerCertificateValidation', 'type': 'object'}, + } + + def __init__( + self, + *, + url: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + authentication_type: Optional[Union[str, "HttpAuthenticationType"]] = None, + user_name: Optional[object] = None, + password: Optional["SecretBase"] = None, + embedded_cert_data: Optional[object] = None, + cert_thumbprint: Optional[object] = None, + encrypted_credential: Optional[object] = None, + enable_server_certificate_validation: Optional[object] = None, + **kwargs + ): + super(HttpLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'HttpServer' + self.url = url + self.authentication_type = authentication_type + self.user_name = user_name + self.password = password + self.embedded_cert_data = embedded_cert_data + self.cert_thumbprint = cert_thumbprint + self.encrypted_credential = encrypted_credential + self.enable_server_certificate_validation = enable_server_certificate_validation + + +class HubspotLinkedService(LinkedService): + """Hubspot Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param client_id: Required. The client ID associated with your Hubspot application. + :type client_id: object + :param client_secret: The client secret associated with your Hubspot application. + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param access_token: The access token obtained when initially authenticating your OAuth + integration. + :type access_token: ~azure.mgmt.datafactory.models.SecretBase + :param refresh_token: The refresh token obtained when initially authenticating your OAuth + integration. + :type refresh_token: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'client_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'refresh_token': {'key': 'typeProperties.refreshToken', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + client_id: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + client_secret: Optional["SecretBase"] = None, + access_token: Optional["SecretBase"] = None, + refresh_token: Optional["SecretBase"] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(HubspotLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Hubspot' + self.client_id = client_id + self.client_secret = client_secret + self.access_token = access_token + self.refresh_token = refresh_token + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class HubspotObjectDataset(Dataset): + """Hubspot Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(HubspotObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'HubspotObject' + self.table_name = table_name + + +class IfConditionActivity(ControlActivity): + """This activity evaluates a boolean expression and executes either the activities under the ifTrueActivities property or the ifFalseActivities property depending on the result of the expression. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param expression: Required. An expression that would evaluate to Boolean. This is used to + determine the block of activities (ifTrueActivities or ifFalseActivities) that will be + executed. + :type expression: ~azure.mgmt.datafactory.models.Expression + :param if_true_activities: List of activities to execute if expression is evaluated to true. + This is an optional property and if not provided, the activity will exit without any action. + :type if_true_activities: list[~azure.mgmt.datafactory.models.Activity] + :param if_false_activities: List of activities to execute if expression is evaluated to false. + This is an optional property and if not provided, the activity will exit without any action. + :type if_false_activities: list[~azure.mgmt.datafactory.models.Activity] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'expression': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'expression': {'key': 'typeProperties.expression', 'type': 'Expression'}, + 'if_true_activities': {'key': 'typeProperties.ifTrueActivities', 'type': '[Activity]'}, + 'if_false_activities': {'key': 'typeProperties.ifFalseActivities', 'type': '[Activity]'}, + } + + def __init__( + self, + *, + name: str, + expression: "Expression", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + if_true_activities: Optional[List["Activity"]] = None, + if_false_activities: Optional[List["Activity"]] = None, + **kwargs + ): + super(IfConditionActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs) + self.type = 'IfCondition' + self.expression = expression + self.if_true_activities = if_true_activities + self.if_false_activities = if_false_activities + + +class ImpalaLinkedService(LinkedService): + """Impala server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The IP address or host name of the Impala server. (i.e. + 192.168.222.160). + :type host: object + :param port: The TCP port that the Impala server uses to listen for client connections. The + default value is 21050. + :type port: object + :param authentication_type: Required. The authentication type to use. Possible values include: + "Anonymous", "SASLUsername", "UsernameAndPassword". + :type authentication_type: str or ~azure.mgmt.datafactory.models.ImpalaAuthenticationType + :param username: The user name used to access the Impala server. The default value is anonymous + when using SASLUsername. + :type username: object + :param password: The password corresponding to the user name when using UsernameAndPassword. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The + default value is false. + :type enable_ssl: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust + store or from a specified PEM file. The default value is false. + :type use_system_trust_store: object + :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate + name to match the host name of the server when connecting over SSL. The default value is false. + :type allow_host_name_cn_mismatch: object + :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from + the server. The default value is false. + :type allow_self_signed_server_cert: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'}, + 'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'}, + 'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + authentication_type: Union[str, "ImpalaAuthenticationType"], + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + port: Optional[object] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + enable_ssl: Optional[object] = None, + trusted_cert_path: Optional[object] = None, + use_system_trust_store: Optional[object] = None, + allow_host_name_cn_mismatch: Optional[object] = None, + allow_self_signed_server_cert: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(ImpalaLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Impala' + self.host = host + self.port = port + self.authentication_type = authentication_type + self.username = username + self.password = password + self.enable_ssl = enable_ssl + self.trusted_cert_path = trusted_cert_path + self.use_system_trust_store = use_system_trust_store + self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch + self.allow_self_signed_server_cert = allow_self_signed_server_cert + self.encrypted_credential = encrypted_credential + + +class ImpalaObjectDataset(Dataset): + """Impala server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Impala. Type: string (or Expression with resultType + string). + :type table: object + :param schema_type_properties_schema: The schema name of the Impala. Type: string (or + Expression with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + table: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + **kwargs + ): + super(ImpalaObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'ImpalaObject' + self.table_name = table_name + self.table = table + self.schema_type_properties_schema = schema_type_properties_schema + + +class InformixLinkedService(LinkedService): + """Informix linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The non-access credential portion of the connection string + as well as an optional encrypted credential. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param authentication_type: Type of authentication used to connect to the Informix as ODBC data + store. Possible values are: Anonymous and Basic. Type: string (or Expression with resultType + string). + :type authentication_type: object + :param credential: The access credential portion of the connection string specified in driver- + specific property-value format. + :type credential: ~azure.mgmt.datafactory.models.SecretBase + :param user_name: User name for Basic authentication. Type: string (or Expression with + resultType string). + :type user_name: object + :param password: Password for Basic authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'SecretBase'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + connection_string: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + authentication_type: Optional[object] = None, + credential: Optional["SecretBase"] = None, + user_name: Optional[object] = None, + password: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(InformixLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Informix' + self.connection_string = connection_string + self.authentication_type = authentication_type + self.credential = credential + self.user_name = user_name + self.password = password + self.encrypted_credential = encrypted_credential + + +class InformixTableDataset(Dataset): + """The Informix table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The Informix table name. Type: string (or Expression with resultType + string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(InformixTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'InformixTable' + self.table_name = table_name + + +class IntegrationRuntime(msrest.serialization.Model): + """Azure Data Factory nested object which serves as a compute resource for activities. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ManagedIntegrationRuntime, SelfHostedIntegrationRuntime. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of integration runtime.Constant filled by server. Possible values + include: "Managed", "SelfHosted". + :type type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeType + :param description: Integration runtime description. + :type description: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'Managed': 'ManagedIntegrationRuntime', 'SelfHosted': 'SelfHostedIntegrationRuntime'} + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + **kwargs + ): + super(IntegrationRuntime, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = 'IntegrationRuntime' + self.description = description + + +class IntegrationRuntimeAuthKeys(msrest.serialization.Model): + """The integration runtime authentication keys. + + :param auth_key1: The primary integration runtime authentication key. + :type auth_key1: str + :param auth_key2: The secondary integration runtime authentication key. + :type auth_key2: str + """ + + _attribute_map = { + 'auth_key1': {'key': 'authKey1', 'type': 'str'}, + 'auth_key2': {'key': 'authKey2', 'type': 'str'}, + } + + def __init__( + self, + *, + auth_key1: Optional[str] = None, + auth_key2: Optional[str] = None, + **kwargs + ): + super(IntegrationRuntimeAuthKeys, self).__init__(**kwargs) + self.auth_key1 = auth_key1 + self.auth_key2 = auth_key2 + + +class IntegrationRuntimeComputeProperties(msrest.serialization.Model): + """The compute resource properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param location: The location for managed integration runtime. The supported regions could be + found on https://docs.microsoft.com/en-us/azure/data-factory/data-factory-data-movement- + activities. + :type location: str + :param node_size: The node size requirement to managed integration runtime. + :type node_size: str + :param number_of_nodes: The required number of nodes for managed integration runtime. + :type number_of_nodes: int + :param max_parallel_executions_per_node: Maximum parallel executions count per node for managed + integration runtime. + :type max_parallel_executions_per_node: int + :param data_flow_properties: Data flow properties for managed integration runtime. + :type data_flow_properties: ~azure.mgmt.datafactory.models.IntegrationRuntimeDataFlowProperties + :param v_net_properties: VNet properties for managed integration runtime. + :type v_net_properties: ~azure.mgmt.datafactory.models.IntegrationRuntimeVNetProperties + """ + + _validation = { + 'number_of_nodes': {'minimum': 1}, + 'max_parallel_executions_per_node': {'minimum': 1}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'node_size': {'key': 'nodeSize', 'type': 'str'}, + 'number_of_nodes': {'key': 'numberOfNodes', 'type': 'int'}, + 'max_parallel_executions_per_node': {'key': 'maxParallelExecutionsPerNode', 'type': 'int'}, + 'data_flow_properties': {'key': 'dataFlowProperties', 'type': 'IntegrationRuntimeDataFlowProperties'}, + 'v_net_properties': {'key': 'vNetProperties', 'type': 'IntegrationRuntimeVNetProperties'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + location: Optional[str] = None, + node_size: Optional[str] = None, + number_of_nodes: Optional[int] = None, + max_parallel_executions_per_node: Optional[int] = None, + data_flow_properties: Optional["IntegrationRuntimeDataFlowProperties"] = None, + v_net_properties: Optional["IntegrationRuntimeVNetProperties"] = None, + **kwargs + ): + super(IntegrationRuntimeComputeProperties, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.location = location + self.node_size = node_size + self.number_of_nodes = number_of_nodes + self.max_parallel_executions_per_node = max_parallel_executions_per_node + self.data_flow_properties = data_flow_properties + self.v_net_properties = v_net_properties + + +class IntegrationRuntimeConnectionInfo(msrest.serialization.Model): + """Connection information for encrypting the on-premises data source credentials. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar service_token: The token generated in service. Callers use this token to authenticate to + integration runtime. + :vartype service_token: str + :ivar identity_cert_thumbprint: The integration runtime SSL certificate thumbprint. Click-Once + application uses it to do server validation. + :vartype identity_cert_thumbprint: str + :ivar host_service_uri: The on-premises integration runtime host URL. + :vartype host_service_uri: str + :ivar version: The integration runtime version. + :vartype version: str + :ivar public_key: The public key for encrypting a credential when transferring the credential + to the integration runtime. + :vartype public_key: str + :ivar is_identity_cert_exprired: Whether the identity certificate is expired. + :vartype is_identity_cert_exprired: bool + """ + + _validation = { + 'service_token': {'readonly': True}, + 'identity_cert_thumbprint': {'readonly': True}, + 'host_service_uri': {'readonly': True}, + 'version': {'readonly': True}, + 'public_key': {'readonly': True}, + 'is_identity_cert_exprired': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'service_token': {'key': 'serviceToken', 'type': 'str'}, + 'identity_cert_thumbprint': {'key': 'identityCertThumbprint', 'type': 'str'}, + 'host_service_uri': {'key': 'hostServiceUri', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'public_key': {'key': 'publicKey', 'type': 'str'}, + 'is_identity_cert_exprired': {'key': 'isIdentityCertExprired', 'type': 'bool'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(IntegrationRuntimeConnectionInfo, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.service_token = None + self.identity_cert_thumbprint = None + self.host_service_uri = None + self.version = None + self.public_key = None + self.is_identity_cert_exprired = None + + +class IntegrationRuntimeCustomSetupScriptProperties(msrest.serialization.Model): + """Custom setup script properties for a managed dedicated integration runtime. + + :param blob_container_uri: The URI of the Azure blob container that contains the custom setup + script. + :type blob_container_uri: str + :param sas_token: The SAS token of the Azure blob container. + :type sas_token: ~azure.mgmt.datafactory.models.SecureString + """ + + _attribute_map = { + 'blob_container_uri': {'key': 'blobContainerUri', 'type': 'str'}, + 'sas_token': {'key': 'sasToken', 'type': 'SecureString'}, + } + + def __init__( + self, + *, + blob_container_uri: Optional[str] = None, + sas_token: Optional["SecureString"] = None, + **kwargs + ): + super(IntegrationRuntimeCustomSetupScriptProperties, self).__init__(**kwargs) + self.blob_container_uri = blob_container_uri + self.sas_token = sas_token + + +class IntegrationRuntimeDataFlowProperties(msrest.serialization.Model): + """Data flow properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param compute_type: Compute type of the cluster which will execute data flow job. Possible + values include: "General", "MemoryOptimized", "ComputeOptimized". + :type compute_type: str or ~azure.mgmt.datafactory.models.DataFlowComputeType + :param core_count: Core count of the cluster which will execute data flow job. Supported values + are: 8, 16, 32, 48, 80, 144 and 272. + :type core_count: int + :param time_to_live: Time to live (in minutes) setting of the cluster which will execute data + flow job. + :type time_to_live: int + """ + + _validation = { + 'time_to_live': {'minimum': 0}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'compute_type': {'key': 'computeType', 'type': 'str'}, + 'core_count': {'key': 'coreCount', 'type': 'int'}, + 'time_to_live': {'key': 'timeToLive', 'type': 'int'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + compute_type: Optional[Union[str, "DataFlowComputeType"]] = None, + core_count: Optional[int] = None, + time_to_live: Optional[int] = None, + **kwargs + ): + super(IntegrationRuntimeDataFlowProperties, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.compute_type = compute_type + self.core_count = core_count + self.time_to_live = time_to_live + + +class IntegrationRuntimeDataProxyProperties(msrest.serialization.Model): + """Data proxy properties for a managed dedicated integration runtime. + + :param connect_via: The self-hosted integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.EntityReference + :param staging_linked_service: The staging linked service reference. + :type staging_linked_service: ~azure.mgmt.datafactory.models.EntityReference + :param path: The path to contain the staged data in the Blob storage. + :type path: str + """ + + _attribute_map = { + 'connect_via': {'key': 'connectVia', 'type': 'EntityReference'}, + 'staging_linked_service': {'key': 'stagingLinkedService', 'type': 'EntityReference'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__( + self, + *, + connect_via: Optional["EntityReference"] = None, + staging_linked_service: Optional["EntityReference"] = None, + path: Optional[str] = None, + **kwargs + ): + super(IntegrationRuntimeDataProxyProperties, self).__init__(**kwargs) + self.connect_via = connect_via + self.staging_linked_service = staging_linked_service + self.path = path + + +class IntegrationRuntimeDebugResource(SubResourceDebugResource): + """Integration runtime debug resource. + + All required parameters must be populated in order to send to Azure. + + :param name: The resource name. + :type name: str + :param properties: Required. Integration runtime properties. + :type properties: ~azure.mgmt.datafactory.models.IntegrationRuntime + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'IntegrationRuntime'}, + } + + def __init__( + self, + *, + properties: "IntegrationRuntime", + name: Optional[str] = None, + **kwargs + ): + super(IntegrationRuntimeDebugResource, self).__init__(name=name, **kwargs) + self.properties = properties + + +class IntegrationRuntimeListResponse(msrest.serialization.Model): + """A list of integration runtime resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of integration runtimes. + :type value: list[~azure.mgmt.datafactory.models.IntegrationRuntimeResource] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationRuntimeResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["IntegrationRuntimeResource"], + next_link: Optional[str] = None, + **kwargs + ): + super(IntegrationRuntimeListResponse, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class IntegrationRuntimeMonitoringData(msrest.serialization.Model): + """Get monitoring data response. + + :param name: Integration runtime name. + :type name: str + :param nodes: Integration runtime node monitoring data. + :type nodes: list[~azure.mgmt.datafactory.models.IntegrationRuntimeNodeMonitoringData] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'nodes': {'key': 'nodes', 'type': '[IntegrationRuntimeNodeMonitoringData]'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + nodes: Optional[List["IntegrationRuntimeNodeMonitoringData"]] = None, + **kwargs + ): + super(IntegrationRuntimeMonitoringData, self).__init__(**kwargs) + self.name = name + self.nodes = nodes + + +class IntegrationRuntimeNodeIpAddress(msrest.serialization.Model): + """The IP address of self-hosted integration runtime node. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar ip_address: The IP address of self-hosted integration runtime node. + :vartype ip_address: str + """ + + _validation = { + 'ip_address': {'readonly': True}, + } + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IntegrationRuntimeNodeIpAddress, self).__init__(**kwargs) + self.ip_address = None + + +class IntegrationRuntimeNodeMonitoringData(msrest.serialization.Model): + """Monitoring data for integration runtime node. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar node_name: Name of the integration runtime node. + :vartype node_name: str + :ivar available_memory_in_mb: Available memory (MB) on the integration runtime node. + :vartype available_memory_in_mb: int + :ivar cpu_utilization: CPU percentage on the integration runtime node. + :vartype cpu_utilization: int + :ivar concurrent_jobs_limit: Maximum concurrent jobs on the integration runtime node. + :vartype concurrent_jobs_limit: int + :ivar concurrent_jobs_running: The number of jobs currently running on the integration runtime + node. + :vartype concurrent_jobs_running: int + :ivar max_concurrent_jobs: The maximum concurrent jobs in this integration runtime. + :vartype max_concurrent_jobs: int + :ivar sent_bytes: Sent bytes on the integration runtime node. + :vartype sent_bytes: float + :ivar received_bytes: Received bytes on the integration runtime node. + :vartype received_bytes: float + """ + + _validation = { + 'node_name': {'readonly': True}, + 'available_memory_in_mb': {'readonly': True}, + 'cpu_utilization': {'readonly': True}, + 'concurrent_jobs_limit': {'readonly': True}, + 'concurrent_jobs_running': {'readonly': True}, + 'max_concurrent_jobs': {'readonly': True}, + 'sent_bytes': {'readonly': True}, + 'received_bytes': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'node_name': {'key': 'nodeName', 'type': 'str'}, + 'available_memory_in_mb': {'key': 'availableMemoryInMB', 'type': 'int'}, + 'cpu_utilization': {'key': 'cpuUtilization', 'type': 'int'}, + 'concurrent_jobs_limit': {'key': 'concurrentJobsLimit', 'type': 'int'}, + 'concurrent_jobs_running': {'key': 'concurrentJobsRunning', 'type': 'int'}, + 'max_concurrent_jobs': {'key': 'maxConcurrentJobs', 'type': 'int'}, + 'sent_bytes': {'key': 'sentBytes', 'type': 'float'}, + 'received_bytes': {'key': 'receivedBytes', 'type': 'float'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(IntegrationRuntimeNodeMonitoringData, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.node_name = None + self.available_memory_in_mb = None + self.cpu_utilization = None + self.concurrent_jobs_limit = None + self.concurrent_jobs_running = None + self.max_concurrent_jobs = None + self.sent_bytes = None + self.received_bytes = None + + +class IntegrationRuntimeReference(msrest.serialization.Model): + """Integration runtime reference type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar type: Required. Type of integration runtime. Default value: + "IntegrationRuntimeReference". + :vartype type: str + :param reference_name: Required. Reference integration runtime name. + :type reference_name: str + :param parameters: Arguments for integration runtime. + :type parameters: dict[str, object] + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'reference_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{object}'}, + } + + type = "IntegrationRuntimeReference" + + def __init__( + self, + *, + reference_name: str, + parameters: Optional[Dict[str, object]] = None, + **kwargs + ): + super(IntegrationRuntimeReference, self).__init__(**kwargs) + self.reference_name = reference_name + self.parameters = parameters + + +class IntegrationRuntimeRegenerateKeyParameters(msrest.serialization.Model): + """Parameters to regenerate the authentication key. + + :param key_name: The name of the authentication key to regenerate. Possible values include: + "authKey1", "authKey2". + :type key_name: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeAuthKeyName + """ + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + } + + def __init__( + self, + *, + key_name: Optional[Union[str, "IntegrationRuntimeAuthKeyName"]] = None, + **kwargs + ): + super(IntegrationRuntimeRegenerateKeyParameters, self).__init__(**kwargs) + self.key_name = key_name + + +class IntegrationRuntimeResource(SubResource): + """Integration runtime resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Required. Integration runtime properties. + :type properties: ~azure.mgmt.datafactory.models.IntegrationRuntime + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'IntegrationRuntime'}, + } + + def __init__( + self, + *, + properties: "IntegrationRuntime", + **kwargs + ): + super(IntegrationRuntimeResource, self).__init__(**kwargs) + self.properties = properties + + +class IntegrationRuntimeSsisCatalogInfo(msrest.serialization.Model): + """Catalog information for managed dedicated integration runtime. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param catalog_server_endpoint: The catalog database server URL. + :type catalog_server_endpoint: str + :param catalog_admin_user_name: The administrator user name of catalog database. + :type catalog_admin_user_name: str + :param catalog_admin_password: The password of the administrator user account of the catalog + database. + :type catalog_admin_password: ~azure.mgmt.datafactory.models.SecureString + :param catalog_pricing_tier: The pricing tier for the catalog database. The valid values could + be found in https://azure.microsoft.com/en-us/pricing/details/sql-database/. Possible values + include: "Basic", "Standard", "Premium", "PremiumRS". + :type catalog_pricing_tier: str or + ~azure.mgmt.datafactory.models.IntegrationRuntimeSsisCatalogPricingTier + """ + + _validation = { + 'catalog_admin_user_name': {'max_length': 128, 'min_length': 1}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'catalog_server_endpoint': {'key': 'catalogServerEndpoint', 'type': 'str'}, + 'catalog_admin_user_name': {'key': 'catalogAdminUserName', 'type': 'str'}, + 'catalog_admin_password': {'key': 'catalogAdminPassword', 'type': 'SecureString'}, + 'catalog_pricing_tier': {'key': 'catalogPricingTier', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + catalog_server_endpoint: Optional[str] = None, + catalog_admin_user_name: Optional[str] = None, + catalog_admin_password: Optional["SecureString"] = None, + catalog_pricing_tier: Optional[Union[str, "IntegrationRuntimeSsisCatalogPricingTier"]] = None, + **kwargs + ): + super(IntegrationRuntimeSsisCatalogInfo, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.catalog_server_endpoint = catalog_server_endpoint + self.catalog_admin_user_name = catalog_admin_user_name + self.catalog_admin_password = catalog_admin_password + self.catalog_pricing_tier = catalog_pricing_tier + + +class IntegrationRuntimeSsisProperties(msrest.serialization.Model): + """SSIS properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param catalog_info: Catalog information for managed dedicated integration runtime. + :type catalog_info: ~azure.mgmt.datafactory.models.IntegrationRuntimeSsisCatalogInfo + :param license_type: License type for bringing your own license scenario. Possible values + include: "BasePrice", "LicenseIncluded". + :type license_type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeLicenseType + :param custom_setup_script_properties: Custom setup script properties for a managed dedicated + integration runtime. + :type custom_setup_script_properties: + ~azure.mgmt.datafactory.models.IntegrationRuntimeCustomSetupScriptProperties + :param data_proxy_properties: Data proxy properties for a managed dedicated integration + runtime. + :type data_proxy_properties: + ~azure.mgmt.datafactory.models.IntegrationRuntimeDataProxyProperties + :param edition: The edition for the SSIS Integration Runtime. Possible values include: + "Standard", "Enterprise". + :type edition: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeEdition + :param express_custom_setup_properties: Custom setup without script properties for a SSIS + integration runtime. + :type express_custom_setup_properties: list[~azure.mgmt.datafactory.models.CustomSetupBase] + :param package_stores: Package stores for the SSIS Integration Runtime. + :type package_stores: list[~azure.mgmt.datafactory.models.PackageStore] + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'catalog_info': {'key': 'catalogInfo', 'type': 'IntegrationRuntimeSsisCatalogInfo'}, + 'license_type': {'key': 'licenseType', 'type': 'str'}, + 'custom_setup_script_properties': {'key': 'customSetupScriptProperties', 'type': 'IntegrationRuntimeCustomSetupScriptProperties'}, + 'data_proxy_properties': {'key': 'dataProxyProperties', 'type': 'IntegrationRuntimeDataProxyProperties'}, + 'edition': {'key': 'edition', 'type': 'str'}, + 'express_custom_setup_properties': {'key': 'expressCustomSetupProperties', 'type': '[CustomSetupBase]'}, + 'package_stores': {'key': 'packageStores', 'type': '[PackageStore]'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + catalog_info: Optional["IntegrationRuntimeSsisCatalogInfo"] = None, + license_type: Optional[Union[str, "IntegrationRuntimeLicenseType"]] = None, + custom_setup_script_properties: Optional["IntegrationRuntimeCustomSetupScriptProperties"] = None, + data_proxy_properties: Optional["IntegrationRuntimeDataProxyProperties"] = None, + edition: Optional[Union[str, "IntegrationRuntimeEdition"]] = None, + express_custom_setup_properties: Optional[List["CustomSetupBase"]] = None, + package_stores: Optional[List["PackageStore"]] = None, + **kwargs + ): + super(IntegrationRuntimeSsisProperties, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.catalog_info = catalog_info + self.license_type = license_type + self.custom_setup_script_properties = custom_setup_script_properties + self.data_proxy_properties = data_proxy_properties + self.edition = edition + self.express_custom_setup_properties = express_custom_setup_properties + self.package_stores = package_stores + + +class IntegrationRuntimeStatus(msrest.serialization.Model): + """Integration runtime status. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ManagedIntegrationRuntimeStatus, SelfHostedIntegrationRuntimeStatus. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of integration runtime.Constant filled by server. Possible values + include: "Managed", "SelfHosted". + :type type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeType + :ivar data_factory_name: The data factory name which the integration runtime belong to. + :vartype data_factory_name: str + :ivar state: The state of integration runtime. Possible values include: "Initial", "Stopped", + "Started", "Starting", "Stopping", "NeedRegistration", "Online", "Limited", "Offline", + "AccessDenied". + :vartype state: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeState + """ + + _validation = { + 'type': {'required': True}, + 'data_factory_name': {'readonly': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'Managed': 'ManagedIntegrationRuntimeStatus', 'SelfHosted': 'SelfHostedIntegrationRuntimeStatus'} + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(IntegrationRuntimeStatus, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = 'IntegrationRuntimeStatus' + self.data_factory_name = None + self.state = None + + +class IntegrationRuntimeStatusListResponse(msrest.serialization.Model): + """A list of integration runtime status. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of integration runtime status. + :type value: list[~azure.mgmt.datafactory.models.IntegrationRuntimeStatusResponse] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IntegrationRuntimeStatusResponse]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["IntegrationRuntimeStatusResponse"], + next_link: Optional[str] = None, + **kwargs + ): + super(IntegrationRuntimeStatusListResponse, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class IntegrationRuntimeStatusResponse(msrest.serialization.Model): + """Integration runtime status response. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: The integration runtime name. + :vartype name: str + :param properties: Required. Integration runtime properties. + :type properties: ~azure.mgmt.datafactory.models.IntegrationRuntimeStatus + """ + + _validation = { + 'name': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'IntegrationRuntimeStatus'}, + } + + def __init__( + self, + *, + properties: "IntegrationRuntimeStatus", + **kwargs + ): + super(IntegrationRuntimeStatusResponse, self).__init__(**kwargs) + self.name = None + self.properties = properties + + +class IntegrationRuntimeVNetProperties(msrest.serialization.Model): + """VNet properties for managed integration runtime. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param v_net_id: The ID of the VNet that this integration runtime will join. + :type v_net_id: str + :param subnet: The name of the subnet this integration runtime will join. + :type subnet: str + :param public_i_ps: Resource IDs of the public IP addresses that this integration runtime will + use. + :type public_i_ps: list[str] + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'v_net_id': {'key': 'vNetId', 'type': 'str'}, + 'subnet': {'key': 'subnet', 'type': 'str'}, + 'public_i_ps': {'key': 'publicIPs', 'type': '[str]'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + v_net_id: Optional[str] = None, + subnet: Optional[str] = None, + public_i_ps: Optional[List[str]] = None, + **kwargs + ): + super(IntegrationRuntimeVNetProperties, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.v_net_id = v_net_id + self.subnet = subnet + self.public_i_ps = public_i_ps + + +class JiraLinkedService(LinkedService): + """Jira Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The IP address or host name of the Jira service. (e.g. + jira.example.com). + :type host: object + :param port: The TCP port that the Jira server uses to listen for client connections. The + default value is 443 if connecting through HTTPS, or 8080 if connecting through HTTP. + :type port: object + :param username: Required. The user name that you use to access Jira Service. + :type username: object + :param password: The password corresponding to the user name that you provided in the username + field. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'username': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + username: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + port: Optional[object] = None, + password: Optional["SecretBase"] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(JiraLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Jira' + self.host = host + self.port = port + self.username = username + self.password = password + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class JiraObjectDataset(Dataset): + """Jira Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(JiraObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'JiraObject' + self.table_name = table_name + + +class JsonDataset(Dataset): + """Json dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param location: The location of the json data storage. + :type location: ~azure.mgmt.datafactory.models.DatasetLocation + :param encoding_name: The code page name of the preferred encoding. If not specified, the + default value is UTF-8, unless BOM denotes another Unicode encoding. Refer to the name column + of the table in the following link to set supported values: + https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with + resultType string). + :type encoding_name: object + :param compression: The data compression method used for the json dataset. + :type compression: ~azure.mgmt.datafactory.models.DatasetCompression + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, + 'encoding_name': {'key': 'typeProperties.encodingName', 'type': 'object'}, + 'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + location: Optional["DatasetLocation"] = None, + encoding_name: Optional[object] = None, + compression: Optional["DatasetCompression"] = None, + **kwargs + ): + super(JsonDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'Json' + self.location = location + self.encoding_name = encoding_name + self.compression = compression + + +class LinkedIntegrationRuntime(msrest.serialization.Model): + """The linked integration runtime information. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The name of the linked integration runtime. + :vartype name: str + :ivar subscription_id: The subscription ID for which the linked integration runtime belong to. + :vartype subscription_id: str + :ivar data_factory_name: The name of the data factory for which the linked integration runtime + belong to. + :vartype data_factory_name: str + :ivar data_factory_location: The location of the data factory for which the linked integration + runtime belong to. + :vartype data_factory_location: str + :ivar create_time: The creating time of the linked integration runtime. + :vartype create_time: ~datetime.datetime + """ + + _validation = { + 'name': {'readonly': True}, + 'subscription_id': {'readonly': True}, + 'data_factory_name': {'readonly': True}, + 'data_factory_location': {'readonly': True}, + 'create_time': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'data_factory_location': {'key': 'dataFactoryLocation', 'type': 'str'}, + 'create_time': {'key': 'createTime', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(LinkedIntegrationRuntime, self).__init__(**kwargs) + self.name = None + self.subscription_id = None + self.data_factory_name = None + self.data_factory_location = None + self.create_time = None + + +class LinkedIntegrationRuntimeType(msrest.serialization.Model): + """The base definition of a linked integration runtime. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: LinkedIntegrationRuntimeKeyAuthorization, LinkedIntegrationRuntimeRbacAuthorization. + + All required parameters must be populated in order to send to Azure. + + :param authorization_type: Required. The authorization type for integration runtime + sharing.Constant filled by server. + :type authorization_type: str + """ + + _validation = { + 'authorization_type': {'required': True}, + } + + _attribute_map = { + 'authorization_type': {'key': 'authorizationType', 'type': 'str'}, + } + + _subtype_map = { + 'authorization_type': {'Key': 'LinkedIntegrationRuntimeKeyAuthorization', 'RBAC': 'LinkedIntegrationRuntimeRbacAuthorization'} + } + + def __init__( + self, + **kwargs + ): + super(LinkedIntegrationRuntimeType, self).__init__(**kwargs) + self.authorization_type = None + + +class LinkedIntegrationRuntimeKeyAuthorization(LinkedIntegrationRuntimeType): + """The key authorization type integration runtime. + + All required parameters must be populated in order to send to Azure. + + :param authorization_type: Required. The authorization type for integration runtime + sharing.Constant filled by server. + :type authorization_type: str + :param key: Required. The key used for authorization. + :type key: ~azure.mgmt.datafactory.models.SecureString + """ + + _validation = { + 'authorization_type': {'required': True}, + 'key': {'required': True}, + } + + _attribute_map = { + 'authorization_type': {'key': 'authorizationType', 'type': 'str'}, + 'key': {'key': 'key', 'type': 'SecureString'}, + } + + def __init__( + self, + *, + key: "SecureString", + **kwargs + ): + super(LinkedIntegrationRuntimeKeyAuthorization, self).__init__(**kwargs) + self.authorization_type = 'Key' + self.key = key + + +class LinkedIntegrationRuntimeRbacAuthorization(LinkedIntegrationRuntimeType): + """The role based access control (RBAC) authorization type integration runtime. + + All required parameters must be populated in order to send to Azure. + + :param authorization_type: Required. The authorization type for integration runtime + sharing.Constant filled by server. + :type authorization_type: str + :param resource_id: Required. The resource identifier of the integration runtime to be shared. + :type resource_id: str + """ + + _validation = { + 'authorization_type': {'required': True}, + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'authorization_type': {'key': 'authorizationType', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + } + + def __init__( + self, + *, + resource_id: str, + **kwargs + ): + super(LinkedIntegrationRuntimeRbacAuthorization, self).__init__(**kwargs) + self.authorization_type = 'RBAC' + self.resource_id = resource_id + + +class LinkedIntegrationRuntimeRequest(msrest.serialization.Model): + """Data factory name for linked integration runtime request. + + All required parameters must be populated in order to send to Azure. + + :param linked_factory_name: Required. The data factory name for linked integration runtime. + :type linked_factory_name: str + """ + + _validation = { + 'linked_factory_name': {'required': True}, + } + + _attribute_map = { + 'linked_factory_name': {'key': 'factoryName', 'type': 'str'}, + } + + def __init__( + self, + *, + linked_factory_name: str, + **kwargs + ): + super(LinkedIntegrationRuntimeRequest, self).__init__(**kwargs) + self.linked_factory_name = linked_factory_name + + +class LinkedServiceDebugResource(SubResourceDebugResource): + """Linked service debug resource. + + All required parameters must be populated in order to send to Azure. + + :param name: The resource name. + :type name: str + :param properties: Required. Properties of linked service. + :type properties: ~azure.mgmt.datafactory.models.LinkedService + """ + + _validation = { + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'LinkedService'}, + } + + def __init__( + self, + *, + properties: "LinkedService", + name: Optional[str] = None, + **kwargs + ): + super(LinkedServiceDebugResource, self).__init__(name=name, **kwargs) + self.properties = properties + + +class LinkedServiceListResponse(msrest.serialization.Model): + """A list of linked service resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of linked services. + :type value: list[~azure.mgmt.datafactory.models.LinkedServiceResource] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[LinkedServiceResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["LinkedServiceResource"], + next_link: Optional[str] = None, + **kwargs + ): + super(LinkedServiceListResponse, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class LinkedServiceReference(msrest.serialization.Model): + """Linked service reference type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar type: Required. Linked service reference type. Default value: "LinkedServiceReference". + :vartype type: str + :param reference_name: Required. Reference LinkedService name. + :type reference_name: str + :param parameters: Arguments for LinkedService. + :type parameters: dict[str, object] + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'reference_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{object}'}, + } + + type = "LinkedServiceReference" + + def __init__( + self, + *, + reference_name: str, + parameters: Optional[Dict[str, object]] = None, + **kwargs + ): + super(LinkedServiceReference, self).__init__(**kwargs) + self.reference_name = reference_name + self.parameters = parameters + + +class LinkedServiceResource(SubResource): + """Linked service resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Required. Properties of linked service. + :type properties: ~azure.mgmt.datafactory.models.LinkedService + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'LinkedService'}, + } + + def __init__( + self, + *, + properties: "LinkedService", + **kwargs + ): + super(LinkedServiceResource, self).__init__(**kwargs) + self.properties = properties + + +class LogStorageSettings(msrest.serialization.Model): + """Log storage settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param linked_service_name: Required. Log storage linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param path: The path to storage for storing detailed logs of activity execution. Type: string + (or Expression with resultType string). + :type path: object + """ + + _validation = { + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'path': {'key': 'path', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + path: Optional[object] = None, + **kwargs + ): + super(LogStorageSettings, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.linked_service_name = linked_service_name + self.path = path + + +class LookupActivity(ExecutionActivity): + """Lookup activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param source: Required. Dataset-specific source properties, same as copy activity source. + :type source: ~azure.mgmt.datafactory.models.CopySource + :param dataset: Required. Lookup activity dataset reference. + :type dataset: ~azure.mgmt.datafactory.models.DatasetReference + :param first_row_only: Whether to return first row or all rows. Default value is true. Type: + boolean (or Expression with resultType boolean). + :type first_row_only: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'source': {'required': True}, + 'dataset': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'source': {'key': 'typeProperties.source', 'type': 'CopySource'}, + 'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'}, + 'first_row_only': {'key': 'typeProperties.firstRowOnly', 'type': 'object'}, + } + + def __init__( + self, + *, + name: str, + source: "CopySource", + dataset: "DatasetReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + first_row_only: Optional[object] = None, + **kwargs + ): + super(LookupActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'Lookup' + self.source = source + self.dataset = dataset + self.first_row_only = first_row_only + + +class MagentoLinkedService(LinkedService): + """Magento server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The URL of the Magento instance. (i.e. 192.168.222.110/magento3). + :type host: object + :param access_token: The access token from Magento. + :type access_token: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + access_token: Optional["SecretBase"] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(MagentoLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Magento' + self.host = host + self.access_token = access_token + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class MagentoObjectDataset(Dataset): + """Magento server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(MagentoObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'MagentoObject' + self.table_name = table_name + + +class ManagedIntegrationRuntime(IntegrationRuntime): + """Managed integration runtime, including managed elastic and managed dedicated integration runtimes. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of integration runtime.Constant filled by server. Possible values + include: "Managed", "SelfHosted". + :type type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeType + :param description: Integration runtime description. + :type description: str + :ivar state: Integration runtime state, only valid for managed dedicated integration runtime. + Possible values include: "Initial", "Stopped", "Started", "Starting", "Stopping", + "NeedRegistration", "Online", "Limited", "Offline", "AccessDenied". + :vartype state: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeState + :param compute_properties: The compute resource for managed integration runtime. + :type compute_properties: ~azure.mgmt.datafactory.models.IntegrationRuntimeComputeProperties + :param ssis_properties: SSIS properties for managed integration runtime. + :type ssis_properties: ~azure.mgmt.datafactory.models.IntegrationRuntimeSsisProperties + """ + + _validation = { + 'type': {'required': True}, + 'state': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'compute_properties': {'key': 'typeProperties.computeProperties', 'type': 'IntegrationRuntimeComputeProperties'}, + 'ssis_properties': {'key': 'typeProperties.ssisProperties', 'type': 'IntegrationRuntimeSsisProperties'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + compute_properties: Optional["IntegrationRuntimeComputeProperties"] = None, + ssis_properties: Optional["IntegrationRuntimeSsisProperties"] = None, + **kwargs + ): + super(ManagedIntegrationRuntime, self).__init__(additional_properties=additional_properties, description=description, **kwargs) + self.type = 'Managed' + self.state = None + self.compute_properties = compute_properties + self.ssis_properties = ssis_properties + + +class ManagedIntegrationRuntimeError(msrest.serialization.Model): + """Error definition for managed integration runtime. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar time: The time when the error occurred. + :vartype time: ~datetime.datetime + :ivar code: Error code. + :vartype code: str + :ivar parameters: Managed integration runtime error parameters. + :vartype parameters: list[str] + :ivar message: Error message. + :vartype message: str + """ + + _validation = { + 'time': {'readonly': True}, + 'code': {'readonly': True}, + 'parameters': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + 'code': {'key': 'code', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(ManagedIntegrationRuntimeError, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.time = None + self.code = None + self.parameters = None + self.message = None + + +class ManagedIntegrationRuntimeNode(msrest.serialization.Model): + """Properties of integration runtime node. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar node_id: The managed integration runtime node id. + :vartype node_id: str + :ivar status: The managed integration runtime node status. Possible values include: "Starting", + "Available", "Recycling", "Unavailable". + :vartype status: str or ~azure.mgmt.datafactory.models.ManagedIntegrationRuntimeNodeStatus + :param errors: The errors that occurred on this integration runtime node. + :type errors: list[~azure.mgmt.datafactory.models.ManagedIntegrationRuntimeError] + """ + + _validation = { + 'node_id': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'node_id': {'key': 'nodeId', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'errors': {'key': 'errors', 'type': '[ManagedIntegrationRuntimeError]'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + errors: Optional[List["ManagedIntegrationRuntimeError"]] = None, + **kwargs + ): + super(ManagedIntegrationRuntimeNode, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.node_id = None + self.status = None + self.errors = errors + + +class ManagedIntegrationRuntimeOperationResult(msrest.serialization.Model): + """Properties of managed integration runtime operation result. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar type: The operation type. Could be start or stop. + :vartype type: str + :ivar start_time: The start time of the operation. + :vartype start_time: ~datetime.datetime + :ivar result: The operation result. + :vartype result: str + :ivar error_code: The error code. + :vartype error_code: str + :ivar parameters: Managed integration runtime error parameters. + :vartype parameters: list[str] + :ivar activity_id: The activity id for the operation request. + :vartype activity_id: str + """ + + _validation = { + 'type': {'readonly': True}, + 'start_time': {'readonly': True}, + 'result': {'readonly': True}, + 'error_code': {'readonly': True}, + 'parameters': {'readonly': True}, + 'activity_id': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'result': {'key': 'result', 'type': 'str'}, + 'error_code': {'key': 'errorCode', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '[str]'}, + 'activity_id': {'key': 'activityId', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(ManagedIntegrationRuntimeOperationResult, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = None + self.start_time = None + self.result = None + self.error_code = None + self.parameters = None + self.activity_id = None + + +class ManagedIntegrationRuntimeStatus(IntegrationRuntimeStatus): + """Managed integration runtime status. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of integration runtime.Constant filled by server. Possible values + include: "Managed", "SelfHosted". + :type type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeType + :ivar data_factory_name: The data factory name which the integration runtime belong to. + :vartype data_factory_name: str + :ivar state: The state of integration runtime. Possible values include: "Initial", "Stopped", + "Started", "Starting", "Stopping", "NeedRegistration", "Online", "Limited", "Offline", + "AccessDenied". + :vartype state: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeState + :ivar create_time: The time at which the integration runtime was created, in ISO8601 format. + :vartype create_time: ~datetime.datetime + :ivar nodes: The list of nodes for managed integration runtime. + :vartype nodes: list[~azure.mgmt.datafactory.models.ManagedIntegrationRuntimeNode] + :ivar other_errors: The errors that occurred on this integration runtime. + :vartype other_errors: list[~azure.mgmt.datafactory.models.ManagedIntegrationRuntimeError] + :ivar last_operation: The last operation result that occurred on this integration runtime. + :vartype last_operation: + ~azure.mgmt.datafactory.models.ManagedIntegrationRuntimeOperationResult + """ + + _validation = { + 'type': {'required': True}, + 'data_factory_name': {'readonly': True}, + 'state': {'readonly': True}, + 'create_time': {'readonly': True}, + 'nodes': {'readonly': True}, + 'other_errors': {'readonly': True}, + 'last_operation': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'create_time': {'key': 'typeProperties.createTime', 'type': 'iso-8601'}, + 'nodes': {'key': 'typeProperties.nodes', 'type': '[ManagedIntegrationRuntimeNode]'}, + 'other_errors': {'key': 'typeProperties.otherErrors', 'type': '[ManagedIntegrationRuntimeError]'}, + 'last_operation': {'key': 'typeProperties.lastOperation', 'type': 'ManagedIntegrationRuntimeOperationResult'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(ManagedIntegrationRuntimeStatus, self).__init__(additional_properties=additional_properties, **kwargs) + self.type = 'Managed' + self.create_time = None + self.nodes = None + self.other_errors = None + self.last_operation = None + + +class MappingDataFlow(DataFlow): + """Mapping data flow. + + :param type: Type of data flow.Constant filled by server. + :type type: str + :param description: The description of the data flow. + :type description: str + :param annotations: List of tags that can be used for describing the data flow. + :type annotations: list[object] + :param folder: The folder that this data flow is in. If not specified, Data flow will appear at + the root level. + :type folder: ~azure.mgmt.datafactory.models.DataFlowFolder + :param sources: List of sources in data flow. + :type sources: list[~azure.mgmt.datafactory.models.DataFlowSource] + :param sinks: List of sinks in data flow. + :type sinks: list[~azure.mgmt.datafactory.models.DataFlowSink] + :param transformations: List of transformations in data flow. + :type transformations: list[~azure.mgmt.datafactory.models.Transformation] + :param script: DataFlow script. + :type script: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DataFlowFolder'}, + 'sources': {'key': 'typeProperties.sources', 'type': '[DataFlowSource]'}, + 'sinks': {'key': 'typeProperties.sinks', 'type': '[DataFlowSink]'}, + 'transformations': {'key': 'typeProperties.transformations', 'type': '[Transformation]'}, + 'script': {'key': 'typeProperties.script', 'type': 'str'}, + } + + def __init__( + self, + *, + description: Optional[str] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DataFlowFolder"] = None, + sources: Optional[List["DataFlowSource"]] = None, + sinks: Optional[List["DataFlowSink"]] = None, + transformations: Optional[List["Transformation"]] = None, + script: Optional[str] = None, + **kwargs + ): + super(MappingDataFlow, self).__init__(description=description, annotations=annotations, folder=folder, **kwargs) + self.type = 'MappingDataFlow' + self.sources = sources + self.sinks = sinks + self.transformations = transformations + self.script = script + + +class MariaDBLinkedService(LinkedService): + """MariaDB server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param pwd: The Azure key vault secret reference of password in connection string. + :type pwd: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + connection_string: Optional[object] = None, + pwd: Optional["AzureKeyVaultSecretReference"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(MariaDBLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'MariaDB' + self.connection_string = connection_string + self.pwd = pwd + self.encrypted_credential = encrypted_credential + + +class MariaDBTableDataset(Dataset): + """MariaDB server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(MariaDBTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'MariaDBTable' + self.table_name = table_name + + +class MarketoLinkedService(LinkedService): + """Marketo server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of the Marketo server. (i.e. 123-ABC-321.mktorest.com). + :type endpoint: object + :param client_id: Required. The client Id of your Marketo service. + :type client_id: object + :param client_secret: The client secret of your Marketo service. + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + 'client_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + endpoint: object, + client_id: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + client_secret: Optional["SecretBase"] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(MarketoLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Marketo' + self.endpoint = endpoint + self.client_id = client_id + self.client_secret = client_secret + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class MarketoObjectDataset(Dataset): + """Marketo server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(MarketoObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'MarketoObject' + self.table_name = table_name + + +class MicrosoftAccessLinkedService(LinkedService): + """Microsoft Access linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The non-access credential portion of the connection string + as well as an optional encrypted credential. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param authentication_type: Type of authentication used to connect to the Microsoft Access as + ODBC data store. Possible values are: Anonymous and Basic. Type: string (or Expression with + resultType string). + :type authentication_type: object + :param credential: The access credential portion of the connection string specified in driver- + specific property-value format. + :type credential: ~azure.mgmt.datafactory.models.SecretBase + :param user_name: User name for Basic authentication. Type: string (or Expression with + resultType string). + :type user_name: object + :param password: Password for Basic authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'SecretBase'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + connection_string: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + authentication_type: Optional[object] = None, + credential: Optional["SecretBase"] = None, + user_name: Optional[object] = None, + password: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(MicrosoftAccessLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'MicrosoftAccess' + self.connection_string = connection_string + self.authentication_type = authentication_type + self.credential = credential + self.user_name = user_name + self.password = password + self.encrypted_credential = encrypted_credential + + +class MicrosoftAccessTableDataset(Dataset): + """The Microsoft Access table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The Microsoft Access table name. Type: string (or Expression with resultType + string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(MicrosoftAccessTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'MicrosoftAccessTable' + self.table_name = table_name + + +class MongoDBCollectionDataset(Dataset): + """The MongoDB database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param collection_name: Required. The table name of the MongoDB database. Type: string (or + Expression with resultType string). + :type collection_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'collection_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'collection_name': {'key': 'typeProperties.collectionName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + collection_name: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + **kwargs + ): + super(MongoDBCollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'MongoDbCollection' + self.collection_name = collection_name + + +class MongoDBLinkedService(LinkedService): + """Linked service for MongoDb data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param server: Required. The IP address or server name of the MongoDB server. Type: string (or + Expression with resultType string). + :type server: object + :param authentication_type: The authentication type to be used to connect to the MongoDB + database. Possible values include: "Basic", "Anonymous". + :type authentication_type: str or ~azure.mgmt.datafactory.models.MongoDBAuthenticationType + :param database_name: Required. The name of the MongoDB database that you want to access. Type: + string (or Expression with resultType string). + :type database_name: object + :param username: Username for authentication. Type: string (or Expression with resultType + string). + :type username: object + :param password: Password for authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param auth_source: Database to verify the username and password. Type: string (or Expression + with resultType string). + :type auth_source: object + :param port: The TCP port number that the MongoDB server uses to listen for client connections. + The default value is 27017. Type: integer (or Expression with resultType integer), minimum: 0. + :type port: object + :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The + default value is false. Type: boolean (or Expression with resultType boolean). + :type enable_ssl: object + :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from + the server. The default value is false. Type: boolean (or Expression with resultType boolean). + :type allow_self_signed_server_cert: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'server': {'required': True}, + 'database_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'database_name': {'key': 'typeProperties.databaseName', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'auth_source': {'key': 'typeProperties.authSource', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + server: object, + database_name: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + authentication_type: Optional[Union[str, "MongoDBAuthenticationType"]] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + auth_source: Optional[object] = None, + port: Optional[object] = None, + enable_ssl: Optional[object] = None, + allow_self_signed_server_cert: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(MongoDBLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'MongoDb' + self.server = server + self.authentication_type = authentication_type + self.database_name = database_name + self.username = username + self.password = password + self.auth_source = auth_source + self.port = port + self.enable_ssl = enable_ssl + self.allow_self_signed_server_cert = allow_self_signed_server_cert + self.encrypted_credential = encrypted_credential + + +class MongoDBV2CollectionDataset(Dataset): + """The MongoDB database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param collection: Required. The collection name of the MongoDB database. Type: string (or + Expression with resultType string). + :type collection: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'collection': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'collection': {'key': 'typeProperties.collection', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + collection: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + **kwargs + ): + super(MongoDBV2CollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'MongoDbV2Collection' + self.collection = collection + + +class MongoDBV2LinkedService(LinkedService): + """Linked service for MongoDB data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The MongoDB connection string. Type: string, SecureString + or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference. + :type connection_string: object + :param database: Required. The name of the MongoDB database that you want to access. Type: + string (or Expression with resultType string). + :type database: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + 'database': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + } + + def __init__( + self, + *, + connection_string: object, + database: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + **kwargs + ): + super(MongoDBV2LinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'MongoDbV2' + self.connection_string = connection_string + self.database = database + + +class Trigger(msrest.serialization.Model): + """Azure data factory nested object which contains information about creating pipeline run. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: MultiplePipelineTrigger. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Trigger type.Constant filled by server. + :type type: str + :param description: Trigger description. + :type description: str + :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are + called on the Trigger. Possible values include: "Started", "Stopped", "Disabled". + :vartype runtime_state: str or ~azure.mgmt.datafactory.models.TriggerRuntimeState + :param annotations: List of tags that can be used for describing the trigger. + :type annotations: list[object] + """ + + _validation = { + 'type': {'required': True}, + 'runtime_state': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'runtime_state': {'key': 'runtimeState', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + } + + _subtype_map = { + 'type': {'MultiplePipelineTrigger': 'MultiplePipelineTrigger'} + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + annotations: Optional[List[object]] = None, + **kwargs + ): + super(Trigger, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = 'Trigger' + self.description = description + self.runtime_state = None + self.annotations = annotations + + +class MultiplePipelineTrigger(Trigger): + """Base class for all triggers that support one to many model for trigger to pipeline. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Trigger type.Constant filled by server. + :type type: str + :param description: Trigger description. + :type description: str + :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are + called on the Trigger. Possible values include: "Started", "Stopped", "Disabled". + :vartype runtime_state: str or ~azure.mgmt.datafactory.models.TriggerRuntimeState + :param annotations: List of tags that can be used for describing the trigger. + :type annotations: list[object] + :param pipelines: Pipelines that need to be started. + :type pipelines: list[~azure.mgmt.datafactory.models.TriggerPipelineReference] + """ + + _validation = { + 'type': {'required': True}, + 'runtime_state': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'runtime_state': {'key': 'runtimeState', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'pipelines': {'key': 'pipelines', 'type': '[TriggerPipelineReference]'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + annotations: Optional[List[object]] = None, + pipelines: Optional[List["TriggerPipelineReference"]] = None, + **kwargs + ): + super(MultiplePipelineTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, **kwargs) + self.type = 'MultiplePipelineTrigger' + self.pipelines = pipelines + + +class MySqlLinkedService(LinkedService): + """Linked service for MySQL data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + connection_string: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + password: Optional["AzureKeyVaultSecretReference"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(MySqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'MySql' + self.connection_string = connection_string + self.password = password + self.encrypted_credential = encrypted_credential + + +class MySqlTableDataset(Dataset): + """The MySQL table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The MySQL table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(MySqlTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'MySqlTable' + self.table_name = table_name + + +class NetezzaLinkedService(LinkedService): + """Netezza linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param pwd: The Azure key vault secret reference of password in connection string. + :type pwd: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + connection_string: Optional[object] = None, + pwd: Optional["AzureKeyVaultSecretReference"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(NetezzaLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Netezza' + self.connection_string = connection_string + self.pwd = pwd + self.encrypted_credential = encrypted_credential + + +class NetezzaTableDataset(Dataset): + """Netezza dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Netezza. Type: string (or Expression with resultType + string). + :type table: object + :param schema_type_properties_schema: The schema name of the Netezza. Type: string (or + Expression with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + table: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + **kwargs + ): + super(NetezzaTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'NetezzaTable' + self.table_name = table_name + self.table = table + self.schema_type_properties_schema = schema_type_properties_schema + + +class ODataLinkedService(LinkedService): + """Open Data Protocol (OData) linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. The URL of the OData service endpoint. Type: string (or Expression with + resultType string). + :type url: object + :param authentication_type: Type of authentication used to connect to the OData service. + Possible values include: "Basic", "Anonymous", "Windows", "AadServicePrincipal", + "ManagedServiceIdentity". + :type authentication_type: str or ~azure.mgmt.datafactory.models.ODataAuthenticationType + :param user_name: User name of the OData service. Type: string (or Expression with resultType + string). + :type user_name: object + :param password: Password of the OData service. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param tenant: Specify the tenant information (domain name or tenant ID) under which your + application resides. Type: string (or Expression with resultType string). + :type tenant: object + :param service_principal_id: Specify the application id of your application registered in Azure + Active Directory. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param aad_resource_id: Specify the resource you are requesting authorization to use Directory. + Type: string (or Expression with resultType string). + :type aad_resource_id: object + :param aad_service_principal_credential_type: Specify the credential type (key or cert) is used + for service principal. Possible values include: "ServicePrincipalKey", "ServicePrincipalCert". + :type aad_service_principal_credential_type: str or + ~azure.mgmt.datafactory.models.ODataAadServicePrincipalCredentialType + :param service_principal_key: Specify the secret of your application registered in Azure Active + Directory. Type: string (or Expression with resultType string). + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :param service_principal_embedded_cert: Specify the base64 encoded certificate of your + application registered in Azure Active Directory. Type: string (or Expression with resultType + string). + :type service_principal_embedded_cert: ~azure.mgmt.datafactory.models.SecretBase + :param service_principal_embedded_cert_password: Specify the password of your certificate if + your certificate has a password and you are using AadServicePrincipal authentication. Type: + string (or Expression with resultType string). + :type service_principal_embedded_cert_password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'aad_resource_id': {'key': 'typeProperties.aadResourceId', 'type': 'object'}, + 'aad_service_principal_credential_type': {'key': 'typeProperties.aadServicePrincipalCredentialType', 'type': 'str'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'service_principal_embedded_cert': {'key': 'typeProperties.servicePrincipalEmbeddedCert', 'type': 'SecretBase'}, + 'service_principal_embedded_cert_password': {'key': 'typeProperties.servicePrincipalEmbeddedCertPassword', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + url: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + authentication_type: Optional[Union[str, "ODataAuthenticationType"]] = None, + user_name: Optional[object] = None, + password: Optional["SecretBase"] = None, + tenant: Optional[object] = None, + service_principal_id: Optional[object] = None, + aad_resource_id: Optional[object] = None, + aad_service_principal_credential_type: Optional[Union[str, "ODataAadServicePrincipalCredentialType"]] = None, + service_principal_key: Optional["SecretBase"] = None, + service_principal_embedded_cert: Optional["SecretBase"] = None, + service_principal_embedded_cert_password: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(ODataLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'OData' + self.url = url + self.authentication_type = authentication_type + self.user_name = user_name + self.password = password + self.tenant = tenant + self.service_principal_id = service_principal_id + self.aad_resource_id = aad_resource_id + self.aad_service_principal_credential_type = aad_service_principal_credential_type + self.service_principal_key = service_principal_key + self.service_principal_embedded_cert = service_principal_embedded_cert + self.service_principal_embedded_cert_password = service_principal_embedded_cert_password + self.encrypted_credential = encrypted_credential + + +class ODataResourceDataset(Dataset): + """The Open Data Protocol (OData) resource dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param path: The OData resource path. Type: string (or Expression with resultType string). + :type path: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'path': {'key': 'typeProperties.path', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + path: Optional[object] = None, + **kwargs + ): + super(ODataResourceDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'ODataResource' + self.path = path + + +class OdbcLinkedService(LinkedService): + """Open Database Connectivity (ODBC) linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The non-access credential portion of the connection string + as well as an optional encrypted credential. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param authentication_type: Type of authentication used to connect to the ODBC data store. + Possible values are: Anonymous and Basic. Type: string (or Expression with resultType string). + :type authentication_type: object + :param credential: The access credential portion of the connection string specified in driver- + specific property-value format. + :type credential: ~azure.mgmt.datafactory.models.SecretBase + :param user_name: User name for Basic authentication. Type: string (or Expression with + resultType string). + :type user_name: object + :param password: Password for Basic authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, + 'credential': {'key': 'typeProperties.credential', 'type': 'SecretBase'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + connection_string: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + authentication_type: Optional[object] = None, + credential: Optional["SecretBase"] = None, + user_name: Optional[object] = None, + password: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(OdbcLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Odbc' + self.connection_string = connection_string + self.authentication_type = authentication_type + self.credential = credential + self.user_name = user_name + self.password = password + self.encrypted_credential = encrypted_credential + + +class OdbcTableDataset(Dataset): + """The ODBC table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The ODBC table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(OdbcTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'OdbcTable' + self.table_name = table_name + + +class Office365Dataset(Dataset): + """The Office365 account. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: Required. Name of the dataset to extract from Office 365. Type: string (or + Expression with resultType string). + :type table_name: object + :param predicate: A predicate expression that can be used to filter the specific rows to + extract from Office 365. Type: string (or Expression with resultType string). + :type predicate: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'table_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'predicate': {'key': 'typeProperties.predicate', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + table_name: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + predicate: Optional[object] = None, + **kwargs + ): + super(Office365Dataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'Office365Table' + self.table_name = table_name + self.predicate = predicate + + +class Office365LinkedService(LinkedService): + """Office365 linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param office365_tenant_id: Required. Azure tenant ID to which the Office 365 account belongs. + Type: string (or Expression with resultType string). + :type office365_tenant_id: object + :param service_principal_tenant_id: Required. Specify the tenant information under which your + Azure AD web application resides. Type: string (or Expression with resultType string). + :type service_principal_tenant_id: object + :param service_principal_id: Required. Specify the application's client ID. Type: string (or + Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: Required. Specify the application's key. + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'office365_tenant_id': {'required': True}, + 'service_principal_tenant_id': {'required': True}, + 'service_principal_id': {'required': True}, + 'service_principal_key': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'office365_tenant_id': {'key': 'typeProperties.office365TenantId', 'type': 'object'}, + 'service_principal_tenant_id': {'key': 'typeProperties.servicePrincipalTenantId', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + office365_tenant_id: object, + service_principal_tenant_id: object, + service_principal_id: object, + service_principal_key: "SecretBase", + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(Office365LinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Office365' + self.office365_tenant_id = office365_tenant_id + self.service_principal_tenant_id = service_principal_tenant_id + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.encrypted_credential = encrypted_credential + + +class Operation(msrest.serialization.Model): + """Azure Data Factory API operation definition. + + :param name: Operation name: {provider}/{resource}/{operation}. + :type name: str + :param origin: The intended executor of the operation. + :type origin: str + :param display: Metadata associated with the operation. + :type display: ~azure.mgmt.datafactory.models.OperationDisplay + :param service_specification: Details about a service operation. + :type service_specification: ~azure.mgmt.datafactory.models.OperationServiceSpecification + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationServiceSpecification'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + origin: Optional[str] = None, + display: Optional["OperationDisplay"] = None, + service_specification: Optional["OperationServiceSpecification"] = None, + **kwargs + ): + super(Operation, self).__init__(**kwargs) + self.name = name + self.origin = origin + self.display = display + self.service_specification = service_specification + + +class OperationDisplay(msrest.serialization.Model): + """Metadata associated with the operation. + + :param description: The description of the operation. + :type description: str + :param provider: The name of the provider. + :type provider: str + :param resource: The name of the resource type on which the operation is performed. + :type resource: str + :param operation: The type of operation: get, read, delete, etc. + :type operation: str + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + } + + def __init__( + self, + *, + description: Optional[str] = None, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + **kwargs + ): + super(OperationDisplay, self).__init__(**kwargs) + self.description = description + self.provider = provider + self.resource = resource + self.operation = operation + + +class OperationListResponse(msrest.serialization.Model): + """A list of operations that can be performed by the Data Factory service. + + :param value: List of Data Factory operations supported by the Data Factory resource provider. + :type value: list[~azure.mgmt.datafactory.models.Operation] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["Operation"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(OperationListResponse, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class OperationLogSpecification(msrest.serialization.Model): + """Details about an operation related to logs. + + :param name: The name of the log category. + :type name: str + :param display_name: Localized display name. + :type display_name: str + :param blob_duration: Blobs created in the customer storage account, per hour. + :type blob_duration: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display_name: Optional[str] = None, + blob_duration: Optional[str] = None, + **kwargs + ): + super(OperationLogSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.blob_duration = blob_duration + + +class OperationMetricAvailability(msrest.serialization.Model): + """Defines how often data for a metric becomes available. + + :param time_grain: The granularity for the metric. + :type time_grain: str + :param blob_duration: Blob created in the customer storage account, per hour. + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__( + self, + *, + time_grain: Optional[str] = None, + blob_duration: Optional[str] = None, + **kwargs + ): + super(OperationMetricAvailability, self).__init__(**kwargs) + self.time_grain = time_grain + self.blob_duration = blob_duration + + +class OperationMetricDimension(msrest.serialization.Model): + """Defines the metric dimension. + + :param name: The name of the dimension for the metric. + :type name: str + :param display_name: The display name of the metric dimension. + :type display_name: str + :param to_be_exported_for_shoebox: Whether the dimension should be exported to Azure Monitor. + :type to_be_exported_for_shoebox: bool + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'to_be_exported_for_shoebox': {'key': 'toBeExportedForShoebox', 'type': 'bool'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display_name: Optional[str] = None, + to_be_exported_for_shoebox: Optional[bool] = None, + **kwargs + ): + super(OperationMetricDimension, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.to_be_exported_for_shoebox = to_be_exported_for_shoebox + + +class OperationMetricSpecification(msrest.serialization.Model): + """Details about an operation related to metrics. + + :param name: The name of the metric. + :type name: str + :param display_name: Localized display name of the metric. + :type display_name: str + :param display_description: The description of the metric. + :type display_description: str + :param unit: The unit that the metric is measured in. + :type unit: str + :param aggregation_type: The type of metric aggregation. + :type aggregation_type: str + :param enable_regional_mdm_account: Whether or not the service is using regional MDM accounts. + :type enable_regional_mdm_account: str + :param source_mdm_account: The name of the MDM account. + :type source_mdm_account: str + :param source_mdm_namespace: The name of the MDM namespace. + :type source_mdm_namespace: str + :param availabilities: Defines how often data for metrics becomes available. + :type availabilities: list[~azure.mgmt.datafactory.models.OperationMetricAvailability] + :param dimensions: Defines the metric dimension. + :type dimensions: list[~azure.mgmt.datafactory.models.OperationMetricDimension] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'str'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[OperationMetricAvailability]'}, + 'dimensions': {'key': 'dimensions', 'type': '[OperationMetricDimension]'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + display_name: Optional[str] = None, + display_description: Optional[str] = None, + unit: Optional[str] = None, + aggregation_type: Optional[str] = None, + enable_regional_mdm_account: Optional[str] = None, + source_mdm_account: Optional[str] = None, + source_mdm_namespace: Optional[str] = None, + availabilities: Optional[List["OperationMetricAvailability"]] = None, + dimensions: Optional[List["OperationMetricDimension"]] = None, + **kwargs + ): + super(OperationMetricSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.display_description = display_description + self.unit = unit + self.aggregation_type = aggregation_type + self.enable_regional_mdm_account = enable_regional_mdm_account + self.source_mdm_account = source_mdm_account + self.source_mdm_namespace = source_mdm_namespace + self.availabilities = availabilities + self.dimensions = dimensions + + +class OperationServiceSpecification(msrest.serialization.Model): + """Details about a service operation. + + :param log_specifications: Details about operations related to logs. + :type log_specifications: list[~azure.mgmt.datafactory.models.OperationLogSpecification] + :param metric_specifications: Details about operations related to metrics. + :type metric_specifications: list[~azure.mgmt.datafactory.models.OperationMetricSpecification] + """ + + _attribute_map = { + 'log_specifications': {'key': 'logSpecifications', 'type': '[OperationLogSpecification]'}, + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[OperationMetricSpecification]'}, + } + + def __init__( + self, + *, + log_specifications: Optional[List["OperationLogSpecification"]] = None, + metric_specifications: Optional[List["OperationMetricSpecification"]] = None, + **kwargs + ): + super(OperationServiceSpecification, self).__init__(**kwargs) + self.log_specifications = log_specifications + self.metric_specifications = metric_specifications + + +class OracleLinkedService(LinkedService): + """Oracle database. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + connection_string: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + password: Optional["AzureKeyVaultSecretReference"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(OracleLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Oracle' + self.connection_string = connection_string + self.password = password + self.encrypted_credential = encrypted_credential + + +class OracleServiceCloudLinkedService(LinkedService): + """Oracle Service Cloud linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The URL of the Oracle Service Cloud instance. + :type host: object + :param username: Required. The user name that you use to access Oracle Service Cloud server. + :type username: object + :param password: Required. The password corresponding to the user name that you provided in the + username key. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean). + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. Type: boolean (or Expression with resultType boolean). + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. Type: boolean (or Expression with resultType + boolean). + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'username': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + username: object, + password: "SecretBase", + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(OracleServiceCloudLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'OracleServiceCloud' + self.host = host + self.username = username + self.password = password + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class OracleServiceCloudObjectDataset(Dataset): + """Oracle Service Cloud dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(OracleServiceCloudObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'OracleServiceCloudObject' + self.table_name = table_name + + +class OracleTableDataset(Dataset): + """The on-premises Oracle database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param schema_type_properties_schema: The schema name of the on-premises Oracle database. Type: + string (or Expression with resultType string). + :type schema_type_properties_schema: object + :param table: The table name of the on-premises Oracle database. Type: string (or Expression + with resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + table: Optional[object] = None, + **kwargs + ): + super(OracleTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'OracleTable' + self.table_name = table_name + self.schema_type_properties_schema = schema_type_properties_schema + self.table = table + + +class OrcDataset(Dataset): + """ORC dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param location: The location of the ORC data storage. + :type location: ~azure.mgmt.datafactory.models.DatasetLocation + :param orc_compression_codec: Possible values include: "none", "zlib", "snappy". + :type orc_compression_codec: str or ~azure.mgmt.datafactory.models.OrcCompressionCodec + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, + 'orc_compression_codec': {'key': 'typeProperties.orcCompressionCodec', 'type': 'str'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + location: Optional["DatasetLocation"] = None, + orc_compression_codec: Optional[Union[str, "OrcCompressionCodec"]] = None, + **kwargs + ): + super(OrcDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'Orc' + self.location = location + self.orc_compression_codec = orc_compression_codec + + +class PackageStore(msrest.serialization.Model): + """Package store for the SSIS integration runtime. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the package store. + :type name: str + :param package_store_linked_service: Required. The package store linked service reference. + :type package_store_linked_service: ~azure.mgmt.datafactory.models.EntityReference + """ + + _validation = { + 'name': {'required': True}, + 'package_store_linked_service': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'package_store_linked_service': {'key': 'packageStoreLinkedService', 'type': 'EntityReference'}, + } + + def __init__( + self, + *, + name: str, + package_store_linked_service: "EntityReference", + **kwargs + ): + super(PackageStore, self).__init__(**kwargs) + self.name = name + self.package_store_linked_service = package_store_linked_service + + +class ParameterSpecification(msrest.serialization.Model): + """Definition of a single parameter for an entity. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Parameter type. Possible values include: "Object", "String", "Int", + "Float", "Bool", "Array", "SecureString". + :type type: str or ~azure.mgmt.datafactory.models.ParameterType + :param default_value: Default value of parameter. + :type default_value: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'default_value': {'key': 'defaultValue', 'type': 'object'}, + } + + def __init__( + self, + *, + type: Union[str, "ParameterType"], + default_value: Optional[object] = None, + **kwargs + ): + super(ParameterSpecification, self).__init__(**kwargs) + self.type = type + self.default_value = default_value + + +class ParquetDataset(Dataset): + """Parquet dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param location: The location of the parquet storage. + :type location: ~azure.mgmt.datafactory.models.DatasetLocation + :param compression_codec: Possible values include: "none", "gzip", "snappy", "lzo", "bzip2", + "deflate", "zipDeflate", "lz4". + :type compression_codec: str or ~azure.mgmt.datafactory.models.CompressionCodec + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'}, + 'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'str'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + location: Optional["DatasetLocation"] = None, + compression_codec: Optional[Union[str, "CompressionCodec"]] = None, + **kwargs + ): + super(ParquetDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'Parquet' + self.location = location + self.compression_codec = compression_codec + + +class PaypalLinkedService(LinkedService): + """Paypal Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The URL of the PayPal instance. (i.e. api.sandbox.paypal.com). + :type host: object + :param client_id: Required. The client ID associated with your PayPal application. + :type client_id: object + :param client_secret: The client secret associated with your PayPal application. + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'client_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + client_id: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + client_secret: Optional["SecretBase"] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(PaypalLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Paypal' + self.host = host + self.client_id = client_id + self.client_secret = client_secret + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class PaypalObjectDataset(Dataset): + """Paypal Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(PaypalObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'PaypalObject' + self.table_name = table_name + + +class PhoenixLinkedService(LinkedService): + """Phoenix server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The IP address or host name of the Phoenix server. (i.e. + 192.168.222.160). + :type host: object + :param port: The TCP port that the Phoenix server uses to listen for client connections. The + default value is 8765. + :type port: object + :param http_path: The partial URL corresponding to the Phoenix server. (i.e. + /gateway/sandbox/phoenix/version). The default value is hbasephoenix if using + WindowsAzureHDInsightService. + :type http_path: object + :param authentication_type: Required. The authentication mechanism used to connect to the + Phoenix server. Possible values include: "Anonymous", "UsernameAndPassword", + "WindowsAzureHDInsightService". + :type authentication_type: str or ~azure.mgmt.datafactory.models.PhoenixAuthenticationType + :param username: The user name used to connect to the Phoenix server. + :type username: object + :param password: The password corresponding to the user name. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The + default value is false. + :type enable_ssl: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust + store or from a specified PEM file. The default value is false. + :type use_system_trust_store: object + :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate + name to match the host name of the server when connecting over SSL. The default value is false. + :type allow_host_name_cn_mismatch: object + :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from + the server. The default value is false. + :type allow_self_signed_server_cert: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'}, + 'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'}, + 'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + authentication_type: Union[str, "PhoenixAuthenticationType"], + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + port: Optional[object] = None, + http_path: Optional[object] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + enable_ssl: Optional[object] = None, + trusted_cert_path: Optional[object] = None, + use_system_trust_store: Optional[object] = None, + allow_host_name_cn_mismatch: Optional[object] = None, + allow_self_signed_server_cert: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(PhoenixLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Phoenix' + self.host = host + self.port = port + self.http_path = http_path + self.authentication_type = authentication_type + self.username = username + self.password = password + self.enable_ssl = enable_ssl + self.trusted_cert_path = trusted_cert_path + self.use_system_trust_store = use_system_trust_store + self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch + self.allow_self_signed_server_cert = allow_self_signed_server_cert + self.encrypted_credential = encrypted_credential + + +class PhoenixObjectDataset(Dataset): + """Phoenix server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Phoenix. Type: string (or Expression with resultType + string). + :type table: object + :param schema_type_properties_schema: The schema name of the Phoenix. Type: string (or + Expression with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + table: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + **kwargs + ): + super(PhoenixObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'PhoenixObject' + self.table_name = table_name + self.table = table + self.schema_type_properties_schema = schema_type_properties_schema + + +class PipelineFolder(msrest.serialization.Model): + """The folder that this Pipeline is in. If not specified, Pipeline will appear at the root level. + + :param name: The name of the folder that this Pipeline is in. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + **kwargs + ): + super(PipelineFolder, self).__init__(**kwargs) + self.name = name + + +class PipelineListResponse(msrest.serialization.Model): + """A list of pipeline resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of pipelines. + :type value: list[~azure.mgmt.datafactory.models.PipelineResource] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PipelineResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["PipelineResource"], + next_link: Optional[str] = None, + **kwargs + ): + super(PipelineListResponse, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class PipelineReference(msrest.serialization.Model): + """Pipeline reference type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar type: Required. Pipeline reference type. Default value: "PipelineReference". + :vartype type: str + :param reference_name: Required. Reference pipeline name. + :type reference_name: str + :param name: Reference name. + :type name: str + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'reference_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + type = "PipelineReference" + + def __init__( + self, + *, + reference_name: str, + name: Optional[str] = None, + **kwargs + ): + super(PipelineReference, self).__init__(**kwargs) + self.reference_name = reference_name + self.name = name + + +class PipelineResource(SubResource): + """Pipeline resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param description: The description of the pipeline. + :type description: str + :param activities: List of activities in pipeline. + :type activities: list[~azure.mgmt.datafactory.models.Activity] + :param parameters: List of parameters for pipeline. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param variables: List of variables for pipeline. + :type variables: dict[str, ~azure.mgmt.datafactory.models.VariableSpecification] + :param concurrency: The max number of concurrent runs for the pipeline. + :type concurrency: int + :param annotations: List of tags that can be used for describing the Pipeline. + :type annotations: list[object] + :param run_dimensions: Dimensions emitted by Pipeline. + :type run_dimensions: dict[str, object] + :param folder: The folder that this Pipeline is in. If not specified, Pipeline will appear at + the root level. + :type folder: ~azure.mgmt.datafactory.models.PipelineFolder + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'concurrency': {'minimum': 1}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'additional_properties': {'key': '', 'type': '{object}'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'activities': {'key': 'properties.activities', 'type': '[Activity]'}, + 'parameters': {'key': 'properties.parameters', 'type': '{ParameterSpecification}'}, + 'variables': {'key': 'properties.variables', 'type': '{VariableSpecification}'}, + 'concurrency': {'key': 'properties.concurrency', 'type': 'int'}, + 'annotations': {'key': 'properties.annotations', 'type': '[object]'}, + 'run_dimensions': {'key': 'properties.runDimensions', 'type': '{object}'}, + 'folder': {'key': 'properties.folder', 'type': 'PipelineFolder'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + activities: Optional[List["Activity"]] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + variables: Optional[Dict[str, "VariableSpecification"]] = None, + concurrency: Optional[int] = None, + annotations: Optional[List[object]] = None, + run_dimensions: Optional[Dict[str, object]] = None, + folder: Optional["PipelineFolder"] = None, + **kwargs + ): + super(PipelineResource, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.description = description + self.activities = activities + self.parameters = parameters + self.variables = variables + self.concurrency = concurrency + self.annotations = annotations + self.run_dimensions = run_dimensions + self.folder = folder + + +class PipelineRun(msrest.serialization.Model): + """Information about a pipeline run. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar run_id: Identifier of a run. + :vartype run_id: str + :ivar run_group_id: Identifier that correlates all the recovery runs of a pipeline run. + :vartype run_group_id: str + :ivar is_latest: Indicates if the recovered pipeline run is the latest in its group. + :vartype is_latest: bool + :ivar pipeline_name: The pipeline name. + :vartype pipeline_name: str + :ivar parameters: The full or partial list of parameter name, value pair used in the pipeline + run. + :vartype parameters: dict[str, str] + :ivar run_dimensions: Run dimensions emitted by Pipeline run. + :vartype run_dimensions: dict[str, str] + :ivar invoked_by: Entity that started the pipeline run. + :vartype invoked_by: ~azure.mgmt.datafactory.models.PipelineRunInvokedBy + :ivar last_updated: The last updated timestamp for the pipeline run event in ISO8601 format. + :vartype last_updated: ~datetime.datetime + :ivar run_start: The start time of a pipeline run in ISO8601 format. + :vartype run_start: ~datetime.datetime + :ivar run_end: The end time of a pipeline run in ISO8601 format. + :vartype run_end: ~datetime.datetime + :ivar duration_in_ms: The duration of a pipeline run. + :vartype duration_in_ms: int + :ivar status: The status of a pipeline run. + :vartype status: str + :ivar message: The message from a pipeline run. + :vartype message: str + """ + + _validation = { + 'run_id': {'readonly': True}, + 'run_group_id': {'readonly': True}, + 'is_latest': {'readonly': True}, + 'pipeline_name': {'readonly': True}, + 'parameters': {'readonly': True}, + 'run_dimensions': {'readonly': True}, + 'invoked_by': {'readonly': True}, + 'last_updated': {'readonly': True}, + 'run_start': {'readonly': True}, + 'run_end': {'readonly': True}, + 'duration_in_ms': {'readonly': True}, + 'status': {'readonly': True}, + 'message': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'run_id': {'key': 'runId', 'type': 'str'}, + 'run_group_id': {'key': 'runGroupId', 'type': 'str'}, + 'is_latest': {'key': 'isLatest', 'type': 'bool'}, + 'pipeline_name': {'key': 'pipelineName', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{str}'}, + 'run_dimensions': {'key': 'runDimensions', 'type': '{str}'}, + 'invoked_by': {'key': 'invokedBy', 'type': 'PipelineRunInvokedBy'}, + 'last_updated': {'key': 'lastUpdated', 'type': 'iso-8601'}, + 'run_start': {'key': 'runStart', 'type': 'iso-8601'}, + 'run_end': {'key': 'runEnd', 'type': 'iso-8601'}, + 'duration_in_ms': {'key': 'durationInMs', 'type': 'int'}, + 'status': {'key': 'status', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(PipelineRun, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.run_id = None + self.run_group_id = None + self.is_latest = None + self.pipeline_name = None + self.parameters = None + self.run_dimensions = None + self.invoked_by = None + self.last_updated = None + self.run_start = None + self.run_end = None + self.duration_in_ms = None + self.status = None + self.message = None + + +class PipelineRunInvokedBy(msrest.serialization.Model): + """Provides entity name and id that started the pipeline run. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the entity that started the pipeline run. + :vartype name: str + :ivar id: The ID of the entity that started the run. + :vartype id: str + :ivar invoked_by_type: The type of the entity that started the run. + :vartype invoked_by_type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'invoked_by_type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'invoked_by_type': {'key': 'invokedByType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PipelineRunInvokedBy, self).__init__(**kwargs) + self.name = None + self.id = None + self.invoked_by_type = None + + +class PipelineRunsQueryResponse(msrest.serialization.Model): + """A list pipeline runs. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of pipeline runs. + :type value: list[~azure.mgmt.datafactory.models.PipelineRun] + :param continuation_token: The continuation token for getting the next page of results, if any + remaining results exist, null otherwise. + :type continuation_token: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PipelineRun]'}, + 'continuation_token': {'key': 'continuationToken', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["PipelineRun"], + continuation_token: Optional[str] = None, + **kwargs + ): + super(PipelineRunsQueryResponse, self).__init__(**kwargs) + self.value = value + self.continuation_token = continuation_token + + +class PostgreSqlLinkedService(LinkedService): + """Linked service for PostgreSQL data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + connection_string: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + password: Optional["AzureKeyVaultSecretReference"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(PostgreSqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'PostgreSql' + self.connection_string = connection_string + self.password = password + self.encrypted_credential = encrypted_credential + + +class PostgreSqlTableDataset(Dataset): + """The PostgreSQL table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The PostgreSQL table name. Type: string (or Expression with resultType string). + :type table: object + :param schema_type_properties_schema: The PostgreSQL schema name. Type: string (or Expression + with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + table: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + **kwargs + ): + super(PostgreSqlTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'PostgreSqlTable' + self.table_name = table_name + self.table = table + self.schema_type_properties_schema = schema_type_properties_schema + + +class PrestoLinkedService(LinkedService): + """Presto server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The IP address or host name of the Presto server. (i.e. + 192.168.222.160). + :type host: object + :param server_version: Required. The version of the Presto server. (i.e. 0.148-t). + :type server_version: object + :param catalog: Required. The catalog context for all request against the server. + :type catalog: object + :param port: The TCP port that the Presto server uses to listen for client connections. The + default value is 8080. + :type port: object + :param authentication_type: Required. The authentication mechanism used to connect to the + Presto server. Possible values include: "Anonymous", "LDAP". + :type authentication_type: str or ~azure.mgmt.datafactory.models.PrestoAuthenticationType + :param username: The user name used to connect to the Presto server. + :type username: object + :param password: The password corresponding to the user name. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The + default value is false. + :type enable_ssl: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust + store or from a specified PEM file. The default value is false. + :type use_system_trust_store: object + :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate + name to match the host name of the server when connecting over SSL. The default value is false. + :type allow_host_name_cn_mismatch: object + :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from + the server. The default value is false. + :type allow_self_signed_server_cert: object + :param time_zone_id: The local time zone used by the connection. Valid values for this option + are specified in the IANA Time Zone Database. The default value is the system time zone. + :type time_zone_id: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'server_version': {'required': True}, + 'catalog': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'server_version': {'key': 'typeProperties.serverVersion', 'type': 'object'}, + 'catalog': {'key': 'typeProperties.catalog', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'}, + 'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'}, + 'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'}, + 'time_zone_id': {'key': 'typeProperties.timeZoneID', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + server_version: object, + catalog: object, + authentication_type: Union[str, "PrestoAuthenticationType"], + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + port: Optional[object] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + enable_ssl: Optional[object] = None, + trusted_cert_path: Optional[object] = None, + use_system_trust_store: Optional[object] = None, + allow_host_name_cn_mismatch: Optional[object] = None, + allow_self_signed_server_cert: Optional[object] = None, + time_zone_id: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(PrestoLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Presto' + self.host = host + self.server_version = server_version + self.catalog = catalog + self.port = port + self.authentication_type = authentication_type + self.username = username + self.password = password + self.enable_ssl = enable_ssl + self.trusted_cert_path = trusted_cert_path + self.use_system_trust_store = use_system_trust_store + self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch + self.allow_self_signed_server_cert = allow_self_signed_server_cert + self.time_zone_id = time_zone_id + self.encrypted_credential = encrypted_credential + + +class PrestoObjectDataset(Dataset): + """Presto server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Presto. Type: string (or Expression with resultType + string). + :type table: object + :param schema_type_properties_schema: The schema name of the Presto. Type: string (or + Expression with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + table: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + **kwargs + ): + super(PrestoObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'PrestoObject' + self.table_name = table_name + self.table = table + self.schema_type_properties_schema = schema_type_properties_schema + + +class QueryDataFlowDebugSessionsResponse(msrest.serialization.Model): + """A list of active debug sessions. + + :param value: Array with all active debug sessions. + :type value: list[~azure.mgmt.datafactory.models.DataFlowDebugSessionInfo] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DataFlowDebugSessionInfo]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["DataFlowDebugSessionInfo"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(QueryDataFlowDebugSessionsResponse, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class QuickBooksLinkedService(LinkedService): + """QuickBooks server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of the QuickBooks server. (i.e. + quickbooks.api.intuit.com). + :type endpoint: object + :param company_id: Required. The company ID of the QuickBooks company to authorize. + :type company_id: object + :param consumer_key: Required. The consumer key for OAuth 1.0 authentication. + :type consumer_key: object + :param consumer_secret: Required. The consumer secret for OAuth 1.0 authentication. + :type consumer_secret: ~azure.mgmt.datafactory.models.SecretBase + :param access_token: Required. The access token for OAuth 1.0 authentication. + :type access_token: ~azure.mgmt.datafactory.models.SecretBase + :param access_token_secret: Required. The access token secret for OAuth 1.0 authentication. + :type access_token_secret: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + 'company_id': {'required': True}, + 'consumer_key': {'required': True}, + 'consumer_secret': {'required': True}, + 'access_token': {'required': True}, + 'access_token_secret': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'company_id': {'key': 'typeProperties.companyId', 'type': 'object'}, + 'consumer_key': {'key': 'typeProperties.consumerKey', 'type': 'object'}, + 'consumer_secret': {'key': 'typeProperties.consumerSecret', 'type': 'SecretBase'}, + 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'access_token_secret': {'key': 'typeProperties.accessTokenSecret', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + endpoint: object, + company_id: object, + consumer_key: object, + consumer_secret: "SecretBase", + access_token: "SecretBase", + access_token_secret: "SecretBase", + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + use_encrypted_endpoints: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(QuickBooksLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'QuickBooks' + self.endpoint = endpoint + self.company_id = company_id + self.consumer_key = consumer_key + self.consumer_secret = consumer_secret + self.access_token = access_token + self.access_token_secret = access_token_secret + self.use_encrypted_endpoints = use_encrypted_endpoints + self.encrypted_credential = encrypted_credential + + +class QuickBooksObjectDataset(Dataset): + """QuickBooks server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(QuickBooksObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'QuickBooksObject' + self.table_name = table_name + + +class RedirectIncompatibleRowSettings(msrest.serialization.Model): + """Redirect incompatible row settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param linked_service_name: Required. Name of the Azure Storage, Storage SAS, or Azure Data + Lake Store linked service used for redirecting incompatible row. Must be specified if + redirectIncompatibleRowSettings is specified. Type: string (or Expression with resultType + string). + :type linked_service_name: object + :param path: The path for storing the redirect incompatible row data. Type: string (or + Expression with resultType string). + :type path: object + """ + + _validation = { + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'object'}, + 'path': {'key': 'path', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: object, + additional_properties: Optional[Dict[str, object]] = None, + path: Optional[object] = None, + **kwargs + ): + super(RedirectIncompatibleRowSettings, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.linked_service_name = linked_service_name + self.path = path + + +class RelationalTableDataset(Dataset): + """The relational table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The relational table name. Type: string (or Expression with resultType + string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(RelationalTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'RelationalTable' + self.table_name = table_name + + +class ResponsysLinkedService(LinkedService): + """Responsys linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of the Responsys server. + :type endpoint: object + :param client_id: Required. The client ID associated with the Responsys application. Type: + string (or Expression with resultType string). + :type client_id: object + :param client_secret: The client secret associated with the Responsys application. Type: string + (or Expression with resultType string). + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean). + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. Type: boolean (or Expression with resultType boolean). + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. Type: boolean (or Expression with resultType + boolean). + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + 'client_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + endpoint: object, + client_id: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + client_secret: Optional["SecretBase"] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(ResponsysLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Responsys' + self.endpoint = endpoint + self.client_id = client_id + self.client_secret = client_secret + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class ResponsysObjectDataset(Dataset): + """Responsys dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(ResponsysObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'ResponsysObject' + self.table_name = table_name + + +class RestResourceDataset(Dataset): + """A Rest service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param relative_url: The relative URL to the resource that the RESTful API provides. Type: + string (or Expression with resultType string). + :type relative_url: object + :param request_method: The HTTP method used to call the RESTful API. The default is GET. Type: + string (or Expression with resultType string). + :type request_method: object + :param request_body: The HTTP request body to the RESTful API if requestMethod is POST. Type: + string (or Expression with resultType string). + :type request_body: object + :param additional_headers: The additional HTTP headers in the request to the RESTful API. Type: + string (or Expression with resultType string). + :type additional_headers: object + :param pagination_rules: The pagination rules to compose next page requests. Type: string (or + Expression with resultType string). + :type pagination_rules: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'relative_url': {'key': 'typeProperties.relativeUrl', 'type': 'object'}, + 'request_method': {'key': 'typeProperties.requestMethod', 'type': 'object'}, + 'request_body': {'key': 'typeProperties.requestBody', 'type': 'object'}, + 'additional_headers': {'key': 'typeProperties.additionalHeaders', 'type': 'object'}, + 'pagination_rules': {'key': 'typeProperties.paginationRules', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + relative_url: Optional[object] = None, + request_method: Optional[object] = None, + request_body: Optional[object] = None, + additional_headers: Optional[object] = None, + pagination_rules: Optional[object] = None, + **kwargs + ): + super(RestResourceDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'RestResource' + self.relative_url = relative_url + self.request_method = request_method + self.request_body = request_body + self.additional_headers = additional_headers + self.pagination_rules = pagination_rules + + +class RestServiceLinkedService(LinkedService): + """Rest Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. The base URL of the REST service. + :type url: object + :param enable_server_certificate_validation: Whether to validate server side SSL certificate + when connecting to the endpoint.The default value is true. Type: boolean (or Expression with + resultType boolean). + :type enable_server_certificate_validation: object + :param authentication_type: Required. Type of authentication used to connect to the REST + service. Possible values include: "Anonymous", "Basic", "AadServicePrincipal", + "ManagedServiceIdentity". + :type authentication_type: str or ~azure.mgmt.datafactory.models.RestServiceAuthenticationType + :param user_name: The user name used in Basic authentication type. + :type user_name: object + :param password: The password used in Basic authentication type. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param service_principal_id: The application's client ID used in AadServicePrincipal + authentication type. + :type service_principal_id: object + :param service_principal_key: The application's key used in AadServicePrincipal authentication + type. + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :param tenant: The tenant information (domain name or tenant ID) used in AadServicePrincipal + authentication type under which your application resides. + :type tenant: object + :param aad_resource_id: The resource you are requesting authorization to use. + :type aad_resource_id: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'enable_server_certificate_validation': {'key': 'typeProperties.enableServerCertificateValidation', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'aad_resource_id': {'key': 'typeProperties.aadResourceId', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + url: object, + authentication_type: Union[str, "RestServiceAuthenticationType"], + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + enable_server_certificate_validation: Optional[object] = None, + user_name: Optional[object] = None, + password: Optional["SecretBase"] = None, + service_principal_id: Optional[object] = None, + service_principal_key: Optional["SecretBase"] = None, + tenant: Optional[object] = None, + aad_resource_id: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(RestServiceLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'RestService' + self.url = url + self.enable_server_certificate_validation = enable_server_certificate_validation + self.authentication_type = authentication_type + self.user_name = user_name + self.password = password + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.tenant = tenant + self.aad_resource_id = aad_resource_id + self.encrypted_credential = encrypted_credential + + +class RunFilterParameters(msrest.serialization.Model): + """Query parameters for listing runs. + + All required parameters must be populated in order to send to Azure. + + :param continuation_token: The continuation token for getting the next page of results. Null + for first page. + :type continuation_token: str + :param last_updated_after: Required. The time at or after which the run event was updated in + 'ISO 8601' format. + :type last_updated_after: ~datetime.datetime + :param last_updated_before: Required. The time at or before which the run event was updated in + 'ISO 8601' format. + :type last_updated_before: ~datetime.datetime + :param filters: List of filters. + :type filters: list[~azure.mgmt.datafactory.models.RunQueryFilter] + :param order_by: List of OrderBy option. + :type order_by: list[~azure.mgmt.datafactory.models.RunQueryOrderBy] + """ + + _validation = { + 'last_updated_after': {'required': True}, + 'last_updated_before': {'required': True}, + } + + _attribute_map = { + 'continuation_token': {'key': 'continuationToken', 'type': 'str'}, + 'last_updated_after': {'key': 'lastUpdatedAfter', 'type': 'iso-8601'}, + 'last_updated_before': {'key': 'lastUpdatedBefore', 'type': 'iso-8601'}, + 'filters': {'key': 'filters', 'type': '[RunQueryFilter]'}, + 'order_by': {'key': 'orderBy', 'type': '[RunQueryOrderBy]'}, + } + + def __init__( + self, + *, + last_updated_after: datetime.datetime, + last_updated_before: datetime.datetime, + continuation_token: Optional[str] = None, + filters: Optional[List["RunQueryFilter"]] = None, + order_by: Optional[List["RunQueryOrderBy"]] = None, + **kwargs + ): + super(RunFilterParameters, self).__init__(**kwargs) + self.continuation_token = continuation_token + self.last_updated_after = last_updated_after + self.last_updated_before = last_updated_before + self.filters = filters + self.order_by = order_by + + +class RunQueryFilter(msrest.serialization.Model): + """Query filter option for listing runs. + + All required parameters must be populated in order to send to Azure. + + :param operand: Required. Parameter name to be used for filter. The allowed operands to query + pipeline runs are PipelineName, RunStart, RunEnd and Status; to query activity runs are + ActivityName, ActivityRunStart, ActivityRunEnd, ActivityType and Status, and to query trigger + runs are TriggerName, TriggerRunTimestamp and Status. Possible values include: "PipelineName", + "Status", "RunStart", "RunEnd", "ActivityName", "ActivityRunStart", "ActivityRunEnd", + "ActivityType", "TriggerName", "TriggerRunTimestamp", "RunGroupId", "LatestOnly". + :type operand: str or ~azure.mgmt.datafactory.models.RunQueryFilterOperand + :param operator: Required. Operator to be used for filter. Possible values include: "Equals", + "NotEquals", "In", "NotIn". + :type operator: str or ~azure.mgmt.datafactory.models.RunQueryFilterOperator + :param values: Required. List of filter values. + :type values: list[str] + """ + + _validation = { + 'operand': {'required': True}, + 'operator': {'required': True}, + 'values': {'required': True}, + } + + _attribute_map = { + 'operand': {'key': 'operand', 'type': 'str'}, + 'operator': {'key': 'operator', 'type': 'str'}, + 'values': {'key': 'values', 'type': '[str]'}, + } + + def __init__( + self, + *, + operand: Union[str, "RunQueryFilterOperand"], + operator: Union[str, "RunQueryFilterOperator"], + values: List[str], + **kwargs + ): + super(RunQueryFilter, self).__init__(**kwargs) + self.operand = operand + self.operator = operator + self.values = values + + +class RunQueryOrderBy(msrest.serialization.Model): + """An object to provide order by options for listing runs. + + All required parameters must be populated in order to send to Azure. + + :param order_by: Required. Parameter name to be used for order by. The allowed parameters to + order by for pipeline runs are PipelineName, RunStart, RunEnd and Status; for activity runs are + ActivityName, ActivityRunStart, ActivityRunEnd and Status; for trigger runs are TriggerName, + TriggerRunTimestamp and Status. Possible values include: "RunStart", "RunEnd", "PipelineName", + "Status", "ActivityName", "ActivityRunStart", "ActivityRunEnd", "TriggerName", + "TriggerRunTimestamp". + :type order_by: str or ~azure.mgmt.datafactory.models.RunQueryOrderByField + :param order: Required. Sorting order of the parameter. Possible values include: "ASC", "DESC". + :type order: str or ~azure.mgmt.datafactory.models.RunQueryOrder + """ + + _validation = { + 'order_by': {'required': True}, + 'order': {'required': True}, + } + + _attribute_map = { + 'order_by': {'key': 'orderBy', 'type': 'str'}, + 'order': {'key': 'order', 'type': 'str'}, + } + + def __init__( + self, + *, + order_by: Union[str, "RunQueryOrderByField"], + order: Union[str, "RunQueryOrder"], + **kwargs + ): + super(RunQueryOrderBy, self).__init__(**kwargs) + self.order_by = order_by + self.order = order + + +class SalesforceLinkedService(LinkedService): + """Linked service for Salesforce. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param environment_url: The URL of Salesforce instance. Default is + 'https://login.salesforce.com'. To copy data from sandbox, specify + 'https://test.salesforce.com'. To copy data from custom domain, specify, for example, + 'https://[domain].my.salesforce.com'. Type: string (or Expression with resultType string). + :type environment_url: object + :param username: The username for Basic authentication of the Salesforce instance. Type: string + (or Expression with resultType string). + :type username: object + :param password: The password for Basic authentication of the Salesforce instance. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param security_token: The security token is optional to remotely access Salesforce instance. + :type security_token: ~azure.mgmt.datafactory.models.SecretBase + :param api_version: The Salesforce API version used in ADF. Type: string (or Expression with + resultType string). + :type api_version: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'environment_url': {'key': 'typeProperties.environmentUrl', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'security_token': {'key': 'typeProperties.securityToken', 'type': 'SecretBase'}, + 'api_version': {'key': 'typeProperties.apiVersion', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + environment_url: Optional[object] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + security_token: Optional["SecretBase"] = None, + api_version: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(SalesforceLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Salesforce' + self.environment_url = environment_url + self.username = username + self.password = password + self.security_token = security_token + self.api_version = api_version + self.encrypted_credential = encrypted_credential + + +class SalesforceMarketingCloudLinkedService(LinkedService): + """Salesforce Marketing Cloud linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param client_id: Required. The client ID associated with the Salesforce Marketing Cloud + application. Type: string (or Expression with resultType string). + :type client_id: object + :param client_secret: The client secret associated with the Salesforce Marketing Cloud + application. Type: string (or Expression with resultType string). + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean). + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. Type: boolean (or Expression with resultType boolean). + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. Type: boolean (or Expression with resultType + boolean). + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'client_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + client_id: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + client_secret: Optional["SecretBase"] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(SalesforceMarketingCloudLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'SalesforceMarketingCloud' + self.client_id = client_id + self.client_secret = client_secret + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class SalesforceMarketingCloudObjectDataset(Dataset): + """Salesforce Marketing Cloud dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(SalesforceMarketingCloudObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'SalesforceMarketingCloudObject' + self.table_name = table_name + + +class SalesforceObjectDataset(Dataset): + """The Salesforce object dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param object_api_name: The Salesforce object API name. Type: string (or Expression with + resultType string). + :type object_api_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'object_api_name': {'key': 'typeProperties.objectApiName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + object_api_name: Optional[object] = None, + **kwargs + ): + super(SalesforceObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'SalesforceObject' + self.object_api_name = object_api_name + + +class SalesforceServiceCloudLinkedService(LinkedService): + """Linked service for Salesforce Service Cloud. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param environment_url: The URL of Salesforce Service Cloud instance. Default is + 'https://login.salesforce.com'. To copy data from sandbox, specify + 'https://test.salesforce.com'. To copy data from custom domain, specify, for example, + 'https://[domain].my.salesforce.com'. Type: string (or Expression with resultType string). + :type environment_url: object + :param username: The username for Basic authentication of the Salesforce instance. Type: string + (or Expression with resultType string). + :type username: object + :param password: The password for Basic authentication of the Salesforce instance. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param security_token: The security token is optional to remotely access Salesforce instance. + :type security_token: ~azure.mgmt.datafactory.models.SecretBase + :param api_version: The Salesforce API version used in ADF. Type: string (or Expression with + resultType string). + :type api_version: object + :param extended_properties: Extended properties appended to the connection string. Type: string + (or Expression with resultType string). + :type extended_properties: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'environment_url': {'key': 'typeProperties.environmentUrl', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'security_token': {'key': 'typeProperties.securityToken', 'type': 'SecretBase'}, + 'api_version': {'key': 'typeProperties.apiVersion', 'type': 'object'}, + 'extended_properties': {'key': 'typeProperties.extendedProperties', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + environment_url: Optional[object] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + security_token: Optional["SecretBase"] = None, + api_version: Optional[object] = None, + extended_properties: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(SalesforceServiceCloudLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'SalesforceServiceCloud' + self.environment_url = environment_url + self.username = username + self.password = password + self.security_token = security_token + self.api_version = api_version + self.extended_properties = extended_properties + self.encrypted_credential = encrypted_credential + + +class SalesforceServiceCloudObjectDataset(Dataset): + """The Salesforce Service Cloud object dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param object_api_name: The Salesforce Service Cloud object API name. Type: string (or + Expression with resultType string). + :type object_api_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'object_api_name': {'key': 'typeProperties.objectApiName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + object_api_name: Optional[object] = None, + **kwargs + ): + super(SalesforceServiceCloudObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'SalesforceServiceCloudObject' + self.object_api_name = object_api_name + + +class SapBwCubeDataset(Dataset): + """The SAP BW cube dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + **kwargs + ): + super(SapBwCubeDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'SapBwCube' + + +class SapBwLinkedService(LinkedService): + """SAP Business Warehouse Linked Service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param server: Required. Host name of the SAP BW instance. Type: string (or Expression with + resultType string). + :type server: object + :param system_number: Required. System number of the BW system. (Usually a two-digit decimal + number represented as a string.) Type: string (or Expression with resultType string). + :type system_number: object + :param client_id: Required. Client ID of the client on the BW system. (Usually a three-digit + decimal number represented as a string) Type: string (or Expression with resultType string). + :type client_id: object + :param user_name: Username to access the SAP BW server. Type: string (or Expression with + resultType string). + :type user_name: object + :param password: Password to access the SAP BW server. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'server': {'required': True}, + 'system_number': {'required': True}, + 'client_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'system_number': {'key': 'typeProperties.systemNumber', 'type': 'object'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + server: object, + system_number: object, + client_id: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + user_name: Optional[object] = None, + password: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(SapBwLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'SapBW' + self.server = server + self.system_number = system_number + self.client_id = client_id + self.user_name = user_name + self.password = password + self.encrypted_credential = encrypted_credential + + +class SapCloudForCustomerLinkedService(LinkedService): + """Linked service for SAP Cloud for Customer. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. The URL of SAP Cloud for Customer OData API. For example, + '[https://[tenantname].crm.ondemand.com/sap/c4c/odata/v1]'. Type: string (or Expression with + resultType string). + :type url: object + :param username: The username for Basic authentication. Type: string (or Expression with + resultType string). + :type username: object + :param password: The password for Basic authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Either encryptedCredential or + username/password must be provided. Type: string (or Expression with resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + url: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(SapCloudForCustomerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'SapCloudForCustomer' + self.url = url + self.username = username + self.password = password + self.encrypted_credential = encrypted_credential + + +class SapCloudForCustomerResourceDataset(Dataset): + """The path of the SAP Cloud for Customer OData entity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param path: Required. The path of the SAP Cloud for Customer OData entity. Type: string (or + Expression with resultType string). + :type path: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'path': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'path': {'key': 'typeProperties.path', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + path: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + **kwargs + ): + super(SapCloudForCustomerResourceDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'SapCloudForCustomerResource' + self.path = path + + +class SapEccLinkedService(LinkedService): + """Linked service for SAP ERP Central Component(SAP ECC). + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param url: Required. The URL of SAP ECC OData API. For example, + '[https://hostname:port/sap/opu/odata/sap/servicename/]'. Type: string (or Expression with + resultType string). + :type url: str + :param username: The username for Basic authentication. Type: string (or Expression with + resultType string). + :type username: str + :param password: The password for Basic authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Either encryptedCredential or + username/password must be provided. Type: string (or Expression with resultType string). + :type encrypted_credential: str + """ + + _validation = { + 'type': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'url': {'key': 'typeProperties.url', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'str'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'}, + } + + def __init__( + self, + *, + url: str, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + username: Optional[str] = None, + password: Optional["SecretBase"] = None, + encrypted_credential: Optional[str] = None, + **kwargs + ): + super(SapEccLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'SapEcc' + self.url = url + self.username = username + self.password = password + self.encrypted_credential = encrypted_credential + + +class SapEccResourceDataset(Dataset): + """The path of the SAP ECC OData entity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param path: Required. The path of the SAP ECC OData entity. Type: string (or Expression with + resultType string). + :type path: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'path': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'path': {'key': 'typeProperties.path', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + path: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + **kwargs + ): + super(SapEccResourceDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'SapEccResource' + self.path = path + + +class SapHanaLinkedService(LinkedService): + """SAP HANA Linked Service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: SAP HANA ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param server: Host name of the SAP HANA server. Type: string (or Expression with resultType + string). + :type server: object + :param authentication_type: The authentication type to be used to connect to the SAP HANA + server. Possible values include: "Basic", "Windows". + :type authentication_type: str or ~azure.mgmt.datafactory.models.SapHanaAuthenticationType + :param user_name: Username to access the SAP HANA server. Type: string (or Expression with + resultType string). + :type user_name: object + :param password: Password to access the SAP HANA server. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + connection_string: Optional[object] = None, + server: Optional[object] = None, + authentication_type: Optional[Union[str, "SapHanaAuthenticationType"]] = None, + user_name: Optional[object] = None, + password: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(SapHanaLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'SapHana' + self.connection_string = connection_string + self.server = server + self.authentication_type = authentication_type + self.user_name = user_name + self.password = password + self.encrypted_credential = encrypted_credential + + +class SapHanaTableDataset(Dataset): + """SAP HANA Table properties. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param schema_type_properties_schema: The schema name of SAP HANA. Type: string (or Expression + with resultType string). + :type schema_type_properties_schema: object + :param table: The table name of SAP HANA. Type: string (or Expression with resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + schema_type_properties_schema: Optional[object] = None, + table: Optional[object] = None, + **kwargs + ): + super(SapHanaTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'SapHanaTable' + self.schema_type_properties_schema = schema_type_properties_schema + self.table = table + + +class SapOpenHubLinkedService(LinkedService): + """SAP Business Warehouse Open Hub Destination Linked Service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param server: Required. Host name of the SAP BW instance where the open hub destination is + located. Type: string (or Expression with resultType string). + :type server: object + :param system_number: Required. System number of the BW system where the open hub destination + is located. (Usually a two-digit decimal number represented as a string.) Type: string (or + Expression with resultType string). + :type system_number: object + :param client_id: Required. Client ID of the client on the BW system where the open hub + destination is located. (Usually a three-digit decimal number represented as a string) Type: + string (or Expression with resultType string). + :type client_id: object + :param language: Language of the BW system where the open hub destination is located. The + default value is EN. Type: string (or Expression with resultType string). + :type language: object + :param user_name: Username to access the SAP BW server where the open hub destination is + located. Type: string (or Expression with resultType string). + :type user_name: object + :param password: Password to access the SAP BW server where the open hub destination is + located. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'server': {'required': True}, + 'system_number': {'required': True}, + 'client_id': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'system_number': {'key': 'typeProperties.systemNumber', 'type': 'object'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'language': {'key': 'typeProperties.language', 'type': 'object'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + server: object, + system_number: object, + client_id: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + language: Optional[object] = None, + user_name: Optional[object] = None, + password: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(SapOpenHubLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'SapOpenHub' + self.server = server + self.system_number = system_number + self.client_id = client_id + self.language = language + self.user_name = user_name + self.password = password + self.encrypted_credential = encrypted_credential + + +class SapOpenHubTableDataset(Dataset): + """Sap Business Warehouse Open Hub Destination Table properties. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param open_hub_destination_name: Required. The name of the Open Hub Destination with + destination type as Database Table. Type: string (or Expression with resultType string). + :type open_hub_destination_name: object + :param exclude_last_request: Whether to exclude the records of the last request. The default + value is true. Type: boolean (or Expression with resultType boolean). + :type exclude_last_request: object + :param base_request_id: The ID of request for delta loading. Once it is set, only data with + requestId larger than the value of this property will be retrieved. The default value is 0. + Type: integer (or Expression with resultType integer ). + :type base_request_id: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'open_hub_destination_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'open_hub_destination_name': {'key': 'typeProperties.openHubDestinationName', 'type': 'object'}, + 'exclude_last_request': {'key': 'typeProperties.excludeLastRequest', 'type': 'object'}, + 'base_request_id': {'key': 'typeProperties.baseRequestId', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + open_hub_destination_name: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + exclude_last_request: Optional[object] = None, + base_request_id: Optional[object] = None, + **kwargs + ): + super(SapOpenHubTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'SapOpenHubTable' + self.open_hub_destination_name = open_hub_destination_name + self.exclude_last_request = exclude_last_request + self.base_request_id = base_request_id + + +class SapTableLinkedService(LinkedService): + """SAP Table Linked Service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param server: Host name of the SAP instance where the table is located. Type: string (or + Expression with resultType string). + :type server: object + :param system_number: System number of the SAP system where the table is located. (Usually a + two-digit decimal number represented as a string.) Type: string (or Expression with resultType + string). + :type system_number: object + :param client_id: Client ID of the client on the SAP system where the table is located. + (Usually a three-digit decimal number represented as a string) Type: string (or Expression with + resultType string). + :type client_id: object + :param language: Language of the SAP system where the table is located. The default value is + EN. Type: string (or Expression with resultType string). + :type language: object + :param system_id: SystemID of the SAP system where the table is located. Type: string (or + Expression with resultType string). + :type system_id: object + :param user_name: Username to access the SAP server where the table is located. Type: string + (or Expression with resultType string). + :type user_name: object + :param password: Password to access the SAP server where the table is located. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param message_server: The hostname of the SAP Message Server. Type: string (or Expression with + resultType string). + :type message_server: object + :param message_server_service: The service name or port number of the Message Server. Type: + string (or Expression with resultType string). + :type message_server_service: object + :param snc_mode: SNC activation indicator to access the SAP server where the table is located. + Must be either 0 (off) or 1 (on). Type: string (or Expression with resultType string). + :type snc_mode: object + :param snc_my_name: Initiator's SNC name to access the SAP server where the table is located. + Type: string (or Expression with resultType string). + :type snc_my_name: object + :param snc_partner_name: Communication partner's SNC name to access the SAP server where the + table is located. Type: string (or Expression with resultType string). + :type snc_partner_name: object + :param snc_library_path: External security product's library to access the SAP server where the + table is located. Type: string (or Expression with resultType string). + :type snc_library_path: object + :param snc_qop: SNC Quality of Protection. Allowed value include: 1, 2, 3, 8, 9. Type: string + (or Expression with resultType string). + :type snc_qop: object + :param logon_group: The Logon Group for the SAP System. Type: string (or Expression with + resultType string). + :type logon_group: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'system_number': {'key': 'typeProperties.systemNumber', 'type': 'object'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'language': {'key': 'typeProperties.language', 'type': 'object'}, + 'system_id': {'key': 'typeProperties.systemId', 'type': 'object'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'message_server': {'key': 'typeProperties.messageServer', 'type': 'object'}, + 'message_server_service': {'key': 'typeProperties.messageServerService', 'type': 'object'}, + 'snc_mode': {'key': 'typeProperties.sncMode', 'type': 'object'}, + 'snc_my_name': {'key': 'typeProperties.sncMyName', 'type': 'object'}, + 'snc_partner_name': {'key': 'typeProperties.sncPartnerName', 'type': 'object'}, + 'snc_library_path': {'key': 'typeProperties.sncLibraryPath', 'type': 'object'}, + 'snc_qop': {'key': 'typeProperties.sncQop', 'type': 'object'}, + 'logon_group': {'key': 'typeProperties.logonGroup', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + server: Optional[object] = None, + system_number: Optional[object] = None, + client_id: Optional[object] = None, + language: Optional[object] = None, + system_id: Optional[object] = None, + user_name: Optional[object] = None, + password: Optional["SecretBase"] = None, + message_server: Optional[object] = None, + message_server_service: Optional[object] = None, + snc_mode: Optional[object] = None, + snc_my_name: Optional[object] = None, + snc_partner_name: Optional[object] = None, + snc_library_path: Optional[object] = None, + snc_qop: Optional[object] = None, + logon_group: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(SapTableLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'SapTable' + self.server = server + self.system_number = system_number + self.client_id = client_id + self.language = language + self.system_id = system_id + self.user_name = user_name + self.password = password + self.message_server = message_server + self.message_server_service = message_server_service + self.snc_mode = snc_mode + self.snc_my_name = snc_my_name + self.snc_partner_name = snc_partner_name + self.snc_library_path = snc_library_path + self.snc_qop = snc_qop + self.logon_group = logon_group + self.encrypted_credential = encrypted_credential + + +class SapTableResourceDataset(Dataset): + """SAP Table Resource properties. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: Required. The name of the SAP Table. Type: string (or Expression with + resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'table_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + table_name: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + **kwargs + ): + super(SapTableResourceDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'SapTableResource' + self.table_name = table_name + + +class ScriptAction(msrest.serialization.Model): + """Custom script action to run on HDI ondemand cluster once it's up. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The user provided name of the script action. + :type name: str + :param uri: Required. The URI for the script action. + :type uri: str + :param roles: Required. The node types on which the script action should be executed. Possible + values include: "Headnode", "Workernode", "Zookeeper". + :type roles: str or ~azure.mgmt.datafactory.models.HdiNodeTypes + :param parameters: The parameters for the script action. + :type parameters: str + """ + + _validation = { + 'name': {'required': True}, + 'uri': {'required': True}, + 'roles': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'uri': {'key': 'uri', 'type': 'str'}, + 'roles': {'key': 'roles', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + uri: str, + roles: Union[str, "HdiNodeTypes"], + parameters: Optional[str] = None, + **kwargs + ): + super(ScriptAction, self).__init__(**kwargs) + self.name = name + self.uri = uri + self.roles = roles + self.parameters = parameters + + +class SecureString(SecretBase): + """Azure Data Factory secure string definition. The string value will be masked with asterisks '*' during Get or List API calls. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of the secret.Constant filled by server. + :type type: str + :param value: Required. Value of secure string. + :type value: str + """ + + _validation = { + 'type': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + *, + value: str, + **kwargs + ): + super(SecureString, self).__init__(**kwargs) + self.type = 'SecureString' + self.value = value + + +class SelfHostedIntegrationRuntime(IntegrationRuntime): + """Self-hosted integration runtime. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of integration runtime.Constant filled by server. Possible values + include: "Managed", "SelfHosted". + :type type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeType + :param description: Integration runtime description. + :type description: str + :param linked_info: The base definition of a linked integration runtime. + :type linked_info: ~azure.mgmt.datafactory.models.LinkedIntegrationRuntimeType + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'linked_info': {'key': 'typeProperties.linkedInfo', 'type': 'LinkedIntegrationRuntimeType'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + linked_info: Optional["LinkedIntegrationRuntimeType"] = None, + **kwargs + ): + super(SelfHostedIntegrationRuntime, self).__init__(additional_properties=additional_properties, description=description, **kwargs) + self.type = 'SelfHosted' + self.linked_info = linked_info + + +class SelfHostedIntegrationRuntimeNode(msrest.serialization.Model): + """Properties of Self-hosted integration runtime node. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar node_name: Name of the integration runtime node. + :vartype node_name: str + :ivar machine_name: Machine name of the integration runtime node. + :vartype machine_name: str + :ivar host_service_uri: URI for the host machine of the integration runtime. + :vartype host_service_uri: str + :ivar status: Status of the integration runtime node. Possible values include: + "NeedRegistration", "Online", "Limited", "Offline", "Upgrading", "Initializing", + "InitializeFailed". + :vartype status: str or ~azure.mgmt.datafactory.models.SelfHostedIntegrationRuntimeNodeStatus + :ivar capabilities: The integration runtime capabilities dictionary. + :vartype capabilities: dict[str, str] + :ivar version_status: Status of the integration runtime node version. + :vartype version_status: str + :ivar version: Version of the integration runtime node. + :vartype version: str + :ivar register_time: The time at which the integration runtime node was registered in ISO8601 + format. + :vartype register_time: ~datetime.datetime + :ivar last_connect_time: The most recent time at which the integration runtime was connected in + ISO8601 format. + :vartype last_connect_time: ~datetime.datetime + :ivar expiry_time: The time at which the integration runtime will expire in ISO8601 format. + :vartype expiry_time: ~datetime.datetime + :ivar last_start_time: The time the node last started up. + :vartype last_start_time: ~datetime.datetime + :ivar last_stop_time: The integration runtime node last stop time. + :vartype last_stop_time: ~datetime.datetime + :ivar last_update_result: The result of the last integration runtime node update. Possible + values include: "None", "Succeed", "Fail". + :vartype last_update_result: str or + ~azure.mgmt.datafactory.models.IntegrationRuntimeUpdateResult + :ivar last_start_update_time: The last time for the integration runtime node update start. + :vartype last_start_update_time: ~datetime.datetime + :ivar last_end_update_time: The last time for the integration runtime node update end. + :vartype last_end_update_time: ~datetime.datetime + :ivar is_active_dispatcher: Indicates whether this node is the active dispatcher for + integration runtime requests. + :vartype is_active_dispatcher: bool + :ivar concurrent_jobs_limit: Maximum concurrent jobs on the integration runtime node. + :vartype concurrent_jobs_limit: int + :ivar max_concurrent_jobs: The maximum concurrent jobs in this integration runtime. + :vartype max_concurrent_jobs: int + """ + + _validation = { + 'node_name': {'readonly': True}, + 'machine_name': {'readonly': True}, + 'host_service_uri': {'readonly': True}, + 'status': {'readonly': True}, + 'capabilities': {'readonly': True}, + 'version_status': {'readonly': True}, + 'version': {'readonly': True}, + 'register_time': {'readonly': True}, + 'last_connect_time': {'readonly': True}, + 'expiry_time': {'readonly': True}, + 'last_start_time': {'readonly': True}, + 'last_stop_time': {'readonly': True}, + 'last_update_result': {'readonly': True}, + 'last_start_update_time': {'readonly': True}, + 'last_end_update_time': {'readonly': True}, + 'is_active_dispatcher': {'readonly': True}, + 'concurrent_jobs_limit': {'readonly': True}, + 'max_concurrent_jobs': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'node_name': {'key': 'nodeName', 'type': 'str'}, + 'machine_name': {'key': 'machineName', 'type': 'str'}, + 'host_service_uri': {'key': 'hostServiceUri', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + 'capabilities': {'key': 'capabilities', 'type': '{str}'}, + 'version_status': {'key': 'versionStatus', 'type': 'str'}, + 'version': {'key': 'version', 'type': 'str'}, + 'register_time': {'key': 'registerTime', 'type': 'iso-8601'}, + 'last_connect_time': {'key': 'lastConnectTime', 'type': 'iso-8601'}, + 'expiry_time': {'key': 'expiryTime', 'type': 'iso-8601'}, + 'last_start_time': {'key': 'lastStartTime', 'type': 'iso-8601'}, + 'last_stop_time': {'key': 'lastStopTime', 'type': 'iso-8601'}, + 'last_update_result': {'key': 'lastUpdateResult', 'type': 'str'}, + 'last_start_update_time': {'key': 'lastStartUpdateTime', 'type': 'iso-8601'}, + 'last_end_update_time': {'key': 'lastEndUpdateTime', 'type': 'iso-8601'}, + 'is_active_dispatcher': {'key': 'isActiveDispatcher', 'type': 'bool'}, + 'concurrent_jobs_limit': {'key': 'concurrentJobsLimit', 'type': 'int'}, + 'max_concurrent_jobs': {'key': 'maxConcurrentJobs', 'type': 'int'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(SelfHostedIntegrationRuntimeNode, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.node_name = None + self.machine_name = None + self.host_service_uri = None + self.status = None + self.capabilities = None + self.version_status = None + self.version = None + self.register_time = None + self.last_connect_time = None + self.expiry_time = None + self.last_start_time = None + self.last_stop_time = None + self.last_update_result = None + self.last_start_update_time = None + self.last_end_update_time = None + self.is_active_dispatcher = None + self.concurrent_jobs_limit = None + self.max_concurrent_jobs = None + + +class SelfHostedIntegrationRuntimeStatus(IntegrationRuntimeStatus): + """Self-hosted integration runtime status. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of integration runtime.Constant filled by server. Possible values + include: "Managed", "SelfHosted". + :type type: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeType + :ivar data_factory_name: The data factory name which the integration runtime belong to. + :vartype data_factory_name: str + :ivar state: The state of integration runtime. Possible values include: "Initial", "Stopped", + "Started", "Starting", "Stopping", "NeedRegistration", "Online", "Limited", "Offline", + "AccessDenied". + :vartype state: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeState + :ivar create_time: The time at which the integration runtime was created, in ISO8601 format. + :vartype create_time: ~datetime.datetime + :ivar task_queue_id: The task queue id of the integration runtime. + :vartype task_queue_id: str + :ivar internal_channel_encryption: It is used to set the encryption mode for node-node + communication channel (when more than 2 self-hosted integration runtime nodes exist). Possible + values include: "NotSet", "SslEncrypted", "NotEncrypted". + :vartype internal_channel_encryption: str or + ~azure.mgmt.datafactory.models.IntegrationRuntimeInternalChannelEncryptionMode + :ivar version: Version of the integration runtime. + :vartype version: str + :param nodes: The list of nodes for this integration runtime. + :type nodes: list[~azure.mgmt.datafactory.models.SelfHostedIntegrationRuntimeNode] + :ivar scheduled_update_date: The date at which the integration runtime will be scheduled to + update, in ISO8601 format. + :vartype scheduled_update_date: ~datetime.datetime + :ivar update_delay_offset: The time in the date scheduled by service to update the integration + runtime, e.g., PT03H is 3 hours. + :vartype update_delay_offset: str + :ivar local_time_zone_offset: The local time zone offset in hours. + :vartype local_time_zone_offset: str + :ivar capabilities: Object with additional information about integration runtime capabilities. + :vartype capabilities: dict[str, str] + :ivar service_urls: The URLs for the services used in integration runtime backend service. + :vartype service_urls: list[str] + :ivar auto_update: Whether Self-hosted integration runtime auto update has been turned on. + Possible values include: "On", "Off". + :vartype auto_update: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeAutoUpdate + :ivar version_status: Status of the integration runtime version. + :vartype version_status: str + :param links: The list of linked integration runtimes that are created to share with this + integration runtime. + :type links: list[~azure.mgmt.datafactory.models.LinkedIntegrationRuntime] + :ivar pushed_version: The version that the integration runtime is going to update to. + :vartype pushed_version: str + :ivar latest_version: The latest version on download center. + :vartype latest_version: str + :ivar auto_update_eta: The estimated time when the self-hosted integration runtime will be + updated. + :vartype auto_update_eta: ~datetime.datetime + """ + + _validation = { + 'type': {'required': True}, + 'data_factory_name': {'readonly': True}, + 'state': {'readonly': True}, + 'create_time': {'readonly': True}, + 'task_queue_id': {'readonly': True}, + 'internal_channel_encryption': {'readonly': True}, + 'version': {'readonly': True}, + 'scheduled_update_date': {'readonly': True}, + 'update_delay_offset': {'readonly': True}, + 'local_time_zone_offset': {'readonly': True}, + 'capabilities': {'readonly': True}, + 'service_urls': {'readonly': True}, + 'auto_update': {'readonly': True}, + 'version_status': {'readonly': True}, + 'pushed_version': {'readonly': True}, + 'latest_version': {'readonly': True}, + 'auto_update_eta': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'data_factory_name': {'key': 'dataFactoryName', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'create_time': {'key': 'typeProperties.createTime', 'type': 'iso-8601'}, + 'task_queue_id': {'key': 'typeProperties.taskQueueId', 'type': 'str'}, + 'internal_channel_encryption': {'key': 'typeProperties.internalChannelEncryption', 'type': 'str'}, + 'version': {'key': 'typeProperties.version', 'type': 'str'}, + 'nodes': {'key': 'typeProperties.nodes', 'type': '[SelfHostedIntegrationRuntimeNode]'}, + 'scheduled_update_date': {'key': 'typeProperties.scheduledUpdateDate', 'type': 'iso-8601'}, + 'update_delay_offset': {'key': 'typeProperties.updateDelayOffset', 'type': 'str'}, + 'local_time_zone_offset': {'key': 'typeProperties.localTimeZoneOffset', 'type': 'str'}, + 'capabilities': {'key': 'typeProperties.capabilities', 'type': '{str}'}, + 'service_urls': {'key': 'typeProperties.serviceUrls', 'type': '[str]'}, + 'auto_update': {'key': 'typeProperties.autoUpdate', 'type': 'str'}, + 'version_status': {'key': 'typeProperties.versionStatus', 'type': 'str'}, + 'links': {'key': 'typeProperties.links', 'type': '[LinkedIntegrationRuntime]'}, + 'pushed_version': {'key': 'typeProperties.pushedVersion', 'type': 'str'}, + 'latest_version': {'key': 'typeProperties.latestVersion', 'type': 'str'}, + 'auto_update_eta': {'key': 'typeProperties.autoUpdateETA', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + nodes: Optional[List["SelfHostedIntegrationRuntimeNode"]] = None, + links: Optional[List["LinkedIntegrationRuntime"]] = None, + **kwargs + ): + super(SelfHostedIntegrationRuntimeStatus, self).__init__(additional_properties=additional_properties, **kwargs) + self.type = 'SelfHosted' + self.create_time = None + self.task_queue_id = None + self.internal_channel_encryption = None + self.version = None + self.nodes = nodes + self.scheduled_update_date = None + self.update_delay_offset = None + self.local_time_zone_offset = None + self.capabilities = None + self.service_urls = None + self.auto_update = None + self.version_status = None + self.links = links + self.pushed_version = None + self.latest_version = None + self.auto_update_eta = None + + +class ServiceNowLinkedService(LinkedService): + """ServiceNow server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of the ServiceNow server. (i.e. + :code:``.service-now.com). + :type endpoint: object + :param authentication_type: Required. The authentication type to use. Possible values include: + "Basic", "OAuth2". + :type authentication_type: str or ~azure.mgmt.datafactory.models.ServiceNowAuthenticationType + :param username: The user name used to connect to the ServiceNow server for Basic and OAuth2 + authentication. + :type username: object + :param password: The password corresponding to the user name for Basic and OAuth2 + authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param client_id: The client id for OAuth2 authentication. + :type client_id: object + :param client_secret: The client secret for OAuth2 authentication. + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + endpoint: object, + authentication_type: Union[str, "ServiceNowAuthenticationType"], + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + client_id: Optional[object] = None, + client_secret: Optional["SecretBase"] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(ServiceNowLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'ServiceNow' + self.endpoint = endpoint + self.authentication_type = authentication_type + self.username = username + self.password = password + self.client_id = client_id + self.client_secret = client_secret + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class ServiceNowObjectDataset(Dataset): + """ServiceNow server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(ServiceNowObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'ServiceNowObject' + self.table_name = table_name + + +class SetVariableActivity(ControlActivity): + """Set value for a Variable. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param variable_name: Name of the variable whose value needs to be set. + :type variable_name: str + :param value: Value to be set. Could be a static value or Expression. + :type value: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'variable_name': {'key': 'typeProperties.variableName', 'type': 'str'}, + 'value': {'key': 'typeProperties.value', 'type': 'object'}, + } + + def __init__( + self, + *, + name: str, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + variable_name: Optional[str] = None, + value: Optional[object] = None, + **kwargs + ): + super(SetVariableActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs) + self.type = 'SetVariable' + self.variable_name = variable_name + self.value = value + + +class SftpServerLinkedService(LinkedService): + """A linked service for an SSH File Transfer Protocol (SFTP) server. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The SFTP server host name. Type: string (or Expression with resultType + string). + :type host: object + :param port: The TCP port number that the SFTP server uses to listen for client connections. + Default value is 22. Type: integer (or Expression with resultType integer), minimum: 0. + :type port: object + :param authentication_type: The authentication type to be used to connect to the FTP server. + Possible values include: "Basic", "SshPublicKey". + :type authentication_type: str or ~azure.mgmt.datafactory.models.SftpAuthenticationType + :param user_name: The username used to log on to the SFTP server. Type: string (or Expression + with resultType string). + :type user_name: object + :param password: Password to logon the SFTP server for Basic authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + :param private_key_path: The SSH private key file path for SshPublicKey authentication. Only + valid for on-premises copy. For on-premises copy with SshPublicKey authentication, either + PrivateKeyPath or PrivateKeyContent should be specified. SSH private key should be OpenSSH + format. Type: string (or Expression with resultType string). + :type private_key_path: object + :param private_key_content: Base64 encoded SSH private key content for SshPublicKey + authentication. For on-premises copy with SshPublicKey authentication, either PrivateKeyPath or + PrivateKeyContent should be specified. SSH private key should be OpenSSH format. + :type private_key_content: ~azure.mgmt.datafactory.models.SecretBase + :param pass_phrase: The password to decrypt the SSH private key if the SSH private key is + encrypted. + :type pass_phrase: ~azure.mgmt.datafactory.models.SecretBase + :param skip_host_key_validation: If true, skip the SSH host key validation. Default value is + false. Type: boolean (or Expression with resultType boolean). + :type skip_host_key_validation: object + :param host_key_fingerprint: The host key finger-print of the SFTP server. When + SkipHostKeyValidation is false, HostKeyFingerprint should be specified. Type: string (or + Expression with resultType string). + :type host_key_fingerprint: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'private_key_path': {'key': 'typeProperties.privateKeyPath', 'type': 'object'}, + 'private_key_content': {'key': 'typeProperties.privateKeyContent', 'type': 'SecretBase'}, + 'pass_phrase': {'key': 'typeProperties.passPhrase', 'type': 'SecretBase'}, + 'skip_host_key_validation': {'key': 'typeProperties.skipHostKeyValidation', 'type': 'object'}, + 'host_key_fingerprint': {'key': 'typeProperties.hostKeyFingerprint', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + port: Optional[object] = None, + authentication_type: Optional[Union[str, "SftpAuthenticationType"]] = None, + user_name: Optional[object] = None, + password: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + private_key_path: Optional[object] = None, + private_key_content: Optional["SecretBase"] = None, + pass_phrase: Optional["SecretBase"] = None, + skip_host_key_validation: Optional[object] = None, + host_key_fingerprint: Optional[object] = None, + **kwargs + ): + super(SftpServerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Sftp' + self.host = host + self.port = port + self.authentication_type = authentication_type + self.user_name = user_name + self.password = password + self.encrypted_credential = encrypted_credential + self.private_key_path = private_key_path + self.private_key_content = private_key_content + self.pass_phrase = pass_phrase + self.skip_host_key_validation = skip_host_key_validation + self.host_key_fingerprint = host_key_fingerprint + + +class SharePointOnlineListLinkedService(LinkedService): + """SharePoint Online List linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param site_url: Required. The URL of the SharePoint Online site. For example, + https://contoso.sharepoint.com/sites/siteName. Type: string (or Expression with resultType + string). + :type site_url: object + :param tenant_id: Required. The tenant ID under which your application resides. You can find it + from Azure portal Active Directory overview page. Type: string (or Expression with resultType + string). + :type tenant_id: object + :param service_principal_id: Required. The application (client) ID of your application + registered in Azure Active Directory. Make sure to grant SharePoint site permission to this + application. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: Required. The client secret of your application registered in + Azure Active Directory. Type: string (or Expression with resultType string). + :type service_principal_key: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'site_url': {'required': True}, + 'tenant_id': {'required': True}, + 'service_principal_id': {'required': True}, + 'service_principal_key': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'site_url': {'key': 'typeProperties.siteUrl', 'type': 'object'}, + 'tenant_id': {'key': 'typeProperties.tenantId', 'type': 'object'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + site_url: object, + tenant_id: object, + service_principal_id: object, + service_principal_key: "SecretBase", + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(SharePointOnlineListLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'SharePointOnlineList' + self.site_url = site_url + self.tenant_id = tenant_id + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + self.encrypted_credential = encrypted_credential + + +class SharePointOnlineListResourceDataset(Dataset): + """The sharepoint online list resource dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param list_name: The name of the SharePoint Online list. Type: string (or Expression with + resultType string). + :type list_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'list_name': {'key': 'typeProperties.listName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + list_name: Optional[object] = None, + **kwargs + ): + super(SharePointOnlineListResourceDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'SharePointOnlineListResource' + self.list_name = list_name + + +class ShopifyLinkedService(LinkedService): + """Shopify Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The endpoint of the Shopify server. (i.e. mystore.myshopify.com). + :type host: object + :param access_token: The API access token that can be used to access Shopify’s data. The token + won't expire if it is offline mode. + :type access_token: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + access_token: Optional["SecretBase"] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(ShopifyLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Shopify' + self.host = host + self.access_token = access_token + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class ShopifyObjectDataset(Dataset): + """Shopify Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(ShopifyObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'ShopifyObject' + self.table_name = table_name + + +class SkipErrorFile(msrest.serialization.Model): + """Skip error file. + + :param file_missing: Skip if file is deleted by other client during copy. Default is true. + Type: boolean (or Expression with resultType boolean). + :type file_missing: object + :param data_inconsistency: Skip if source/sink file changed by other concurrent write. Default + is false. Type: boolean (or Expression with resultType boolean). + :type data_inconsistency: object + """ + + _attribute_map = { + 'file_missing': {'key': 'fileMissing', 'type': 'object'}, + 'data_inconsistency': {'key': 'dataInconsistency', 'type': 'object'}, + } + + def __init__( + self, + *, + file_missing: Optional[object] = None, + data_inconsistency: Optional[object] = None, + **kwargs + ): + super(SkipErrorFile, self).__init__(**kwargs) + self.file_missing = file_missing + self.data_inconsistency = data_inconsistency + + +class SnowflakeDataset(Dataset): + """The snowflake dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param schema_type_properties_schema: The schema name of the Snowflake database. Type: string + (or Expression with resultType string). + :type schema_type_properties_schema: object + :param table: The table name of the Snowflake database. Type: string (or Expression with + resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + schema_type_properties_schema: Optional[object] = None, + table: Optional[object] = None, + **kwargs + ): + super(SnowflakeDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'SnowflakeTable' + self.schema_type_properties_schema = schema_type_properties_schema + self.table = table + + +class SnowflakeLinkedService(LinkedService): + """Snowflake linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string of snowflake. Type: string, + SecureString. + :type connection_string: object + :param password: The Azure key vault secret reference of password in connection string. + :type password: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + connection_string: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + password: Optional["AzureKeyVaultSecretReference"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(SnowflakeLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Snowflake' + self.connection_string = connection_string + self.password = password + self.encrypted_credential = encrypted_credential + + +class SparkLinkedService(LinkedService): + """Spark Server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. IP address or host name of the Spark server. + :type host: object + :param port: Required. The TCP port that the Spark server uses to listen for client + connections. + :type port: object + :param server_type: The type of Spark server. Possible values include: "SharkServer", + "SharkServer2", "SparkThriftServer". + :type server_type: str or ~azure.mgmt.datafactory.models.SparkServerType + :param thrift_transport_protocol: The transport protocol to use in the Thrift layer. Possible + values include: "Binary", "SASL", "HTTP ". + :type thrift_transport_protocol: str or + ~azure.mgmt.datafactory.models.SparkThriftTransportProtocol + :param authentication_type: Required. The authentication method used to access the Spark + server. Possible values include: "Anonymous", "Username", "UsernameAndPassword", + "WindowsAzureHDInsightService". + :type authentication_type: str or ~azure.mgmt.datafactory.models.SparkAuthenticationType + :param username: The user name that you use to access Spark Server. + :type username: object + :param password: The password corresponding to the user name that you provided in the Username + field. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :param http_path: The partial URL corresponding to the Spark server. + :type http_path: object + :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The + default value is false. + :type enable_ssl: object + :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for + verifying the server when connecting over SSL. This property can only be set when using SSL on + self-hosted IR. The default value is the cacerts.pem file installed with the IR. + :type trusted_cert_path: object + :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust + store or from a specified PEM file. The default value is false. + :type use_system_trust_store: object + :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate + name to match the host name of the server when connecting over SSL. The default value is false. + :type allow_host_name_cn_mismatch: object + :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from + the server. The default value is false. + :type allow_self_signed_server_cert: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'port': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'port': {'key': 'typeProperties.port', 'type': 'object'}, + 'server_type': {'key': 'typeProperties.serverType', 'type': 'str'}, + 'thrift_transport_protocol': {'key': 'typeProperties.thriftTransportProtocol', 'type': 'str'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'}, + 'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'}, + 'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'}, + 'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'}, + 'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'}, + 'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + port: object, + authentication_type: Union[str, "SparkAuthenticationType"], + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + server_type: Optional[Union[str, "SparkServerType"]] = None, + thrift_transport_protocol: Optional[Union[str, "SparkThriftTransportProtocol"]] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + http_path: Optional[object] = None, + enable_ssl: Optional[object] = None, + trusted_cert_path: Optional[object] = None, + use_system_trust_store: Optional[object] = None, + allow_host_name_cn_mismatch: Optional[object] = None, + allow_self_signed_server_cert: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(SparkLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Spark' + self.host = host + self.port = port + self.server_type = server_type + self.thrift_transport_protocol = thrift_transport_protocol + self.authentication_type = authentication_type + self.username = username + self.password = password + self.http_path = http_path + self.enable_ssl = enable_ssl + self.trusted_cert_path = trusted_cert_path + self.use_system_trust_store = use_system_trust_store + self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch + self.allow_self_signed_server_cert = allow_self_signed_server_cert + self.encrypted_credential = encrypted_credential + + +class SparkObjectDataset(Dataset): + """Spark Server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Spark. Type: string (or Expression with resultType string). + :type table: object + :param schema_type_properties_schema: The schema name of the Spark. Type: string (or Expression + with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + table: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + **kwargs + ): + super(SparkObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'SparkObject' + self.table_name = table_name + self.table = table + self.schema_type_properties_schema = schema_type_properties_schema + + +class SqlServerLinkedService(LinkedService): + """SQL Server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param user_name: The on-premises Windows authentication user name. Type: string (or Expression + with resultType string). + :type user_name: object + :param password: The on-premises Windows authentication password. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + connection_string: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + user_name: Optional[object] = None, + password: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(SqlServerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'SqlServer' + self.connection_string = connection_string + self.user_name = user_name + self.password = password + self.encrypted_credential = encrypted_credential + + +class SqlServerStoredProcedureActivity(ExecutionActivity): + """SQL stored procedure activity type. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param stored_procedure_name: Required. Stored procedure name. Type: string (or Expression with + resultType string). + :type stored_procedure_name: object + :param stored_procedure_parameters: Value and type setting for stored procedure parameters. + Example: "{Parameter1: {value: "1", type: "int"}}". + :type stored_procedure_parameters: dict[str, + ~azure.mgmt.datafactory.models.StoredProcedureParameter] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'stored_procedure_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'stored_procedure_name': {'key': 'typeProperties.storedProcedureName', 'type': 'object'}, + 'stored_procedure_parameters': {'key': 'typeProperties.storedProcedureParameters', 'type': '{StoredProcedureParameter}'}, + } + + def __init__( + self, + *, + name: str, + stored_procedure_name: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None, + **kwargs + ): + super(SqlServerStoredProcedureActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'SqlServerStoredProcedure' + self.stored_procedure_name = stored_procedure_name + self.stored_procedure_parameters = stored_procedure_parameters + + +class SqlServerTableDataset(Dataset): + """The on-premises SQL Server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param schema_type_properties_schema: The schema name of the SQL Server dataset. Type: string + (or Expression with resultType string). + :type schema_type_properties_schema: object + :param table: The table name of the SQL Server dataset. Type: string (or Expression with + resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + table: Optional[object] = None, + **kwargs + ): + super(SqlServerTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'SqlServerTable' + self.table_name = table_name + self.schema_type_properties_schema = schema_type_properties_schema + self.table = table + + +class SquareLinkedService(LinkedService): + """Square Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The URL of the Square instance. (i.e. mystore.mysquare.com). + :type host: object + :param client_id: Required. The client ID associated with your Square application. + :type client_id: object + :param client_secret: The client secret associated with your Square application. + :type client_secret: ~azure.mgmt.datafactory.models.SecretBase + :param redirect_uri: Required. The redirect URL assigned in the Square application dashboard. + (i.e. http://localhost:2500). + :type redirect_uri: object + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + 'client_id': {'required': True}, + 'redirect_uri': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, + 'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'}, + 'redirect_uri': {'key': 'typeProperties.redirectUri', 'type': 'object'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + client_id: object, + redirect_uri: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + client_secret: Optional["SecretBase"] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(SquareLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Square' + self.host = host + self.client_id = client_id + self.client_secret = client_secret + self.redirect_uri = redirect_uri + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class SquareObjectDataset(Dataset): + """Square Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(SquareObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'SquareObject' + self.table_name = table_name + + +class SsisAccessCredential(msrest.serialization.Model): + """SSIS access credential. + + All required parameters must be populated in order to send to Azure. + + :param domain: Required. Domain for windows authentication. + :type domain: object + :param user_name: Required. UseName for windows authentication. + :type user_name: object + :param password: Required. Password for windows authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + """ + + _validation = { + 'domain': {'required': True}, + 'user_name': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'domain': {'key': 'domain', 'type': 'object'}, + 'user_name': {'key': 'userName', 'type': 'object'}, + 'password': {'key': 'password', 'type': 'SecretBase'}, + } + + def __init__( + self, + *, + domain: object, + user_name: object, + password: "SecretBase", + **kwargs + ): + super(SsisAccessCredential, self).__init__(**kwargs) + self.domain = domain + self.user_name = user_name + self.password = password + + +class SsisChildPackage(msrest.serialization.Model): + """SSIS embedded child package. + + All required parameters must be populated in order to send to Azure. + + :param package_path: Required. Path for embedded child package. Type: string (or Expression + with resultType string). + :type package_path: object + :param package_name: Name for embedded child package. + :type package_name: str + :param package_content: Required. Content for embedded child package. Type: string (or + Expression with resultType string). + :type package_content: object + :param package_last_modified_date: Last modified date for embedded child package. + :type package_last_modified_date: str + """ + + _validation = { + 'package_path': {'required': True}, + 'package_content': {'required': True}, + } + + _attribute_map = { + 'package_path': {'key': 'packagePath', 'type': 'object'}, + 'package_name': {'key': 'packageName', 'type': 'str'}, + 'package_content': {'key': 'packageContent', 'type': 'object'}, + 'package_last_modified_date': {'key': 'packageLastModifiedDate', 'type': 'str'}, + } + + def __init__( + self, + *, + package_path: object, + package_content: object, + package_name: Optional[str] = None, + package_last_modified_date: Optional[str] = None, + **kwargs + ): + super(SsisChildPackage, self).__init__(**kwargs) + self.package_path = package_path + self.package_name = package_name + self.package_content = package_content + self.package_last_modified_date = package_last_modified_date + + +class SsisObjectMetadata(msrest.serialization.Model): + """SSIS object metadata. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: SsisEnvironment, SsisFolder, SsisPackage, SsisProject. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of metadata.Constant filled by server. Possible values include: + "Folder", "Project", "Package", "Environment". + :type type: str or ~azure.mgmt.datafactory.models.SsisObjectMetadataType + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'Environment': 'SsisEnvironment', 'Folder': 'SsisFolder', 'Package': 'SsisPackage', 'Project': 'SsisProject'} + } + + def __init__( + self, + *, + id: Optional[int] = None, + name: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + super(SsisObjectMetadata, self).__init__(**kwargs) + self.type = None + self.id = id + self.name = name + self.description = description + + +class SsisEnvironment(SsisObjectMetadata): + """Ssis environment. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of metadata.Constant filled by server. Possible values include: + "Folder", "Project", "Package", "Environment". + :type type: str or ~azure.mgmt.datafactory.models.SsisObjectMetadataType + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param folder_id: Folder id which contains environment. + :type folder_id: long + :param variables: Variable in environment. + :type variables: list[~azure.mgmt.datafactory.models.SsisVariable] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'folder_id': {'key': 'folderId', 'type': 'long'}, + 'variables': {'key': 'variables', 'type': '[SsisVariable]'}, + } + + def __init__( + self, + *, + id: Optional[int] = None, + name: Optional[str] = None, + description: Optional[str] = None, + folder_id: Optional[int] = None, + variables: Optional[List["SsisVariable"]] = None, + **kwargs + ): + super(SsisEnvironment, self).__init__(id=id, name=name, description=description, **kwargs) + self.type = 'Environment' + self.folder_id = folder_id + self.variables = variables + + +class SsisEnvironmentReference(msrest.serialization.Model): + """Ssis environment reference. + + :param id: Environment reference id. + :type id: long + :param environment_folder_name: Environment folder name. + :type environment_folder_name: str + :param environment_name: Environment name. + :type environment_name: str + :param reference_type: Reference type. + :type reference_type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'environment_folder_name': {'key': 'environmentFolderName', 'type': 'str'}, + 'environment_name': {'key': 'environmentName', 'type': 'str'}, + 'reference_type': {'key': 'referenceType', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[int] = None, + environment_folder_name: Optional[str] = None, + environment_name: Optional[str] = None, + reference_type: Optional[str] = None, + **kwargs + ): + super(SsisEnvironmentReference, self).__init__(**kwargs) + self.id = id + self.environment_folder_name = environment_folder_name + self.environment_name = environment_name + self.reference_type = reference_type + + +class SsisExecutionCredential(msrest.serialization.Model): + """SSIS package execution credential. + + All required parameters must be populated in order to send to Azure. + + :param domain: Required. Domain for windows authentication. + :type domain: object + :param user_name: Required. UseName for windows authentication. + :type user_name: object + :param password: Required. Password for windows authentication. + :type password: ~azure.mgmt.datafactory.models.SecureString + """ + + _validation = { + 'domain': {'required': True}, + 'user_name': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'domain': {'key': 'domain', 'type': 'object'}, + 'user_name': {'key': 'userName', 'type': 'object'}, + 'password': {'key': 'password', 'type': 'SecureString'}, + } + + def __init__( + self, + *, + domain: object, + user_name: object, + password: "SecureString", + **kwargs + ): + super(SsisExecutionCredential, self).__init__(**kwargs) + self.domain = domain + self.user_name = user_name + self.password = password + + +class SsisExecutionParameter(msrest.serialization.Model): + """SSIS execution parameter. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. SSIS package execution parameter value. Type: string (or Expression + with resultType string). + :type value: object + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'object'}, + } + + def __init__( + self, + *, + value: object, + **kwargs + ): + super(SsisExecutionParameter, self).__init__(**kwargs) + self.value = value + + +class SsisFolder(SsisObjectMetadata): + """Ssis folder. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of metadata.Constant filled by server. Possible values include: + "Folder", "Project", "Package", "Environment". + :type type: str or ~azure.mgmt.datafactory.models.SsisObjectMetadataType + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[int] = None, + name: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + super(SsisFolder, self).__init__(id=id, name=name, description=description, **kwargs) + self.type = 'Folder' + + +class SsisLogLocation(msrest.serialization.Model): + """SSIS package execution log location. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param log_path: Required. The SSIS package execution log path. Type: string (or Expression + with resultType string). + :type log_path: object + :ivar type: Required. The type of SSIS log location. Default value: "File". + :vartype type: str + :param access_credential: The package execution log access credential. + :type access_credential: ~azure.mgmt.datafactory.models.SsisAccessCredential + :param log_refresh_interval: Specifies the interval to refresh log. The default interval is 5 + minutes. Type: string (or Expression with resultType string), pattern: + ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type log_refresh_interval: object + """ + + _validation = { + 'log_path': {'required': True}, + 'type': {'required': True, 'constant': True}, + } + + _attribute_map = { + 'log_path': {'key': 'logPath', 'type': 'object'}, + 'type': {'key': 'type', 'type': 'str'}, + 'access_credential': {'key': 'typeProperties.accessCredential', 'type': 'SsisAccessCredential'}, + 'log_refresh_interval': {'key': 'typeProperties.logRefreshInterval', 'type': 'object'}, + } + + type = "File" + + def __init__( + self, + *, + log_path: object, + access_credential: Optional["SsisAccessCredential"] = None, + log_refresh_interval: Optional[object] = None, + **kwargs + ): + super(SsisLogLocation, self).__init__(**kwargs) + self.log_path = log_path + self.access_credential = access_credential + self.log_refresh_interval = log_refresh_interval + + +class SsisObjectMetadataListResponse(msrest.serialization.Model): + """A list of SSIS object metadata. + + :param value: List of SSIS object metadata. + :type value: list[~azure.mgmt.datafactory.models.SsisObjectMetadata] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SsisObjectMetadata]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["SsisObjectMetadata"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(SsisObjectMetadataListResponse, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class SsisObjectMetadataStatusResponse(msrest.serialization.Model): + """The status of the operation. + + :param status: The status of the operation. + :type status: str + :param name: The operation name. + :type name: str + :param properties: The operation properties. + :type properties: str + :param error: The operation error message. + :type error: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'str'}, + } + + def __init__( + self, + *, + status: Optional[str] = None, + name: Optional[str] = None, + properties: Optional[str] = None, + error: Optional[str] = None, + **kwargs + ): + super(SsisObjectMetadataStatusResponse, self).__init__(**kwargs) + self.status = status + self.name = name + self.properties = properties + self.error = error + + +class SsisPackage(SsisObjectMetadata): + """Ssis Package. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of metadata.Constant filled by server. Possible values include: + "Folder", "Project", "Package", "Environment". + :type type: str or ~azure.mgmt.datafactory.models.SsisObjectMetadataType + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param folder_id: Folder id which contains package. + :type folder_id: long + :param project_version: Project version which contains package. + :type project_version: long + :param project_id: Project id which contains package. + :type project_id: long + :param parameters: Parameters in package. + :type parameters: list[~azure.mgmt.datafactory.models.SsisParameter] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'folder_id': {'key': 'folderId', 'type': 'long'}, + 'project_version': {'key': 'projectVersion', 'type': 'long'}, + 'project_id': {'key': 'projectId', 'type': 'long'}, + 'parameters': {'key': 'parameters', 'type': '[SsisParameter]'}, + } + + def __init__( + self, + *, + id: Optional[int] = None, + name: Optional[str] = None, + description: Optional[str] = None, + folder_id: Optional[int] = None, + project_version: Optional[int] = None, + project_id: Optional[int] = None, + parameters: Optional[List["SsisParameter"]] = None, + **kwargs + ): + super(SsisPackage, self).__init__(id=id, name=name, description=description, **kwargs) + self.type = 'Package' + self.folder_id = folder_id + self.project_version = project_version + self.project_id = project_id + self.parameters = parameters + + +class SsisPackageLocation(msrest.serialization.Model): + """SSIS package location. + + :param package_path: The SSIS package path. Type: string (or Expression with resultType + string). + :type package_path: object + :param type: The type of SSIS package location. Possible values include: "SSISDB", "File", + "InlinePackage", "PackageStore". + :type type: str or ~azure.mgmt.datafactory.models.SsisPackageLocationType + :param package_password: Password of the package. + :type package_password: ~azure.mgmt.datafactory.models.SecretBase + :param access_credential: The package access credential. + :type access_credential: ~azure.mgmt.datafactory.models.SsisAccessCredential + :param configuration_path: The configuration file of the package execution. Type: string (or + Expression with resultType string). + :type configuration_path: object + :param configuration_access_credential: The configuration file access credential. + :type configuration_access_credential: ~azure.mgmt.datafactory.models.SsisAccessCredential + :param package_name: The package name. + :type package_name: str + :param package_content: The embedded package content. Type: string (or Expression with + resultType string). + :type package_content: object + :param package_last_modified_date: The embedded package last modified date. + :type package_last_modified_date: str + :param child_packages: The embedded child package list. + :type child_packages: list[~azure.mgmt.datafactory.models.SsisChildPackage] + """ + + _attribute_map = { + 'package_path': {'key': 'packagePath', 'type': 'object'}, + 'type': {'key': 'type', 'type': 'str'}, + 'package_password': {'key': 'typeProperties.packagePassword', 'type': 'SecretBase'}, + 'access_credential': {'key': 'typeProperties.accessCredential', 'type': 'SsisAccessCredential'}, + 'configuration_path': {'key': 'typeProperties.configurationPath', 'type': 'object'}, + 'configuration_access_credential': {'key': 'typeProperties.configurationAccessCredential', 'type': 'SsisAccessCredential'}, + 'package_name': {'key': 'typeProperties.packageName', 'type': 'str'}, + 'package_content': {'key': 'typeProperties.packageContent', 'type': 'object'}, + 'package_last_modified_date': {'key': 'typeProperties.packageLastModifiedDate', 'type': 'str'}, + 'child_packages': {'key': 'typeProperties.childPackages', 'type': '[SsisChildPackage]'}, + } + + def __init__( + self, + *, + package_path: Optional[object] = None, + type: Optional[Union[str, "SsisPackageLocationType"]] = None, + package_password: Optional["SecretBase"] = None, + access_credential: Optional["SsisAccessCredential"] = None, + configuration_path: Optional[object] = None, + configuration_access_credential: Optional["SsisAccessCredential"] = None, + package_name: Optional[str] = None, + package_content: Optional[object] = None, + package_last_modified_date: Optional[str] = None, + child_packages: Optional[List["SsisChildPackage"]] = None, + **kwargs + ): + super(SsisPackageLocation, self).__init__(**kwargs) + self.package_path = package_path + self.type = type + self.package_password = package_password + self.access_credential = access_credential + self.configuration_path = configuration_path + self.configuration_access_credential = configuration_access_credential + self.package_name = package_name + self.package_content = package_content + self.package_last_modified_date = package_last_modified_date + self.child_packages = child_packages + + +class SsisParameter(msrest.serialization.Model): + """Ssis parameter. + + :param id: Parameter id. + :type id: long + :param name: Parameter name. + :type name: str + :param description: Parameter description. + :type description: str + :param data_type: Parameter type. + :type data_type: str + :param required: Whether parameter is required. + :type required: bool + :param sensitive: Whether parameter is sensitive. + :type sensitive: bool + :param design_default_value: Design default value of parameter. + :type design_default_value: str + :param default_value: Default value of parameter. + :type default_value: str + :param sensitive_default_value: Default sensitive value of parameter. + :type sensitive_default_value: str + :param value_type: Parameter value type. + :type value_type: str + :param value_set: Parameter value set. + :type value_set: bool + :param variable: Parameter reference variable. + :type variable: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'data_type': {'key': 'dataType', 'type': 'str'}, + 'required': {'key': 'required', 'type': 'bool'}, + 'sensitive': {'key': 'sensitive', 'type': 'bool'}, + 'design_default_value': {'key': 'designDefaultValue', 'type': 'str'}, + 'default_value': {'key': 'defaultValue', 'type': 'str'}, + 'sensitive_default_value': {'key': 'sensitiveDefaultValue', 'type': 'str'}, + 'value_type': {'key': 'valueType', 'type': 'str'}, + 'value_set': {'key': 'valueSet', 'type': 'bool'}, + 'variable': {'key': 'variable', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[int] = None, + name: Optional[str] = None, + description: Optional[str] = None, + data_type: Optional[str] = None, + required: Optional[bool] = None, + sensitive: Optional[bool] = None, + design_default_value: Optional[str] = None, + default_value: Optional[str] = None, + sensitive_default_value: Optional[str] = None, + value_type: Optional[str] = None, + value_set: Optional[bool] = None, + variable: Optional[str] = None, + **kwargs + ): + super(SsisParameter, self).__init__(**kwargs) + self.id = id + self.name = name + self.description = description + self.data_type = data_type + self.required = required + self.sensitive = sensitive + self.design_default_value = design_default_value + self.default_value = default_value + self.sensitive_default_value = sensitive_default_value + self.value_type = value_type + self.value_set = value_set + self.variable = variable + + +class SsisProject(SsisObjectMetadata): + """Ssis project. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Type of metadata.Constant filled by server. Possible values include: + "Folder", "Project", "Package", "Environment". + :type type: str or ~azure.mgmt.datafactory.models.SsisObjectMetadataType + :param id: Metadata id. + :type id: long + :param name: Metadata name. + :type name: str + :param description: Metadata description. + :type description: str + :param folder_id: Folder id which contains project. + :type folder_id: long + :param version: Project version. + :type version: long + :param environment_refs: Environment reference in project. + :type environment_refs: list[~azure.mgmt.datafactory.models.SsisEnvironmentReference] + :param parameters: Parameters in project. + :type parameters: list[~azure.mgmt.datafactory.models.SsisParameter] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'folder_id': {'key': 'folderId', 'type': 'long'}, + 'version': {'key': 'version', 'type': 'long'}, + 'environment_refs': {'key': 'environmentRefs', 'type': '[SsisEnvironmentReference]'}, + 'parameters': {'key': 'parameters', 'type': '[SsisParameter]'}, + } + + def __init__( + self, + *, + id: Optional[int] = None, + name: Optional[str] = None, + description: Optional[str] = None, + folder_id: Optional[int] = None, + version: Optional[int] = None, + environment_refs: Optional[List["SsisEnvironmentReference"]] = None, + parameters: Optional[List["SsisParameter"]] = None, + **kwargs + ): + super(SsisProject, self).__init__(id=id, name=name, description=description, **kwargs) + self.type = 'Project' + self.folder_id = folder_id + self.version = version + self.environment_refs = environment_refs + self.parameters = parameters + + +class SsisPropertyOverride(msrest.serialization.Model): + """SSIS property override. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. SSIS package property override value. Type: string (or Expression with + resultType string). + :type value: object + :param is_sensitive: Whether SSIS package property override value is sensitive data. Value will + be encrypted in SSISDB if it is true. + :type is_sensitive: bool + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': 'object'}, + 'is_sensitive': {'key': 'isSensitive', 'type': 'bool'}, + } + + def __init__( + self, + *, + value: object, + is_sensitive: Optional[bool] = None, + **kwargs + ): + super(SsisPropertyOverride, self).__init__(**kwargs) + self.value = value + self.is_sensitive = is_sensitive + + +class SsisVariable(msrest.serialization.Model): + """Ssis variable. + + :param id: Variable id. + :type id: long + :param name: Variable name. + :type name: str + :param description: Variable description. + :type description: str + :param data_type: Variable type. + :type data_type: str + :param sensitive: Whether variable is sensitive. + :type sensitive: bool + :param value: Variable value. + :type value: str + :param sensitive_value: Variable sensitive value. + :type sensitive_value: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'data_type': {'key': 'dataType', 'type': 'str'}, + 'sensitive': {'key': 'sensitive', 'type': 'bool'}, + 'value': {'key': 'value', 'type': 'str'}, + 'sensitive_value': {'key': 'sensitiveValue', 'type': 'str'}, + } + + def __init__( + self, + *, + id: Optional[int] = None, + name: Optional[str] = None, + description: Optional[str] = None, + data_type: Optional[str] = None, + sensitive: Optional[bool] = None, + value: Optional[str] = None, + sensitive_value: Optional[str] = None, + **kwargs + ): + super(SsisVariable, self).__init__(**kwargs) + self.id = id + self.name = name + self.description = description + self.data_type = data_type + self.sensitive = sensitive + self.value = value + self.sensitive_value = sensitive_value + + +class StagingSettings(msrest.serialization.Model): + """Staging settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param linked_service_name: Required. Staging linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param path: The path to storage for storing the interim data. Type: string (or Expression with + resultType string). + :type path: object + :param enable_compression: Specifies whether to use compression when copying data via an + interim staging. Default value is false. Type: boolean (or Expression with resultType boolean). + :type enable_compression: object + """ + + _validation = { + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'path': {'key': 'path', 'type': 'object'}, + 'enable_compression': {'key': 'enableCompression', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + path: Optional[object] = None, + enable_compression: Optional[object] = None, + **kwargs + ): + super(StagingSettings, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.linked_service_name = linked_service_name + self.path = path + self.enable_compression = enable_compression + + +class StoredProcedureParameter(msrest.serialization.Model): + """SQL stored procedure parameter. + + :param value: Stored procedure parameter value. Type: string (or Expression with resultType + string). + :type value: object + :param type: Stored procedure parameter type. Possible values include: "String", "Int", + "Int64", "Decimal", "Guid", "Boolean", "Date". + :type type: str or ~azure.mgmt.datafactory.models.StoredProcedureParameterType + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'object'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[object] = None, + type: Optional[Union[str, "StoredProcedureParameterType"]] = None, + **kwargs + ): + super(StoredProcedureParameter, self).__init__(**kwargs) + self.value = value + self.type = type + + +class SwitchActivity(ControlActivity): + """This activity evaluates an expression and executes activities under the cases property that correspond to the expression evaluation expected in the equals property. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param on: Required. An expression that would evaluate to a string or integer. This is used to + determine the block of activities in cases that will be executed. + :type on: ~azure.mgmt.datafactory.models.Expression + :param cases: List of cases that correspond to expected values of the 'on' property. This is an + optional property and if not provided, the activity will execute activities provided in + defaultActivities. + :type cases: list[~azure.mgmt.datafactory.models.SwitchCase] + :param default_activities: List of activities to execute if no case condition is satisfied. + This is an optional property and if not provided, the activity will exit without any action. + :type default_activities: list[~azure.mgmt.datafactory.models.Activity] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'on': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'on': {'key': 'typeProperties.on', 'type': 'Expression'}, + 'cases': {'key': 'typeProperties.cases', 'type': '[SwitchCase]'}, + 'default_activities': {'key': 'typeProperties.defaultActivities', 'type': '[Activity]'}, + } + + def __init__( + self, + *, + name: str, + on: "Expression", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + cases: Optional[List["SwitchCase"]] = None, + default_activities: Optional[List["Activity"]] = None, + **kwargs + ): + super(SwitchActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs) + self.type = 'Switch' + self.on = on + self.cases = cases + self.default_activities = default_activities + + +class SwitchCase(msrest.serialization.Model): + """Switch cases with have a value and corresponding activities. + + :param value: Expected value that satisfies the expression result of the 'on' property. + :type value: str + :param activities: List of activities to execute for satisfied case condition. + :type activities: list[~azure.mgmt.datafactory.models.Activity] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'activities': {'key': 'activities', 'type': '[Activity]'}, + } + + def __init__( + self, + *, + value: Optional[str] = None, + activities: Optional[List["Activity"]] = None, + **kwargs + ): + super(SwitchCase, self).__init__(**kwargs) + self.value = value + self.activities = activities + + +class SybaseLinkedService(LinkedService): + """Linked service for Sybase data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param server: Required. Server name for connection. Type: string (or Expression with + resultType string). + :type server: object + :param database: Required. Database name for connection. Type: string (or Expression with + resultType string). + :type database: object + :param schema: Schema name for connection. Type: string (or Expression with resultType string). + :type schema: object + :param authentication_type: AuthenticationType to be used for connection. Possible values + include: "Basic", "Windows". + :type authentication_type: str or ~azure.mgmt.datafactory.models.SybaseAuthenticationType + :param username: Username for authentication. Type: string (or Expression with resultType + string). + :type username: object + :param password: Password for authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'server': {'required': True}, + 'database': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + 'schema': {'key': 'typeProperties.schema', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + server: object, + database: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + schema: Optional[object] = None, + authentication_type: Optional[Union[str, "SybaseAuthenticationType"]] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(SybaseLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Sybase' + self.server = server + self.database = database + self.schema = schema + self.authentication_type = authentication_type + self.username = username + self.password = password + self.encrypted_credential = encrypted_credential + + +class SybaseTableDataset(Dataset): + """The Sybase table dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The Sybase table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(SybaseTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'SybaseTable' + self.table_name = table_name + + +class TeradataLinkedService(LinkedService): + """Linked service for Teradata data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Teradata ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param server: Server name for connection. Type: string (or Expression with resultType string). + :type server: object + :param authentication_type: AuthenticationType to be used for connection. Possible values + include: "Basic", "Windows". + :type authentication_type: str or ~azure.mgmt.datafactory.models.TeradataAuthenticationType + :param username: Username for authentication. Type: string (or Expression with resultType + string). + :type username: object + :param password: Password for authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'server': {'key': 'typeProperties.server', 'type': 'object'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, + 'username': {'key': 'typeProperties.username', 'type': 'object'}, + 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + connection_string: Optional[object] = None, + server: Optional[object] = None, + authentication_type: Optional[Union[str, "TeradataAuthenticationType"]] = None, + username: Optional[object] = None, + password: Optional["SecretBase"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(TeradataLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Teradata' + self.connection_string = connection_string + self.server = server + self.authentication_type = authentication_type + self.username = username + self.password = password + self.encrypted_credential = encrypted_credential + + +class TeradataTableDataset(Dataset): + """The Teradata database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param database: The database name of Teradata. Type: string (or Expression with resultType + string). + :type database: object + :param table: The table name of Teradata. Type: string (or Expression with resultType string). + :type table: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + database: Optional[object] = None, + table: Optional[object] = None, + **kwargs + ): + super(TeradataTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'TeradataTable' + self.database = database + self.table = table + + +class TriggerFilterParameters(msrest.serialization.Model): + """Query parameters for triggers. + + :param continuation_token: The continuation token for getting the next page of results. Null + for first page. + :type continuation_token: str + :param parent_trigger_name: The name of the parent TumblingWindowTrigger to get the child rerun + triggers. + :type parent_trigger_name: str + """ + + _attribute_map = { + 'continuation_token': {'key': 'continuationToken', 'type': 'str'}, + 'parent_trigger_name': {'key': 'parentTriggerName', 'type': 'str'}, + } + + def __init__( + self, + *, + continuation_token: Optional[str] = None, + parent_trigger_name: Optional[str] = None, + **kwargs + ): + super(TriggerFilterParameters, self).__init__(**kwargs) + self.continuation_token = continuation_token + self.parent_trigger_name = parent_trigger_name + + +class TriggerListResponse(msrest.serialization.Model): + """A list of trigger resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of triggers. + :type value: list[~azure.mgmt.datafactory.models.TriggerResource] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[TriggerResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["TriggerResource"], + next_link: Optional[str] = None, + **kwargs + ): + super(TriggerListResponse, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class TriggerPipelineReference(msrest.serialization.Model): + """Pipeline that needs to be triggered with the given parameters. + + :param pipeline_reference: Pipeline reference. + :type pipeline_reference: ~azure.mgmt.datafactory.models.PipelineReference + :param parameters: Pipeline parameters. + :type parameters: dict[str, object] + """ + + _attribute_map = { + 'pipeline_reference': {'key': 'pipelineReference', 'type': 'PipelineReference'}, + 'parameters': {'key': 'parameters', 'type': '{object}'}, + } + + def __init__( + self, + *, + pipeline_reference: Optional["PipelineReference"] = None, + parameters: Optional[Dict[str, object]] = None, + **kwargs + ): + super(TriggerPipelineReference, self).__init__(**kwargs) + self.pipeline_reference = pipeline_reference + self.parameters = parameters + + +class TriggerQueryResponse(msrest.serialization.Model): + """A query of triggers. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of triggers. + :type value: list[~azure.mgmt.datafactory.models.TriggerResource] + :param continuation_token: The continuation token for getting the next page of results, if any + remaining results exist, null otherwise. + :type continuation_token: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[TriggerResource]'}, + 'continuation_token': {'key': 'continuationToken', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["TriggerResource"], + continuation_token: Optional[str] = None, + **kwargs + ): + super(TriggerQueryResponse, self).__init__(**kwargs) + self.value = value + self.continuation_token = continuation_token + + +class TriggerResource(SubResource): + """Trigger resource type. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Required. Properties of the trigger. + :type properties: ~azure.mgmt.datafactory.models.Trigger + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'Trigger'}, + } + + def __init__( + self, + *, + properties: "Trigger", + **kwargs + ): + super(TriggerResource, self).__init__(**kwargs) + self.properties = properties + + +class TriggerRun(msrest.serialization.Model): + """Trigger runs. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :ivar trigger_run_id: Trigger run id. + :vartype trigger_run_id: str + :ivar trigger_name: Trigger name. + :vartype trigger_name: str + :ivar trigger_type: Trigger type. + :vartype trigger_type: str + :ivar trigger_run_timestamp: Trigger run start time. + :vartype trigger_run_timestamp: ~datetime.datetime + :ivar status: Trigger run status. Possible values include: "Succeeded", "Failed", "Inprogress". + :vartype status: str or ~azure.mgmt.datafactory.models.TriggerRunStatus + :ivar message: Trigger error message. + :vartype message: str + :ivar properties: List of property name and value related to trigger run. Name, value pair + depends on type of trigger. + :vartype properties: dict[str, str] + :ivar triggered_pipelines: List of pipeline name and run Id triggered by the trigger run. + :vartype triggered_pipelines: dict[str, str] + :ivar run_dimension: Run dimension for which trigger was fired. + :vartype run_dimension: dict[str, str] + :ivar dependency_status: Status of the upstream pipelines. + :vartype dependency_status: dict[str, object] + """ + + _validation = { + 'trigger_run_id': {'readonly': True}, + 'trigger_name': {'readonly': True}, + 'trigger_type': {'readonly': True}, + 'trigger_run_timestamp': {'readonly': True}, + 'status': {'readonly': True}, + 'message': {'readonly': True}, + 'properties': {'readonly': True}, + 'triggered_pipelines': {'readonly': True}, + 'run_dimension': {'readonly': True}, + 'dependency_status': {'readonly': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'trigger_run_id': {'key': 'triggerRunId', 'type': 'str'}, + 'trigger_name': {'key': 'triggerName', 'type': 'str'}, + 'trigger_type': {'key': 'triggerType', 'type': 'str'}, + 'trigger_run_timestamp': {'key': 'triggerRunTimestamp', 'type': 'iso-8601'}, + 'status': {'key': 'status', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': '{str}'}, + 'triggered_pipelines': {'key': 'triggeredPipelines', 'type': '{str}'}, + 'run_dimension': {'key': 'runDimension', 'type': '{str}'}, + 'dependency_status': {'key': 'dependencyStatus', 'type': '{object}'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(TriggerRun, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.trigger_run_id = None + self.trigger_name = None + self.trigger_type = None + self.trigger_run_timestamp = None + self.status = None + self.message = None + self.properties = None + self.triggered_pipelines = None + self.run_dimension = None + self.dependency_status = None + + +class TriggerRunsQueryResponse(msrest.serialization.Model): + """A list of trigger runs. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of trigger runs. + :type value: list[~azure.mgmt.datafactory.models.TriggerRun] + :param continuation_token: The continuation token for getting the next page of results, if any + remaining results exist, null otherwise. + :type continuation_token: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[TriggerRun]'}, + 'continuation_token': {'key': 'continuationToken', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["TriggerRun"], + continuation_token: Optional[str] = None, + **kwargs + ): + super(TriggerRunsQueryResponse, self).__init__(**kwargs) + self.value = value + self.continuation_token = continuation_token + + +class TriggerSubscriptionOperationStatus(msrest.serialization.Model): + """Defines the response of a trigger subscription operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar trigger_name: Trigger name. + :vartype trigger_name: str + :ivar status: Event Subscription Status. Possible values include: "Enabled", "Provisioning", + "Deprovisioning", "Disabled", "Unknown". + :vartype status: str or ~azure.mgmt.datafactory.models.EventSubscriptionStatus + """ + + _validation = { + 'trigger_name': {'readonly': True}, + 'status': {'readonly': True}, + } + + _attribute_map = { + 'trigger_name': {'key': 'triggerName', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(TriggerSubscriptionOperationStatus, self).__init__(**kwargs) + self.trigger_name = None + self.status = None + + +class UntilActivity(ControlActivity): + """This activity executes inner activities until the specified boolean expression results to true or timeout is reached, whichever is earlier. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param expression: Required. An expression that would evaluate to Boolean. The loop will + continue until this expression evaluates to true. + :type expression: ~azure.mgmt.datafactory.models.Expression + :param timeout: Specifies the timeout for the activity to run. If there is no value specified, + it takes the value of TimeSpan.FromDays(7) which is 1 week as default. Type: string (or + Expression with resultType string), pattern: + ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). Type: string (or Expression with + resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type timeout: object + :param activities: Required. List of activities to execute. + :type activities: list[~azure.mgmt.datafactory.models.Activity] + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'expression': {'required': True}, + 'activities': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'expression': {'key': 'typeProperties.expression', 'type': 'Expression'}, + 'timeout': {'key': 'typeProperties.timeout', 'type': 'object'}, + 'activities': {'key': 'typeProperties.activities', 'type': '[Activity]'}, + } + + def __init__( + self, + *, + name: str, + expression: "Expression", + activities: List["Activity"], + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + timeout: Optional[object] = None, + **kwargs + ): + super(UntilActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs) + self.type = 'Until' + self.expression = expression + self.timeout = timeout + self.activities = activities + + +class UpdateIntegrationRuntimeNodeRequest(msrest.serialization.Model): + """Update integration runtime node request. + + :param concurrent_jobs_limit: The number of concurrent jobs permitted to run on the integration + runtime node. Values between 1 and maxConcurrentJobs(inclusive) are allowed. + :type concurrent_jobs_limit: int + """ + + _validation = { + 'concurrent_jobs_limit': {'minimum': 1}, + } + + _attribute_map = { + 'concurrent_jobs_limit': {'key': 'concurrentJobsLimit', 'type': 'int'}, + } + + def __init__( + self, + *, + concurrent_jobs_limit: Optional[int] = None, + **kwargs + ): + super(UpdateIntegrationRuntimeNodeRequest, self).__init__(**kwargs) + self.concurrent_jobs_limit = concurrent_jobs_limit + + +class UpdateIntegrationRuntimeRequest(msrest.serialization.Model): + """Update integration runtime request. + + :param auto_update: Enables or disables the auto-update feature of the self-hosted integration + runtime. See https://go.microsoft.com/fwlink/?linkid=854189. Possible values include: "On", + "Off". + :type auto_update: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeAutoUpdate + :param update_delay_offset: The time offset (in hours) in the day, e.g., PT03H is 3 hours. The + integration runtime auto update will happen on that time. + :type update_delay_offset: str + """ + + _attribute_map = { + 'auto_update': {'key': 'autoUpdate', 'type': 'str'}, + 'update_delay_offset': {'key': 'updateDelayOffset', 'type': 'str'}, + } + + def __init__( + self, + *, + auto_update: Optional[Union[str, "IntegrationRuntimeAutoUpdate"]] = None, + update_delay_offset: Optional[str] = None, + **kwargs + ): + super(UpdateIntegrationRuntimeRequest, self).__init__(**kwargs) + self.auto_update = auto_update + self.update_delay_offset = update_delay_offset + + +class UserAccessPolicy(msrest.serialization.Model): + """Get Data Plane read only token request definition. + + :param permissions: The string with permissions for Data Plane access. Currently only 'r' is + supported which grants read only access. + :type permissions: str + :param access_resource_path: The resource path to get access relative to factory. Currently + only empty string is supported which corresponds to the factory resource. + :type access_resource_path: str + :param profile_name: The name of the profile. Currently only the default is supported. The + default value is DefaultProfile. + :type profile_name: str + :param start_time: Start time for the token. If not specified the current time will be used. + :type start_time: str + :param expire_time: Expiration time for the token. Maximum duration for the token is eight + hours and by default the token will expire in eight hours. + :type expire_time: str + """ + + _attribute_map = { + 'permissions': {'key': 'permissions', 'type': 'str'}, + 'access_resource_path': {'key': 'accessResourcePath', 'type': 'str'}, + 'profile_name': {'key': 'profileName', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'str'}, + 'expire_time': {'key': 'expireTime', 'type': 'str'}, + } + + def __init__( + self, + *, + permissions: Optional[str] = None, + access_resource_path: Optional[str] = None, + profile_name: Optional[str] = None, + start_time: Optional[str] = None, + expire_time: Optional[str] = None, + **kwargs + ): + super(UserAccessPolicy, self).__init__(**kwargs) + self.permissions = permissions + self.access_resource_path = access_resource_path + self.profile_name = profile_name + self.start_time = start_time + self.expire_time = expire_time + + +class UserProperty(msrest.serialization.Model): + """User property. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. User property name. + :type name: str + :param value: Required. User property value. Type: string (or Expression with resultType + string). + :type value: object + """ + + _validation = { + 'name': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'object'}, + } + + def __init__( + self, + *, + name: str, + value: object, + **kwargs + ): + super(UserProperty, self).__init__(**kwargs) + self.name = name + self.value = value + + +class ValidationActivity(ControlActivity): + """This activity verifies that an external resource exists. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param timeout: Specifies the timeout for the activity to run. If there is no value specified, + it takes the value of TimeSpan.FromDays(7) which is 1 week as default. Type: string (or + Expression with resultType string), pattern: + ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type timeout: object + :param sleep: A delay in seconds between validation attempts. If no value is specified, 10 + seconds will be used as the default. Type: integer (or Expression with resultType integer). + :type sleep: object + :param minimum_size: Can be used if dataset points to a file. The file must be greater than or + equal in size to the value specified. Type: integer (or Expression with resultType integer). + :type minimum_size: object + :param child_items: Can be used if dataset points to a folder. If set to true, the folder must + have at least one file. If set to false, the folder must be empty. Type: boolean (or Expression + with resultType boolean). + :type child_items: object + :param dataset: Required. Validation activity dataset reference. + :type dataset: ~azure.mgmt.datafactory.models.DatasetReference + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'dataset': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'timeout': {'key': 'typeProperties.timeout', 'type': 'object'}, + 'sleep': {'key': 'typeProperties.sleep', 'type': 'object'}, + 'minimum_size': {'key': 'typeProperties.minimumSize', 'type': 'object'}, + 'child_items': {'key': 'typeProperties.childItems', 'type': 'object'}, + 'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'}, + } + + def __init__( + self, + *, + name: str, + dataset: "DatasetReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + timeout: Optional[object] = None, + sleep: Optional[object] = None, + minimum_size: Optional[object] = None, + child_items: Optional[object] = None, + **kwargs + ): + super(ValidationActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs) + self.type = 'Validation' + self.timeout = timeout + self.sleep = sleep + self.minimum_size = minimum_size + self.child_items = child_items + self.dataset = dataset + + +class VariableSpecification(msrest.serialization.Model): + """Definition of a single variable for a Pipeline. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Variable type. Possible values include: "String", "Bool", "Array". + :type type: str or ~azure.mgmt.datafactory.models.VariableType + :param default_value: Default value of variable. + :type default_value: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'default_value': {'key': 'defaultValue', 'type': 'object'}, + } + + def __init__( + self, + *, + type: Union[str, "VariableType"], + default_value: Optional[object] = None, + **kwargs + ): + super(VariableSpecification, self).__init__(**kwargs) + self.type = type + self.default_value = default_value + + +class VerticaLinkedService(LinkedService): + """Vertica linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: An ODBC connection string. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param pwd: The Azure key vault secret reference of password in connection string. + :type pwd: ~azure.mgmt.datafactory.models.AzureKeyVaultSecretReference + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + connection_string: Optional[object] = None, + pwd: Optional["AzureKeyVaultSecretReference"] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(VerticaLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Vertica' + self.connection_string = connection_string + self.pwd = pwd + self.encrypted_credential = encrypted_credential + + +class VerticaTableDataset(Dataset): + """Vertica dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: This property will be retired. Please consider using schema + table + properties instead. + :type table_name: object + :param table: The table name of the Vertica. Type: string (or Expression with resultType + string). + :type table: object + :param schema_type_properties_schema: The schema name of the Vertica. Type: string (or + Expression with resultType string). + :type schema_type_properties_schema: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + table: Optional[object] = None, + schema_type_properties_schema: Optional[object] = None, + **kwargs + ): + super(VerticaTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'VerticaTable' + self.table_name = table_name + self.table = table + self.schema_type_properties_schema = schema_type_properties_schema + + +class WaitActivity(ControlActivity): + """This activity suspends pipeline execution for the specified interval. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param wait_time_in_seconds: Required. Duration in seconds. + :type wait_time_in_seconds: int + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'wait_time_in_seconds': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'wait_time_in_seconds': {'key': 'typeProperties.waitTimeInSeconds', 'type': 'int'}, + } + + def __init__( + self, + *, + name: str, + wait_time_in_seconds: int, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + **kwargs + ): + super(WaitActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs) + self.type = 'Wait' + self.wait_time_in_seconds = wait_time_in_seconds + + +class WebActivity(ExecutionActivity): + """Web activity. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :param linked_service_name: Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param policy: Activity policy. + :type policy: ~azure.mgmt.datafactory.models.ActivityPolicy + :param method: Required. Rest API method for target endpoint. Possible values include: "GET", + "POST", "PUT", "DELETE". + :type method: str or ~azure.mgmt.datafactory.models.WebActivityMethod + :param url: Required. Web activity target endpoint and path. Type: string (or Expression with + resultType string). + :type url: object + :param headers: Represents the headers that will be sent to the request. For example, to set + the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type": + "application/json" }. Type: string (or Expression with resultType string). + :type headers: object + :param body: Represents the payload that will be sent to the endpoint. Required for POST/PUT + method, not allowed for GET method Type: string (or Expression with resultType string). + :type body: object + :param authentication: Authentication method used for calling the endpoint. + :type authentication: ~azure.mgmt.datafactory.models.WebActivityAuthentication + :param datasets: List of datasets passed to web endpoint. + :type datasets: list[~azure.mgmt.datafactory.models.DatasetReference] + :param linked_services: List of linked services passed to web endpoint. + :type linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceReference] + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'method': {'required': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, + 'method': {'key': 'typeProperties.method', 'type': 'str'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'headers': {'key': 'typeProperties.headers', 'type': 'object'}, + 'body': {'key': 'typeProperties.body', 'type': 'object'}, + 'authentication': {'key': 'typeProperties.authentication', 'type': 'WebActivityAuthentication'}, + 'datasets': {'key': 'typeProperties.datasets', 'type': '[DatasetReference]'}, + 'linked_services': {'key': 'typeProperties.linkedServices', 'type': '[LinkedServiceReference]'}, + 'connect_via': {'key': 'typeProperties.connectVia', 'type': 'IntegrationRuntimeReference'}, + } + + def __init__( + self, + *, + name: str, + method: Union[str, "WebActivityMethod"], + url: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + linked_service_name: Optional["LinkedServiceReference"] = None, + policy: Optional["ActivityPolicy"] = None, + headers: Optional[object] = None, + body: Optional[object] = None, + authentication: Optional["WebActivityAuthentication"] = None, + datasets: Optional[List["DatasetReference"]] = None, + linked_services: Optional[List["LinkedServiceReference"]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + **kwargs + ): + super(WebActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + self.type = 'WebActivity' + self.method = method + self.url = url + self.headers = headers + self.body = body + self.authentication = authentication + self.datasets = datasets + self.linked_services = linked_services + self.connect_via = connect_via + + +class WebActivityAuthentication(msrest.serialization.Model): + """Web activity authentication properties. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. Web activity authentication (Basic/ClientCertificate/MSI). + :type type: str + :param pfx: Base64-encoded contents of a PFX file. + :type pfx: ~azure.mgmt.datafactory.models.SecretBase + :param username: Web activity authentication user name for basic authentication. + :type username: str + :param password: Password for the PFX file or basic authentication. + :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 + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'pfx': {'key': 'pfx', 'type': 'SecretBase'}, + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'SecretBase'}, + 'resource': {'key': 'resource', 'type': 'str'}, + } + + def __init__( + self, + *, + type: str, + pfx: Optional["SecretBase"] = None, + username: Optional[str] = None, + password: Optional["SecretBase"] = None, + resource: Optional[str] = None, + **kwargs + ): + super(WebActivityAuthentication, self).__init__(**kwargs) + self.type = type + self.pfx = pfx + self.username = username + self.password = password + self.resource = resource + + +class WebLinkedServiceTypeProperties(msrest.serialization.Model): + """Base definition of WebLinkedServiceTypeProperties, this typeProperties is polymorphic based on authenticationType, so not flattened in SDK models. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: WebAnonymousAuthentication, WebBasicAuthentication, WebClientCertificateAuthentication. + + All required parameters must be populated in order to send to Azure. + + :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com . + Type: string (or Expression with resultType string). + :type url: object + :param authentication_type: Required. Type of authentication used to connect to the web table + source.Constant filled by server. Possible values include: "Basic", "Anonymous", + "ClientCertificate". + :type authentication_type: str or ~azure.mgmt.datafactory.models.WebAuthenticationType + """ + + _validation = { + 'url': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'object'}, + 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, + } + + _subtype_map = { + 'authentication_type': {'Anonymous': 'WebAnonymousAuthentication', 'Basic': 'WebBasicAuthentication', 'ClientCertificate': 'WebClientCertificateAuthentication'} + } + + def __init__( + self, + *, + url: object, + **kwargs + ): + super(WebLinkedServiceTypeProperties, self).__init__(**kwargs) + self.url = url + self.authentication_type = None + + +class WebAnonymousAuthentication(WebLinkedServiceTypeProperties): + """A WebLinkedService that uses anonymous authentication to communicate with an HTTP endpoint. + + All required parameters must be populated in order to send to Azure. + + :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com . + Type: string (or Expression with resultType string). + :type url: object + :param authentication_type: Required. Type of authentication used to connect to the web table + source.Constant filled by server. Possible values include: "Basic", "Anonymous", + "ClientCertificate". + :type authentication_type: str or ~azure.mgmt.datafactory.models.WebAuthenticationType + """ + + _validation = { + 'url': {'required': True}, + 'authentication_type': {'required': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'object'}, + 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, + } + + def __init__( + self, + *, + url: object, + **kwargs + ): + super(WebAnonymousAuthentication, self).__init__(url=url, **kwargs) + self.authentication_type = 'Anonymous' + + +class WebBasicAuthentication(WebLinkedServiceTypeProperties): + """A WebLinkedService that uses basic authentication to communicate with an HTTP endpoint. + + All required parameters must be populated in order to send to Azure. + + :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com . + Type: string (or Expression with resultType string). + :type url: object + :param authentication_type: Required. Type of authentication used to connect to the web table + source.Constant filled by server. Possible values include: "Basic", "Anonymous", + "ClientCertificate". + :type authentication_type: str or ~azure.mgmt.datafactory.models.WebAuthenticationType + :param username: Required. User name for Basic authentication. Type: string (or Expression with + resultType string). + :type username: object + :param password: Required. The password for Basic authentication. + :type password: ~azure.mgmt.datafactory.models.SecretBase + """ + + _validation = { + 'url': {'required': True}, + 'authentication_type': {'required': True}, + 'username': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'object'}, + 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, + 'username': {'key': 'username', 'type': 'object'}, + 'password': {'key': 'password', 'type': 'SecretBase'}, + } + + def __init__( + self, + *, + url: object, + username: object, + password: "SecretBase", + **kwargs + ): + super(WebBasicAuthentication, self).__init__(url=url, **kwargs) + self.authentication_type = 'Basic' + self.username = username + self.password = password + + +class WebClientCertificateAuthentication(WebLinkedServiceTypeProperties): + """A WebLinkedService that uses client certificate based authentication to communicate with an HTTP endpoint. This scheme follows mutual authentication; the server must also provide valid credentials to the client. + + All required parameters must be populated in order to send to Azure. + + :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com . + Type: string (or Expression with resultType string). + :type url: object + :param authentication_type: Required. Type of authentication used to connect to the web table + source.Constant filled by server. Possible values include: "Basic", "Anonymous", + "ClientCertificate". + :type authentication_type: str or ~azure.mgmt.datafactory.models.WebAuthenticationType + :param pfx: Required. Base64-encoded contents of a PFX file. + :type pfx: ~azure.mgmt.datafactory.models.SecretBase + :param password: Required. Password for the PFX file. + :type password: ~azure.mgmt.datafactory.models.SecretBase + """ + + _validation = { + 'url': {'required': True}, + 'authentication_type': {'required': True}, + 'pfx': {'required': True}, + 'password': {'required': True}, + } + + _attribute_map = { + 'url': {'key': 'url', 'type': 'object'}, + 'authentication_type': {'key': 'authenticationType', 'type': 'str'}, + 'pfx': {'key': 'pfx', 'type': 'SecretBase'}, + 'password': {'key': 'password', 'type': 'SecretBase'}, + } + + def __init__( + self, + *, + url: object, + pfx: "SecretBase", + password: "SecretBase", + **kwargs + ): + super(WebClientCertificateAuthentication, self).__init__(url=url, **kwargs) + self.authentication_type = 'ClientCertificate' + self.pfx = pfx + self.password = password + + +class WebHookActivity(ControlActivity): + """WebHook activity. + + Variables are only populated by the server, and will be ignored when sending a request. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param name: Required. Activity name. + :type name: str + :param type: Required. Type of activity.Constant filled by server. + :type type: str + :param description: Activity description. + :type description: str + :param depends_on: Activity depends on condition. + :type depends_on: list[~azure.mgmt.datafactory.models.ActivityDependency] + :param user_properties: Activity user properties. + :type user_properties: list[~azure.mgmt.datafactory.models.UserProperty] + :ivar method: Required. Rest API method for target endpoint. Default value: "POST". + :vartype method: str + :param url: Required. WebHook activity target endpoint and path. Type: string (or Expression + with resultType string). + :type url: object + :param timeout: The timeout within which the webhook should be called back. If there is no + value specified, it defaults to 10 minutes. Type: string. Pattern: + ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type timeout: str + :param headers: Represents the headers that will be sent to the request. For example, to set + the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type": + "application/json" }. Type: string (or Expression with resultType string). + :type headers: object + :param body: Represents the payload that will be sent to the endpoint. Required for POST/PUT + method, not allowed for GET method Type: string (or Expression with resultType string). + :type body: object + :param authentication: Authentication method used for calling the endpoint. + :type authentication: ~azure.mgmt.datafactory.models.WebActivityAuthentication + :param report_status_on_call_back: When set to true, + statusCode, output and error in callback request body will be + consumed by activity. The activity can be marked as failed by setting statusCode >= 400 in + callback request. Default is false. Type: boolean (or Expression with resultType boolean). + :type report_status_on_call_back: object + """ + + _validation = { + 'name': {'required': True}, + 'type': {'required': True}, + 'method': {'required': True, 'constant': True}, + 'url': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'}, + 'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'}, + 'method': {'key': 'typeProperties.method', 'type': 'str'}, + 'url': {'key': 'typeProperties.url', 'type': 'object'}, + 'timeout': {'key': 'typeProperties.timeout', 'type': 'str'}, + 'headers': {'key': 'typeProperties.headers', 'type': 'object'}, + 'body': {'key': 'typeProperties.body', 'type': 'object'}, + 'authentication': {'key': 'typeProperties.authentication', 'type': 'WebActivityAuthentication'}, + 'report_status_on_call_back': {'key': 'typeProperties.reportStatusOnCallBack', 'type': 'object'}, + } + + method = "POST" + + def __init__( + self, + *, + name: str, + url: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + depends_on: Optional[List["ActivityDependency"]] = None, + user_properties: Optional[List["UserProperty"]] = None, + timeout: Optional[str] = None, + headers: Optional[object] = None, + body: Optional[object] = None, + authentication: Optional["WebActivityAuthentication"] = None, + report_status_on_call_back: Optional[object] = None, + **kwargs + ): + super(WebHookActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs) + self.type = 'WebHook' + self.url = url + self.timeout = timeout + self.headers = headers + self.body = body + self.authentication = authentication + self.report_status_on_call_back = report_status_on_call_back + + +class WebLinkedService(LinkedService): + """Web linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param type_properties: Required. Web linked service properties. + :type type_properties: ~azure.mgmt.datafactory.models.WebLinkedServiceTypeProperties + """ + + _validation = { + 'type': {'required': True}, + 'type_properties': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'type_properties': {'key': 'typeProperties', 'type': 'WebLinkedServiceTypeProperties'}, + } + + def __init__( + self, + *, + type_properties: "WebLinkedServiceTypeProperties", + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + **kwargs + ): + super(WebLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Web' + self.type_properties = type_properties + + +class WebTableDataset(Dataset): + """The dataset points to a HTML table in the web page. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param index: Required. The zero-based index of the table in the web page. Type: integer (or + Expression with resultType integer), minimum: 0. + :type index: object + :param path: The relative URL to the web page from the linked service URL. Type: string (or + Expression with resultType string). + :type path: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'index': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'index': {'key': 'typeProperties.index', 'type': 'object'}, + 'path': {'key': 'typeProperties.path', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + index: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + path: Optional[object] = None, + **kwargs + ): + super(WebTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'WebTable' + self.index = index + self.path = path + + +class XeroLinkedService(LinkedService): + """Xero Service linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param host: Required. The endpoint of the Xero server. (i.e. api.xero.com). + :type host: object + :param consumer_key: The consumer key associated with the Xero application. + :type consumer_key: ~azure.mgmt.datafactory.models.SecretBase + :param private_key: The private key from the .pem file that was generated for your Xero private + application. You must include all the text from the .pem file, including the Unix line endings( + ). + :type private_key: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'host': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'host': {'key': 'typeProperties.host', 'type': 'object'}, + 'consumer_key': {'key': 'typeProperties.consumerKey', 'type': 'SecretBase'}, + 'private_key': {'key': 'typeProperties.privateKey', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + host: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + consumer_key: Optional["SecretBase"] = None, + private_key: Optional["SecretBase"] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(XeroLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Xero' + self.host = host + self.consumer_key = consumer_key + self.private_key = private_key + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class XeroObjectDataset(Dataset): + """Xero Service dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(XeroObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'XeroObject' + self.table_name = table_name + + +class ZohoLinkedService(LinkedService): + """Zoho server linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~azure.mgmt.datafactory.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param endpoint: Required. The endpoint of the Zoho server. (i.e. crm.zoho.com/crm/private). + :type endpoint: object + :param access_token: The access token for Zoho authentication. + :type access_token: ~azure.mgmt.datafactory.models.SecretBase + :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using + HTTPS. The default value is true. + :type use_encrypted_endpoints: object + :param use_host_verification: Specifies whether to require the host name in the server's + certificate to match the host name of the server when connecting over SSL. The default value is + true. + :type use_host_verification: object + :param use_peer_verification: Specifies whether to verify the identity of the server when + connecting over SSL. The default value is true. + :type use_peer_verification: object + :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). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'endpoint': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'}, + 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'}, + 'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'}, + 'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + endpoint: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + access_token: Optional["SecretBase"] = None, + use_encrypted_endpoints: Optional[object] = None, + use_host_verification: Optional[object] = None, + use_peer_verification: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(ZohoLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'Zoho' + self.endpoint = endpoint + self.access_token = access_token + self.use_encrypted_endpoints = use_encrypted_endpoints + self.use_host_verification = use_host_verification + self.use_peer_verification = use_peer_verification + self.encrypted_credential = encrypted_credential + + +class ZohoObjectDataset(Dataset): + """Zoho server dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~azure.mgmt.datafactory.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~azure.mgmt.datafactory.models.DatasetFolder + :param table_name: The table name. Type: string (or Expression with resultType string). + :type table_name: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table_name': {'key': 'typeProperties.tableName', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table_name: Optional[object] = None, + **kwargs + ): + super(ZohoObjectDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'ZohoObject' + self.table_name = table_name diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/__init__.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/__init__.py new file mode 100644 index 00000000000..2073b4d42fb --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/__init__.py @@ -0,0 +1,41 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._operation_operations import OperationOperations +from ._factory_operations import FactoryOperations +from ._exposure_control_operations import ExposureControlOperations +from ._integration_runtime_operations import IntegrationRuntimeOperations +from ._integration_runtime_object_metadata_operations import IntegrationRuntimeObjectMetadataOperations +from ._integration_runtime_node_operations import IntegrationRuntimeNodeOperations +from ._linked_service_operations import LinkedServiceOperations +from ._dataset_operations import DatasetOperations +from ._pipeline_operations import PipelineOperations +from ._pipeline_run_operations import PipelineRunOperations +from ._activity_run_operations import ActivityRunOperations +from ._trigger_operations import TriggerOperations +from ._trigger_run_operations import TriggerRunOperations +from ._data_flow_operations import DataFlowOperations +from ._data_flow_debug_session_operations import DataFlowDebugSessionOperations + +__all__ = [ + 'OperationOperations', + 'FactoryOperations', + 'ExposureControlOperations', + 'IntegrationRuntimeOperations', + 'IntegrationRuntimeObjectMetadataOperations', + 'IntegrationRuntimeNodeOperations', + 'LinkedServiceOperations', + 'DatasetOperations', + 'PipelineOperations', + 'PipelineRunOperations', + 'ActivityRunOperations', + 'TriggerOperations', + 'TriggerRunOperations', + 'DataFlowOperations', + 'DataFlowDebugSessionOperations', +] diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_activity_run_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_activity_run_operations.py new file mode 100644 index 00000000000..c2f3e295375 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_activity_run_operations.py @@ -0,0 +1,132 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ActivityRunOperations(object): + """ActivityRunOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def query_by_pipeline_run( + self, + resource_group_name, # type: str + factory_name, # type: str + run_id, # type: str + last_updated_after, # type: datetime.datetime + last_updated_before, # type: datetime.datetime + continuation_token=None, # type: Optional[str] + filters=None, # type: Optional[List["RunQueryFilter"]] + order_by=None, # type: Optional[List["RunQueryOrderBy"]] + **kwargs # type: Any + ): + # type: (...) -> "models.ActivityRunsQueryResponse" + """Query activity runs based on input filter conditions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :param last_updated_after: The time at or after which the run event was updated in 'ISO 8601' + format. + :type last_updated_after: ~datetime.datetime + :param last_updated_before: The time at or before which the run event was updated in 'ISO 8601' + format. + :type last_updated_before: ~datetime.datetime + :param continuation_token: The continuation token for getting the next page of results. Null + for first page. + :type continuation_token: str + :param filters: List of filters. + :type filters: list[~azure.mgmt.datafactory.models.RunQueryFilter] + :param order_by: List of OrderBy option. + :type order_by: list[~azure.mgmt.datafactory.models.RunQueryOrderBy] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ActivityRunsQueryResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.ActivityRunsQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ActivityRunsQueryResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _filter_parameters = models.RunFilterParameters(continuation_token=continuation_token, last_updated_after=last_updated_after, last_updated_before=last_updated_before, filters=filters, order_by=order_by) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.query_by_pipeline_run.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_filter_parameters, 'RunFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ActivityRunsQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_pipeline_run.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/queryActivityruns'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flow_debug_session_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flow_debug_session_operations.py new file mode 100644 index 00000000000..d1491c0925b --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flow_debug_session_operations.py @@ -0,0 +1,535 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DataFlowDebugSessionOperations(object): + """DataFlowDebugSessionOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _create_initial( + self, + resource_group_name, # type: str + factory_name, # type: str + compute_type=None, # type: Optional[str] + core_count=None, # type: Optional[int] + time_to_live=None, # type: Optional[int] + name=None, # type: Optional[str] + properties=None, # type: Optional["models.IntegrationRuntime"] + **kwargs # type: Any + ): + # type: (...) -> "models.CreateDataFlowDebugSessionResponse" + cls = kwargs.pop('cls', None) # type: ClsType["models.CreateDataFlowDebugSessionResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _request = models.CreateDataFlowDebugSessionRequest(compute_type=compute_type, core_count=core_count, time_to_live=time_to_live, name=name, properties=properties) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._create_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_request, 'CreateDataFlowDebugSessionRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + response_headers = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('CreateDataFlowDebugSessionResponse', pipeline_response) + + if response.status_code == 202: + response_headers['location']=self._deserialize('str', response.headers.get('location')) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/createDataFlowDebugSession'} + + def begin_create( + self, + resource_group_name, # type: str + factory_name, # type: str + compute_type=None, # type: Optional[str] + core_count=None, # type: Optional[int] + time_to_live=None, # type: Optional[int] + name=None, # type: Optional[str] + properties=None, # type: Optional["models.IntegrationRuntime"] + **kwargs # type: Any + ): + # type: (...) -> "models.CreateDataFlowDebugSessionResponse" + """Creates a data flow debug session. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param compute_type: Compute type of the cluster. The value will be overwritten by the same + setting in integration runtime if provided. + :type compute_type: str + :param core_count: Core count of the cluster. The value will be overwritten by the same setting + in integration runtime if provided. + :type core_count: int + :param time_to_live: Time to live setting of the cluster in minutes. + :type time_to_live: int + :param name: The resource name. + :type name: str + :param properties: Integration runtime properties. + :type properties: ~azure.mgmt.datafactory.models.IntegrationRuntime + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns CreateDataFlowDebugSessionResponse + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datafactory.models.CreateDataFlowDebugSessionResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.CreateDataFlowDebugSessionResponse"] + raw_result = self._create_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + compute_type=compute_type, + core_count=core_count, + time_to_live=time_to_live, + name=name, + properties=properties, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('CreateDataFlowDebugSessionResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/createDataFlowDebugSession'} + + def query_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.QueryDataFlowDebugSessionsResponse" + """Query all active data flow debug sessions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: QueryDataFlowDebugSessionsResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.QueryDataFlowDebugSessionsResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.QueryDataFlowDebugSessionsResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.query_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('QueryDataFlowDebugSessionsResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryDataFlowDebugSessions'} + + def add_data_flow( + self, + resource_group_name, # type: str + factory_name, # type: str + session_id=None, # type: Optional[str] + datasets=None, # type: Optional[List["DatasetDebugResource"]] + linked_services=None, # type: Optional[List["LinkedServiceDebugResource"]] + source_settings=None, # type: Optional[List["DataFlowSourceSetting"]] + parameters=None, # type: Optional[Dict[str, object]] + dataset_parameters=None, # type: Optional[object] + folder_path=None, # type: Optional[str] + reference_name=None, # type: Optional[str] + parameter_value_specification_parameters=None, # type: Optional[Dict[str, object]] + name=None, # type: Optional[str] + properties=None, # type: Optional["models.DataFlow"] + **kwargs # type: Any + ): + # type: (...) -> "models.AddDataFlowToDebugSessionResponse" + """Add a data flow into debug session. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param session_id: The ID of data flow debug session. + :type session_id: str + :param datasets: List of datasets. + :type datasets: list[~azure.mgmt.datafactory.models.DatasetDebugResource] + :param linked_services: List of linked services. + :type linked_services: list[~azure.mgmt.datafactory.models.LinkedServiceDebugResource] + :param source_settings: Source setting for data flow debug. + :type source_settings: list[~azure.mgmt.datafactory.models.DataFlowSourceSetting] + :param parameters: Data flow parameters. + :type parameters: dict[str, object] + :param dataset_parameters: Parameters for dataset. + :type dataset_parameters: object + :param folder_path: Folder path for staging blob. + :type folder_path: str + :param reference_name: Reference LinkedService name. + :type reference_name: str + :param parameter_value_specification_parameters: Arguments for LinkedService. + :type parameter_value_specification_parameters: dict[str, object] + :param name: The resource name. + :type name: str + :param properties: Data flow properties. + :type properties: ~azure.mgmt.datafactory.models.DataFlow + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AddDataFlowToDebugSessionResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.AddDataFlowToDebugSessionResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AddDataFlowToDebugSessionResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _request = models.DataFlowDebugPackage(session_id=session_id, datasets=datasets, linked_services=linked_services, source_settings=source_settings, parameters_debug_settings_parameters=parameters, dataset_parameters=dataset_parameters, folder_path=folder_path, reference_name=reference_name, parameters_staging_linked_service_parameters=parameter_value_specification_parameters, name=name, properties=properties) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.add_data_flow.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_request, 'DataFlowDebugPackage') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AddDataFlowToDebugSessionResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + add_data_flow.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/addDataFlowToDebugSession'} + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + session_id=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a data flow debug session. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param session_id: The ID of data flow debug session. + :type session_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _request = models.DeleteDataFlowDebugSessionRequest(session_id=session_id) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_request, 'DeleteDataFlowDebugSessionRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/deleteDataFlowDebugSession'} + + def _execute_command_initial( + self, + resource_group_name, # type: str + factory_name, # type: str + session_id=None, # type: Optional[str] + command=None, # type: Optional[Union[str, "models.DataFlowDebugCommandType"]] + command_payload=None, # type: Optional["models.DataFlowDebugCommandPayload"] + **kwargs # type: Any + ): + # type: (...) -> "models.DataFlowDebugCommandResponse" + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowDebugCommandResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _request = models.DataFlowDebugCommandRequest(session_id=session_id, command=command, command_payload=command_payload) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self._execute_command_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_request, 'DataFlowDebugCommandRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + response_headers = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DataFlowDebugCommandResponse', pipeline_response) + + if response.status_code == 202: + response_headers['location']=self._deserialize('str', response.headers.get('location')) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + _execute_command_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/executeDataFlowDebugCommand'} + + def begin_execute_command( + self, + resource_group_name, # type: str + factory_name, # type: str + session_id=None, # type: Optional[str] + command=None, # type: Optional[Union[str, "models.DataFlowDebugCommandType"]] + command_payload=None, # type: Optional["models.DataFlowDebugCommandPayload"] + **kwargs # type: Any + ): + # type: (...) -> "models.DataFlowDebugCommandResponse" + """Execute a data flow debug command. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param session_id: The ID of data flow debug session. + :type session_id: str + :param command: The command type. + :type command: str or ~azure.mgmt.datafactory.models.DataFlowDebugCommandType + :param command_payload: The command payload object. + :type command_payload: ~azure.mgmt.datafactory.models.DataFlowDebugCommandPayload + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns DataFlowDebugCommandResponse + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datafactory.models.DataFlowDebugCommandResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowDebugCommandResponse"] + raw_result = self._execute_command_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + session_id=session_id, + command=command, + command_payload=command_payload, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DataFlowDebugCommandResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_execute_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/executeDataFlowDebugCommand'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flow_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flow_operations.py new file mode 100644 index 00000000000..fe6e0476e46 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flow_operations.py @@ -0,0 +1,316 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DataFlowOperations(object): + """DataFlowOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + data_flow_name, # type: str + properties, # type: "models.DataFlow" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.DataFlowResource" + """Creates or updates a data flow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param data_flow_name: The data flow name. + :type data_flow_name: str + :param properties: Data flow properties. + :type properties: ~azure.mgmt.datafactory.models.DataFlow + :param if_match: ETag of the data flow entity. Should only be specified for update, for which + it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataFlowResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.DataFlowResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _data_flow = models.DataFlowResource(properties=properties) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_data_flow, 'DataFlowResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataFlowResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + data_flow_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.DataFlowResource" + """Gets a data flow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param data_flow_name: The data flow name. + :type data_flow_name: str + :param if_none_match: ETag of the data flow entity. Should only be specified for get. If the + ETag matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataFlowResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.DataFlowResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataFlowResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + data_flow_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a data flow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param data_flow_name: The data flow name. + :type data_flow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} + + def list_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DataFlowListResponse" + """Lists data flows. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataFlowListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.DataFlowListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DataFlowListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_dataset_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_dataset_operations.py new file mode 100644 index 00000000000..4af6a401315 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_dataset_operations.py @@ -0,0 +1,318 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DatasetOperations(object): + """DatasetOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DatasetListResponse" + """Lists datasets. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatasetListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.DatasetListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatasetListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DatasetListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets'} + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + dataset_name, # type: str + properties, # type: "models.Dataset" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.DatasetResource" + """Creates or updates a dataset. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param dataset_name: The dataset name. + :type dataset_name: str + :param properties: Dataset properties. + :type properties: ~azure.mgmt.datafactory.models.Dataset + :param if_match: ETag of the dataset entity. Should only be specified for update, for which it + should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatasetResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.DatasetResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatasetResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _dataset = models.DatasetResource(properties=properties) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_dataset, 'DatasetResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DatasetResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + dataset_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.DatasetResource" + """Gets a dataset. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param dataset_name: The dataset name. + :type dataset_name: str + :param if_none_match: ETag of the dataset entity. Should only be specified for get. If the ETag + matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatasetResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.DatasetResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatasetResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DatasetResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + dataset_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a dataset. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param dataset_name: The dataset name. + :type dataset_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_exposure_control_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_exposure_control_operations.py new file mode 100644 index 00000000000..06641048a8d --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_exposure_control_operations.py @@ -0,0 +1,181 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ExposureControlOperations(object): + """ExposureControlOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get_feature_value( + self, + location_id, # type: str + feature_name=None, # type: Optional[str] + feature_type=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ExposureControlResponse" + """Get exposure control feature for specific location. + + :param location_id: The location identifier. + :type location_id: str + :param feature_name: The feature name. + :type feature_name: str + :param feature_type: The feature type. + :type feature_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExposureControlResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.ExposureControlResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ExposureControlResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _exposure_control_request = models.ExposureControlRequest(feature_name=feature_name, feature_type=feature_type) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.get_feature_value.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'locationId': self._serialize.url("location_id", location_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_exposure_control_request, 'ExposureControlRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExposureControlResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_feature_value.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/getFeatureValue'} + + def get_feature_value_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + feature_name=None, # type: Optional[str] + feature_type=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ExposureControlResponse" + """Get exposure control feature for specific factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param feature_name: The feature name. + :type feature_name: str + :param feature_type: The feature type. + :type feature_type: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExposureControlResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.ExposureControlResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ExposureControlResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _exposure_control_request = models.ExposureControlRequest(feature_name=feature_name, feature_type=feature_type) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.get_feature_value_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_exposure_control_request, 'ExposureControlRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExposureControlResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_feature_value_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getFeatureValue'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_factory_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_factory_operations.py new file mode 100644 index 00000000000..9657f960751 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_factory_operations.py @@ -0,0 +1,666 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class FactoryOperations(object): + """FactoryOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.FactoryListResponse" + """Lists factories under the specified subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FactoryListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.FactoryListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FactoryListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('FactoryListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/factories'} + + def configure_factory_repo( + self, + location_id, # type: str + factory_resource_id=None, # type: Optional[str] + repo_configuration=None, # type: Optional["models.FactoryRepoConfiguration"] + **kwargs # type: Any + ): + # type: (...) -> "models.Factory" + """Updates a factory's repo information. + + :param location_id: The location identifier. + :type location_id: str + :param factory_resource_id: The factory resource id. + :type factory_resource_id: str + :param repo_configuration: Git repo information of the factory. + :type repo_configuration: ~azure.mgmt.datafactory.models.FactoryRepoConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.Factory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _factory_repo_update = models.FactoryRepoUpdate(factory_resource_id=factory_resource_id, repo_configuration=repo_configuration) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.configure_factory_repo.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'locationId': self._serialize.url("location_id", location_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_factory_repo_update, 'FactoryRepoUpdate') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + configure_factory_repo.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/configureFactoryRepo'} + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.FactoryListResponse" + """Lists factories. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: FactoryListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.FactoryListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FactoryListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('FactoryListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories'} + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + if_match=None, # type: Optional[str] + location=None, # type: Optional[str] + tags=None, # type: Optional[Dict[str, str]] + identity=None, # type: Optional["models.FactoryIdentity"] + repo_configuration=None, # type: Optional["models.FactoryRepoConfiguration"] + **kwargs # type: Any + ): + # type: (...) -> "models.Factory" + """Creates or updates a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param if_match: ETag of the factory entity. Should only be specified for update, for which it + should match existing entity or can be * for unconditional update. + :type if_match: str + :param location: The resource location. + :type location: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param identity: Managed service identity of the factory. + :type identity: ~azure.mgmt.datafactory.models.FactoryIdentity + :param repo_configuration: Git repo information of the factory. + :type repo_configuration: ~azure.mgmt.datafactory.models.FactoryRepoConfiguration + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.Factory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _factory = models.Factory(location=location, tags=tags, identity=identity, repo_configuration=repo_configuration) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_factory, 'Factory') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} + + def update( + self, + resource_group_name, # type: str + factory_name, # type: str + tags=None, # type: Optional[Dict[str, str]] + identity=None, # type: Optional["models.FactoryIdentity"] + **kwargs # type: Any + ): + # type: (...) -> "models.Factory" + """Updates a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param tags: The resource tags. + :type tags: dict[str, str] + :param identity: Managed service identity of the factory. + :type identity: ~azure.mgmt.datafactory.models.FactoryIdentity + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.Factory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _factory_update_parameters = models.FactoryUpdateParameters(tags=tags, identity=identity) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_factory_update_parameters, 'FactoryUpdateParameters') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.Factory" + """Gets a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param if_none_match: ETag of the factory entity. Should only be specified for get. If the ETag + matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.Factory or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} + + def get_git_hub_access_token( + self, + resource_group_name, # type: str + factory_name, # type: str + git_hub_access_code, # type: str + git_hub_access_token_base_url, # type: str + git_hub_client_id=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.GitHubAccessTokenResponse" + """Get GitHub Access Token. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param git_hub_access_code: GitHub access code. + :type git_hub_access_code: str + :param git_hub_access_token_base_url: GitHub access token base URL. + :type git_hub_access_token_base_url: str + :param git_hub_client_id: GitHub application client ID. + :type git_hub_client_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GitHubAccessTokenResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.GitHubAccessTokenResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.GitHubAccessTokenResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _git_hub_access_token_request = models.GitHubAccessTokenRequest(git_hub_access_code=git_hub_access_code, git_hub_client_id=git_hub_client_id, git_hub_access_token_base_url=git_hub_access_token_base_url) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.get_git_hub_access_token.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_git_hub_access_token_request, 'GitHubAccessTokenRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GitHubAccessTokenResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_git_hub_access_token.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getGitHubAccessToken'} + + def get_data_plane_access( + self, + resource_group_name, # type: str + factory_name, # type: str + permissions=None, # type: Optional[str] + access_resource_path=None, # type: Optional[str] + profile_name=None, # type: Optional[str] + start_time=None, # type: Optional[str] + expire_time=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.AccessPolicyResponse" + """Get Data Plane access. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param permissions: The string with permissions for Data Plane access. Currently only 'r' is + supported which grants read only access. + :type permissions: str + :param access_resource_path: The resource path to get access relative to factory. Currently + only empty string is supported which corresponds to the factory resource. + :type access_resource_path: str + :param profile_name: The name of the profile. Currently only the default is supported. The + default value is DefaultProfile. + :type profile_name: str + :param start_time: Start time for the token. If not specified the current time will be used. + :type start_time: str + :param expire_time: Expiration time for the token. Maximum duration for the token is eight + hours and by default the token will expire in eight hours. + :type expire_time: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AccessPolicyResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.AccessPolicyResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AccessPolicyResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _policy = models.UserAccessPolicy(permissions=permissions, access_resource_path=access_resource_path, profile_name=profile_name, start_time=start_time, expire_time=expire_time) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.get_data_plane_access.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_policy, 'UserAccessPolicy') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AccessPolicyResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_data_plane_access.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getDataPlaneAccess'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_node_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_node_operations.py new file mode 100644 index 00000000000..81f9ea9b210 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_node_operations.py @@ -0,0 +1,309 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationRuntimeNodeOperations(object): + """IntegrationRuntimeNodeOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + node_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.SelfHostedIntegrationRuntimeNode" + """Gets a self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SelfHostedIntegrationRuntimeNode or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.SelfHostedIntegrationRuntimeNode + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SelfHostedIntegrationRuntimeNode"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SelfHostedIntegrationRuntimeNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + node_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} + + def update( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + node_name, # type: str + concurrent_jobs_limit=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> "models.SelfHostedIntegrationRuntimeNode" + """Updates a self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :param concurrent_jobs_limit: The number of concurrent jobs permitted to run on the integration + runtime node. Values between 1 and maxConcurrentJobs(inclusive) are allowed. + :type concurrent_jobs_limit: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SelfHostedIntegrationRuntimeNode or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.SelfHostedIntegrationRuntimeNode + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SelfHostedIntegrationRuntimeNode"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _update_integration_runtime_node_request = models.UpdateIntegrationRuntimeNodeRequest(concurrent_jobs_limit=concurrent_jobs_limit) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_update_integration_runtime_node_request, 'UpdateIntegrationRuntimeNodeRequest') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SelfHostedIntegrationRuntimeNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} + + def get_ip_address( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + node_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeNodeIpAddress" + """Get the IP address of self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeNodeIpAddress or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeNodeIpAddress + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeNodeIpAddress"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get_ip_address.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeNodeIpAddress', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_ip_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}/ipAddress'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_object_metadata_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_object_metadata_operations.py new file mode 100644 index 00000000000..999c0f8d3eb --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_object_metadata_operations.py @@ -0,0 +1,222 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationRuntimeObjectMetadataOperations(object): + """IntegrationRuntimeObjectMetadataOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _refresh_initial( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.SsisObjectMetadataStatusResponse" + cls = kwargs.pop('cls', None) # type: ClsType["models.SsisObjectMetadataStatusResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self._refresh_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SsisObjectMetadataStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _refresh_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/refreshObjectMetadata'} + + def begin_refresh( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.SsisObjectMetadataStatusResponse" + """Refresh a SSIS integration runtime object metadata. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns SsisObjectMetadataStatusResponse + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datafactory.models.SsisObjectMetadataStatusResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.SsisObjectMetadataStatusResponse"] + raw_result = self._refresh_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SsisObjectMetadataStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_refresh.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/refreshObjectMetadata'} + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + metadata_path=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.SsisObjectMetadataListResponse" + """Get a SSIS integration runtime object metadata by specified path. The return is pageable metadata list. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param metadata_path: Metadata path. + :type metadata_path: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SsisObjectMetadataListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.SsisObjectMetadataListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SsisObjectMetadataListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _get_metadata_request = models.GetSsisObjectMetadataRequest(metadata_path=metadata_path) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if _get_metadata_request is not None: + body_content = self._serialize.body(_get_metadata_request, 'GetSsisObjectMetadataRequest') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SsisObjectMetadataListResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getObjectMetadata'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_operations.py new file mode 100644 index 00000000000..a2d6c012e74 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_operations.py @@ -0,0 +1,1163 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationRuntimeOperations(object): + """IntegrationRuntimeOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeListResponse" + """Lists integration runtimes. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationRuntimeListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes'} + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + properties, # type: "models.IntegrationRuntime" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeResource" + """Creates or updates an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param properties: Integration runtime properties. + :type properties: ~azure.mgmt.datafactory.models.IntegrationRuntime + :param if_match: ETag of the integration runtime entity. Should only be specified for update, + for which it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _integration_runtime = models.IntegrationRuntimeResource(properties=properties) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_integration_runtime, 'IntegrationRuntimeResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeResource" + """Gets an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param if_none_match: ETag of the integration runtime entity. Should only be specified for get. + If the ETag matches the existing entity tag, or if * was provided, then no content will be + returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationRuntimeResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} + + def update( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + auto_update=None, # type: Optional[Union[str, "models.IntegrationRuntimeAutoUpdate"]] + update_delay_offset=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeResource" + """Updates an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param auto_update: Enables or disables the auto-update feature of the self-hosted integration + runtime. See https://go.microsoft.com/fwlink/?linkid=854189. + :type auto_update: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeAutoUpdate + :param update_delay_offset: The time offset (in hours) in the day, e.g., PT03H is 3 hours. The + integration runtime auto update will happen on that time. + :type update_delay_offset: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _update_integration_runtime_request = models.UpdateIntegrationRuntimeRequest(auto_update=auto_update, update_delay_offset=update_delay_offset) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_update_integration_runtime_request, 'UpdateIntegrationRuntimeRequest') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} + + def get_status( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeStatusResponse" + """Gets detailed status information for an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeStatusResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeStatusResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get_status.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getStatus'} + + def get_connection_info( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeConnectionInfo" + """Gets the on-premises integration runtime connection information for encrypting the on-premises data source credentials. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeConnectionInfo or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeConnectionInfo + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeConnectionInfo"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get_connection_info.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeConnectionInfo', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_connection_info.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getConnectionInfo'} + + def regenerate_auth_key( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + key_name=None, # type: Optional[Union[str, "models.IntegrationRuntimeAuthKeyName"]] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeAuthKeys" + """Regenerates the authentication key for an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param key_name: The name of the authentication key to regenerate. + :type key_name: str or ~azure.mgmt.datafactory.models.IntegrationRuntimeAuthKeyName + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeAuthKeys or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeAuthKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeAuthKeys"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _regenerate_key_parameters = models.IntegrationRuntimeRegenerateKeyParameters(key_name=key_name) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.regenerate_auth_key.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_regenerate_key_parameters, 'IntegrationRuntimeRegenerateKeyParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeAuthKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + regenerate_auth_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/regenerateAuthKey'} + + def list_auth_key( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeAuthKeys" + """Retrieves the authentication keys for an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeAuthKeys or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeAuthKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeAuthKeys"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.list_auth_key.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeAuthKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_auth_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/listAuthKeys'} + + def _start_initial( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeStatusResponse" + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self._start_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start'} + + def begin_start( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeStatusResponse" + """Starts a ManagedReserved type integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns IntegrationRuntimeStatusResponse + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datafactory.models.IntegrationRuntimeStatusResponse] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] + raw_result = self._start_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start'} + + def _stop_initial( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self._stop_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop'} + + def begin_stop( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Stops a ManagedReserved type integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop'} + + def sync_credentials( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Force the integration runtime to synchronize credentials across integration runtime nodes, and this will override the credentials across all worker nodes with those available on the dispatcher node. If you already have the latest credential backup file, you should manually import it (preferred) on any self-hosted integration runtime node than using this API directly. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.sync_credentials.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + sync_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/syncCredentials'} + + def get_monitoring_data( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeMonitoringData" + """Get the integration runtime monitoring data, which includes the monitor data for all the nodes under this integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeMonitoringData or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeMonitoringData + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeMonitoringData"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get_monitoring_data.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeMonitoringData', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_monitoring_data.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/monitoringData'} + + def upgrade( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Upgrade self-hosted integration runtime to latest version if availability. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.upgrade.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + upgrade.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/upgrade'} + + def remove_link( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + linked_factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Remove all linked integration runtimes under specific data factory in a self-hosted integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param linked_factory_name: The data factory name for linked integration runtime. + :type linked_factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _linked_integration_runtime_request = models.LinkedIntegrationRuntimeRequest(linked_factory_name=linked_factory_name) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.remove_link.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_linked_integration_runtime_request, 'LinkedIntegrationRuntimeRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + remove_link.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/removeLinks'} + + def create_linked_integration_runtime( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + name=None, # type: Optional[str] + subscription_id=None, # type: Optional[str] + data_factory_name=None, # type: Optional[str] + data_factory_location=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeStatusResponse" + """Create a linked integration runtime entry in a shared integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param name: The name of the linked integration runtime. + :type name: str + :param subscription_id: The ID of the subscription that the linked integration runtime belongs + to. + :type subscription_id: str + :param data_factory_name: The name of the data factory that the linked integration runtime + belongs to. + :type data_factory_name: str + :param data_factory_location: The location of the data factory that the linked integration + runtime belongs to. + :type data_factory_location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeStatusResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.IntegrationRuntimeStatusResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _create_linked_integration_runtime_request = models.CreateLinkedIntegrationRuntimeRequest(name=name, subscription_id=subscription_id, data_factory_name=data_factory_name, data_factory_location=data_factory_location) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_linked_integration_runtime.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_create_linked_integration_runtime_request, 'CreateLinkedIntegrationRuntimeRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_linked_integration_runtime.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/linkedIntegrationRuntime'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_linked_service_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_linked_service_operations.py new file mode 100644 index 00000000000..ae55bc7369a --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_linked_service_operations.py @@ -0,0 +1,319 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class LinkedServiceOperations(object): + """LinkedServiceOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.LinkedServiceListResponse" + """Lists linked services. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LinkedServiceListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.LinkedServiceListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LinkedServiceListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('LinkedServiceListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices'} + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + linked_service_name, # type: str + properties, # type: "models.LinkedService" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.LinkedServiceResource" + """Creates or updates a linked service. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param linked_service_name: The linked service name. + :type linked_service_name: str + :param properties: Properties of linked service. + :type properties: ~azure.mgmt.datafactory.models.LinkedService + :param if_match: ETag of the linkedService entity. Should only be specified for update, for + which it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LinkedServiceResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.LinkedServiceResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LinkedServiceResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _linked_service = models.LinkedServiceResource(properties=properties) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_linked_service, 'LinkedServiceResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('LinkedServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + linked_service_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.LinkedServiceResource" + """Gets a linked service. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param linked_service_name: The linked service name. + :type linked_service_name: str + :param if_none_match: ETag of the linked service entity. Should only be specified for get. If + the ETag matches the existing entity tag, or if * was provided, then no content will be + returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LinkedServiceResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.LinkedServiceResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LinkedServiceResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('LinkedServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + linked_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a linked service. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param linked_service_name: The linked service name. + :type linked_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_operation_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_operation_operations.py new file mode 100644 index 00000000000..264b89ea531 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_operation_operations.py @@ -0,0 +1,105 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class OperationOperations(object): + """OperationOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> "models.OperationListResponse" + """Lists the available Azure Data Factory API operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: OperationListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.OperationListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list.metadata['url'] + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('OperationListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.DataFactory/operations'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_operations.py new file mode 100644 index 00000000000..b82a06a57f2 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_operations.py @@ -0,0 +1,437 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PipelineOperations(object): + """PipelineOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.PipelineListResponse" + """Lists pipelines. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.PipelineListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PipelineListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines'} + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + pipeline_name, # type: str + if_match=None, # type: Optional[str] + description=None, # type: Optional[str] + activities=None, # type: Optional[List["Activity"]] + parameters=None, # type: Optional[Dict[str, "ParameterSpecification"]] + variables=None, # type: Optional[Dict[str, "VariableSpecification"]] + concurrency=None, # type: Optional[int] + annotations=None, # type: Optional[List[object]] + run_dimensions=None, # type: Optional[Dict[str, object]] + folder=None, # type: Optional["models.PipelineFolder"] + **kwargs # type: Any + ): + # type: (...) -> "models.PipelineResource" + """Creates or updates a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :param if_match: ETag of the pipeline entity. Should only be specified for update, for which + it should match existing entity or can be * for unconditional update. + :type if_match: str + :param description: The description of the pipeline. + :type description: str + :param activities: List of activities in pipeline. + :type activities: list[~azure.mgmt.datafactory.models.Activity] + :param parameters: List of parameters for pipeline. + :type parameters: dict[str, ~azure.mgmt.datafactory.models.ParameterSpecification] + :param variables: List of variables for pipeline. + :type variables: dict[str, ~azure.mgmt.datafactory.models.VariableSpecification] + :param concurrency: The max number of concurrent runs for the pipeline. + :type concurrency: int + :param annotations: List of tags that can be used for describing the Pipeline. + :type annotations: list[object] + :param run_dimensions: Dimensions emitted by Pipeline. + :type run_dimensions: dict[str, object] + :param folder: The folder that this Pipeline is in. If not specified, Pipeline will appear at + the root level. + :type folder: ~azure.mgmt.datafactory.models.PipelineFolder + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.PipelineResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _pipeline = models.PipelineResource(description=description, activities=activities, parameters=parameters, variables=variables, concurrency=concurrency, annotations=annotations, run_dimensions=run_dimensions, folder=folder) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_pipeline, 'PipelineResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PipelineResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + pipeline_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.PipelineResource" + """Gets a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :param if_none_match: ETag of the pipeline entity. Should only be specified for get. If the + ETag matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.PipelineResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PipelineResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + pipeline_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} + + def create_run( + self, + resource_group_name, # type: str + factory_name, # type: str + pipeline_name, # type: str + reference_pipeline_run_id=None, # type: Optional[str] + is_recovery=None, # type: Optional[bool] + start_activity_name=None, # type: Optional[str] + start_from_failure=None, # type: Optional[bool] + parameters=None, # type: Optional[Dict[str, object]] + **kwargs # type: Any + ): + # type: (...) -> "models.CreateRunResponse" + """Creates a run of a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :param reference_pipeline_run_id: The pipeline run identifier. If run ID is specified the + parameters of the specified run will be used to create a new run. + :type reference_pipeline_run_id: str + :param is_recovery: Recovery mode flag. If recovery mode is set to true, the specified + referenced pipeline run and the new run will be grouped under the same groupId. + :type is_recovery: bool + :param start_activity_name: In recovery mode, the rerun will start from this activity. If not + specified, all activities will run. + :type start_activity_name: str + :param start_from_failure: In recovery mode, if set to true, the rerun will start from failed + activities. The property will be used only if startActivityName is not specified. + :type start_from_failure: bool + :param parameters: Parameters of the pipeline run. These parameters will be used only if the + runId is not specified. + :type parameters: dict[str, object] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CreateRunResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.CreateRunResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CreateRunResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_run.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if reference_pipeline_run_id is not None: + query_parameters['referencePipelineRunId'] = self._serialize.query("reference_pipeline_run_id", reference_pipeline_run_id, 'str') + if is_recovery is not None: + query_parameters['isRecovery'] = self._serialize.query("is_recovery", is_recovery, 'bool') + if start_activity_name is not None: + query_parameters['startActivityName'] = self._serialize.query("start_activity_name", start_activity_name, 'str') + if start_from_failure is not None: + query_parameters['startFromFailure'] = self._serialize.query("start_from_failure", start_from_failure, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + if parameters is not None: + body_content = self._serialize.body(parameters, '{object}') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CreateRunResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_run.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_run_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_run_operations.py new file mode 100644 index 00000000000..707f6f5d3cb --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_run_operations.py @@ -0,0 +1,250 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PipelineRunOperations(object): + """PipelineRunOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def query_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + last_updated_after, # type: datetime.datetime + last_updated_before, # type: datetime.datetime + continuation_token=None, # type: Optional[str] + filters=None, # type: Optional[List["RunQueryFilter"]] + order_by=None, # type: Optional[List["RunQueryOrderBy"]] + **kwargs # type: Any + ): + # type: (...) -> "models.PipelineRunsQueryResponse" + """Query pipeline runs in the factory based on input filter conditions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param last_updated_after: The time at or after which the run event was updated in 'ISO 8601' + format. + :type last_updated_after: ~datetime.datetime + :param last_updated_before: The time at or before which the run event was updated in 'ISO 8601' + format. + :type last_updated_before: ~datetime.datetime + :param continuation_token: The continuation token for getting the next page of results. Null + for first page. + :type continuation_token: str + :param filters: List of filters. + :type filters: list[~azure.mgmt.datafactory.models.RunQueryFilter] + :param order_by: List of OrderBy option. + :type order_by: list[~azure.mgmt.datafactory.models.RunQueryOrderBy] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineRunsQueryResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.PipelineRunsQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineRunsQueryResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _filter_parameters = models.RunFilterParameters(continuation_token=continuation_token, last_updated_after=last_updated_after, last_updated_before=last_updated_before, filters=filters, order_by=order_by) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.query_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_filter_parameters, 'RunFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PipelineRunsQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryPipelineRuns'} + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + run_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.PipelineRun" + """Get a pipeline run by its run ID. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineRun or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.PipelineRun + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineRun"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PipelineRun', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}'} + + def cancel( + self, + resource_group_name, # type: str + factory_name, # type: str + run_id, # type: str + is_recursive=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> None + """Cancel a pipeline run by its run ID. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :param is_recursive: If true, cancel all the Child pipelines that are triggered by the current + pipeline. + :type is_recursive: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.cancel.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if is_recursive is not None: + query_parameters['isRecursive'] = self._serialize.query("is_recursive", is_recursive, 'bool') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/cancel'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_operations.py new file mode 100644 index 00000000000..44ceb3c933f --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_operations.py @@ -0,0 +1,838 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class TriggerOperations(object): + """TriggerOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.TriggerListResponse" + """Lists triggers. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerListResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.TriggerListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerListResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + else: + url = next_link + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('TriggerListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers'} + + def query_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + continuation_token=None, # type: Optional[str] + parent_trigger_name=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.TriggerQueryResponse" + """Query triggers. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param continuation_token: The continuation token for getting the next page of results. Null + for first page. + :type continuation_token: str + :param parent_trigger_name: The name of the parent TumblingWindowTrigger to get the child rerun + triggers. + :type parent_trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerQueryResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.TriggerQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerQueryResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _filter_parameters = models.TriggerFilterParameters(continuation_token=continuation_token, parent_trigger_name=parent_trigger_name) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.query_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_filter_parameters, 'TriggerFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/querytriggers'} + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + properties, # type: "models.Trigger" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.TriggerResource" + """Creates or updates a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :param properties: Properties of the trigger. + :type properties: ~azure.mgmt.datafactory.models.Trigger + :param if_match: ETag of the trigger entity. Should only be specified for update, for which it + should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.TriggerResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _trigger = models.TriggerResource(properties=properties) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_trigger, 'TriggerResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.TriggerResource" + """Gets a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :param if_none_match: ETag of the trigger entity. Should only be specified for get. If the ETag + matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerResource or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.TriggerResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerResource"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('TriggerResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} + + def _subscribe_to_event_initial( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.TriggerSubscriptionOperationStatus" + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self._subscribe_to_event_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _subscribe_to_event_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/subscribeToEvents'} + + def begin_subscribe_to_event( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.TriggerSubscriptionOperationStatus" + """Subscribe event trigger to events. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns TriggerSubscriptionOperationStatus + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datafactory.models.TriggerSubscriptionOperationStatus] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + raw_result = self._subscribe_to_event_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_subscribe_to_event.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/subscribeToEvents'} + + def get_event_subscription_status( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.TriggerSubscriptionOperationStatus" + """Get a trigger's event subscription status. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerSubscriptionOperationStatus or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.TriggerSubscriptionOperationStatus + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.get_event_subscription_status.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_event_subscription_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/getEventSubscriptionStatus'} + + def _unsubscribe_from_event_initial( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.TriggerSubscriptionOperationStatus" + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self._unsubscribe_from_event_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = 'application/json' + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _unsubscribe_from_event_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/unsubscribeFromEvents'} + + def begin_unsubscribe_from_event( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.TriggerSubscriptionOperationStatus" + """Unsubscribe event trigger from events. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns TriggerSubscriptionOperationStatus + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.datafactory.models.TriggerSubscriptionOperationStatus] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + raw_result = self._unsubscribe_from_event_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_unsubscribe_from_event.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/unsubscribeFromEvents'} + + def _start_initial( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self._start_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start'} + + def begin_start( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Starts a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._start_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start'} + + def _stop_initial( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self._stop_initial.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop'} + + def begin_stop( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Stops a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :return: An instance of LROPoller that returns None + :rtype: ~azure.core.polling.LROPoller[None] + + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + lro_delay = kwargs.get( + 'polling_interval', + self._config.polling_interval + ) + if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_run_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_run_operations.py new file mode 100644 index 00000000000..895bd046a44 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_run_operations.py @@ -0,0 +1,188 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +import datetime +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class TriggerRunOperations(object): + """TriggerRunOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.datafactory.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def rerun( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + run_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Rerun single trigger instance by runId. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + api_version = "2018-06-01" + + # Construct URL + url = self.rerun.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + rerun.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerRuns/{runId}/rerun'} + + def query_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + last_updated_after, # type: datetime.datetime + last_updated_before, # type: datetime.datetime + continuation_token=None, # type: Optional[str] + filters=None, # type: Optional[List["RunQueryFilter"]] + order_by=None, # type: Optional[List["RunQueryOrderBy"]] + **kwargs # type: Any + ): + # type: (...) -> "models.TriggerRunsQueryResponse" + """Query trigger runs. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param last_updated_after: The time at or after which the run event was updated in 'ISO 8601' + format. + :type last_updated_after: ~datetime.datetime + :param last_updated_before: The time at or before which the run event was updated in 'ISO 8601' + format. + :type last_updated_before: ~datetime.datetime + :param continuation_token: The continuation token for getting the next page of results. Null + for first page. + :type continuation_token: str + :param filters: List of filters. + :type filters: list[~azure.mgmt.datafactory.models.RunQueryFilter] + :param order_by: List of OrderBy option. + :type order_by: list[~azure.mgmt.datafactory.models.RunQueryOrderBy] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerRunsQueryResponse or the result of cls(response) + :rtype: ~azure.mgmt.datafactory.models.TriggerRunsQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerRunsQueryResponse"] + error_map = kwargs.pop('error_map', {404: ResourceNotFoundError, 409: ResourceExistsError}) + + _filter_parameters = models.RunFilterParameters(continuation_token=continuation_token, last_updated_after=last_updated_after, last_updated_before=last_updated_before, filters=filters, order_by=order_by) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + + # Construct URL + url = self.query_by_factory.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = 'application/json' + + # Construct and send request + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(_filter_parameters, 'RunFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerRunsQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryTriggerRuns'} diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/py.typed b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/setup.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/setup.py new file mode 100644 index 00000000000..8503c7d7e65 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/setup.py @@ -0,0 +1,37 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +# coding: utf-8 + +from setuptools import setup, find_packages + +NAME = "datafactorymanagementclient" +VERSION = "1.0.0" + +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools + +REQUIRES = ["msrest>=0.6.0", "azure-core<2.0.0,>=1.2.0"] + +setup( + name=NAME, + version=VERSION, + description="DataFactoryManagementClient", + author_email="", + url="", + keywords=["Swagger", "DataFactoryManagementClient"], + install_requires=REQUIRES, + packages=find_packages(), + include_package_data=True, + long_description="""\ + The Azure Data Factory V2 management API provides a RESTful set of web services that interact with Azure Data Factory V2 services. + """ +) diff --git a/src/datafactory/report.md b/src/datafactory/report.md new file mode 100644 index 00000000000..ccee39c763e --- /dev/null +++ b/src/datafactory/report.md @@ -0,0 +1,773 @@ +# Azure CLI Module Creation Report + +### datafactory activity-run query-by-pipeline-run + +query-by-pipeline-run a datafactory activity-run. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--run-id**|string|The pipeline run identifier.|run_id| +|**--last-updated-after**|date-time|The time at or after which the run event was updated in 'ISO 8601' format.|last_updated_after| +|**--last-updated-before**|date-time|The time at or before which the run event was updated in 'ISO 8601' format.|last_updated_before| +|**--continuation-token**|string|The continuation token for getting the next page of results. Null for first page.|continuation_token| +|**--filters**|array|List of filters.|filters| +|**--order-by**|array|List of OrderBy option.|order_by| +### datafactory data-flow create + +create a datafactory data-flow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--data-flow-name**|string|The data flow name.|data_flow_name| +|**--properties**|object|Data flow properties.|properties| +|**--if-match**|string|ETag of the data flow entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match| +### datafactory data-flow delete + +delete a datafactory data-flow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--data-flow-name**|string|The data flow name.|data_flow_name| +### datafactory data-flow list + +list a datafactory data-flow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +### datafactory data-flow show + +show a datafactory data-flow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--data-flow-name**|string|The data flow name.|data_flow_name| +|**--if-none-match**|string|ETag of the data flow entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match| +### datafactory data-flow update + +create a datafactory data-flow. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--data-flow-name**|string|The data flow name.|data_flow_name| +|**--properties**|object|Data flow properties.|properties| +|**--if-match**|string|ETag of the data flow entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match| +### datafactory data-flow-debug-session add-data-flow + +add-data-flow a datafactory data-flow-debug-session. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--session-id**|string|The ID of data flow debug session.|session_id| +|**--datasets**|array|List of datasets.|datasets| +|**--linked-services**|array|List of linked services.|linked_services| +|**--debug-settings-source-settings**|array|Source setting for data flow debug.|source_settings| +|**--debug-settings-parameters**|dictionary|Data flow parameters.|parameters_debug_settings_parameters| +|**--debug-settings-dataset-parameters**|any|Parameters for dataset.|dataset_parameters| +|**--staging-folder-path**|string|Folder path for staging blob.|folder_path| +|**--staging-linked-service-reference-name**|string|Reference LinkedService name.|reference_name| +|**--staging-linked-service-parameters**|dictionary|Arguments for LinkedService.|parameters| +|**--data-flow-name**|string|The resource name.|name| +|**--data-flow-properties**|object|Data flow properties.|properties| +### datafactory data-flow-debug-session create + +create a datafactory data-flow-debug-session. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--compute-type**|string|Compute type of the cluster. The value will be overwritten by the same setting in integration runtime if provided.|compute_type| +|**--core-count**|integer|Core count of the cluster. The value will be overwritten by the same setting in integration runtime if provided.|core_count| +|**--time-to-live**|integer|Time to live setting of the cluster in minutes.|time_to_live| +|**--integration-runtime-name**|string|The resource name.|name| +|**--integration-runtime-properties**|object|Integration runtime properties.|properties| +### datafactory data-flow-debug-session delete + +delete a datafactory data-flow-debug-session. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--session-id**|string|The ID of data flow debug session.|session_id| +### datafactory data-flow-debug-session execute-command + +execute-command a datafactory data-flow-debug-session. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--session-id**|string|The ID of data flow debug session.|session_id| +|**--command**|choice|The command type.|command| +|**--command-payload**|object|The command payload object.|command_payload| +### datafactory data-flow-debug-session query-by-factory + +query-by-factory a datafactory data-flow-debug-session. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +### datafactory dataset create + +create a datafactory dataset. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--dataset-name**|string|The dataset name.|dataset_name| +|**--properties**|object|Dataset properties.|properties| +|**--if-match**|string|ETag of the dataset entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match| +### datafactory dataset delete + +delete a datafactory dataset. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--dataset-name**|string|The dataset name.|dataset_name| +### datafactory dataset list + +list a datafactory dataset. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +### datafactory dataset show + +show a datafactory dataset. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--dataset-name**|string|The dataset name.|dataset_name| +|**--if-none-match**|string|ETag of the dataset entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match| +### datafactory dataset update + +create a datafactory dataset. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--dataset-name**|string|The dataset name.|dataset_name| +|**--properties**|object|Dataset properties.|properties| +|**--if-match**|string|ETag of the dataset entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match| +### datafactory exposure-control get-feature-value + +get-feature-value a datafactory exposure-control. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--location-id**|string|The location identifier.|location_id| +|**--feature-name**|string|The feature name.|feature_name| +|**--feature-type**|string|The feature type.|feature_type| +### datafactory exposure-control get-feature-value-by-factory + +get-feature-value-by-factory a datafactory exposure-control. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--feature-name**|string|The feature name.|feature_name| +|**--feature-type**|string|The feature type.|feature_type| +### datafactory factory configure-factory-repo + +configure-factory-repo a datafactory factory. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--location-id**|string|The location identifier.|location_id| +|**--factory-resource-id**|string|The factory resource id.|factory_resource_id| +|**--vsts-configuration**|object|Factory's VSTS repo information.|vsts_configuration| +|**--github-configuraiton**|object|Factory's GitHub repo information.|github_configuraiton| +### datafactory factory create + +create a datafactory factory. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--location**|string|The resource location.|location| +|**--tags**|dictionary|The resource tags.|tags| +|**--identity**|object|Managed service identity of the factory.|identity| +|**--vsts-configuration**|object|Factory's VSTS repo information.|vsts_configuration| +|**--github-configuraiton**|object|Factory's GitHub repo information.|github_configuraiton| +### datafactory factory delete + +delete a datafactory factory. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +### datafactory factory get-data-plane-access + +get-data-plane-access a datafactory factory. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--permissions**|string|The string with permissions for Data Plane access. Currently only 'r' is supported which grants read only access.|permissions| +|**--access-resource-path**|string|The resource path to get access relative to factory. Currently only empty string is supported which corresponds to the factory resource.|access_resource_path| +|**--profile-name**|string|The name of the profile. Currently only the default is supported. The default value is DefaultProfile.|profile_name| +|**--start-time**|string|Start time for the token. If not specified the current time will be used.|start_time| +|**--expire-time**|string|Expiration time for the token. Maximum duration for the token is eight hours and by default the token will expire in eight hours.|expire_time| +### datafactory factory get-git-hub-access-token + +get-git-hub-access-token a datafactory factory. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--git-hub-access-code**|string|GitHub access code.|git_hub_access_code| +|**--git-hub-access-token-base-url**|string|GitHub access token base URL.|git_hub_access_token_base_url| +|**--git-hub-client-id**|string|GitHub application client ID.|git_hub_client_id| +### datafactory factory list + +list a datafactory factory. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +### datafactory factory show + +show a datafactory factory. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--if-none-match**|string|ETag of the factory entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match| +### datafactory factory update + +update a datafactory factory. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--tags**|dictionary|The resource tags.|tags| +|**--identity**|object|Managed service identity of the factory.|identity| +### datafactory integration-runtime create + +create a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +|**--properties**|object|Integration runtime properties.|properties| +|**--if-match**|string|ETag of the integration runtime entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match| +### datafactory integration-runtime create-linked-integration-runtime + +create-linked-integration-runtime a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +|**--name**|string|The name of the linked integration runtime.|name| +|**--subscription-id**|string|The ID of the subscription that the linked integration runtime belongs to.|subscription_id| +|**--data-factory-name**|string|The name of the data factory that the linked integration runtime belongs to.|data_factory_name| +|**--data-factory-location**|string|The location of the data factory that the linked integration runtime belongs to.|data_factory_location| +### datafactory integration-runtime delete + +delete a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +### datafactory integration-runtime get-connection-info + +get-connection-info a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +### datafactory integration-runtime get-monitoring-data + +get-monitoring-data a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +### datafactory integration-runtime get-status + +get-status a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +### datafactory integration-runtime list + +list a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +### datafactory integration-runtime list-auth-key + +list-auth-key a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +### datafactory integration-runtime regenerate-auth-key + +regenerate-auth-key a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +|**--key-name**|choice|The name of the authentication key to regenerate.|key_name| +### datafactory integration-runtime remove-link + +remove-link a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +|**--linked-factory-name**|string|The data factory name for linked integration runtime.|linked_factory_name| +### datafactory integration-runtime show + +show a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +|**--if-none-match**|string|ETag of the integration runtime entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match| +### datafactory integration-runtime start + +start a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +### datafactory integration-runtime stop + +stop a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +### datafactory integration-runtime sync-credentials + +sync-credentials a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +### datafactory integration-runtime update + +update a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +|**--auto-update**|choice|Enables or disables the auto-update feature of the self-hosted integration runtime. See https://go.microsoft.com/fwlink/?linkid=854189.|auto_update| +|**--update-delay-offset**|string|The time offset (in hours) in the day, e.g., PT03H is 3 hours. The integration runtime auto update will happen on that time.|update_delay_offset| +### datafactory integration-runtime upgrade + +upgrade a datafactory integration-runtime. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +### datafactory integration-runtime-node delete + +delete a datafactory integration-runtime-node. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +|**--node-name**|string|The integration runtime node name.|node_name| +### datafactory integration-runtime-node get-ip-address + +get-ip-address a datafactory integration-runtime-node. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +|**--node-name**|string|The integration runtime node name.|node_name| +### datafactory integration-runtime-node show + +show a datafactory integration-runtime-node. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +|**--node-name**|string|The integration runtime node name.|node_name| +### datafactory integration-runtime-node update + +update a datafactory integration-runtime-node. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +|**--node-name**|string|The integration runtime node name.|node_name| +|**--concurrent-jobs-limit**|integer|The number of concurrent jobs permitted to run on the integration runtime node. Values between 1 and maxConcurrentJobs(inclusive) are allowed.|concurrent_jobs_limit| +### datafactory integration-runtime-object-metadata get + +get a datafactory integration-runtime-object-metadata. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +|**--metadata-path**|string|Metadata path.|metadata_path| +### datafactory integration-runtime-object-metadata refresh + +refresh a datafactory integration-runtime-object-metadata. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name| +### datafactory linked-service create + +create a datafactory linked-service. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--linked-service-name**|string|The linked service name.|linked_service_name| +|**--properties**|object|Properties of linked service.|properties| +|**--if-match**|string|ETag of the linkedService entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match| +### datafactory linked-service delete + +delete a datafactory linked-service. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--linked-service-name**|string|The linked service name.|linked_service_name| +### datafactory linked-service list + +list a datafactory linked-service. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +### datafactory linked-service show + +show a datafactory linked-service. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--linked-service-name**|string|The linked service name.|linked_service_name| +|**--if-none-match**|string|ETag of the linked service entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match| +### datafactory linked-service update + +create a datafactory linked-service. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--linked-service-name**|string|The linked service name.|linked_service_name| +|**--properties**|object|Properties of linked service.|properties| +|**--if-match**|string|ETag of the linkedService entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match| +### datafactory pipeline create + +create a datafactory pipeline. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--pipeline-name**|string|The pipeline name.|pipeline_name| +|**--if-match**|string|ETag of the pipeline entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match| +|**--description**|string|The description of the pipeline.|description| +|**--activities**|array|List of activities in pipeline.|activities| +|**--parameters**|dictionary|List of parameters for pipeline.|parameters| +|**--variables**|dictionary|List of variables for pipeline.|variables| +|**--concurrency**|integer|The max number of concurrent runs for the pipeline.|concurrency| +|**--annotations**|array|List of tags that can be used for describing the Pipeline.|annotations| +|**--run-dimensions**|dictionary|Dimensions emitted by Pipeline.|run_dimensions| +|**--folder**|object|The folder that this Pipeline is in. If not specified, Pipeline will appear at the root level.|folder| +### datafactory pipeline create-run + +create-run a datafactory pipeline. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--pipeline-name**|string|The pipeline name.|pipeline_name| +|**--reference-pipeline-run-id**|string|The pipeline run identifier. If run ID is specified the parameters of the specified run will be used to create a new run.|reference_pipeline_run_id| +|**--is-recovery**|boolean|Recovery mode flag. If recovery mode is set to true, the specified referenced pipeline run and the new run will be grouped under the same groupId.|is_recovery| +|**--start-activity-name**|string|In recovery mode, the rerun will start from this activity. If not specified, all activities will run.|start_activity_name| +|**--start-from-failure**|boolean|In recovery mode, if set to true, the rerun will start from failed activities. The property will be used only if startActivityName is not specified.|start_from_failure| +|**--parameters**|dictionary|Parameters of the pipeline run. These parameters will be used only if the runId is not specified.|parameters| +### datafactory pipeline delete + +delete a datafactory pipeline. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--pipeline-name**|string|The pipeline name.|pipeline_name| +### datafactory pipeline list + +list a datafactory pipeline. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +### datafactory pipeline show + +show a datafactory pipeline. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--pipeline-name**|string|The pipeline name.|pipeline_name| +|**--if-none-match**|string|ETag of the pipeline entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match| +### datafactory pipeline update + +create a datafactory pipeline. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--pipeline-name**|string|The pipeline name.|pipeline_name| +|**--if-match**|string|ETag of the pipeline entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match| +|**--description**|string|The description of the pipeline.|description| +|**--activities**|array|List of activities in pipeline.|activities| +|**--parameters**|dictionary|List of parameters for pipeline.|parameters| +|**--variables**|dictionary|List of variables for pipeline.|variables| +|**--concurrency**|integer|The max number of concurrent runs for the pipeline.|concurrency| +|**--annotations**|array|List of tags that can be used for describing the Pipeline.|annotations| +|**--run-dimensions**|dictionary|Dimensions emitted by Pipeline.|run_dimensions| +|**--folder**|object|The folder that this Pipeline is in. If not specified, Pipeline will appear at the root level.|folder| +### datafactory pipeline-run cancel + +cancel a datafactory pipeline-run. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--run-id**|string|The pipeline run identifier.|run_id| +|**--is-recursive**|boolean|If true, cancel all the Child pipelines that are triggered by the current pipeline.|is_recursive| +### datafactory pipeline-run query-by-factory + +query-by-factory a datafactory pipeline-run. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--last-updated-after**|date-time|The time at or after which the run event was updated in 'ISO 8601' format.|last_updated_after| +|**--last-updated-before**|date-time|The time at or before which the run event was updated in 'ISO 8601' format.|last_updated_before| +|**--continuation-token**|string|The continuation token for getting the next page of results. Null for first page.|continuation_token| +|**--filters**|array|List of filters.|filters| +|**--order-by**|array|List of OrderBy option.|order_by| +### datafactory pipeline-run show + +show a datafactory pipeline-run. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--run-id**|string|The pipeline run identifier.|run_id| +### datafactory trigger create + +create a datafactory trigger. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--trigger-name**|string|The trigger name.|trigger_name| +|**--properties**|object|Properties of the trigger.|properties| +|**--if-match**|string|ETag of the trigger entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match| +### datafactory trigger delete + +delete a datafactory trigger. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--trigger-name**|string|The trigger name.|trigger_name| +### datafactory trigger get-event-subscription-status + +get-event-subscription-status a datafactory trigger. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--trigger-name**|string|The trigger name.|trigger_name| +### datafactory trigger list + +list a datafactory trigger. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +### datafactory trigger query-by-factory + +query-by-factory a datafactory trigger. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--continuation-token**|string|The continuation token for getting the next page of results. Null for first page.|continuation_token| +|**--parent-trigger-name**|string|The name of the parent TumblingWindowTrigger to get the child rerun triggers|parent_trigger_name| +### datafactory trigger show + +show a datafactory trigger. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--trigger-name**|string|The trigger name.|trigger_name| +|**--if-none-match**|string|ETag of the trigger entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match| +### datafactory trigger start + +start a datafactory trigger. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--trigger-name**|string|The trigger name.|trigger_name| +### datafactory trigger stop + +stop a datafactory trigger. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--trigger-name**|string|The trigger name.|trigger_name| +### datafactory trigger subscribe-to-event + +subscribe-to-event a datafactory trigger. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--trigger-name**|string|The trigger name.|trigger_name| +### datafactory trigger unsubscribe-from-event + +unsubscribe-from-event a datafactory trigger. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--trigger-name**|string|The trigger name.|trigger_name| +### datafactory trigger update + +create a datafactory trigger. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--trigger-name**|string|The trigger name.|trigger_name| +|**--properties**|object|Properties of the trigger.|properties| +|**--if-match**|string|ETag of the trigger entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match| +### datafactory trigger-run query-by-factory + +query-by-factory a datafactory trigger-run. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--last-updated-after**|date-time|The time at or after which the run event was updated in 'ISO 8601' format.|last_updated_after| +|**--last-updated-before**|date-time|The time at or before which the run event was updated in 'ISO 8601' format.|last_updated_before| +|**--continuation-token**|string|The continuation token for getting the next page of results. Null for first page.|continuation_token| +|**--filters**|array|List of filters.|filters| +|**--order-by**|array|List of OrderBy option.|order_by| +### datafactory trigger-run rerun + +rerun a datafactory trigger-run. + +|Option|Type|Description|Path (SDK)|Path (swagger)| +|------|----|-----------|----------|--------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name| +|**--factory-name**|string|The factory name.|factory_name| +|**--trigger-name**|string|The trigger name.|trigger_name| +|**--run-id**|string|The pipeline run identifier.|run_id| \ No newline at end of file diff --git a/src/datafactory/setup.cfg b/src/datafactory/setup.cfg new file mode 100644 index 00000000000..2fdd96e5d39 --- /dev/null +++ b/src/datafactory/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/datafactory/setup.py b/src/datafactory/setup.py new file mode 100644 index 00000000000..efee900f89d --- /dev/null +++ b/src/datafactory/setup.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +from codecs import open +from setuptools import setup, find_packages + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = [] + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='datafactory', + version=VERSION, + description='Microsoft Azure Command-Line Tools DataFactoryManagementClient Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_datafactory': ['azext_metadata.json']}, +)