1# coding=utf-8
2# --------------------------------------------------------------------------
3# Copyright (c) Microsoft Corporation. All rights reserved.
4# Licensed under the MIT License. See License.txt in the project root for license information.
5# Code generated by Microsoft (R) AutoRest Code Generator.
6# Changes may cause incorrect behavior and will be lost if the code is regenerated.
7# --------------------------------------------------------------------------
8
9import datetime
10from typing import Any, Dict, List, Optional, Union
11
12from azure.core.exceptions import HttpResponseError
13import msrest.serialization
14
15from ._artifacts_client_enums import *
16
17
18class Activity(msrest.serialization.Model):
19    """A pipeline activity.
20
21    You probably want to use the sub-classes and not this class directly. Known
22    sub-classes are: ControlActivity, ExecutionActivity, SqlPoolStoredProcedureActivity.
23
24    All required parameters must be populated in order to send to Azure.
25
26    :param additional_properties: Unmatched properties from the message are deserialized to this
27     collection.
28    :type additional_properties: dict[str, any]
29    :param name: Required. Activity name.
30    :type name: str
31    :param type: Required. Type of activity.Constant filled by server.
32    :type type: str
33    :param description: Activity description.
34    :type description: str
35    :param depends_on: Activity depends on condition.
36    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
37    :param user_properties: Activity user properties.
38    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
39    """
40
41    _validation = {
42        'name': {'required': True},
43        'type': {'required': True},
44    }
45
46    _attribute_map = {
47        'additional_properties': {'key': '', 'type': '{object}'},
48        'name': {'key': 'name', 'type': 'str'},
49        'type': {'key': 'type', 'type': 'str'},
50        'description': {'key': 'description', 'type': 'str'},
51        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
52        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
53    }
54
55    _subtype_map = {
56        'type': {'Container': 'ControlActivity', 'Execution': 'ExecutionActivity', 'SqlPoolStoredProcedure': 'SqlPoolStoredProcedureActivity'}
57    }
58
59    def __init__(
60        self,
61        *,
62        name: str,
63        additional_properties: Optional[Dict[str, Any]] = None,
64        description: Optional[str] = None,
65        depends_on: Optional[List["ActivityDependency"]] = None,
66        user_properties: Optional[List["UserProperty"]] = None,
67        **kwargs
68    ):
69        super(Activity, self).__init__(**kwargs)
70        self.additional_properties = additional_properties
71        self.name = name
72        self.type = 'Activity'  # type: str
73        self.description = description
74        self.depends_on = depends_on
75        self.user_properties = user_properties
76
77
78class ActivityDependency(msrest.serialization.Model):
79    """Activity dependency information.
80
81    All required parameters must be populated in order to send to Azure.
82
83    :param additional_properties: Unmatched properties from the message are deserialized to this
84     collection.
85    :type additional_properties: dict[str, any]
86    :param activity: Required. Activity name.
87    :type activity: str
88    :param dependency_conditions: Required. Match-Condition for the dependency.
89    :type dependency_conditions: list[str or
90     ~azure.synapse.artifacts.v2020_12_01.models.DependencyCondition]
91    """
92
93    _validation = {
94        'activity': {'required': True},
95        'dependency_conditions': {'required': True},
96    }
97
98    _attribute_map = {
99        'additional_properties': {'key': '', 'type': '{object}'},
100        'activity': {'key': 'activity', 'type': 'str'},
101        'dependency_conditions': {'key': 'dependencyConditions', 'type': '[str]'},
102    }
103
104    def __init__(
105        self,
106        *,
107        activity: str,
108        dependency_conditions: List[Union[str, "DependencyCondition"]],
109        additional_properties: Optional[Dict[str, Any]] = None,
110        **kwargs
111    ):
112        super(ActivityDependency, self).__init__(**kwargs)
113        self.additional_properties = additional_properties
114        self.activity = activity
115        self.dependency_conditions = dependency_conditions
116
117
118class ActivityPolicy(msrest.serialization.Model):
119    """Execution policy for an activity.
120
121    :param additional_properties: Unmatched properties from the message are deserialized to this
122     collection.
123    :type additional_properties: dict[str, any]
124    :param timeout: Specifies the timeout for the activity to run. The default timeout is 7 days.
125     Type: string (or Expression with resultType string), pattern:
126     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
127    :type timeout: any
128    :param retry: Maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with
129     resultType integer), minimum: 0.
130    :type retry: any
131    :param retry_interval_in_seconds: Interval between each retry attempt (in seconds). The default
132     is 30 sec.
133    :type retry_interval_in_seconds: int
134    :param secure_input: When set to true, Input from activity is considered as secure and will not
135     be logged to monitoring.
136    :type secure_input: bool
137    :param secure_output: When set to true, Output from activity is considered as secure and will
138     not be logged to monitoring.
139    :type secure_output: bool
140    """
141
142    _validation = {
143        'retry_interval_in_seconds': {'maximum': 86400, 'minimum': 30},
144    }
145
146    _attribute_map = {
147        'additional_properties': {'key': '', 'type': '{object}'},
148        'timeout': {'key': 'timeout', 'type': 'object'},
149        'retry': {'key': 'retry', 'type': 'object'},
150        'retry_interval_in_seconds': {'key': 'retryIntervalInSeconds', 'type': 'int'},
151        'secure_input': {'key': 'secureInput', 'type': 'bool'},
152        'secure_output': {'key': 'secureOutput', 'type': 'bool'},
153    }
154
155    def __init__(
156        self,
157        *,
158        additional_properties: Optional[Dict[str, Any]] = None,
159        timeout: Optional[Any] = None,
160        retry: Optional[Any] = None,
161        retry_interval_in_seconds: Optional[int] = None,
162        secure_input: Optional[bool] = None,
163        secure_output: Optional[bool] = None,
164        **kwargs
165    ):
166        super(ActivityPolicy, self).__init__(**kwargs)
167        self.additional_properties = additional_properties
168        self.timeout = timeout
169        self.retry = retry
170        self.retry_interval_in_seconds = retry_interval_in_seconds
171        self.secure_input = secure_input
172        self.secure_output = secure_output
173
174
175class ActivityRun(msrest.serialization.Model):
176    """Information about an activity run in a pipeline.
177
178    Variables are only populated by the server, and will be ignored when sending a request.
179
180    :param additional_properties: Unmatched properties from the message are deserialized to this
181     collection.
182    :type additional_properties: dict[str, any]
183    :ivar pipeline_name: The name of the pipeline.
184    :vartype pipeline_name: str
185    :ivar pipeline_run_id: The id of the pipeline run.
186    :vartype pipeline_run_id: str
187    :ivar activity_name: The name of the activity.
188    :vartype activity_name: str
189    :ivar activity_type: The type of the activity.
190    :vartype activity_type: str
191    :ivar activity_run_id: The id of the activity run.
192    :vartype activity_run_id: str
193    :ivar linked_service_name: The name of the compute linked service.
194    :vartype linked_service_name: str
195    :ivar status: The status of the activity run.
196    :vartype status: str
197    :ivar activity_run_start: The start time of the activity run in 'ISO 8601' format.
198    :vartype activity_run_start: ~datetime.datetime
199    :ivar activity_run_end: The end time of the activity run in 'ISO 8601' format.
200    :vartype activity_run_end: ~datetime.datetime
201    :ivar duration_in_ms: The duration of the activity run.
202    :vartype duration_in_ms: int
203    :ivar input: The input for the activity.
204    :vartype input: any
205    :ivar output: The output for the activity.
206    :vartype output: any
207    :ivar error: The error if any from the activity run.
208    :vartype error: any
209    """
210
211    _validation = {
212        'pipeline_name': {'readonly': True},
213        'pipeline_run_id': {'readonly': True},
214        'activity_name': {'readonly': True},
215        'activity_type': {'readonly': True},
216        'activity_run_id': {'readonly': True},
217        'linked_service_name': {'readonly': True},
218        'status': {'readonly': True},
219        'activity_run_start': {'readonly': True},
220        'activity_run_end': {'readonly': True},
221        'duration_in_ms': {'readonly': True},
222        'input': {'readonly': True},
223        'output': {'readonly': True},
224        'error': {'readonly': True},
225    }
226
227    _attribute_map = {
228        'additional_properties': {'key': '', 'type': '{object}'},
229        'pipeline_name': {'key': 'pipelineName', 'type': 'str'},
230        'pipeline_run_id': {'key': 'pipelineRunId', 'type': 'str'},
231        'activity_name': {'key': 'activityName', 'type': 'str'},
232        'activity_type': {'key': 'activityType', 'type': 'str'},
233        'activity_run_id': {'key': 'activityRunId', 'type': 'str'},
234        'linked_service_name': {'key': 'linkedServiceName', 'type': 'str'},
235        'status': {'key': 'status', 'type': 'str'},
236        'activity_run_start': {'key': 'activityRunStart', 'type': 'iso-8601'},
237        'activity_run_end': {'key': 'activityRunEnd', 'type': 'iso-8601'},
238        'duration_in_ms': {'key': 'durationInMs', 'type': 'int'},
239        'input': {'key': 'input', 'type': 'object'},
240        'output': {'key': 'output', 'type': 'object'},
241        'error': {'key': 'error', 'type': 'object'},
242    }
243
244    def __init__(
245        self,
246        *,
247        additional_properties: Optional[Dict[str, Any]] = None,
248        **kwargs
249    ):
250        super(ActivityRun, self).__init__(**kwargs)
251        self.additional_properties = additional_properties
252        self.pipeline_name = None
253        self.pipeline_run_id = None
254        self.activity_name = None
255        self.activity_type = None
256        self.activity_run_id = None
257        self.linked_service_name = None
258        self.status = None
259        self.activity_run_start = None
260        self.activity_run_end = None
261        self.duration_in_ms = None
262        self.input = None
263        self.output = None
264        self.error = None
265
266
267class ActivityRunsQueryResponse(msrest.serialization.Model):
268    """A list activity runs.
269
270    All required parameters must be populated in order to send to Azure.
271
272    :param value: Required. List of activity runs.
273    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityRun]
274    :param continuation_token: The continuation token for getting the next page of results, if any
275     remaining results exist, null otherwise.
276    :type continuation_token: str
277    """
278
279    _validation = {
280        'value': {'required': True},
281    }
282
283    _attribute_map = {
284        'value': {'key': 'value', 'type': '[ActivityRun]'},
285        'continuation_token': {'key': 'continuationToken', 'type': 'str'},
286    }
287
288    def __init__(
289        self,
290        *,
291        value: List["ActivityRun"],
292        continuation_token: Optional[str] = None,
293        **kwargs
294    ):
295        super(ActivityRunsQueryResponse, self).__init__(**kwargs)
296        self.value = value
297        self.continuation_token = continuation_token
298
299
300class AddDataFlowToDebugSessionResponse(msrest.serialization.Model):
301    """Response body structure for starting data flow debug session.
302
303    :param job_version: The ID of data flow debug job version.
304    :type job_version: str
305    """
306
307    _attribute_map = {
308        'job_version': {'key': 'jobVersion', 'type': 'str'},
309    }
310
311    def __init__(
312        self,
313        *,
314        job_version: Optional[str] = None,
315        **kwargs
316    ):
317        super(AddDataFlowToDebugSessionResponse, self).__init__(**kwargs)
318        self.job_version = job_version
319
320
321class AdditionalColumns(msrest.serialization.Model):
322    """Specify the column name and value of additional columns.
323
324    :param name: Additional column name. Type: string (or Expression with resultType string).
325    :type name: any
326    :param value: Additional column value. Type: string (or Expression with resultType string).
327    :type value: any
328    """
329
330    _attribute_map = {
331        'name': {'key': 'name', 'type': 'object'},
332        'value': {'key': 'value', 'type': 'object'},
333    }
334
335    def __init__(
336        self,
337        *,
338        name: Optional[Any] = None,
339        value: Optional[Any] = None,
340        **kwargs
341    ):
342        super(AdditionalColumns, self).__init__(**kwargs)
343        self.name = name
344        self.value = value
345
346
347class LinkedService(msrest.serialization.Model):
348    """The Azure Synapse nested object which contains the information and credential which can be used to connect with related store or compute resource.
349
350    You probably want to use the sub-classes and not this class directly. Known
351    sub-classes are: AmazonMWSLinkedService, AmazonRedshiftLinkedService, AmazonS3LinkedService, AzureBatchLinkedService, AzureBlobFSLinkedService, AzureBlobStorageLinkedService, AzureDataExplorerLinkedService, AzureDataLakeAnalyticsLinkedService, AzureDataLakeStoreLinkedService, AzureDatabricksLinkedService, AzureDatabricksDeltaLakeLinkedService, 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, MongoDbAtlasLinkedService, 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.
352
353    All required parameters must be populated in order to send to Azure.
354
355    :param additional_properties: Unmatched properties from the message are deserialized to this
356     collection.
357    :type additional_properties: dict[str, any]
358    :param type: Required. Type of linked service.Constant filled by server.
359    :type type: str
360    :param connect_via: The integration runtime reference.
361    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
362    :param description: Linked service description.
363    :type description: str
364    :param parameters: Parameters for linked service.
365    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
366    :param annotations: List of tags that can be used for describing the linked service.
367    :type annotations: list[any]
368    """
369
370    _validation = {
371        'type': {'required': True},
372    }
373
374    _attribute_map = {
375        'additional_properties': {'key': '', 'type': '{object}'},
376        'type': {'key': 'type', 'type': 'str'},
377        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
378        'description': {'key': 'description', 'type': 'str'},
379        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
380        'annotations': {'key': 'annotations', 'type': '[object]'},
381    }
382
383    _subtype_map = {
384        'type': {'AmazonMWS': 'AmazonMWSLinkedService', 'AmazonRedshift': 'AmazonRedshiftLinkedService', 'AmazonS3': 'AmazonS3LinkedService', 'AzureBatch': 'AzureBatchLinkedService', 'AzureBlobFS': 'AzureBlobFSLinkedService', 'AzureBlobStorage': 'AzureBlobStorageLinkedService', 'AzureDataExplorer': 'AzureDataExplorerLinkedService', 'AzureDataLakeAnalytics': 'AzureDataLakeAnalyticsLinkedService', 'AzureDataLakeStore': 'AzureDataLakeStoreLinkedService', 'AzureDatabricks': 'AzureDatabricksLinkedService', 'AzureDatabricksDeltaLake': 'AzureDatabricksDeltaLakeLinkedService', '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', 'MongoDbAtlas': 'MongoDbAtlasLinkedService', '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'}
385    }
386
387    def __init__(
388        self,
389        *,
390        additional_properties: Optional[Dict[str, Any]] = None,
391        connect_via: Optional["IntegrationRuntimeReference"] = None,
392        description: Optional[str] = None,
393        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
394        annotations: Optional[List[Any]] = None,
395        **kwargs
396    ):
397        super(LinkedService, self).__init__(**kwargs)
398        self.additional_properties = additional_properties
399        self.type = 'LinkedService'  # type: str
400        self.connect_via = connect_via
401        self.description = description
402        self.parameters = parameters
403        self.annotations = annotations
404
405
406class AmazonMWSLinkedService(LinkedService):
407    """Amazon Marketplace Web Service linked service.
408
409    All required parameters must be populated in order to send to Azure.
410
411    :param additional_properties: Unmatched properties from the message are deserialized to this
412     collection.
413    :type additional_properties: dict[str, any]
414    :param type: Required. Type of linked service.Constant filled by server.
415    :type type: str
416    :param connect_via: The integration runtime reference.
417    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
418    :param description: Linked service description.
419    :type description: str
420    :param parameters: Parameters for linked service.
421    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
422    :param annotations: List of tags that can be used for describing the linked service.
423    :type annotations: list[any]
424    :param endpoint: Required. The endpoint of the Amazon MWS server, (i.e.
425     mws.amazonservices.com).
426    :type endpoint: any
427    :param marketplace_id: Required. The Amazon Marketplace ID you want to retrieve data from. To
428     retrieve data from multiple Marketplace IDs, separate them with a comma (,). (i.e.
429     A2EUQ1WTGCTBG2).
430    :type marketplace_id: any
431    :param seller_id: Required. The Amazon seller ID.
432    :type seller_id: any
433    :param mws_auth_token: The Amazon MWS authentication token.
434    :type mws_auth_token: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
435    :param access_key_id: Required. The access key id used to access data.
436    :type access_key_id: any
437    :param secret_key: The secret key used to access data.
438    :type secret_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
439    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
440     HTTPS. The default value is true.
441    :type use_encrypted_endpoints: any
442    :param use_host_verification: Specifies whether to require the host name in the server's
443     certificate to match the host name of the server when connecting over SSL. The default value is
444     true.
445    :type use_host_verification: any
446    :param use_peer_verification: Specifies whether to verify the identity of the server when
447     connecting over SSL. The default value is true.
448    :type use_peer_verification: any
449    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
450     encrypted using the integration runtime credential manager. Type: string (or Expression with
451     resultType string).
452    :type encrypted_credential: any
453    """
454
455    _validation = {
456        'type': {'required': True},
457        'endpoint': {'required': True},
458        'marketplace_id': {'required': True},
459        'seller_id': {'required': True},
460        'access_key_id': {'required': True},
461    }
462
463    _attribute_map = {
464        'additional_properties': {'key': '', 'type': '{object}'},
465        'type': {'key': 'type', 'type': 'str'},
466        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
467        'description': {'key': 'description', 'type': 'str'},
468        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
469        'annotations': {'key': 'annotations', 'type': '[object]'},
470        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
471        'marketplace_id': {'key': 'typeProperties.marketplaceID', 'type': 'object'},
472        'seller_id': {'key': 'typeProperties.sellerID', 'type': 'object'},
473        'mws_auth_token': {'key': 'typeProperties.mwsAuthToken', 'type': 'SecretBase'},
474        'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'},
475        'secret_key': {'key': 'typeProperties.secretKey', 'type': 'SecretBase'},
476        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
477        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
478        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
479        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
480    }
481
482    def __init__(
483        self,
484        *,
485        endpoint: Any,
486        marketplace_id: Any,
487        seller_id: Any,
488        access_key_id: Any,
489        additional_properties: Optional[Dict[str, Any]] = None,
490        connect_via: Optional["IntegrationRuntimeReference"] = None,
491        description: Optional[str] = None,
492        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
493        annotations: Optional[List[Any]] = None,
494        mws_auth_token: Optional["SecretBase"] = None,
495        secret_key: Optional["SecretBase"] = None,
496        use_encrypted_endpoints: Optional[Any] = None,
497        use_host_verification: Optional[Any] = None,
498        use_peer_verification: Optional[Any] = None,
499        encrypted_credential: Optional[Any] = None,
500        **kwargs
501    ):
502        super(AmazonMWSLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
503        self.type = 'AmazonMWS'  # type: str
504        self.endpoint = endpoint
505        self.marketplace_id = marketplace_id
506        self.seller_id = seller_id
507        self.mws_auth_token = mws_auth_token
508        self.access_key_id = access_key_id
509        self.secret_key = secret_key
510        self.use_encrypted_endpoints = use_encrypted_endpoints
511        self.use_host_verification = use_host_verification
512        self.use_peer_verification = use_peer_verification
513        self.encrypted_credential = encrypted_credential
514
515
516class Dataset(msrest.serialization.Model):
517    """The Azure Data Factory nested object which identifies data within different data stores, such as tables, files, folders, and documents.
518
519    You probably want to use the sub-classes and not this class directly. Known
520    sub-classes are: AmazonMWSObjectDataset, AmazonRedshiftTableDataset, AmazonS3Dataset, AvroDataset, AzureBlobDataset, AzureBlobFSDataset, AzureDataExplorerTableDataset, AzureDataLakeStoreDataset, AzureDatabricksDeltaLakeDataset, AzureMariaDBTableDataset, AzureMySqlTableDataset, AzurePostgreSqlTableDataset, AzureSearchIndexDataset, AzureSqlDWTableDataset, AzureSqlMITableDataset, AzureSqlTableDataset, AzureTableDataset, BinaryDataset, CassandraTableDataset, CommonDataServiceForAppsEntityDataset, ConcurObjectDataset, CosmosDbMongoDbApiCollectionDataset, CosmosDbSqlApiCollectionDataset, CouchbaseTableDataset, CustomDataset, Db2TableDataset, DelimitedTextDataset, DocumentDbCollectionDataset, DrillTableDataset, DynamicsAXResourceDataset, DynamicsCrmEntityDataset, DynamicsEntityDataset, EloquaObjectDataset, ExcelDataset, FileShareDataset, GoogleAdWordsObjectDataset, GoogleBigQueryObjectDataset, GreenplumTableDataset, HBaseObjectDataset, HiveObjectDataset, HttpDataset, HubspotObjectDataset, ImpalaObjectDataset, InformixTableDataset, JiraObjectDataset, JsonDataset, MagentoObjectDataset, MariaDBTableDataset, MarketoObjectDataset, MicrosoftAccessTableDataset, MongoDbAtlasCollectionDataset, 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, XmlDataset, ZohoObjectDataset.
521
522    All required parameters must be populated in order to send to Azure.
523
524    :param additional_properties: Unmatched properties from the message are deserialized to this
525     collection.
526    :type additional_properties: dict[str, any]
527    :param type: Required. Type of dataset.Constant filled by server.
528    :type type: str
529    :param description: Dataset description.
530    :type description: str
531    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
532     with resultType array), itemType: DatasetDataElement.
533    :type structure: any
534    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
535     Expression with resultType array), itemType: DatasetSchemaDataElement.
536    :type schema: any
537    :param linked_service_name: Required. Linked service reference.
538    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
539    :param parameters: Parameters for dataset.
540    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
541    :param annotations: List of tags that can be used for describing the Dataset.
542    :type annotations: list[any]
543    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
544     root level.
545    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
546    """
547
548    _validation = {
549        'type': {'required': True},
550        'linked_service_name': {'required': True},
551    }
552
553    _attribute_map = {
554        'additional_properties': {'key': '', 'type': '{object}'},
555        'type': {'key': 'type', 'type': 'str'},
556        'description': {'key': 'description', 'type': 'str'},
557        'structure': {'key': 'structure', 'type': 'object'},
558        'schema': {'key': 'schema', 'type': 'object'},
559        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
560        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
561        'annotations': {'key': 'annotations', 'type': '[object]'},
562        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
563    }
564
565    _subtype_map = {
566        'type': {'AmazonMWSObject': 'AmazonMWSObjectDataset', 'AmazonRedshiftTable': 'AmazonRedshiftTableDataset', 'AmazonS3Object': 'AmazonS3Dataset', 'Avro': 'AvroDataset', 'AzureBlob': 'AzureBlobDataset', 'AzureBlobFSFile': 'AzureBlobFSDataset', 'AzureDataExplorerTable': 'AzureDataExplorerTableDataset', 'AzureDataLakeStoreFile': 'AzureDataLakeStoreDataset', 'AzureDatabricksDeltaLakeDataset': 'AzureDatabricksDeltaLakeDataset', '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', 'CustomDataset': 'CustomDataset', 'Db2Table': 'Db2TableDataset', 'DelimitedText': 'DelimitedTextDataset', 'DocumentDbCollection': 'DocumentDbCollectionDataset', 'DrillTable': 'DrillTableDataset', 'DynamicsAXResource': 'DynamicsAXResourceDataset', 'DynamicsCrmEntity': 'DynamicsCrmEntityDataset', 'DynamicsEntity': 'DynamicsEntityDataset', 'EloquaObject': 'EloquaObjectDataset', 'Excel': 'ExcelDataset', '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', 'MongoDbAtlasCollection': 'MongoDbAtlasCollectionDataset', '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', 'Xml': 'XmlDataset', 'ZohoObject': 'ZohoObjectDataset'}
567    }
568
569    def __init__(
570        self,
571        *,
572        linked_service_name: "LinkedServiceReference",
573        additional_properties: Optional[Dict[str, Any]] = None,
574        description: Optional[str] = None,
575        structure: Optional[Any] = None,
576        schema: Optional[Any] = None,
577        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
578        annotations: Optional[List[Any]] = None,
579        folder: Optional["DatasetFolder"] = None,
580        **kwargs
581    ):
582        super(Dataset, self).__init__(**kwargs)
583        self.additional_properties = additional_properties
584        self.type = 'Dataset'  # type: str
585        self.description = description
586        self.structure = structure
587        self.schema = schema
588        self.linked_service_name = linked_service_name
589        self.parameters = parameters
590        self.annotations = annotations
591        self.folder = folder
592
593
594class AmazonMWSObjectDataset(Dataset):
595    """Amazon Marketplace Web Service dataset.
596
597    All required parameters must be populated in order to send to Azure.
598
599    :param additional_properties: Unmatched properties from the message are deserialized to this
600     collection.
601    :type additional_properties: dict[str, any]
602    :param type: Required. Type of dataset.Constant filled by server.
603    :type type: str
604    :param description: Dataset description.
605    :type description: str
606    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
607     with resultType array), itemType: DatasetDataElement.
608    :type structure: any
609    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
610     Expression with resultType array), itemType: DatasetSchemaDataElement.
611    :type schema: any
612    :param linked_service_name: Required. Linked service reference.
613    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
614    :param parameters: Parameters for dataset.
615    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
616    :param annotations: List of tags that can be used for describing the Dataset.
617    :type annotations: list[any]
618    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
619     root level.
620    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
621    :param table_name: The table name. Type: string (or Expression with resultType string).
622    :type table_name: any
623    """
624
625    _validation = {
626        'type': {'required': True},
627        'linked_service_name': {'required': True},
628    }
629
630    _attribute_map = {
631        'additional_properties': {'key': '', 'type': '{object}'},
632        'type': {'key': 'type', 'type': 'str'},
633        'description': {'key': 'description', 'type': 'str'},
634        'structure': {'key': 'structure', 'type': 'object'},
635        'schema': {'key': 'schema', 'type': 'object'},
636        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
637        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
638        'annotations': {'key': 'annotations', 'type': '[object]'},
639        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
640        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
641    }
642
643    def __init__(
644        self,
645        *,
646        linked_service_name: "LinkedServiceReference",
647        additional_properties: Optional[Dict[str, Any]] = None,
648        description: Optional[str] = None,
649        structure: Optional[Any] = None,
650        schema: Optional[Any] = None,
651        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
652        annotations: Optional[List[Any]] = None,
653        folder: Optional["DatasetFolder"] = None,
654        table_name: Optional[Any] = None,
655        **kwargs
656    ):
657        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)
658        self.type = 'AmazonMWSObject'  # type: str
659        self.table_name = table_name
660
661
662class CopySource(msrest.serialization.Model):
663    """A copy activity source.
664
665    You probably want to use the sub-classes and not this class directly. Known
666    sub-classes are: AvroSource, AzureBlobFSSource, AzureDataExplorerSource, AzureDataLakeStoreSource, AzureDatabricksDeltaLakeSource, BinarySource, BlobSource, CommonDataServiceForAppsSource, CosmosDbMongoDbApiSource, CosmosDbSqlApiSource, DelimitedTextSource, DocumentDbCollectionSource, DynamicsCrmSource, DynamicsSource, ExcelSource, FileSystemSource, HdfsSource, HttpSource, JsonSource, MicrosoftAccessSource, MongoDbAtlasSource, MongoDbSource, MongoDbV2Source, ODataSource, Office365Source, OracleSource, OrcSource, ParquetSource, RelationalSource, RestSource, SalesforceServiceCloudSource, SharePointOnlineListSource, SnowflakeSource, TabularSource, WebSource, XmlSource.
667
668    All required parameters must be populated in order to send to Azure.
669
670    :param additional_properties: Unmatched properties from the message are deserialized to this
671     collection.
672    :type additional_properties: dict[str, any]
673    :param type: Required. Copy source type.Constant filled by server.
674    :type type: str
675    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
676     integer).
677    :type source_retry_count: any
678    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
679     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
680    :type source_retry_wait: any
681    :param max_concurrent_connections: The maximum concurrent connection count for the source data
682     store. Type: integer (or Expression with resultType integer).
683    :type max_concurrent_connections: any
684    """
685
686    _validation = {
687        'type': {'required': True},
688    }
689
690    _attribute_map = {
691        'additional_properties': {'key': '', 'type': '{object}'},
692        'type': {'key': 'type', 'type': 'str'},
693        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
694        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
695        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
696    }
697
698    _subtype_map = {
699        'type': {'AvroSource': 'AvroSource', 'AzureBlobFSSource': 'AzureBlobFSSource', 'AzureDataExplorerSource': 'AzureDataExplorerSource', 'AzureDataLakeStoreSource': 'AzureDataLakeStoreSource', 'AzureDatabricksDeltaLakeSource': 'AzureDatabricksDeltaLakeSource', 'BinarySource': 'BinarySource', 'BlobSource': 'BlobSource', 'CommonDataServiceForAppsSource': 'CommonDataServiceForAppsSource', 'CosmosDbMongoDbApiSource': 'CosmosDbMongoDbApiSource', 'CosmosDbSqlApiSource': 'CosmosDbSqlApiSource', 'DelimitedTextSource': 'DelimitedTextSource', 'DocumentDbCollectionSource': 'DocumentDbCollectionSource', 'DynamicsCrmSource': 'DynamicsCrmSource', 'DynamicsSource': 'DynamicsSource', 'ExcelSource': 'ExcelSource', 'FileSystemSource': 'FileSystemSource', 'HdfsSource': 'HdfsSource', 'HttpSource': 'HttpSource', 'JsonSource': 'JsonSource', 'MicrosoftAccessSource': 'MicrosoftAccessSource', 'MongoDbAtlasSource': 'MongoDbAtlasSource', 'MongoDbSource': 'MongoDbSource', 'MongoDbV2Source': 'MongoDbV2Source', 'ODataSource': 'ODataSource', 'Office365Source': 'Office365Source', 'OracleSource': 'OracleSource', 'OrcSource': 'OrcSource', 'ParquetSource': 'ParquetSource', 'RelationalSource': 'RelationalSource', 'RestSource': 'RestSource', 'SalesforceServiceCloudSource': 'SalesforceServiceCloudSource', 'SharePointOnlineListSource': 'SharePointOnlineListSource', 'SnowflakeSource': 'SnowflakeSource', 'TabularSource': 'TabularSource', 'WebSource': 'WebSource', 'XmlSource': 'XmlSource'}
700    }
701
702    def __init__(
703        self,
704        *,
705        additional_properties: Optional[Dict[str, Any]] = None,
706        source_retry_count: Optional[Any] = None,
707        source_retry_wait: Optional[Any] = None,
708        max_concurrent_connections: Optional[Any] = None,
709        **kwargs
710    ):
711        super(CopySource, self).__init__(**kwargs)
712        self.additional_properties = additional_properties
713        self.type = 'CopySource'  # type: str
714        self.source_retry_count = source_retry_count
715        self.source_retry_wait = source_retry_wait
716        self.max_concurrent_connections = max_concurrent_connections
717
718
719class TabularSource(CopySource):
720    """Copy activity sources of tabular type.
721
722    You probably want to use the sub-classes and not this class directly. Known
723    sub-classes are: AmazonMWSSource, AmazonRedshiftSource, AzureMariaDBSource, AzureMySqlSource, AzurePostgreSqlSource, AzureSqlSource, AzureTableSource, CassandraSource, ConcurSource, CouchbaseSource, Db2Source, DrillSource, DynamicsAXSource, EloquaSource, GoogleAdWordsSource, GoogleBigQuerySource, GreenplumSource, HBaseSource, HiveSource, HubspotSource, ImpalaSource, InformixSource, JiraSource, MagentoSource, MariaDBSource, MarketoSource, MySqlSource, NetezzaSource, OdbcSource, OracleServiceCloudSource, PaypalSource, PhoenixSource, PostgreSqlSource, PrestoSource, QuickBooksSource, ResponsysSource, SalesforceMarketingCloudSource, SalesforceSource, SapBwSource, SapCloudForCustomerSource, SapEccSource, SapHanaSource, SapOpenHubSource, SapTableSource, ServiceNowSource, ShopifySource, SparkSource, SqlDWSource, SqlMISource, SqlServerSource, SqlSource, SquareSource, SybaseSource, TeradataSource, VerticaSource, XeroSource, ZohoSource.
724
725    All required parameters must be populated in order to send to Azure.
726
727    :param additional_properties: Unmatched properties from the message are deserialized to this
728     collection.
729    :type additional_properties: dict[str, any]
730    :param type: Required. Copy source type.Constant filled by server.
731    :type type: str
732    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
733     integer).
734    :type source_retry_count: any
735    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
736     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
737    :type source_retry_wait: any
738    :param max_concurrent_connections: The maximum concurrent connection count for the source data
739     store. Type: integer (or Expression with resultType integer).
740    :type max_concurrent_connections: any
741    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
742     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
743    :type query_timeout: any
744    :param additional_columns: Specifies the additional columns to be added to source data. Type:
745     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
746    :type additional_columns: any
747    """
748
749    _validation = {
750        'type': {'required': True},
751    }
752
753    _attribute_map = {
754        'additional_properties': {'key': '', 'type': '{object}'},
755        'type': {'key': 'type', 'type': 'str'},
756        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
757        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
758        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
759        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
760        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
761    }
762
763    _subtype_map = {
764        'type': {'AmazonMWSSource': 'AmazonMWSSource', 'AmazonRedshiftSource': 'AmazonRedshiftSource', 'AzureMariaDBSource': 'AzureMariaDBSource', 'AzureMySqlSource': 'AzureMySqlSource', 'AzurePostgreSqlSource': 'AzurePostgreSqlSource', 'AzureSqlSource': 'AzureSqlSource', 'AzureTableSource': 'AzureTableSource', 'CassandraSource': 'CassandraSource', 'ConcurSource': 'ConcurSource', 'CouchbaseSource': 'CouchbaseSource', 'Db2Source': 'Db2Source', 'DrillSource': 'DrillSource', 'DynamicsAXSource': 'DynamicsAXSource', 'EloquaSource': 'EloquaSource', 'GoogleAdWordsSource': 'GoogleAdWordsSource', 'GoogleBigQuerySource': 'GoogleBigQuerySource', 'GreenplumSource': 'GreenplumSource', 'HBaseSource': 'HBaseSource', 'HiveSource': 'HiveSource', 'HubspotSource': 'HubspotSource', 'ImpalaSource': 'ImpalaSource', 'InformixSource': 'InformixSource', 'JiraSource': 'JiraSource', 'MagentoSource': 'MagentoSource', 'MariaDBSource': 'MariaDBSource', 'MarketoSource': 'MarketoSource', 'MySqlSource': 'MySqlSource', 'NetezzaSource': 'NetezzaSource', 'OdbcSource': 'OdbcSource', 'OracleServiceCloudSource': 'OracleServiceCloudSource', 'PaypalSource': 'PaypalSource', 'PhoenixSource': 'PhoenixSource', 'PostgreSqlSource': 'PostgreSqlSource', 'PrestoSource': 'PrestoSource', 'QuickBooksSource': 'QuickBooksSource', 'ResponsysSource': 'ResponsysSource', 'SalesforceMarketingCloudSource': 'SalesforceMarketingCloudSource', 'SalesforceSource': 'SalesforceSource', 'SapBwSource': 'SapBwSource', 'SapCloudForCustomerSource': 'SapCloudForCustomerSource', 'SapEccSource': 'SapEccSource', 'SapHanaSource': 'SapHanaSource', 'SapOpenHubSource': 'SapOpenHubSource', 'SapTableSource': 'SapTableSource', 'ServiceNowSource': 'ServiceNowSource', 'ShopifySource': 'ShopifySource', 'SparkSource': 'SparkSource', 'SqlDWSource': 'SqlDWSource', 'SqlMISource': 'SqlMISource', 'SqlServerSource': 'SqlServerSource', 'SqlSource': 'SqlSource', 'SquareSource': 'SquareSource', 'SybaseSource': 'SybaseSource', 'TeradataSource': 'TeradataSource', 'VerticaSource': 'VerticaSource', 'XeroSource': 'XeroSource', 'ZohoSource': 'ZohoSource'}
765    }
766
767    def __init__(
768        self,
769        *,
770        additional_properties: Optional[Dict[str, Any]] = None,
771        source_retry_count: Optional[Any] = None,
772        source_retry_wait: Optional[Any] = None,
773        max_concurrent_connections: Optional[Any] = None,
774        query_timeout: Optional[Any] = None,
775        additional_columns: Optional[Any] = None,
776        **kwargs
777    ):
778        super(TabularSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
779        self.type = 'TabularSource'  # type: str
780        self.query_timeout = query_timeout
781        self.additional_columns = additional_columns
782
783
784class AmazonMWSSource(TabularSource):
785    """A copy activity Amazon Marketplace Web Service source.
786
787    All required parameters must be populated in order to send to Azure.
788
789    :param additional_properties: Unmatched properties from the message are deserialized to this
790     collection.
791    :type additional_properties: dict[str, any]
792    :param type: Required. Copy source type.Constant filled by server.
793    :type type: str
794    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
795     integer).
796    :type source_retry_count: any
797    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
798     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
799    :type source_retry_wait: any
800    :param max_concurrent_connections: The maximum concurrent connection count for the source data
801     store. Type: integer (or Expression with resultType integer).
802    :type max_concurrent_connections: any
803    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
804     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
805    :type query_timeout: any
806    :param additional_columns: Specifies the additional columns to be added to source data. Type:
807     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
808    :type additional_columns: any
809    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
810     string).
811    :type query: any
812    """
813
814    _validation = {
815        'type': {'required': True},
816    }
817
818    _attribute_map = {
819        'additional_properties': {'key': '', 'type': '{object}'},
820        'type': {'key': 'type', 'type': 'str'},
821        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
822        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
823        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
824        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
825        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
826        'query': {'key': 'query', 'type': 'object'},
827    }
828
829    def __init__(
830        self,
831        *,
832        additional_properties: Optional[Dict[str, Any]] = None,
833        source_retry_count: Optional[Any] = None,
834        source_retry_wait: Optional[Any] = None,
835        max_concurrent_connections: Optional[Any] = None,
836        query_timeout: Optional[Any] = None,
837        additional_columns: Optional[Any] = None,
838        query: Optional[Any] = None,
839        **kwargs
840    ):
841        super(AmazonMWSSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
842        self.type = 'AmazonMWSSource'  # type: str
843        self.query = query
844
845
846class AmazonRedshiftLinkedService(LinkedService):
847    """Linked service for Amazon Redshift.
848
849    All required parameters must be populated in order to send to Azure.
850
851    :param additional_properties: Unmatched properties from the message are deserialized to this
852     collection.
853    :type additional_properties: dict[str, any]
854    :param type: Required. Type of linked service.Constant filled by server.
855    :type type: str
856    :param connect_via: The integration runtime reference.
857    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
858    :param description: Linked service description.
859    :type description: str
860    :param parameters: Parameters for linked service.
861    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
862    :param annotations: List of tags that can be used for describing the linked service.
863    :type annotations: list[any]
864    :param server: Required. The name of the Amazon Redshift server. Type: string (or Expression
865     with resultType string).
866    :type server: any
867    :param username: The username of the Amazon Redshift source. Type: string (or Expression with
868     resultType string).
869    :type username: any
870    :param password: The password of the Amazon Redshift source.
871    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
872    :param database: Required. The database name of the Amazon Redshift source. Type: string (or
873     Expression with resultType string).
874    :type database: any
875    :param port: The TCP port number that the Amazon Redshift server uses to listen for client
876     connections. The default value is 5439. Type: integer (or Expression with resultType integer).
877    :type port: any
878    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
879     encrypted using the integration runtime credential manager. Type: string (or Expression with
880     resultType string).
881    :type encrypted_credential: any
882    """
883
884    _validation = {
885        'type': {'required': True},
886        'server': {'required': True},
887        'database': {'required': True},
888    }
889
890    _attribute_map = {
891        'additional_properties': {'key': '', 'type': '{object}'},
892        'type': {'key': 'type', 'type': 'str'},
893        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
894        'description': {'key': 'description', 'type': 'str'},
895        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
896        'annotations': {'key': 'annotations', 'type': '[object]'},
897        'server': {'key': 'typeProperties.server', 'type': 'object'},
898        'username': {'key': 'typeProperties.username', 'type': 'object'},
899        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
900        'database': {'key': 'typeProperties.database', 'type': 'object'},
901        'port': {'key': 'typeProperties.port', 'type': 'object'},
902        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
903    }
904
905    def __init__(
906        self,
907        *,
908        server: Any,
909        database: Any,
910        additional_properties: Optional[Dict[str, Any]] = None,
911        connect_via: Optional["IntegrationRuntimeReference"] = None,
912        description: Optional[str] = None,
913        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
914        annotations: Optional[List[Any]] = None,
915        username: Optional[Any] = None,
916        password: Optional["SecretBase"] = None,
917        port: Optional[Any] = None,
918        encrypted_credential: Optional[Any] = None,
919        **kwargs
920    ):
921        super(AmazonRedshiftLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
922        self.type = 'AmazonRedshift'  # type: str
923        self.server = server
924        self.username = username
925        self.password = password
926        self.database = database
927        self.port = port
928        self.encrypted_credential = encrypted_credential
929
930
931class AmazonRedshiftSource(TabularSource):
932    """A copy activity source for Amazon Redshift Source.
933
934    All required parameters must be populated in order to send to Azure.
935
936    :param additional_properties: Unmatched properties from the message are deserialized to this
937     collection.
938    :type additional_properties: dict[str, any]
939    :param type: Required. Copy source type.Constant filled by server.
940    :type type: str
941    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
942     integer).
943    :type source_retry_count: any
944    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
945     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
946    :type source_retry_wait: any
947    :param max_concurrent_connections: The maximum concurrent connection count for the source data
948     store. Type: integer (or Expression with resultType integer).
949    :type max_concurrent_connections: any
950    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
951     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
952    :type query_timeout: any
953    :param additional_columns: Specifies the additional columns to be added to source data. Type:
954     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
955    :type additional_columns: any
956    :param query: Database query. Type: string (or Expression with resultType string).
957    :type query: any
958    :param redshift_unload_settings: The Amazon S3 settings needed for the interim Amazon S3 when
959     copying from Amazon Redshift with unload. With this, data from Amazon Redshift source will be
960     unloaded into S3 first and then copied into the targeted sink from the interim S3.
961    :type redshift_unload_settings:
962     ~azure.synapse.artifacts.v2020_12_01.models.RedshiftUnloadSettings
963    """
964
965    _validation = {
966        'type': {'required': True},
967    }
968
969    _attribute_map = {
970        'additional_properties': {'key': '', 'type': '{object}'},
971        'type': {'key': 'type', 'type': 'str'},
972        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
973        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
974        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
975        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
976        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
977        'query': {'key': 'query', 'type': 'object'},
978        'redshift_unload_settings': {'key': 'redshiftUnloadSettings', 'type': 'RedshiftUnloadSettings'},
979    }
980
981    def __init__(
982        self,
983        *,
984        additional_properties: Optional[Dict[str, Any]] = None,
985        source_retry_count: Optional[Any] = None,
986        source_retry_wait: Optional[Any] = None,
987        max_concurrent_connections: Optional[Any] = None,
988        query_timeout: Optional[Any] = None,
989        additional_columns: Optional[Any] = None,
990        query: Optional[Any] = None,
991        redshift_unload_settings: Optional["RedshiftUnloadSettings"] = None,
992        **kwargs
993    ):
994        super(AmazonRedshiftSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
995        self.type = 'AmazonRedshiftSource'  # type: str
996        self.query = query
997        self.redshift_unload_settings = redshift_unload_settings
998
999
1000class AmazonRedshiftTableDataset(Dataset):
1001    """The Amazon Redshift table dataset.
1002
1003    All required parameters must be populated in order to send to Azure.
1004
1005    :param additional_properties: Unmatched properties from the message are deserialized to this
1006     collection.
1007    :type additional_properties: dict[str, any]
1008    :param type: Required. Type of dataset.Constant filled by server.
1009    :type type: str
1010    :param description: Dataset description.
1011    :type description: str
1012    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
1013     with resultType array), itemType: DatasetDataElement.
1014    :type structure: any
1015    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
1016     Expression with resultType array), itemType: DatasetSchemaDataElement.
1017    :type schema: any
1018    :param linked_service_name: Required. Linked service reference.
1019    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
1020    :param parameters: Parameters for dataset.
1021    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
1022    :param annotations: List of tags that can be used for describing the Dataset.
1023    :type annotations: list[any]
1024    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
1025     root level.
1026    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
1027    :param table_name: This property will be retired. Please consider using schema + table
1028     properties instead.
1029    :type table_name: any
1030    :param table: The Amazon Redshift table name. Type: string (or Expression with resultType
1031     string).
1032    :type table: any
1033    :param schema_type_properties_schema: The Amazon Redshift schema name. Type: string (or
1034     Expression with resultType string).
1035    :type schema_type_properties_schema: any
1036    """
1037
1038    _validation = {
1039        'type': {'required': True},
1040        'linked_service_name': {'required': True},
1041    }
1042
1043    _attribute_map = {
1044        'additional_properties': {'key': '', 'type': '{object}'},
1045        'type': {'key': 'type', 'type': 'str'},
1046        'description': {'key': 'description', 'type': 'str'},
1047        'structure': {'key': 'structure', 'type': 'object'},
1048        'schema': {'key': 'schema', 'type': 'object'},
1049        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
1050        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
1051        'annotations': {'key': 'annotations', 'type': '[object]'},
1052        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
1053        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
1054        'table': {'key': 'typeProperties.table', 'type': 'object'},
1055        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
1056    }
1057
1058    def __init__(
1059        self,
1060        *,
1061        linked_service_name: "LinkedServiceReference",
1062        additional_properties: Optional[Dict[str, Any]] = None,
1063        description: Optional[str] = None,
1064        structure: Optional[Any] = None,
1065        schema: Optional[Any] = None,
1066        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
1067        annotations: Optional[List[Any]] = None,
1068        folder: Optional["DatasetFolder"] = None,
1069        table_name: Optional[Any] = None,
1070        table: Optional[Any] = None,
1071        schema_type_properties_schema: Optional[Any] = None,
1072        **kwargs
1073    ):
1074        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)
1075        self.type = 'AmazonRedshiftTable'  # type: str
1076        self.table_name = table_name
1077        self.table = table
1078        self.schema_type_properties_schema = schema_type_properties_schema
1079
1080
1081class AmazonS3Dataset(Dataset):
1082    """A single Amazon Simple Storage Service (S3) object or a set of S3 objects.
1083
1084    All required parameters must be populated in order to send to Azure.
1085
1086    :param additional_properties: Unmatched properties from the message are deserialized to this
1087     collection.
1088    :type additional_properties: dict[str, any]
1089    :param type: Required. Type of dataset.Constant filled by server.
1090    :type type: str
1091    :param description: Dataset description.
1092    :type description: str
1093    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
1094     with resultType array), itemType: DatasetDataElement.
1095    :type structure: any
1096    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
1097     Expression with resultType array), itemType: DatasetSchemaDataElement.
1098    :type schema: any
1099    :param linked_service_name: Required. Linked service reference.
1100    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
1101    :param parameters: Parameters for dataset.
1102    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
1103    :param annotations: List of tags that can be used for describing the Dataset.
1104    :type annotations: list[any]
1105    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
1106     root level.
1107    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
1108    :param bucket_name: Required. The name of the Amazon S3 bucket. Type: string (or Expression
1109     with resultType string).
1110    :type bucket_name: any
1111    :param key: The key of the Amazon S3 object. Type: string (or Expression with resultType
1112     string).
1113    :type key: any
1114    :param prefix: The prefix filter for the S3 object name. Type: string (or Expression with
1115     resultType string).
1116    :type prefix: any
1117    :param version: The version for the S3 object. Type: string (or Expression with resultType
1118     string).
1119    :type version: any
1120    :param modified_datetime_start: The start of S3 object's modified datetime. Type: string (or
1121     Expression with resultType string).
1122    :type modified_datetime_start: any
1123    :param modified_datetime_end: The end of S3 object's modified datetime. Type: string (or
1124     Expression with resultType string).
1125    :type modified_datetime_end: any
1126    :param format: The format of files.
1127    :type format: ~azure.synapse.artifacts.v2020_12_01.models.DatasetStorageFormat
1128    :param compression: The data compression method used for the Amazon S3 object.
1129    :type compression: ~azure.synapse.artifacts.v2020_12_01.models.DatasetCompression
1130    """
1131
1132    _validation = {
1133        'type': {'required': True},
1134        'linked_service_name': {'required': True},
1135        'bucket_name': {'required': True},
1136    }
1137
1138    _attribute_map = {
1139        'additional_properties': {'key': '', 'type': '{object}'},
1140        'type': {'key': 'type', 'type': 'str'},
1141        'description': {'key': 'description', 'type': 'str'},
1142        'structure': {'key': 'structure', 'type': 'object'},
1143        'schema': {'key': 'schema', 'type': 'object'},
1144        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
1145        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
1146        'annotations': {'key': 'annotations', 'type': '[object]'},
1147        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
1148        'bucket_name': {'key': 'typeProperties.bucketName', 'type': 'object'},
1149        'key': {'key': 'typeProperties.key', 'type': 'object'},
1150        'prefix': {'key': 'typeProperties.prefix', 'type': 'object'},
1151        'version': {'key': 'typeProperties.version', 'type': 'object'},
1152        'modified_datetime_start': {'key': 'typeProperties.modifiedDatetimeStart', 'type': 'object'},
1153        'modified_datetime_end': {'key': 'typeProperties.modifiedDatetimeEnd', 'type': 'object'},
1154        'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'},
1155        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
1156    }
1157
1158    def __init__(
1159        self,
1160        *,
1161        linked_service_name: "LinkedServiceReference",
1162        bucket_name: Any,
1163        additional_properties: Optional[Dict[str, Any]] = None,
1164        description: Optional[str] = None,
1165        structure: Optional[Any] = None,
1166        schema: Optional[Any] = None,
1167        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
1168        annotations: Optional[List[Any]] = None,
1169        folder: Optional["DatasetFolder"] = None,
1170        key: Optional[Any] = None,
1171        prefix: Optional[Any] = None,
1172        version: Optional[Any] = None,
1173        modified_datetime_start: Optional[Any] = None,
1174        modified_datetime_end: Optional[Any] = None,
1175        format: Optional["DatasetStorageFormat"] = None,
1176        compression: Optional["DatasetCompression"] = None,
1177        **kwargs
1178    ):
1179        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)
1180        self.type = 'AmazonS3Object'  # type: str
1181        self.bucket_name = bucket_name
1182        self.key = key
1183        self.prefix = prefix
1184        self.version = version
1185        self.modified_datetime_start = modified_datetime_start
1186        self.modified_datetime_end = modified_datetime_end
1187        self.format = format
1188        self.compression = compression
1189
1190
1191class AmazonS3LinkedService(LinkedService):
1192    """Linked service for Amazon S3.
1193
1194    All required parameters must be populated in order to send to Azure.
1195
1196    :param additional_properties: Unmatched properties from the message are deserialized to this
1197     collection.
1198    :type additional_properties: dict[str, any]
1199    :param type: Required. Type of linked service.Constant filled by server.
1200    :type type: str
1201    :param connect_via: The integration runtime reference.
1202    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
1203    :param description: Linked service description.
1204    :type description: str
1205    :param parameters: Parameters for linked service.
1206    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
1207    :param annotations: List of tags that can be used for describing the linked service.
1208    :type annotations: list[any]
1209    :param authentication_type: The authentication type of S3. Allowed value: AccessKey (default)
1210     or TemporarySecurityCredentials. Type: string (or Expression with resultType string).
1211    :type authentication_type: any
1212    :param access_key_id: The access key identifier of the Amazon S3 Identity and Access Management
1213     (IAM) user. Type: string (or Expression with resultType string).
1214    :type access_key_id: any
1215    :param secret_access_key: The secret access key of the Amazon S3 Identity and Access Management
1216     (IAM) user.
1217    :type secret_access_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
1218    :param service_url: This value specifies the endpoint to access with the S3 Connector. This is
1219     an optional property; change it only if you want to try a different service endpoint or want to
1220     switch between https and http. Type: string (or Expression with resultType string).
1221    :type service_url: any
1222    :param session_token: The session token for the S3 temporary security credential.
1223    :type session_token: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
1224    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
1225     encrypted using the integration runtime credential manager. Type: string (or Expression with
1226     resultType string).
1227    :type encrypted_credential: any
1228    """
1229
1230    _validation = {
1231        'type': {'required': True},
1232    }
1233
1234    _attribute_map = {
1235        'additional_properties': {'key': '', 'type': '{object}'},
1236        'type': {'key': 'type', 'type': 'str'},
1237        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
1238        'description': {'key': 'description', 'type': 'str'},
1239        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
1240        'annotations': {'key': 'annotations', 'type': '[object]'},
1241        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'},
1242        'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'},
1243        'secret_access_key': {'key': 'typeProperties.secretAccessKey', 'type': 'SecretBase'},
1244        'service_url': {'key': 'typeProperties.serviceUrl', 'type': 'object'},
1245        'session_token': {'key': 'typeProperties.sessionToken', 'type': 'SecretBase'},
1246        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
1247    }
1248
1249    def __init__(
1250        self,
1251        *,
1252        additional_properties: Optional[Dict[str, Any]] = None,
1253        connect_via: Optional["IntegrationRuntimeReference"] = None,
1254        description: Optional[str] = None,
1255        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
1256        annotations: Optional[List[Any]] = None,
1257        authentication_type: Optional[Any] = None,
1258        access_key_id: Optional[Any] = None,
1259        secret_access_key: Optional["SecretBase"] = None,
1260        service_url: Optional[Any] = None,
1261        session_token: Optional["SecretBase"] = None,
1262        encrypted_credential: Optional[Any] = None,
1263        **kwargs
1264    ):
1265        super(AmazonS3LinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
1266        self.type = 'AmazonS3'  # type: str
1267        self.authentication_type = authentication_type
1268        self.access_key_id = access_key_id
1269        self.secret_access_key = secret_access_key
1270        self.service_url = service_url
1271        self.session_token = session_token
1272        self.encrypted_credential = encrypted_credential
1273
1274
1275class DatasetLocation(msrest.serialization.Model):
1276    """Dataset location.
1277
1278    You probably want to use the sub-classes and not this class directly. Known
1279    sub-classes are: AmazonS3Location, AzureBlobFSLocation, AzureBlobStorageLocation, AzureDataLakeStoreLocation, AzureFileStorageLocation, FileServerLocation, FtpServerLocation, GoogleCloudStorageLocation, HdfsLocation, HttpServerLocation, SftpLocation.
1280
1281    All required parameters must be populated in order to send to Azure.
1282
1283    :param additional_properties: Unmatched properties from the message are deserialized to this
1284     collection.
1285    :type additional_properties: dict[str, any]
1286    :param type: Required. Type of dataset storage location.Constant filled by server.
1287    :type type: str
1288    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
1289     resultType string).
1290    :type folder_path: any
1291    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
1292     string).
1293    :type file_name: any
1294    """
1295
1296    _validation = {
1297        'type': {'required': True},
1298    }
1299
1300    _attribute_map = {
1301        'additional_properties': {'key': '', 'type': '{object}'},
1302        'type': {'key': 'type', 'type': 'str'},
1303        'folder_path': {'key': 'folderPath', 'type': 'object'},
1304        'file_name': {'key': 'fileName', 'type': 'object'},
1305    }
1306
1307    _subtype_map = {
1308        'type': {'AmazonS3Location': 'AmazonS3Location', 'AzureBlobFSLocation': 'AzureBlobFSLocation', 'AzureBlobStorageLocation': 'AzureBlobStorageLocation', 'AzureDataLakeStoreLocation': 'AzureDataLakeStoreLocation', 'AzureFileStorageLocation': 'AzureFileStorageLocation', 'FileServerLocation': 'FileServerLocation', 'FtpServerLocation': 'FtpServerLocation', 'GoogleCloudStorageLocation': 'GoogleCloudStorageLocation', 'HdfsLocation': 'HdfsLocation', 'HttpServerLocation': 'HttpServerLocation', 'SftpLocation': 'SftpLocation'}
1309    }
1310
1311    def __init__(
1312        self,
1313        *,
1314        additional_properties: Optional[Dict[str, Any]] = None,
1315        folder_path: Optional[Any] = None,
1316        file_name: Optional[Any] = None,
1317        **kwargs
1318    ):
1319        super(DatasetLocation, self).__init__(**kwargs)
1320        self.additional_properties = additional_properties
1321        self.type = 'DatasetLocation'  # type: str
1322        self.folder_path = folder_path
1323        self.file_name = file_name
1324
1325
1326class AmazonS3Location(DatasetLocation):
1327    """The location of amazon S3 dataset.
1328
1329    All required parameters must be populated in order to send to Azure.
1330
1331    :param additional_properties: Unmatched properties from the message are deserialized to this
1332     collection.
1333    :type additional_properties: dict[str, any]
1334    :param type: Required. Type of dataset storage location.Constant filled by server.
1335    :type type: str
1336    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
1337     resultType string).
1338    :type folder_path: any
1339    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
1340     string).
1341    :type file_name: any
1342    :param bucket_name: Specify the bucketName of amazon S3. Type: string (or Expression with
1343     resultType string).
1344    :type bucket_name: any
1345    :param version: Specify the version of amazon S3. Type: string (or Expression with resultType
1346     string).
1347    :type version: any
1348    """
1349
1350    _validation = {
1351        'type': {'required': True},
1352    }
1353
1354    _attribute_map = {
1355        'additional_properties': {'key': '', 'type': '{object}'},
1356        'type': {'key': 'type', 'type': 'str'},
1357        'folder_path': {'key': 'folderPath', 'type': 'object'},
1358        'file_name': {'key': 'fileName', 'type': 'object'},
1359        'bucket_name': {'key': 'bucketName', 'type': 'object'},
1360        'version': {'key': 'version', 'type': 'object'},
1361    }
1362
1363    def __init__(
1364        self,
1365        *,
1366        additional_properties: Optional[Dict[str, Any]] = None,
1367        folder_path: Optional[Any] = None,
1368        file_name: Optional[Any] = None,
1369        bucket_name: Optional[Any] = None,
1370        version: Optional[Any] = None,
1371        **kwargs
1372    ):
1373        super(AmazonS3Location, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
1374        self.type = 'AmazonS3Location'  # type: str
1375        self.bucket_name = bucket_name
1376        self.version = version
1377
1378
1379class StoreReadSettings(msrest.serialization.Model):
1380    """Connector read setting.
1381
1382    You probably want to use the sub-classes and not this class directly. Known
1383    sub-classes are: AmazonS3ReadSettings, AzureBlobFSReadSettings, AzureBlobStorageReadSettings, AzureDataLakeStoreReadSettings, AzureFileStorageReadSettings, FileServerReadSettings, FtpReadSettings, GoogleCloudStorageReadSettings, HdfsReadSettings, HttpReadSettings, SftpReadSettings.
1384
1385    All required parameters must be populated in order to send to Azure.
1386
1387    :param additional_properties: Unmatched properties from the message are deserialized to this
1388     collection.
1389    :type additional_properties: dict[str, any]
1390    :param type: Required. The read setting type.Constant filled by server.
1391    :type type: str
1392    :param max_concurrent_connections: The maximum concurrent connection count for the source data
1393     store. Type: integer (or Expression with resultType integer).
1394    :type max_concurrent_connections: any
1395    """
1396
1397    _validation = {
1398        'type': {'required': True},
1399    }
1400
1401    _attribute_map = {
1402        'additional_properties': {'key': '', 'type': '{object}'},
1403        'type': {'key': 'type', 'type': 'str'},
1404        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
1405    }
1406
1407    _subtype_map = {
1408        'type': {'AmazonS3ReadSettings': 'AmazonS3ReadSettings', 'AzureBlobFSReadSettings': 'AzureBlobFSReadSettings', 'AzureBlobStorageReadSettings': 'AzureBlobStorageReadSettings', 'AzureDataLakeStoreReadSettings': 'AzureDataLakeStoreReadSettings', 'AzureFileStorageReadSettings': 'AzureFileStorageReadSettings', 'FileServerReadSettings': 'FileServerReadSettings', 'FtpReadSettings': 'FtpReadSettings', 'GoogleCloudStorageReadSettings': 'GoogleCloudStorageReadSettings', 'HdfsReadSettings': 'HdfsReadSettings', 'HttpReadSettings': 'HttpReadSettings', 'SftpReadSettings': 'SftpReadSettings'}
1409    }
1410
1411    def __init__(
1412        self,
1413        *,
1414        additional_properties: Optional[Dict[str, Any]] = None,
1415        max_concurrent_connections: Optional[Any] = None,
1416        **kwargs
1417    ):
1418        super(StoreReadSettings, self).__init__(**kwargs)
1419        self.additional_properties = additional_properties
1420        self.type = 'StoreReadSettings'  # type: str
1421        self.max_concurrent_connections = max_concurrent_connections
1422
1423
1424class AmazonS3ReadSettings(StoreReadSettings):
1425    """Azure data lake store read settings.
1426
1427    All required parameters must be populated in order to send to Azure.
1428
1429    :param additional_properties: Unmatched properties from the message are deserialized to this
1430     collection.
1431    :type additional_properties: dict[str, any]
1432    :param type: Required. The read setting type.Constant filled by server.
1433    :type type: str
1434    :param max_concurrent_connections: The maximum concurrent connection count for the source data
1435     store. Type: integer (or Expression with resultType integer).
1436    :type max_concurrent_connections: any
1437    :param recursive: If true, files under the folder path will be read recursively. Default is
1438     true. Type: boolean (or Expression with resultType boolean).
1439    :type recursive: any
1440    :param wildcard_folder_path: AmazonS3 wildcardFolderPath. Type: string (or Expression with
1441     resultType string).
1442    :type wildcard_folder_path: any
1443    :param wildcard_file_name: AmazonS3 wildcardFileName. Type: string (or Expression with
1444     resultType string).
1445    :type wildcard_file_name: any
1446    :param prefix: The prefix filter for the S3 object name. Type: string (or Expression with
1447     resultType string).
1448    :type prefix: any
1449    :param file_list_path: Point to a text file that lists each file (relative path to the path
1450     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
1451     string).
1452    :type file_list_path: any
1453    :param enable_partition_discovery: Indicates whether to enable partition discovery.
1454    :type enable_partition_discovery: bool
1455    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
1456     string (or Expression with resultType string).
1457    :type partition_root_path: any
1458    :param delete_files_after_completion: Indicates whether the source files need to be deleted
1459     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
1460    :type delete_files_after_completion: any
1461    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
1462     Expression with resultType string).
1463    :type modified_datetime_start: any
1464    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
1465     with resultType string).
1466    :type modified_datetime_end: any
1467    """
1468
1469    _validation = {
1470        'type': {'required': True},
1471    }
1472
1473    _attribute_map = {
1474        'additional_properties': {'key': '', 'type': '{object}'},
1475        'type': {'key': 'type', 'type': 'str'},
1476        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
1477        'recursive': {'key': 'recursive', 'type': 'object'},
1478        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
1479        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
1480        'prefix': {'key': 'prefix', 'type': 'object'},
1481        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
1482        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
1483        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
1484        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
1485        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
1486        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
1487    }
1488
1489    def __init__(
1490        self,
1491        *,
1492        additional_properties: Optional[Dict[str, Any]] = None,
1493        max_concurrent_connections: Optional[Any] = None,
1494        recursive: Optional[Any] = None,
1495        wildcard_folder_path: Optional[Any] = None,
1496        wildcard_file_name: Optional[Any] = None,
1497        prefix: Optional[Any] = None,
1498        file_list_path: Optional[Any] = None,
1499        enable_partition_discovery: Optional[bool] = None,
1500        partition_root_path: Optional[Any] = None,
1501        delete_files_after_completion: Optional[Any] = None,
1502        modified_datetime_start: Optional[Any] = None,
1503        modified_datetime_end: Optional[Any] = None,
1504        **kwargs
1505    ):
1506        super(AmazonS3ReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
1507        self.type = 'AmazonS3ReadSettings'  # type: str
1508        self.recursive = recursive
1509        self.wildcard_folder_path = wildcard_folder_path
1510        self.wildcard_file_name = wildcard_file_name
1511        self.prefix = prefix
1512        self.file_list_path = file_list_path
1513        self.enable_partition_discovery = enable_partition_discovery
1514        self.partition_root_path = partition_root_path
1515        self.delete_files_after_completion = delete_files_after_completion
1516        self.modified_datetime_start = modified_datetime_start
1517        self.modified_datetime_end = modified_datetime_end
1518
1519
1520class ControlActivity(Activity):
1521    """Base class for all control activities like IfCondition, ForEach , Until.
1522
1523    You probably want to use the sub-classes and not this class directly. Known
1524    sub-classes are: AppendVariableActivity, ExecutePipelineActivity, FilterActivity, ForEachActivity, IfConditionActivity, SetVariableActivity, SwitchActivity, UntilActivity, ValidationActivity, WaitActivity, WebHookActivity.
1525
1526    All required parameters must be populated in order to send to Azure.
1527
1528    :param additional_properties: Unmatched properties from the message are deserialized to this
1529     collection.
1530    :type additional_properties: dict[str, any]
1531    :param name: Required. Activity name.
1532    :type name: str
1533    :param type: Required. Type of activity.Constant filled by server.
1534    :type type: str
1535    :param description: Activity description.
1536    :type description: str
1537    :param depends_on: Activity depends on condition.
1538    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
1539    :param user_properties: Activity user properties.
1540    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
1541    """
1542
1543    _validation = {
1544        'name': {'required': True},
1545        'type': {'required': True},
1546    }
1547
1548    _attribute_map = {
1549        'additional_properties': {'key': '', 'type': '{object}'},
1550        'name': {'key': 'name', 'type': 'str'},
1551        'type': {'key': 'type', 'type': 'str'},
1552        'description': {'key': 'description', 'type': 'str'},
1553        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
1554        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
1555    }
1556
1557    _subtype_map = {
1558        'type': {'AppendVariable': 'AppendVariableActivity', 'ExecutePipeline': 'ExecutePipelineActivity', 'Filter': 'FilterActivity', 'ForEach': 'ForEachActivity', 'IfCondition': 'IfConditionActivity', 'SetVariable': 'SetVariableActivity', 'Switch': 'SwitchActivity', 'Until': 'UntilActivity', 'Validation': 'ValidationActivity', 'Wait': 'WaitActivity', 'WebHook': 'WebHookActivity'}
1559    }
1560
1561    def __init__(
1562        self,
1563        *,
1564        name: str,
1565        additional_properties: Optional[Dict[str, Any]] = None,
1566        description: Optional[str] = None,
1567        depends_on: Optional[List["ActivityDependency"]] = None,
1568        user_properties: Optional[List["UserProperty"]] = None,
1569        **kwargs
1570    ):
1571        super(ControlActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
1572        self.type = 'Container'  # type: str
1573
1574
1575class AppendVariableActivity(ControlActivity):
1576    """Append value for a Variable of type Array.
1577
1578    All required parameters must be populated in order to send to Azure.
1579
1580    :param additional_properties: Unmatched properties from the message are deserialized to this
1581     collection.
1582    :type additional_properties: dict[str, any]
1583    :param name: Required. Activity name.
1584    :type name: str
1585    :param type: Required. Type of activity.Constant filled by server.
1586    :type type: str
1587    :param description: Activity description.
1588    :type description: str
1589    :param depends_on: Activity depends on condition.
1590    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
1591    :param user_properties: Activity user properties.
1592    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
1593    :param variable_name: Name of the variable whose value needs to be appended to.
1594    :type variable_name: str
1595    :param value: Value to be appended. Could be a static value or Expression.
1596    :type value: any
1597    """
1598
1599    _validation = {
1600        'name': {'required': True},
1601        'type': {'required': True},
1602    }
1603
1604    _attribute_map = {
1605        'additional_properties': {'key': '', 'type': '{object}'},
1606        'name': {'key': 'name', 'type': 'str'},
1607        'type': {'key': 'type', 'type': 'str'},
1608        'description': {'key': 'description', 'type': 'str'},
1609        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
1610        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
1611        'variable_name': {'key': 'typeProperties.variableName', 'type': 'str'},
1612        'value': {'key': 'typeProperties.value', 'type': 'object'},
1613    }
1614
1615    def __init__(
1616        self,
1617        *,
1618        name: str,
1619        additional_properties: Optional[Dict[str, Any]] = None,
1620        description: Optional[str] = None,
1621        depends_on: Optional[List["ActivityDependency"]] = None,
1622        user_properties: Optional[List["UserProperty"]] = None,
1623        variable_name: Optional[str] = None,
1624        value: Optional[Any] = None,
1625        **kwargs
1626    ):
1627        super(AppendVariableActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
1628        self.type = 'AppendVariable'  # type: str
1629        self.variable_name = variable_name
1630        self.value = value
1631
1632
1633class ArtifactRenameRequest(msrest.serialization.Model):
1634    """Request body structure for rename artifact.
1635
1636    :param new_name: New name of the artifact.
1637    :type new_name: str
1638    """
1639
1640    _validation = {
1641        'new_name': {'max_length': 260, 'min_length': 1, 'pattern': r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'},
1642    }
1643
1644    _attribute_map = {
1645        'new_name': {'key': 'newName', 'type': 'str'},
1646    }
1647
1648    def __init__(
1649        self,
1650        *,
1651        new_name: Optional[str] = None,
1652        **kwargs
1653    ):
1654        super(ArtifactRenameRequest, self).__init__(**kwargs)
1655        self.new_name = new_name
1656
1657
1658class AutoPauseProperties(msrest.serialization.Model):
1659    """Auto-pausing properties of a Big Data pool powered by Apache Spark.
1660
1661    :param delay_in_minutes: Number of minutes of idle time before the Big Data pool is
1662     automatically paused.
1663    :type delay_in_minutes: int
1664    :param enabled: Whether auto-pausing is enabled for the Big Data pool.
1665    :type enabled: bool
1666    """
1667
1668    _attribute_map = {
1669        'delay_in_minutes': {'key': 'delayInMinutes', 'type': 'int'},
1670        'enabled': {'key': 'enabled', 'type': 'bool'},
1671    }
1672
1673    def __init__(
1674        self,
1675        *,
1676        delay_in_minutes: Optional[int] = None,
1677        enabled: Optional[bool] = None,
1678        **kwargs
1679    ):
1680        super(AutoPauseProperties, self).__init__(**kwargs)
1681        self.delay_in_minutes = delay_in_minutes
1682        self.enabled = enabled
1683
1684
1685class AutoScaleProperties(msrest.serialization.Model):
1686    """Auto-scaling properties of a Big Data pool powered by Apache Spark.
1687
1688    :param min_node_count: The minimum number of nodes the Big Data pool can support.
1689    :type min_node_count: int
1690    :param enabled: Whether automatic scaling is enabled for the Big Data pool.
1691    :type enabled: bool
1692    :param max_node_count: The maximum number of nodes the Big Data pool can support.
1693    :type max_node_count: int
1694    """
1695
1696    _attribute_map = {
1697        'min_node_count': {'key': 'minNodeCount', 'type': 'int'},
1698        'enabled': {'key': 'enabled', 'type': 'bool'},
1699        'max_node_count': {'key': 'maxNodeCount', 'type': 'int'},
1700    }
1701
1702    def __init__(
1703        self,
1704        *,
1705        min_node_count: Optional[int] = None,
1706        enabled: Optional[bool] = None,
1707        max_node_count: Optional[int] = None,
1708        **kwargs
1709    ):
1710        super(AutoScaleProperties, self).__init__(**kwargs)
1711        self.min_node_count = min_node_count
1712        self.enabled = enabled
1713        self.max_node_count = max_node_count
1714
1715
1716class AvroDataset(Dataset):
1717    """Avro dataset.
1718
1719    All required parameters must be populated in order to send to Azure.
1720
1721    :param additional_properties: Unmatched properties from the message are deserialized to this
1722     collection.
1723    :type additional_properties: dict[str, any]
1724    :param type: Required. Type of dataset.Constant filled by server.
1725    :type type: str
1726    :param description: Dataset description.
1727    :type description: str
1728    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
1729     with resultType array), itemType: DatasetDataElement.
1730    :type structure: any
1731    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
1732     Expression with resultType array), itemType: DatasetSchemaDataElement.
1733    :type schema: any
1734    :param linked_service_name: Required. Linked service reference.
1735    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
1736    :param parameters: Parameters for dataset.
1737    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
1738    :param annotations: List of tags that can be used for describing the Dataset.
1739    :type annotations: list[any]
1740    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
1741     root level.
1742    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
1743    :param location: The location of the avro storage.
1744    :type location: ~azure.synapse.artifacts.v2020_12_01.models.DatasetLocation
1745    :param avro_compression_codec: A string from AvroCompressionCodecEnum or an expression.
1746    :type avro_compression_codec: any
1747    :param avro_compression_level:
1748    :type avro_compression_level: int
1749    """
1750
1751    _validation = {
1752        'type': {'required': True},
1753        'linked_service_name': {'required': True},
1754        'avro_compression_level': {'maximum': 9, 'minimum': 1},
1755    }
1756
1757    _attribute_map = {
1758        'additional_properties': {'key': '', 'type': '{object}'},
1759        'type': {'key': 'type', 'type': 'str'},
1760        'description': {'key': 'description', 'type': 'str'},
1761        'structure': {'key': 'structure', 'type': 'object'},
1762        'schema': {'key': 'schema', 'type': 'object'},
1763        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
1764        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
1765        'annotations': {'key': 'annotations', 'type': '[object]'},
1766        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
1767        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
1768        'avro_compression_codec': {'key': 'typeProperties.avroCompressionCodec', 'type': 'object'},
1769        'avro_compression_level': {'key': 'typeProperties.avroCompressionLevel', 'type': 'int'},
1770    }
1771
1772    def __init__(
1773        self,
1774        *,
1775        linked_service_name: "LinkedServiceReference",
1776        additional_properties: Optional[Dict[str, Any]] = None,
1777        description: Optional[str] = None,
1778        structure: Optional[Any] = None,
1779        schema: Optional[Any] = None,
1780        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
1781        annotations: Optional[List[Any]] = None,
1782        folder: Optional["DatasetFolder"] = None,
1783        location: Optional["DatasetLocation"] = None,
1784        avro_compression_codec: Optional[Any] = None,
1785        avro_compression_level: Optional[int] = None,
1786        **kwargs
1787    ):
1788        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)
1789        self.type = 'Avro'  # type: str
1790        self.location = location
1791        self.avro_compression_codec = avro_compression_codec
1792        self.avro_compression_level = avro_compression_level
1793
1794
1795class DatasetStorageFormat(msrest.serialization.Model):
1796    """The format definition of a storage.
1797
1798    You probably want to use the sub-classes and not this class directly. Known
1799    sub-classes are: AvroFormat, JsonFormat, OrcFormat, ParquetFormat, TextFormat.
1800
1801    All required parameters must be populated in order to send to Azure.
1802
1803    :param additional_properties: Unmatched properties from the message are deserialized to this
1804     collection.
1805    :type additional_properties: dict[str, any]
1806    :param type: Required. Type of dataset storage format.Constant filled by server.
1807    :type type: str
1808    :param serializer: Serializer. Type: string (or Expression with resultType string).
1809    :type serializer: any
1810    :param deserializer: Deserializer. Type: string (or Expression with resultType string).
1811    :type deserializer: any
1812    """
1813
1814    _validation = {
1815        'type': {'required': True},
1816    }
1817
1818    _attribute_map = {
1819        'additional_properties': {'key': '', 'type': '{object}'},
1820        'type': {'key': 'type', 'type': 'str'},
1821        'serializer': {'key': 'serializer', 'type': 'object'},
1822        'deserializer': {'key': 'deserializer', 'type': 'object'},
1823    }
1824
1825    _subtype_map = {
1826        'type': {'AvroFormat': 'AvroFormat', 'JsonFormat': 'JsonFormat', 'OrcFormat': 'OrcFormat', 'ParquetFormat': 'ParquetFormat', 'TextFormat': 'TextFormat'}
1827    }
1828
1829    def __init__(
1830        self,
1831        *,
1832        additional_properties: Optional[Dict[str, Any]] = None,
1833        serializer: Optional[Any] = None,
1834        deserializer: Optional[Any] = None,
1835        **kwargs
1836    ):
1837        super(DatasetStorageFormat, self).__init__(**kwargs)
1838        self.additional_properties = additional_properties
1839        self.type = 'DatasetStorageFormat'  # type: str
1840        self.serializer = serializer
1841        self.deserializer = deserializer
1842
1843
1844class AvroFormat(DatasetStorageFormat):
1845    """The data stored in Avro format.
1846
1847    All required parameters must be populated in order to send to Azure.
1848
1849    :param additional_properties: Unmatched properties from the message are deserialized to this
1850     collection.
1851    :type additional_properties: dict[str, any]
1852    :param type: Required. Type of dataset storage format.Constant filled by server.
1853    :type type: str
1854    :param serializer: Serializer. Type: string (or Expression with resultType string).
1855    :type serializer: any
1856    :param deserializer: Deserializer. Type: string (or Expression with resultType string).
1857    :type deserializer: any
1858    """
1859
1860    _validation = {
1861        'type': {'required': True},
1862    }
1863
1864    _attribute_map = {
1865        'additional_properties': {'key': '', 'type': '{object}'},
1866        'type': {'key': 'type', 'type': 'str'},
1867        'serializer': {'key': 'serializer', 'type': 'object'},
1868        'deserializer': {'key': 'deserializer', 'type': 'object'},
1869    }
1870
1871    def __init__(
1872        self,
1873        *,
1874        additional_properties: Optional[Dict[str, Any]] = None,
1875        serializer: Optional[Any] = None,
1876        deserializer: Optional[Any] = None,
1877        **kwargs
1878    ):
1879        super(AvroFormat, self).__init__(additional_properties=additional_properties, serializer=serializer, deserializer=deserializer, **kwargs)
1880        self.type = 'AvroFormat'  # type: str
1881
1882
1883class CopySink(msrest.serialization.Model):
1884    """A copy activity sink.
1885
1886    You probably want to use the sub-classes and not this class directly. Known
1887    sub-classes are: AvroSink, AzureBlobFSSink, AzureDataExplorerSink, AzureDataLakeStoreSink, AzureDatabricksDeltaLakeSink, AzureMySqlSink, AzurePostgreSqlSink, AzureQueueSink, AzureSearchIndexSink, AzureSqlSink, AzureTableSink, BinarySink, BlobSink, CommonDataServiceForAppsSink, CosmosDbMongoDbApiSink, CosmosDbSqlApiSink, DelimitedTextSink, DocumentDbCollectionSink, DynamicsCrmSink, DynamicsSink, FileSystemSink, InformixSink, JsonSink, MicrosoftAccessSink, OdbcSink, OracleSink, OrcSink, ParquetSink, RestSink, SalesforceServiceCloudSink, SalesforceSink, SapCloudForCustomerSink, SnowflakeSink, SqlDWSink, SqlMISink, SqlServerSink, SqlSink.
1888
1889    All required parameters must be populated in order to send to Azure.
1890
1891    :param additional_properties: Unmatched properties from the message are deserialized to this
1892     collection.
1893    :type additional_properties: dict[str, any]
1894    :param type: Required. Copy sink type.Constant filled by server.
1895    :type type: str
1896    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
1897     integer), minimum: 0.
1898    :type write_batch_size: any
1899    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
1900     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1901    :type write_batch_timeout: any
1902    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
1903     integer).
1904    :type sink_retry_count: any
1905    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
1906     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1907    :type sink_retry_wait: any
1908    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
1909     store. Type: integer (or Expression with resultType integer).
1910    :type max_concurrent_connections: any
1911    """
1912
1913    _validation = {
1914        'type': {'required': True},
1915    }
1916
1917    _attribute_map = {
1918        'additional_properties': {'key': '', 'type': '{object}'},
1919        'type': {'key': 'type', 'type': 'str'},
1920        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
1921        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
1922        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
1923        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
1924        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
1925    }
1926
1927    _subtype_map = {
1928        'type': {'AvroSink': 'AvroSink', 'AzureBlobFSSink': 'AzureBlobFSSink', 'AzureDataExplorerSink': 'AzureDataExplorerSink', 'AzureDataLakeStoreSink': 'AzureDataLakeStoreSink', 'AzureDatabricksDeltaLakeSink': 'AzureDatabricksDeltaLakeSink', 'AzureMySqlSink': 'AzureMySqlSink', 'AzurePostgreSqlSink': 'AzurePostgreSqlSink', 'AzureQueueSink': 'AzureQueueSink', 'AzureSearchIndexSink': 'AzureSearchIndexSink', 'AzureSqlSink': 'AzureSqlSink', 'AzureTableSink': 'AzureTableSink', 'BinarySink': 'BinarySink', 'BlobSink': 'BlobSink', 'CommonDataServiceForAppsSink': 'CommonDataServiceForAppsSink', 'CosmosDbMongoDbApiSink': 'CosmosDbMongoDbApiSink', 'CosmosDbSqlApiSink': 'CosmosDbSqlApiSink', 'DelimitedTextSink': 'DelimitedTextSink', 'DocumentDbCollectionSink': 'DocumentDbCollectionSink', 'DynamicsCrmSink': 'DynamicsCrmSink', 'DynamicsSink': 'DynamicsSink', 'FileSystemSink': 'FileSystemSink', 'InformixSink': 'InformixSink', 'JsonSink': 'JsonSink', 'MicrosoftAccessSink': 'MicrosoftAccessSink', 'OdbcSink': 'OdbcSink', 'OracleSink': 'OracleSink', 'OrcSink': 'OrcSink', 'ParquetSink': 'ParquetSink', 'RestSink': 'RestSink', 'SalesforceServiceCloudSink': 'SalesforceServiceCloudSink', 'SalesforceSink': 'SalesforceSink', 'SapCloudForCustomerSink': 'SapCloudForCustomerSink', 'SnowflakeSink': 'SnowflakeSink', 'SqlDWSink': 'SqlDWSink', 'SqlMISink': 'SqlMISink', 'SqlServerSink': 'SqlServerSink', 'SqlSink': 'SqlSink'}
1929    }
1930
1931    def __init__(
1932        self,
1933        *,
1934        additional_properties: Optional[Dict[str, Any]] = None,
1935        write_batch_size: Optional[Any] = None,
1936        write_batch_timeout: Optional[Any] = None,
1937        sink_retry_count: Optional[Any] = None,
1938        sink_retry_wait: Optional[Any] = None,
1939        max_concurrent_connections: Optional[Any] = None,
1940        **kwargs
1941    ):
1942        super(CopySink, self).__init__(**kwargs)
1943        self.additional_properties = additional_properties
1944        self.type = 'CopySink'  # type: str
1945        self.write_batch_size = write_batch_size
1946        self.write_batch_timeout = write_batch_timeout
1947        self.sink_retry_count = sink_retry_count
1948        self.sink_retry_wait = sink_retry_wait
1949        self.max_concurrent_connections = max_concurrent_connections
1950
1951
1952class AvroSink(CopySink):
1953    """A copy activity Avro sink.
1954
1955    All required parameters must be populated in order to send to Azure.
1956
1957    :param additional_properties: Unmatched properties from the message are deserialized to this
1958     collection.
1959    :type additional_properties: dict[str, any]
1960    :param type: Required. Copy sink type.Constant filled by server.
1961    :type type: str
1962    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
1963     integer), minimum: 0.
1964    :type write_batch_size: any
1965    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
1966     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1967    :type write_batch_timeout: any
1968    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
1969     integer).
1970    :type sink_retry_count: any
1971    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
1972     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1973    :type sink_retry_wait: any
1974    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
1975     store. Type: integer (or Expression with resultType integer).
1976    :type max_concurrent_connections: any
1977    :param store_settings: Avro store settings.
1978    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreWriteSettings
1979    :param format_settings: Avro format settings.
1980    :type format_settings: ~azure.synapse.artifacts.v2020_12_01.models.AvroWriteSettings
1981    """
1982
1983    _validation = {
1984        'type': {'required': True},
1985    }
1986
1987    _attribute_map = {
1988        'additional_properties': {'key': '', 'type': '{object}'},
1989        'type': {'key': 'type', 'type': 'str'},
1990        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
1991        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
1992        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
1993        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
1994        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
1995        'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'},
1996        'format_settings': {'key': 'formatSettings', 'type': 'AvroWriteSettings'},
1997    }
1998
1999    def __init__(
2000        self,
2001        *,
2002        additional_properties: Optional[Dict[str, Any]] = None,
2003        write_batch_size: Optional[Any] = None,
2004        write_batch_timeout: Optional[Any] = None,
2005        sink_retry_count: Optional[Any] = None,
2006        sink_retry_wait: Optional[Any] = None,
2007        max_concurrent_connections: Optional[Any] = None,
2008        store_settings: Optional["StoreWriteSettings"] = None,
2009        format_settings: Optional["AvroWriteSettings"] = None,
2010        **kwargs
2011    ):
2012        super(AvroSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
2013        self.type = 'AvroSink'  # type: str
2014        self.store_settings = store_settings
2015        self.format_settings = format_settings
2016
2017
2018class AvroSource(CopySource):
2019    """A copy activity Avro source.
2020
2021    All required parameters must be populated in order to send to Azure.
2022
2023    :param additional_properties: Unmatched properties from the message are deserialized to this
2024     collection.
2025    :type additional_properties: dict[str, any]
2026    :param type: Required. Copy source type.Constant filled by server.
2027    :type type: str
2028    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
2029     integer).
2030    :type source_retry_count: any
2031    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
2032     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
2033    :type source_retry_wait: any
2034    :param max_concurrent_connections: The maximum concurrent connection count for the source data
2035     store. Type: integer (or Expression with resultType integer).
2036    :type max_concurrent_connections: any
2037    :param store_settings: Avro store settings.
2038    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreReadSettings
2039    :param additional_columns: Specifies the additional columns to be added to source data. Type:
2040     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
2041    :type additional_columns: any
2042    """
2043
2044    _validation = {
2045        'type': {'required': True},
2046    }
2047
2048    _attribute_map = {
2049        'additional_properties': {'key': '', 'type': '{object}'},
2050        'type': {'key': 'type', 'type': 'str'},
2051        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
2052        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
2053        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
2054        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
2055        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
2056    }
2057
2058    def __init__(
2059        self,
2060        *,
2061        additional_properties: Optional[Dict[str, Any]] = None,
2062        source_retry_count: Optional[Any] = None,
2063        source_retry_wait: Optional[Any] = None,
2064        max_concurrent_connections: Optional[Any] = None,
2065        store_settings: Optional["StoreReadSettings"] = None,
2066        additional_columns: Optional[Any] = None,
2067        **kwargs
2068    ):
2069        super(AvroSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
2070        self.type = 'AvroSource'  # type: str
2071        self.store_settings = store_settings
2072        self.additional_columns = additional_columns
2073
2074
2075class FormatWriteSettings(msrest.serialization.Model):
2076    """Format write settings.
2077
2078    You probably want to use the sub-classes and not this class directly. Known
2079    sub-classes are: AvroWriteSettings, DelimitedTextWriteSettings, JsonWriteSettings, OrcWriteSettings, ParquetWriteSettings.
2080
2081    All required parameters must be populated in order to send to Azure.
2082
2083    :param additional_properties: Unmatched properties from the message are deserialized to this
2084     collection.
2085    :type additional_properties: dict[str, any]
2086    :param type: Required. The write setting type.Constant filled by server.
2087    :type type: str
2088    """
2089
2090    _validation = {
2091        'type': {'required': True},
2092    }
2093
2094    _attribute_map = {
2095        'additional_properties': {'key': '', 'type': '{object}'},
2096        'type': {'key': 'type', 'type': 'str'},
2097    }
2098
2099    _subtype_map = {
2100        'type': {'AvroWriteSettings': 'AvroWriteSettings', 'DelimitedTextWriteSettings': 'DelimitedTextWriteSettings', 'JsonWriteSettings': 'JsonWriteSettings', 'OrcWriteSettings': 'OrcWriteSettings', 'ParquetWriteSettings': 'ParquetWriteSettings'}
2101    }
2102
2103    def __init__(
2104        self,
2105        *,
2106        additional_properties: Optional[Dict[str, Any]] = None,
2107        **kwargs
2108    ):
2109        super(FormatWriteSettings, self).__init__(**kwargs)
2110        self.additional_properties = additional_properties
2111        self.type = 'FormatWriteSettings'  # type: str
2112
2113
2114class AvroWriteSettings(FormatWriteSettings):
2115    """Avro write settings.
2116
2117    All required parameters must be populated in order to send to Azure.
2118
2119    :param additional_properties: Unmatched properties from the message are deserialized to this
2120     collection.
2121    :type additional_properties: dict[str, any]
2122    :param type: Required. The write setting type.Constant filled by server.
2123    :type type: str
2124    :param record_name: Top level record name in write result, which is required in AVRO spec.
2125    :type record_name: str
2126    :param record_namespace: Record namespace in the write result.
2127    :type record_namespace: str
2128    :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the
2129     specified count. Type: integer (or Expression with resultType integer).
2130    :type max_rows_per_file: any
2131    :param file_name_prefix: Specifies the file name pattern
2132     :code:`<fileNamePrefix>`_:code:`<fileIndex>`.:code:`<fileExtension>` when copy from non-file
2133     based store without partitionOptions. Type: string (or Expression with resultType string).
2134    :type file_name_prefix: any
2135    """
2136
2137    _validation = {
2138        'type': {'required': True},
2139    }
2140
2141    _attribute_map = {
2142        'additional_properties': {'key': '', 'type': '{object}'},
2143        'type': {'key': 'type', 'type': 'str'},
2144        'record_name': {'key': 'recordName', 'type': 'str'},
2145        'record_namespace': {'key': 'recordNamespace', 'type': 'str'},
2146        'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'},
2147        'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'},
2148    }
2149
2150    def __init__(
2151        self,
2152        *,
2153        additional_properties: Optional[Dict[str, Any]] = None,
2154        record_name: Optional[str] = None,
2155        record_namespace: Optional[str] = None,
2156        max_rows_per_file: Optional[Any] = None,
2157        file_name_prefix: Optional[Any] = None,
2158        **kwargs
2159    ):
2160        super(AvroWriteSettings, self).__init__(additional_properties=additional_properties, **kwargs)
2161        self.type = 'AvroWriteSettings'  # type: str
2162        self.record_name = record_name
2163        self.record_namespace = record_namespace
2164        self.max_rows_per_file = max_rows_per_file
2165        self.file_name_prefix = file_name_prefix
2166
2167
2168class AzureBatchLinkedService(LinkedService):
2169    """Azure Batch linked service.
2170
2171    All required parameters must be populated in order to send to Azure.
2172
2173    :param additional_properties: Unmatched properties from the message are deserialized to this
2174     collection.
2175    :type additional_properties: dict[str, any]
2176    :param type: Required. Type of linked service.Constant filled by server.
2177    :type type: str
2178    :param connect_via: The integration runtime reference.
2179    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
2180    :param description: Linked service description.
2181    :type description: str
2182    :param parameters: Parameters for linked service.
2183    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
2184    :param annotations: List of tags that can be used for describing the linked service.
2185    :type annotations: list[any]
2186    :param account_name: Required. The Azure Batch account name. Type: string (or Expression with
2187     resultType string).
2188    :type account_name: any
2189    :param access_key: The Azure Batch account access key.
2190    :type access_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
2191    :param batch_uri: Required. The Azure Batch URI. Type: string (or Expression with resultType
2192     string).
2193    :type batch_uri: any
2194    :param pool_name: Required. The Azure Batch pool name. Type: string (or Expression with
2195     resultType string).
2196    :type pool_name: any
2197    :param linked_service_name: Required. The Azure Storage linked service reference.
2198    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
2199    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
2200     encrypted using the integration runtime credential manager. Type: string (or Expression with
2201     resultType string).
2202    :type encrypted_credential: any
2203    """
2204
2205    _validation = {
2206        'type': {'required': True},
2207        'account_name': {'required': True},
2208        'batch_uri': {'required': True},
2209        'pool_name': {'required': True},
2210        'linked_service_name': {'required': True},
2211    }
2212
2213    _attribute_map = {
2214        'additional_properties': {'key': '', 'type': '{object}'},
2215        'type': {'key': 'type', 'type': 'str'},
2216        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
2217        'description': {'key': 'description', 'type': 'str'},
2218        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
2219        'annotations': {'key': 'annotations', 'type': '[object]'},
2220        'account_name': {'key': 'typeProperties.accountName', 'type': 'object'},
2221        'access_key': {'key': 'typeProperties.accessKey', 'type': 'SecretBase'},
2222        'batch_uri': {'key': 'typeProperties.batchUri', 'type': 'object'},
2223        'pool_name': {'key': 'typeProperties.poolName', 'type': 'object'},
2224        'linked_service_name': {'key': 'typeProperties.linkedServiceName', 'type': 'LinkedServiceReference'},
2225        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
2226    }
2227
2228    def __init__(
2229        self,
2230        *,
2231        account_name: Any,
2232        batch_uri: Any,
2233        pool_name: Any,
2234        linked_service_name: "LinkedServiceReference",
2235        additional_properties: Optional[Dict[str, Any]] = None,
2236        connect_via: Optional["IntegrationRuntimeReference"] = None,
2237        description: Optional[str] = None,
2238        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
2239        annotations: Optional[List[Any]] = None,
2240        access_key: Optional["SecretBase"] = None,
2241        encrypted_credential: Optional[Any] = None,
2242        **kwargs
2243    ):
2244        super(AzureBatchLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
2245        self.type = 'AzureBatch'  # type: str
2246        self.account_name = account_name
2247        self.access_key = access_key
2248        self.batch_uri = batch_uri
2249        self.pool_name = pool_name
2250        self.linked_service_name = linked_service_name
2251        self.encrypted_credential = encrypted_credential
2252
2253
2254class AzureBlobDataset(Dataset):
2255    """The Azure Blob storage.
2256
2257    All required parameters must be populated in order to send to Azure.
2258
2259    :param additional_properties: Unmatched properties from the message are deserialized to this
2260     collection.
2261    :type additional_properties: dict[str, any]
2262    :param type: Required. Type of dataset.Constant filled by server.
2263    :type type: str
2264    :param description: Dataset description.
2265    :type description: str
2266    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
2267     with resultType array), itemType: DatasetDataElement.
2268    :type structure: any
2269    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
2270     Expression with resultType array), itemType: DatasetSchemaDataElement.
2271    :type schema: any
2272    :param linked_service_name: Required. Linked service reference.
2273    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
2274    :param parameters: Parameters for dataset.
2275    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
2276    :param annotations: List of tags that can be used for describing the Dataset.
2277    :type annotations: list[any]
2278    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
2279     root level.
2280    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
2281    :param folder_path: The path of the Azure Blob storage. Type: string (or Expression with
2282     resultType string).
2283    :type folder_path: any
2284    :param table_root_location: The root of blob path. Type: string (or Expression with resultType
2285     string).
2286    :type table_root_location: any
2287    :param file_name: The name of the Azure Blob. Type: string (or Expression with resultType
2288     string).
2289    :type file_name: any
2290    :param modified_datetime_start: The start of Azure Blob's modified datetime. Type: string (or
2291     Expression with resultType string).
2292    :type modified_datetime_start: any
2293    :param modified_datetime_end: The end of Azure Blob's modified datetime. Type: string (or
2294     Expression with resultType string).
2295    :type modified_datetime_end: any
2296    :param format: The format of the Azure Blob storage.
2297    :type format: ~azure.synapse.artifacts.v2020_12_01.models.DatasetStorageFormat
2298    :param compression: The data compression method used for the blob storage.
2299    :type compression: ~azure.synapse.artifacts.v2020_12_01.models.DatasetCompression
2300    """
2301
2302    _validation = {
2303        'type': {'required': True},
2304        'linked_service_name': {'required': True},
2305    }
2306
2307    _attribute_map = {
2308        'additional_properties': {'key': '', 'type': '{object}'},
2309        'type': {'key': 'type', 'type': 'str'},
2310        'description': {'key': 'description', 'type': 'str'},
2311        'structure': {'key': 'structure', 'type': 'object'},
2312        'schema': {'key': 'schema', 'type': 'object'},
2313        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
2314        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
2315        'annotations': {'key': 'annotations', 'type': '[object]'},
2316        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
2317        'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'},
2318        'table_root_location': {'key': 'typeProperties.tableRootLocation', 'type': 'object'},
2319        'file_name': {'key': 'typeProperties.fileName', 'type': 'object'},
2320        'modified_datetime_start': {'key': 'typeProperties.modifiedDatetimeStart', 'type': 'object'},
2321        'modified_datetime_end': {'key': 'typeProperties.modifiedDatetimeEnd', 'type': 'object'},
2322        'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'},
2323        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
2324    }
2325
2326    def __init__(
2327        self,
2328        *,
2329        linked_service_name: "LinkedServiceReference",
2330        additional_properties: Optional[Dict[str, Any]] = None,
2331        description: Optional[str] = None,
2332        structure: Optional[Any] = None,
2333        schema: Optional[Any] = None,
2334        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
2335        annotations: Optional[List[Any]] = None,
2336        folder: Optional["DatasetFolder"] = None,
2337        folder_path: Optional[Any] = None,
2338        table_root_location: Optional[Any] = None,
2339        file_name: Optional[Any] = None,
2340        modified_datetime_start: Optional[Any] = None,
2341        modified_datetime_end: Optional[Any] = None,
2342        format: Optional["DatasetStorageFormat"] = None,
2343        compression: Optional["DatasetCompression"] = None,
2344        **kwargs
2345    ):
2346        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)
2347        self.type = 'AzureBlob'  # type: str
2348        self.folder_path = folder_path
2349        self.table_root_location = table_root_location
2350        self.file_name = file_name
2351        self.modified_datetime_start = modified_datetime_start
2352        self.modified_datetime_end = modified_datetime_end
2353        self.format = format
2354        self.compression = compression
2355
2356
2357class AzureBlobFSDataset(Dataset):
2358    """The Azure Data Lake Storage Gen2 storage.
2359
2360    All required parameters must be populated in order to send to Azure.
2361
2362    :param additional_properties: Unmatched properties from the message are deserialized to this
2363     collection.
2364    :type additional_properties: dict[str, any]
2365    :param type: Required. Type of dataset.Constant filled by server.
2366    :type type: str
2367    :param description: Dataset description.
2368    :type description: str
2369    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
2370     with resultType array), itemType: DatasetDataElement.
2371    :type structure: any
2372    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
2373     Expression with resultType array), itemType: DatasetSchemaDataElement.
2374    :type schema: any
2375    :param linked_service_name: Required. Linked service reference.
2376    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
2377    :param parameters: Parameters for dataset.
2378    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
2379    :param annotations: List of tags that can be used for describing the Dataset.
2380    :type annotations: list[any]
2381    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
2382     root level.
2383    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
2384    :param folder_path: The path of the Azure Data Lake Storage Gen2 storage. Type: string (or
2385     Expression with resultType string).
2386    :type folder_path: any
2387    :param file_name: The name of the Azure Data Lake Storage Gen2. Type: string (or Expression
2388     with resultType string).
2389    :type file_name: any
2390    :param format: The format of the Azure Data Lake Storage Gen2 storage.
2391    :type format: ~azure.synapse.artifacts.v2020_12_01.models.DatasetStorageFormat
2392    :param compression: The data compression method used for the blob storage.
2393    :type compression: ~azure.synapse.artifacts.v2020_12_01.models.DatasetCompression
2394    """
2395
2396    _validation = {
2397        'type': {'required': True},
2398        'linked_service_name': {'required': True},
2399    }
2400
2401    _attribute_map = {
2402        'additional_properties': {'key': '', 'type': '{object}'},
2403        'type': {'key': 'type', 'type': 'str'},
2404        'description': {'key': 'description', 'type': 'str'},
2405        'structure': {'key': 'structure', 'type': 'object'},
2406        'schema': {'key': 'schema', 'type': 'object'},
2407        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
2408        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
2409        'annotations': {'key': 'annotations', 'type': '[object]'},
2410        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
2411        'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'},
2412        'file_name': {'key': 'typeProperties.fileName', 'type': 'object'},
2413        'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'},
2414        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
2415    }
2416
2417    def __init__(
2418        self,
2419        *,
2420        linked_service_name: "LinkedServiceReference",
2421        additional_properties: Optional[Dict[str, Any]] = None,
2422        description: Optional[str] = None,
2423        structure: Optional[Any] = None,
2424        schema: Optional[Any] = None,
2425        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
2426        annotations: Optional[List[Any]] = None,
2427        folder: Optional["DatasetFolder"] = None,
2428        folder_path: Optional[Any] = None,
2429        file_name: Optional[Any] = None,
2430        format: Optional["DatasetStorageFormat"] = None,
2431        compression: Optional["DatasetCompression"] = None,
2432        **kwargs
2433    ):
2434        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)
2435        self.type = 'AzureBlobFSFile'  # type: str
2436        self.folder_path = folder_path
2437        self.file_name = file_name
2438        self.format = format
2439        self.compression = compression
2440
2441
2442class AzureBlobFSLinkedService(LinkedService):
2443    """Azure Data Lake Storage Gen2 linked service.
2444
2445    All required parameters must be populated in order to send to Azure.
2446
2447    :param additional_properties: Unmatched properties from the message are deserialized to this
2448     collection.
2449    :type additional_properties: dict[str, any]
2450    :param type: Required. Type of linked service.Constant filled by server.
2451    :type type: str
2452    :param connect_via: The integration runtime reference.
2453    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
2454    :param description: Linked service description.
2455    :type description: str
2456    :param parameters: Parameters for linked service.
2457    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
2458    :param annotations: List of tags that can be used for describing the linked service.
2459    :type annotations: list[any]
2460    :param url: Required. Endpoint for the Azure Data Lake Storage Gen2 service. Type: string (or
2461     Expression with resultType string).
2462    :type url: any
2463    :param account_key: Account key for the Azure Data Lake Storage Gen2 service. Type: string (or
2464     Expression with resultType string).
2465    :type account_key: any
2466    :param service_principal_id: The ID of the application used to authenticate against the Azure
2467     Data Lake Storage Gen2 account. Type: string (or Expression with resultType string).
2468    :type service_principal_id: any
2469    :param service_principal_key: The Key of the application used to authenticate against the Azure
2470     Data Lake Storage Gen2 account.
2471    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
2472    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
2473     string (or Expression with resultType string).
2474    :type tenant: any
2475    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
2476     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
2477     factory regions’ cloud type. Type: string (or Expression with resultType string).
2478    :type azure_cloud_type: any
2479    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
2480     encrypted using the integration runtime credential manager. Type: string (or Expression with
2481     resultType string).
2482    :type encrypted_credential: any
2483    """
2484
2485    _validation = {
2486        'type': {'required': True},
2487        'url': {'required': True},
2488    }
2489
2490    _attribute_map = {
2491        'additional_properties': {'key': '', 'type': '{object}'},
2492        'type': {'key': 'type', 'type': 'str'},
2493        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
2494        'description': {'key': 'description', 'type': 'str'},
2495        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
2496        'annotations': {'key': 'annotations', 'type': '[object]'},
2497        'url': {'key': 'typeProperties.url', 'type': 'object'},
2498        'account_key': {'key': 'typeProperties.accountKey', 'type': 'object'},
2499        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
2500        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
2501        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
2502        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
2503        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
2504    }
2505
2506    def __init__(
2507        self,
2508        *,
2509        url: Any,
2510        additional_properties: Optional[Dict[str, Any]] = None,
2511        connect_via: Optional["IntegrationRuntimeReference"] = None,
2512        description: Optional[str] = None,
2513        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
2514        annotations: Optional[List[Any]] = None,
2515        account_key: Optional[Any] = None,
2516        service_principal_id: Optional[Any] = None,
2517        service_principal_key: Optional["SecretBase"] = None,
2518        tenant: Optional[Any] = None,
2519        azure_cloud_type: Optional[Any] = None,
2520        encrypted_credential: Optional[Any] = None,
2521        **kwargs
2522    ):
2523        super(AzureBlobFSLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
2524        self.type = 'AzureBlobFS'  # type: str
2525        self.url = url
2526        self.account_key = account_key
2527        self.service_principal_id = service_principal_id
2528        self.service_principal_key = service_principal_key
2529        self.tenant = tenant
2530        self.azure_cloud_type = azure_cloud_type
2531        self.encrypted_credential = encrypted_credential
2532
2533
2534class AzureBlobFSLocation(DatasetLocation):
2535    """The location of azure blobFS dataset.
2536
2537    All required parameters must be populated in order to send to Azure.
2538
2539    :param additional_properties: Unmatched properties from the message are deserialized to this
2540     collection.
2541    :type additional_properties: dict[str, any]
2542    :param type: Required. Type of dataset storage location.Constant filled by server.
2543    :type type: str
2544    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
2545     resultType string).
2546    :type folder_path: any
2547    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
2548     string).
2549    :type file_name: any
2550    :param file_system: Specify the fileSystem of azure blobFS. Type: string (or Expression with
2551     resultType string).
2552    :type file_system: any
2553    """
2554
2555    _validation = {
2556        'type': {'required': True},
2557    }
2558
2559    _attribute_map = {
2560        'additional_properties': {'key': '', 'type': '{object}'},
2561        'type': {'key': 'type', 'type': 'str'},
2562        'folder_path': {'key': 'folderPath', 'type': 'object'},
2563        'file_name': {'key': 'fileName', 'type': 'object'},
2564        'file_system': {'key': 'fileSystem', 'type': 'object'},
2565    }
2566
2567    def __init__(
2568        self,
2569        *,
2570        additional_properties: Optional[Dict[str, Any]] = None,
2571        folder_path: Optional[Any] = None,
2572        file_name: Optional[Any] = None,
2573        file_system: Optional[Any] = None,
2574        **kwargs
2575    ):
2576        super(AzureBlobFSLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
2577        self.type = 'AzureBlobFSLocation'  # type: str
2578        self.file_system = file_system
2579
2580
2581class AzureBlobFSReadSettings(StoreReadSettings):
2582    """Azure blobFS read settings.
2583
2584    All required parameters must be populated in order to send to Azure.
2585
2586    :param additional_properties: Unmatched properties from the message are deserialized to this
2587     collection.
2588    :type additional_properties: dict[str, any]
2589    :param type: Required. The read setting type.Constant filled by server.
2590    :type type: str
2591    :param max_concurrent_connections: The maximum concurrent connection count for the source data
2592     store. Type: integer (or Expression with resultType integer).
2593    :type max_concurrent_connections: any
2594    :param recursive: If true, files under the folder path will be read recursively. Default is
2595     true. Type: boolean (or Expression with resultType boolean).
2596    :type recursive: any
2597    :param wildcard_folder_path: Azure blobFS wildcardFolderPath. Type: string (or Expression with
2598     resultType string).
2599    :type wildcard_folder_path: any
2600    :param wildcard_file_name: Azure blobFS wildcardFileName. Type: string (or Expression with
2601     resultType string).
2602    :type wildcard_file_name: any
2603    :param file_list_path: Point to a text file that lists each file (relative path to the path
2604     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
2605     string).
2606    :type file_list_path: any
2607    :param enable_partition_discovery: Indicates whether to enable partition discovery.
2608    :type enable_partition_discovery: bool
2609    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
2610     string (or Expression with resultType string).
2611    :type partition_root_path: any
2612    :param delete_files_after_completion: Indicates whether the source files need to be deleted
2613     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
2614    :type delete_files_after_completion: any
2615    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
2616     Expression with resultType string).
2617    :type modified_datetime_start: any
2618    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
2619     with resultType string).
2620    :type modified_datetime_end: any
2621    """
2622
2623    _validation = {
2624        'type': {'required': True},
2625    }
2626
2627    _attribute_map = {
2628        'additional_properties': {'key': '', 'type': '{object}'},
2629        'type': {'key': 'type', 'type': 'str'},
2630        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
2631        'recursive': {'key': 'recursive', 'type': 'object'},
2632        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
2633        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
2634        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
2635        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
2636        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
2637        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
2638        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
2639        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
2640    }
2641
2642    def __init__(
2643        self,
2644        *,
2645        additional_properties: Optional[Dict[str, Any]] = None,
2646        max_concurrent_connections: Optional[Any] = None,
2647        recursive: Optional[Any] = None,
2648        wildcard_folder_path: Optional[Any] = None,
2649        wildcard_file_name: Optional[Any] = None,
2650        file_list_path: Optional[Any] = None,
2651        enable_partition_discovery: Optional[bool] = None,
2652        partition_root_path: Optional[Any] = None,
2653        delete_files_after_completion: Optional[Any] = None,
2654        modified_datetime_start: Optional[Any] = None,
2655        modified_datetime_end: Optional[Any] = None,
2656        **kwargs
2657    ):
2658        super(AzureBlobFSReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
2659        self.type = 'AzureBlobFSReadSettings'  # type: str
2660        self.recursive = recursive
2661        self.wildcard_folder_path = wildcard_folder_path
2662        self.wildcard_file_name = wildcard_file_name
2663        self.file_list_path = file_list_path
2664        self.enable_partition_discovery = enable_partition_discovery
2665        self.partition_root_path = partition_root_path
2666        self.delete_files_after_completion = delete_files_after_completion
2667        self.modified_datetime_start = modified_datetime_start
2668        self.modified_datetime_end = modified_datetime_end
2669
2670
2671class AzureBlobFSSink(CopySink):
2672    """A copy activity Azure Data Lake Storage Gen2 sink.
2673
2674    All required parameters must be populated in order to send to Azure.
2675
2676    :param additional_properties: Unmatched properties from the message are deserialized to this
2677     collection.
2678    :type additional_properties: dict[str, any]
2679    :param type: Required. Copy sink type.Constant filled by server.
2680    :type type: str
2681    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
2682     integer), minimum: 0.
2683    :type write_batch_size: any
2684    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
2685     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
2686    :type write_batch_timeout: any
2687    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
2688     integer).
2689    :type sink_retry_count: any
2690    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
2691     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
2692    :type sink_retry_wait: any
2693    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
2694     store. Type: integer (or Expression with resultType integer).
2695    :type max_concurrent_connections: any
2696    :param copy_behavior: The type of copy behavior for copy sink.
2697    :type copy_behavior: any
2698    """
2699
2700    _validation = {
2701        'type': {'required': True},
2702    }
2703
2704    _attribute_map = {
2705        'additional_properties': {'key': '', 'type': '{object}'},
2706        'type': {'key': 'type', 'type': 'str'},
2707        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
2708        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
2709        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
2710        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
2711        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
2712        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
2713    }
2714
2715    def __init__(
2716        self,
2717        *,
2718        additional_properties: Optional[Dict[str, Any]] = None,
2719        write_batch_size: Optional[Any] = None,
2720        write_batch_timeout: Optional[Any] = None,
2721        sink_retry_count: Optional[Any] = None,
2722        sink_retry_wait: Optional[Any] = None,
2723        max_concurrent_connections: Optional[Any] = None,
2724        copy_behavior: Optional[Any] = None,
2725        **kwargs
2726    ):
2727        super(AzureBlobFSSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
2728        self.type = 'AzureBlobFSSink'  # type: str
2729        self.copy_behavior = copy_behavior
2730
2731
2732class AzureBlobFSSource(CopySource):
2733    """A copy activity Azure BlobFS source.
2734
2735    All required parameters must be populated in order to send to Azure.
2736
2737    :param additional_properties: Unmatched properties from the message are deserialized to this
2738     collection.
2739    :type additional_properties: dict[str, any]
2740    :param type: Required. Copy source type.Constant filled by server.
2741    :type type: str
2742    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
2743     integer).
2744    :type source_retry_count: any
2745    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
2746     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
2747    :type source_retry_wait: any
2748    :param max_concurrent_connections: The maximum concurrent connection count for the source data
2749     store. Type: integer (or Expression with resultType integer).
2750    :type max_concurrent_connections: any
2751    :param treat_empty_as_null: Treat empty as null. Type: boolean (or Expression with resultType
2752     boolean).
2753    :type treat_empty_as_null: any
2754    :param skip_header_line_count: Number of header lines to skip from each blob. Type: integer (or
2755     Expression with resultType integer).
2756    :type skip_header_line_count: any
2757    :param recursive: If true, files under the folder path will be read recursively. Default is
2758     true. Type: boolean (or Expression with resultType boolean).
2759    :type recursive: any
2760    """
2761
2762    _validation = {
2763        'type': {'required': True},
2764    }
2765
2766    _attribute_map = {
2767        'additional_properties': {'key': '', 'type': '{object}'},
2768        'type': {'key': 'type', 'type': 'str'},
2769        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
2770        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
2771        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
2772        'treat_empty_as_null': {'key': 'treatEmptyAsNull', 'type': 'object'},
2773        'skip_header_line_count': {'key': 'skipHeaderLineCount', 'type': 'object'},
2774        'recursive': {'key': 'recursive', 'type': 'object'},
2775    }
2776
2777    def __init__(
2778        self,
2779        *,
2780        additional_properties: Optional[Dict[str, Any]] = None,
2781        source_retry_count: Optional[Any] = None,
2782        source_retry_wait: Optional[Any] = None,
2783        max_concurrent_connections: Optional[Any] = None,
2784        treat_empty_as_null: Optional[Any] = None,
2785        skip_header_line_count: Optional[Any] = None,
2786        recursive: Optional[Any] = None,
2787        **kwargs
2788    ):
2789        super(AzureBlobFSSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
2790        self.type = 'AzureBlobFSSource'  # type: str
2791        self.treat_empty_as_null = treat_empty_as_null
2792        self.skip_header_line_count = skip_header_line_count
2793        self.recursive = recursive
2794
2795
2796class StoreWriteSettings(msrest.serialization.Model):
2797    """Connector write settings.
2798
2799    You probably want to use the sub-classes and not this class directly. Known
2800    sub-classes are: AzureBlobFSWriteSettings, AzureBlobStorageWriteSettings, AzureDataLakeStoreWriteSettings, AzureFileStorageWriteSettings, FileServerWriteSettings, SftpWriteSettings.
2801
2802    All required parameters must be populated in order to send to Azure.
2803
2804    :param additional_properties: Unmatched properties from the message are deserialized to this
2805     collection.
2806    :type additional_properties: dict[str, any]
2807    :param type: Required. The write setting type.Constant filled by server.
2808    :type type: str
2809    :param max_concurrent_connections: The maximum concurrent connection count for the source data
2810     store. Type: integer (or Expression with resultType integer).
2811    :type max_concurrent_connections: any
2812    :param copy_behavior: The type of copy behavior for copy sink.
2813    :type copy_behavior: any
2814    """
2815
2816    _validation = {
2817        'type': {'required': True},
2818    }
2819
2820    _attribute_map = {
2821        'additional_properties': {'key': '', 'type': '{object}'},
2822        'type': {'key': 'type', 'type': 'str'},
2823        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
2824        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
2825    }
2826
2827    _subtype_map = {
2828        'type': {'AzureBlobFSWriteSettings': 'AzureBlobFSWriteSettings', 'AzureBlobStorageWriteSettings': 'AzureBlobStorageWriteSettings', 'AzureDataLakeStoreWriteSettings': 'AzureDataLakeStoreWriteSettings', 'AzureFileStorageWriteSettings': 'AzureFileStorageWriteSettings', 'FileServerWriteSettings': 'FileServerWriteSettings', 'SftpWriteSettings': 'SftpWriteSettings'}
2829    }
2830
2831    def __init__(
2832        self,
2833        *,
2834        additional_properties: Optional[Dict[str, Any]] = None,
2835        max_concurrent_connections: Optional[Any] = None,
2836        copy_behavior: Optional[Any] = None,
2837        **kwargs
2838    ):
2839        super(StoreWriteSettings, self).__init__(**kwargs)
2840        self.additional_properties = additional_properties
2841        self.type = 'StoreWriteSettings'  # type: str
2842        self.max_concurrent_connections = max_concurrent_connections
2843        self.copy_behavior = copy_behavior
2844
2845
2846class AzureBlobFSWriteSettings(StoreWriteSettings):
2847    """Azure blobFS write settings.
2848
2849    All required parameters must be populated in order to send to Azure.
2850
2851    :param additional_properties: Unmatched properties from the message are deserialized to this
2852     collection.
2853    :type additional_properties: dict[str, any]
2854    :param type: Required. The write setting type.Constant filled by server.
2855    :type type: str
2856    :param max_concurrent_connections: The maximum concurrent connection count for the source data
2857     store. Type: integer (or Expression with resultType integer).
2858    :type max_concurrent_connections: any
2859    :param copy_behavior: The type of copy behavior for copy sink.
2860    :type copy_behavior: any
2861    :param block_size_in_mb: Indicates the block size(MB) when writing data to blob. Type: integer
2862     (or Expression with resultType integer).
2863    :type block_size_in_mb: any
2864    """
2865
2866    _validation = {
2867        'type': {'required': True},
2868    }
2869
2870    _attribute_map = {
2871        'additional_properties': {'key': '', 'type': '{object}'},
2872        'type': {'key': 'type', 'type': 'str'},
2873        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
2874        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
2875        'block_size_in_mb': {'key': 'blockSizeInMB', 'type': 'object'},
2876    }
2877
2878    def __init__(
2879        self,
2880        *,
2881        additional_properties: Optional[Dict[str, Any]] = None,
2882        max_concurrent_connections: Optional[Any] = None,
2883        copy_behavior: Optional[Any] = None,
2884        block_size_in_mb: Optional[Any] = None,
2885        **kwargs
2886    ):
2887        super(AzureBlobFSWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs)
2888        self.type = 'AzureBlobFSWriteSettings'  # type: str
2889        self.block_size_in_mb = block_size_in_mb
2890
2891
2892class AzureBlobStorageLinkedService(LinkedService):
2893    """The azure blob storage linked service.
2894
2895    All required parameters must be populated in order to send to Azure.
2896
2897    :param additional_properties: Unmatched properties from the message are deserialized to this
2898     collection.
2899    :type additional_properties: dict[str, any]
2900    :param type: Required. Type of linked service.Constant filled by server.
2901    :type type: str
2902    :param connect_via: The integration runtime reference.
2903    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
2904    :param description: Linked service description.
2905    :type description: str
2906    :param parameters: Parameters for linked service.
2907    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
2908    :param annotations: List of tags that can be used for describing the linked service.
2909    :type annotations: list[any]
2910    :param connection_string: The connection string. It is mutually exclusive with sasUri,
2911     serviceEndpoint property. Type: string, SecureString or AzureKeyVaultSecretReference.
2912    :type connection_string: any
2913    :param account_key: The Azure key vault secret reference of accountKey in connection string.
2914    :type account_key: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
2915    :param sas_uri: SAS URI of the Azure Blob Storage resource. It is mutually exclusive with
2916     connectionString, serviceEndpoint property. Type: string, SecureString or
2917     AzureKeyVaultSecretReference.
2918    :type sas_uri: any
2919    :param sas_token: The Azure key vault secret reference of sasToken in sas uri.
2920    :type sas_token: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
2921    :param service_endpoint: Blob service endpoint of the Azure Blob Storage resource. It is
2922     mutually exclusive with connectionString, sasUri property.
2923    :type service_endpoint: str
2924    :param service_principal_id: The ID of the service principal used to authenticate against Azure
2925     SQL Data Warehouse. Type: string (or Expression with resultType string).
2926    :type service_principal_id: any
2927    :param service_principal_key: The key of the service principal used to authenticate against
2928     Azure SQL Data Warehouse.
2929    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
2930    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
2931     string (or Expression with resultType string).
2932    :type tenant: any
2933    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
2934     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
2935     factory regions’ cloud type. Type: string (or Expression with resultType string).
2936    :type azure_cloud_type: any
2937    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
2938     encrypted using the integration runtime credential manager. Type: string (or Expression with
2939     resultType string).
2940    :type encrypted_credential: str
2941    """
2942
2943    _validation = {
2944        'type': {'required': True},
2945    }
2946
2947    _attribute_map = {
2948        'additional_properties': {'key': '', 'type': '{object}'},
2949        'type': {'key': 'type', 'type': 'str'},
2950        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
2951        'description': {'key': 'description', 'type': 'str'},
2952        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
2953        'annotations': {'key': 'annotations', 'type': '[object]'},
2954        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
2955        'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'},
2956        'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'},
2957        'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'},
2958        'service_endpoint': {'key': 'typeProperties.serviceEndpoint', 'type': 'str'},
2959        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
2960        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
2961        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
2962        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
2963        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'},
2964    }
2965
2966    def __init__(
2967        self,
2968        *,
2969        additional_properties: Optional[Dict[str, Any]] = None,
2970        connect_via: Optional["IntegrationRuntimeReference"] = None,
2971        description: Optional[str] = None,
2972        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
2973        annotations: Optional[List[Any]] = None,
2974        connection_string: Optional[Any] = None,
2975        account_key: Optional["AzureKeyVaultSecretReference"] = None,
2976        sas_uri: Optional[Any] = None,
2977        sas_token: Optional["AzureKeyVaultSecretReference"] = None,
2978        service_endpoint: Optional[str] = None,
2979        service_principal_id: Optional[Any] = None,
2980        service_principal_key: Optional["SecretBase"] = None,
2981        tenant: Optional[Any] = None,
2982        azure_cloud_type: Optional[Any] = None,
2983        encrypted_credential: Optional[str] = None,
2984        **kwargs
2985    ):
2986        super(AzureBlobStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
2987        self.type = 'AzureBlobStorage'  # type: str
2988        self.connection_string = connection_string
2989        self.account_key = account_key
2990        self.sas_uri = sas_uri
2991        self.sas_token = sas_token
2992        self.service_endpoint = service_endpoint
2993        self.service_principal_id = service_principal_id
2994        self.service_principal_key = service_principal_key
2995        self.tenant = tenant
2996        self.azure_cloud_type = azure_cloud_type
2997        self.encrypted_credential = encrypted_credential
2998
2999
3000class AzureBlobStorageLocation(DatasetLocation):
3001    """The location of azure blob dataset.
3002
3003    All required parameters must be populated in order to send to Azure.
3004
3005    :param additional_properties: Unmatched properties from the message are deserialized to this
3006     collection.
3007    :type additional_properties: dict[str, any]
3008    :param type: Required. Type of dataset storage location.Constant filled by server.
3009    :type type: str
3010    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
3011     resultType string).
3012    :type folder_path: any
3013    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
3014     string).
3015    :type file_name: any
3016    :param container: Specify the container of azure blob. Type: string (or Expression with
3017     resultType string).
3018    :type container: any
3019    """
3020
3021    _validation = {
3022        'type': {'required': True},
3023    }
3024
3025    _attribute_map = {
3026        'additional_properties': {'key': '', 'type': '{object}'},
3027        'type': {'key': 'type', 'type': 'str'},
3028        'folder_path': {'key': 'folderPath', 'type': 'object'},
3029        'file_name': {'key': 'fileName', 'type': 'object'},
3030        'container': {'key': 'container', 'type': 'object'},
3031    }
3032
3033    def __init__(
3034        self,
3035        *,
3036        additional_properties: Optional[Dict[str, Any]] = None,
3037        folder_path: Optional[Any] = None,
3038        file_name: Optional[Any] = None,
3039        container: Optional[Any] = None,
3040        **kwargs
3041    ):
3042        super(AzureBlobStorageLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
3043        self.type = 'AzureBlobStorageLocation'  # type: str
3044        self.container = container
3045
3046
3047class AzureBlobStorageReadSettings(StoreReadSettings):
3048    """Azure blob read settings.
3049
3050    All required parameters must be populated in order to send to Azure.
3051
3052    :param additional_properties: Unmatched properties from the message are deserialized to this
3053     collection.
3054    :type additional_properties: dict[str, any]
3055    :param type: Required. The read setting type.Constant filled by server.
3056    :type type: str
3057    :param max_concurrent_connections: The maximum concurrent connection count for the source data
3058     store. Type: integer (or Expression with resultType integer).
3059    :type max_concurrent_connections: any
3060    :param recursive: If true, files under the folder path will be read recursively. Default is
3061     true. Type: boolean (or Expression with resultType boolean).
3062    :type recursive: any
3063    :param wildcard_folder_path: Azure blob wildcardFolderPath. Type: string (or Expression with
3064     resultType string).
3065    :type wildcard_folder_path: any
3066    :param wildcard_file_name: Azure blob wildcardFileName. Type: string (or Expression with
3067     resultType string).
3068    :type wildcard_file_name: any
3069    :param prefix: The prefix filter for the Azure Blob name. Type: string (or Expression with
3070     resultType string).
3071    :type prefix: any
3072    :param file_list_path: Point to a text file that lists each file (relative path to the path
3073     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
3074     string).
3075    :type file_list_path: any
3076    :param enable_partition_discovery: Indicates whether to enable partition discovery.
3077    :type enable_partition_discovery: bool
3078    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
3079     string (or Expression with resultType string).
3080    :type partition_root_path: any
3081    :param delete_files_after_completion: Indicates whether the source files need to be deleted
3082     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
3083    :type delete_files_after_completion: any
3084    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
3085     Expression with resultType string).
3086    :type modified_datetime_start: any
3087    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
3088     with resultType string).
3089    :type modified_datetime_end: any
3090    """
3091
3092    _validation = {
3093        'type': {'required': True},
3094    }
3095
3096    _attribute_map = {
3097        'additional_properties': {'key': '', 'type': '{object}'},
3098        'type': {'key': 'type', 'type': 'str'},
3099        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
3100        'recursive': {'key': 'recursive', 'type': 'object'},
3101        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
3102        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
3103        'prefix': {'key': 'prefix', 'type': 'object'},
3104        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
3105        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
3106        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
3107        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
3108        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
3109        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
3110    }
3111
3112    def __init__(
3113        self,
3114        *,
3115        additional_properties: Optional[Dict[str, Any]] = None,
3116        max_concurrent_connections: Optional[Any] = None,
3117        recursive: Optional[Any] = None,
3118        wildcard_folder_path: Optional[Any] = None,
3119        wildcard_file_name: Optional[Any] = None,
3120        prefix: Optional[Any] = None,
3121        file_list_path: Optional[Any] = None,
3122        enable_partition_discovery: Optional[bool] = None,
3123        partition_root_path: Optional[Any] = None,
3124        delete_files_after_completion: Optional[Any] = None,
3125        modified_datetime_start: Optional[Any] = None,
3126        modified_datetime_end: Optional[Any] = None,
3127        **kwargs
3128    ):
3129        super(AzureBlobStorageReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
3130        self.type = 'AzureBlobStorageReadSettings'  # type: str
3131        self.recursive = recursive
3132        self.wildcard_folder_path = wildcard_folder_path
3133        self.wildcard_file_name = wildcard_file_name
3134        self.prefix = prefix
3135        self.file_list_path = file_list_path
3136        self.enable_partition_discovery = enable_partition_discovery
3137        self.partition_root_path = partition_root_path
3138        self.delete_files_after_completion = delete_files_after_completion
3139        self.modified_datetime_start = modified_datetime_start
3140        self.modified_datetime_end = modified_datetime_end
3141
3142
3143class AzureBlobStorageWriteSettings(StoreWriteSettings):
3144    """Azure blob write settings.
3145
3146    All required parameters must be populated in order to send to Azure.
3147
3148    :param additional_properties: Unmatched properties from the message are deserialized to this
3149     collection.
3150    :type additional_properties: dict[str, any]
3151    :param type: Required. The write setting type.Constant filled by server.
3152    :type type: str
3153    :param max_concurrent_connections: The maximum concurrent connection count for the source data
3154     store. Type: integer (or Expression with resultType integer).
3155    :type max_concurrent_connections: any
3156    :param copy_behavior: The type of copy behavior for copy sink.
3157    :type copy_behavior: any
3158    :param block_size_in_mb: Indicates the block size(MB) when writing data to blob. Type: integer
3159     (or Expression with resultType integer).
3160    :type block_size_in_mb: any
3161    """
3162
3163    _validation = {
3164        'type': {'required': True},
3165    }
3166
3167    _attribute_map = {
3168        'additional_properties': {'key': '', 'type': '{object}'},
3169        'type': {'key': 'type', 'type': 'str'},
3170        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
3171        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
3172        'block_size_in_mb': {'key': 'blockSizeInMB', 'type': 'object'},
3173    }
3174
3175    def __init__(
3176        self,
3177        *,
3178        additional_properties: Optional[Dict[str, Any]] = None,
3179        max_concurrent_connections: Optional[Any] = None,
3180        copy_behavior: Optional[Any] = None,
3181        block_size_in_mb: Optional[Any] = None,
3182        **kwargs
3183    ):
3184        super(AzureBlobStorageWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs)
3185        self.type = 'AzureBlobStorageWriteSettings'  # type: str
3186        self.block_size_in_mb = block_size_in_mb
3187
3188
3189class AzureDatabricksDeltaLakeDataset(Dataset):
3190    """Azure Databricks Delta Lake dataset.
3191
3192    All required parameters must be populated in order to send to Azure.
3193
3194    :param additional_properties: Unmatched properties from the message are deserialized to this
3195     collection.
3196    :type additional_properties: dict[str, any]
3197    :param type: Required. Type of dataset.Constant filled by server.
3198    :type type: str
3199    :param description: Dataset description.
3200    :type description: str
3201    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
3202     with resultType array), itemType: DatasetDataElement.
3203    :type structure: any
3204    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
3205     Expression with resultType array), itemType: DatasetSchemaDataElement.
3206    :type schema: any
3207    :param linked_service_name: Required. Linked service reference.
3208    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
3209    :param parameters: Parameters for dataset.
3210    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
3211    :param annotations: List of tags that can be used for describing the Dataset.
3212    :type annotations: list[any]
3213    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
3214     root level.
3215    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
3216    :param table: The name of delta table. Type: string (or Expression with resultType string).
3217    :type table: any
3218    :param database: The database name of delta table. Type: string (or Expression with resultType
3219     string).
3220    :type database: any
3221    """
3222
3223    _validation = {
3224        'type': {'required': True},
3225        'linked_service_name': {'required': True},
3226    }
3227
3228    _attribute_map = {
3229        'additional_properties': {'key': '', 'type': '{object}'},
3230        'type': {'key': 'type', 'type': 'str'},
3231        'description': {'key': 'description', 'type': 'str'},
3232        'structure': {'key': 'structure', 'type': 'object'},
3233        'schema': {'key': 'schema', 'type': 'object'},
3234        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
3235        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
3236        'annotations': {'key': 'annotations', 'type': '[object]'},
3237        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
3238        'table': {'key': 'typeProperties.table', 'type': 'object'},
3239        'database': {'key': 'typeProperties.database', 'type': 'object'},
3240    }
3241
3242    def __init__(
3243        self,
3244        *,
3245        linked_service_name: "LinkedServiceReference",
3246        additional_properties: Optional[Dict[str, Any]] = None,
3247        description: Optional[str] = None,
3248        structure: Optional[Any] = None,
3249        schema: Optional[Any] = None,
3250        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
3251        annotations: Optional[List[Any]] = None,
3252        folder: Optional["DatasetFolder"] = None,
3253        table: Optional[Any] = None,
3254        database: Optional[Any] = None,
3255        **kwargs
3256    ):
3257        super(AzureDatabricksDeltaLakeDataset, 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)
3258        self.type = 'AzureDatabricksDeltaLakeDataset'  # type: str
3259        self.table = table
3260        self.database = database
3261
3262
3263class ExportSettings(msrest.serialization.Model):
3264    """Export command settings.
3265
3266    You probably want to use the sub-classes and not this class directly. Known
3267    sub-classes are: AzureDatabricksDeltaLakeExportCommand, SnowflakeExportCopyCommand.
3268
3269    All required parameters must be populated in order to send to Azure.
3270
3271    :param additional_properties: Unmatched properties from the message are deserialized to this
3272     collection.
3273    :type additional_properties: dict[str, any]
3274    :param type: Required. The export setting type.Constant filled by server.
3275    :type type: str
3276    """
3277
3278    _validation = {
3279        'type': {'required': True},
3280    }
3281
3282    _attribute_map = {
3283        'additional_properties': {'key': '', 'type': '{object}'},
3284        'type': {'key': 'type', 'type': 'str'},
3285    }
3286
3287    _subtype_map = {
3288        'type': {'AzureDatabricksDeltaLakeExportCommand': 'AzureDatabricksDeltaLakeExportCommand', 'SnowflakeExportCopyCommand': 'SnowflakeExportCopyCommand'}
3289    }
3290
3291    def __init__(
3292        self,
3293        *,
3294        additional_properties: Optional[Dict[str, Any]] = None,
3295        **kwargs
3296    ):
3297        super(ExportSettings, self).__init__(**kwargs)
3298        self.additional_properties = additional_properties
3299        self.type = 'ExportSettings'  # type: str
3300
3301
3302class AzureDatabricksDeltaLakeExportCommand(ExportSettings):
3303    """Azure Databricks Delta Lake export command settings.
3304
3305    All required parameters must be populated in order to send to Azure.
3306
3307    :param additional_properties: Unmatched properties from the message are deserialized to this
3308     collection.
3309    :type additional_properties: dict[str, any]
3310    :param type: Required. The export setting type.Constant filled by server.
3311    :type type: str
3312    :param date_format: Specify the date format for the csv in Azure Databricks Delta Lake Copy.
3313     Type: string (or Expression with resultType string).
3314    :type date_format: any
3315    :param timestamp_format: Specify the timestamp format for the csv in Azure Databricks Delta
3316     Lake Copy. Type: string (or Expression with resultType string).
3317    :type timestamp_format: any
3318    """
3319
3320    _validation = {
3321        'type': {'required': True},
3322    }
3323
3324    _attribute_map = {
3325        'additional_properties': {'key': '', 'type': '{object}'},
3326        'type': {'key': 'type', 'type': 'str'},
3327        'date_format': {'key': 'dateFormat', 'type': 'object'},
3328        'timestamp_format': {'key': 'timestampFormat', 'type': 'object'},
3329    }
3330
3331    def __init__(
3332        self,
3333        *,
3334        additional_properties: Optional[Dict[str, Any]] = None,
3335        date_format: Optional[Any] = None,
3336        timestamp_format: Optional[Any] = None,
3337        **kwargs
3338    ):
3339        super(AzureDatabricksDeltaLakeExportCommand, self).__init__(additional_properties=additional_properties, **kwargs)
3340        self.type = 'AzureDatabricksDeltaLakeExportCommand'  # type: str
3341        self.date_format = date_format
3342        self.timestamp_format = timestamp_format
3343
3344
3345class ImportSettings(msrest.serialization.Model):
3346    """Import command settings.
3347
3348    You probably want to use the sub-classes and not this class directly. Known
3349    sub-classes are: AzureDatabricksDeltaLakeImportCommand, SnowflakeImportCopyCommand.
3350
3351    All required parameters must be populated in order to send to Azure.
3352
3353    :param additional_properties: Unmatched properties from the message are deserialized to this
3354     collection.
3355    :type additional_properties: dict[str, any]
3356    :param type: Required. The import setting type.Constant filled by server.
3357    :type type: str
3358    """
3359
3360    _validation = {
3361        'type': {'required': True},
3362    }
3363
3364    _attribute_map = {
3365        'additional_properties': {'key': '', 'type': '{object}'},
3366        'type': {'key': 'type', 'type': 'str'},
3367    }
3368
3369    _subtype_map = {
3370        'type': {'AzureDatabricksDeltaLakeImportCommand': 'AzureDatabricksDeltaLakeImportCommand', 'SnowflakeImportCopyCommand': 'SnowflakeImportCopyCommand'}
3371    }
3372
3373    def __init__(
3374        self,
3375        *,
3376        additional_properties: Optional[Dict[str, Any]] = None,
3377        **kwargs
3378    ):
3379        super(ImportSettings, self).__init__(**kwargs)
3380        self.additional_properties = additional_properties
3381        self.type = 'ImportSettings'  # type: str
3382
3383
3384class AzureDatabricksDeltaLakeImportCommand(ImportSettings):
3385    """Azure Databricks Delta Lake import command settings.
3386
3387    All required parameters must be populated in order to send to Azure.
3388
3389    :param additional_properties: Unmatched properties from the message are deserialized to this
3390     collection.
3391    :type additional_properties: dict[str, any]
3392    :param type: Required. The import setting type.Constant filled by server.
3393    :type type: str
3394    :param date_format: Specify the date format for csv in Azure Databricks Delta Lake Copy. Type:
3395     string (or Expression with resultType string).
3396    :type date_format: any
3397    :param timestamp_format: Specify the timestamp format for csv in Azure Databricks Delta Lake
3398     Copy. Type: string (or Expression with resultType string).
3399    :type timestamp_format: any
3400    """
3401
3402    _validation = {
3403        'type': {'required': True},
3404    }
3405
3406    _attribute_map = {
3407        'additional_properties': {'key': '', 'type': '{object}'},
3408        'type': {'key': 'type', 'type': 'str'},
3409        'date_format': {'key': 'dateFormat', 'type': 'object'},
3410        'timestamp_format': {'key': 'timestampFormat', 'type': 'object'},
3411    }
3412
3413    def __init__(
3414        self,
3415        *,
3416        additional_properties: Optional[Dict[str, Any]] = None,
3417        date_format: Optional[Any] = None,
3418        timestamp_format: Optional[Any] = None,
3419        **kwargs
3420    ):
3421        super(AzureDatabricksDeltaLakeImportCommand, self).__init__(additional_properties=additional_properties, **kwargs)
3422        self.type = 'AzureDatabricksDeltaLakeImportCommand'  # type: str
3423        self.date_format = date_format
3424        self.timestamp_format = timestamp_format
3425
3426
3427class AzureDatabricksDeltaLakeLinkedService(LinkedService):
3428    """Azure Databricks Delta Lake linked service.
3429
3430    All required parameters must be populated in order to send to Azure.
3431
3432    :param additional_properties: Unmatched properties from the message are deserialized to this
3433     collection.
3434    :type additional_properties: dict[str, any]
3435    :param type: Required. Type of linked service.Constant filled by server.
3436    :type type: str
3437    :param connect_via: The integration runtime reference.
3438    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
3439    :param description: Linked service description.
3440    :type description: str
3441    :param parameters: Parameters for linked service.
3442    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
3443    :param annotations: List of tags that can be used for describing the linked service.
3444    :type annotations: list[any]
3445    :param domain: Required. :code:`<REGION>`.azuredatabricks.net, domain name of your Databricks
3446     deployment. Type: string (or Expression with resultType string).
3447    :type domain: any
3448    :param access_token: Required. Access token for databricks REST API. Refer to
3449     https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string, SecureString or
3450     AzureKeyVaultSecretReference.
3451    :type access_token: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
3452    :param cluster_id: The id of an existing interactive cluster that will be used for all runs of
3453     this job. Type: string (or Expression with resultType string).
3454    :type cluster_id: any
3455    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
3456     encrypted using the integration runtime credential manager. Type: string (or Expression with
3457     resultType string).
3458    :type encrypted_credential: any
3459    """
3460
3461    _validation = {
3462        'type': {'required': True},
3463        'domain': {'required': True},
3464        'access_token': {'required': True},
3465    }
3466
3467    _attribute_map = {
3468        'additional_properties': {'key': '', 'type': '{object}'},
3469        'type': {'key': 'type', 'type': 'str'},
3470        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
3471        'description': {'key': 'description', 'type': 'str'},
3472        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
3473        'annotations': {'key': 'annotations', 'type': '[object]'},
3474        'domain': {'key': 'typeProperties.domain', 'type': 'object'},
3475        'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'},
3476        'cluster_id': {'key': 'typeProperties.clusterId', 'type': 'object'},
3477        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
3478    }
3479
3480    def __init__(
3481        self,
3482        *,
3483        domain: Any,
3484        access_token: "SecretBase",
3485        additional_properties: Optional[Dict[str, Any]] = None,
3486        connect_via: Optional["IntegrationRuntimeReference"] = None,
3487        description: Optional[str] = None,
3488        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
3489        annotations: Optional[List[Any]] = None,
3490        cluster_id: Optional[Any] = None,
3491        encrypted_credential: Optional[Any] = None,
3492        **kwargs
3493    ):
3494        super(AzureDatabricksDeltaLakeLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
3495        self.type = 'AzureDatabricksDeltaLake'  # type: str
3496        self.domain = domain
3497        self.access_token = access_token
3498        self.cluster_id = cluster_id
3499        self.encrypted_credential = encrypted_credential
3500
3501
3502class AzureDatabricksDeltaLakeSink(CopySink):
3503    """A copy activity Azure Databricks Delta Lake sink.
3504
3505    All required parameters must be populated in order to send to Azure.
3506
3507    :param additional_properties: Unmatched properties from the message are deserialized to this
3508     collection.
3509    :type additional_properties: dict[str, any]
3510    :param type: Required. Copy sink type.Constant filled by server.
3511    :type type: str
3512    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
3513     integer), minimum: 0.
3514    :type write_batch_size: any
3515    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
3516     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
3517    :type write_batch_timeout: any
3518    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
3519     integer).
3520    :type sink_retry_count: any
3521    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
3522     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
3523    :type sink_retry_wait: any
3524    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
3525     store. Type: integer (or Expression with resultType integer).
3526    :type max_concurrent_connections: any
3527    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
3528     string).
3529    :type pre_copy_script: any
3530    :param import_settings: Azure Databricks Delta Lake import settings.
3531    :type import_settings:
3532     ~azure.synapse.artifacts.v2020_12_01.models.AzureDatabricksDeltaLakeImportCommand
3533    """
3534
3535    _validation = {
3536        'type': {'required': True},
3537    }
3538
3539    _attribute_map = {
3540        'additional_properties': {'key': '', 'type': '{object}'},
3541        'type': {'key': 'type', 'type': 'str'},
3542        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
3543        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
3544        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
3545        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
3546        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
3547        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
3548        'import_settings': {'key': 'importSettings', 'type': 'AzureDatabricksDeltaLakeImportCommand'},
3549    }
3550
3551    def __init__(
3552        self,
3553        *,
3554        additional_properties: Optional[Dict[str, Any]] = None,
3555        write_batch_size: Optional[Any] = None,
3556        write_batch_timeout: Optional[Any] = None,
3557        sink_retry_count: Optional[Any] = None,
3558        sink_retry_wait: Optional[Any] = None,
3559        max_concurrent_connections: Optional[Any] = None,
3560        pre_copy_script: Optional[Any] = None,
3561        import_settings: Optional["AzureDatabricksDeltaLakeImportCommand"] = None,
3562        **kwargs
3563    ):
3564        super(AzureDatabricksDeltaLakeSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
3565        self.type = 'AzureDatabricksDeltaLakeSink'  # type: str
3566        self.pre_copy_script = pre_copy_script
3567        self.import_settings = import_settings
3568
3569
3570class AzureDatabricksDeltaLakeSource(CopySource):
3571    """A copy activity Azure Databricks Delta Lake source.
3572
3573    All required parameters must be populated in order to send to Azure.
3574
3575    :param additional_properties: Unmatched properties from the message are deserialized to this
3576     collection.
3577    :type additional_properties: dict[str, any]
3578    :param type: Required. Copy source type.Constant filled by server.
3579    :type type: str
3580    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
3581     integer).
3582    :type source_retry_count: any
3583    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
3584     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
3585    :type source_retry_wait: any
3586    :param max_concurrent_connections: The maximum concurrent connection count for the source data
3587     store. Type: integer (or Expression with resultType integer).
3588    :type max_concurrent_connections: any
3589    :param query: Azure Databricks Delta Lake Sql query. Type: string (or Expression with
3590     resultType string).
3591    :type query: any
3592    :param export_settings: Azure Databricks Delta Lake export settings.
3593    :type export_settings:
3594     ~azure.synapse.artifacts.v2020_12_01.models.AzureDatabricksDeltaLakeExportCommand
3595    """
3596
3597    _validation = {
3598        'type': {'required': True},
3599    }
3600
3601    _attribute_map = {
3602        'additional_properties': {'key': '', 'type': '{object}'},
3603        'type': {'key': 'type', 'type': 'str'},
3604        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
3605        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
3606        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
3607        'query': {'key': 'query', 'type': 'object'},
3608        'export_settings': {'key': 'exportSettings', 'type': 'AzureDatabricksDeltaLakeExportCommand'},
3609    }
3610
3611    def __init__(
3612        self,
3613        *,
3614        additional_properties: Optional[Dict[str, Any]] = None,
3615        source_retry_count: Optional[Any] = None,
3616        source_retry_wait: Optional[Any] = None,
3617        max_concurrent_connections: Optional[Any] = None,
3618        query: Optional[Any] = None,
3619        export_settings: Optional["AzureDatabricksDeltaLakeExportCommand"] = None,
3620        **kwargs
3621    ):
3622        super(AzureDatabricksDeltaLakeSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
3623        self.type = 'AzureDatabricksDeltaLakeSource'  # type: str
3624        self.query = query
3625        self.export_settings = export_settings
3626
3627
3628class AzureDatabricksLinkedService(LinkedService):
3629    """Azure Databricks linked service.
3630
3631    All required parameters must be populated in order to send to Azure.
3632
3633    :param additional_properties: Unmatched properties from the message are deserialized to this
3634     collection.
3635    :type additional_properties: dict[str, any]
3636    :param type: Required. Type of linked service.Constant filled by server.
3637    :type type: str
3638    :param connect_via: The integration runtime reference.
3639    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
3640    :param description: Linked service description.
3641    :type description: str
3642    :param parameters: Parameters for linked service.
3643    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
3644    :param annotations: List of tags that can be used for describing the linked service.
3645    :type annotations: list[any]
3646    :param domain: Required. :code:`<REGION>`.azuredatabricks.net, domain name of your Databricks
3647     deployment. Type: string (or Expression with resultType string).
3648    :type domain: any
3649    :param access_token: Access token for databricks REST API. Refer to
3650     https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string (or Expression
3651     with resultType string).
3652    :type access_token: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
3653    :param authentication: Required to specify MSI, if using Workspace resource id for databricks
3654     REST API. Type: string (or Expression with resultType string).
3655    :type authentication: any
3656    :param workspace_resource_id: Workspace resource id for databricks REST API. Type: string (or
3657     Expression with resultType string).
3658    :type workspace_resource_id: any
3659    :param existing_cluster_id: The id of an existing interactive cluster that will be used for all
3660     runs of this activity. Type: string (or Expression with resultType string).
3661    :type existing_cluster_id: any
3662    :param instance_pool_id: The id of an existing instance pool that will be used for all runs of
3663     this activity. Type: string (or Expression with resultType string).
3664    :type instance_pool_id: any
3665    :param new_cluster_version: If not using an existing interactive cluster, this specifies the
3666     Spark version of a new job cluster or instance pool nodes created for each run of this
3667     activity. Required if instancePoolId is specified. Type: string (or Expression with resultType
3668     string).
3669    :type new_cluster_version: any
3670    :param new_cluster_num_of_worker: If not using an existing interactive cluster, this specifies
3671     the number of worker nodes to use for the new job cluster or instance pool. For new job
3672     clusters, this a string-formatted Int32, like '1' means numOfWorker is 1 or '1:10' means
3673     auto-scale from 1 (min) to 10 (max). For instance pools, this is a string-formatted Int32, and
3674     can only specify a fixed number of worker nodes, such as '2'. Required if newClusterVersion is
3675     specified. Type: string (or Expression with resultType string).
3676    :type new_cluster_num_of_worker: any
3677    :param new_cluster_node_type: The node type of the new job cluster. This property is required
3678     if newClusterVersion is specified and instancePoolId is not specified. If instancePoolId is
3679     specified, this property is ignored. Type: string (or Expression with resultType string).
3680    :type new_cluster_node_type: any
3681    :param new_cluster_spark_conf: A set of optional, user-specified Spark configuration key-value
3682     pairs.
3683    :type new_cluster_spark_conf: dict[str, any]
3684    :param new_cluster_spark_env_vars: A set of optional, user-specified Spark environment
3685     variables key-value pairs.
3686    :type new_cluster_spark_env_vars: dict[str, any]
3687    :param new_cluster_custom_tags: Additional tags for cluster resources. This property is ignored
3688     in instance pool configurations.
3689    :type new_cluster_custom_tags: dict[str, any]
3690    :param new_cluster_log_destination: Specify a location to deliver Spark driver, worker, and
3691     event logs. Type: string (or Expression with resultType string).
3692    :type new_cluster_log_destination: any
3693    :param new_cluster_driver_node_type: The driver node type for the new job cluster. This
3694     property is ignored in instance pool configurations. Type: string (or Expression with
3695     resultType string).
3696    :type new_cluster_driver_node_type: any
3697    :param new_cluster_init_scripts: User-defined initialization scripts for the new cluster. Type:
3698     array of strings (or Expression with resultType array of strings).
3699    :type new_cluster_init_scripts: any
3700    :param new_cluster_enable_elastic_disk: Enable the elastic disk on the new cluster. This
3701     property is now ignored, and takes the default elastic disk behavior in Databricks (elastic
3702     disks are always enabled). Type: boolean (or Expression with resultType boolean).
3703    :type new_cluster_enable_elastic_disk: any
3704    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
3705     encrypted using the integration runtime credential manager. Type: string (or Expression with
3706     resultType string).
3707    :type encrypted_credential: any
3708    :param policy_id: The policy id for limiting the ability to configure clusters based on a user
3709     defined set of rules. Type: string (or Expression with resultType string).
3710    :type policy_id: any
3711    """
3712
3713    _validation = {
3714        'type': {'required': True},
3715        'domain': {'required': True},
3716    }
3717
3718    _attribute_map = {
3719        'additional_properties': {'key': '', 'type': '{object}'},
3720        'type': {'key': 'type', 'type': 'str'},
3721        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
3722        'description': {'key': 'description', 'type': 'str'},
3723        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
3724        'annotations': {'key': 'annotations', 'type': '[object]'},
3725        'domain': {'key': 'typeProperties.domain', 'type': 'object'},
3726        'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'},
3727        'authentication': {'key': 'typeProperties.authentication', 'type': 'object'},
3728        'workspace_resource_id': {'key': 'typeProperties.workspaceResourceId', 'type': 'object'},
3729        'existing_cluster_id': {'key': 'typeProperties.existingClusterId', 'type': 'object'},
3730        'instance_pool_id': {'key': 'typeProperties.instancePoolId', 'type': 'object'},
3731        'new_cluster_version': {'key': 'typeProperties.newClusterVersion', 'type': 'object'},
3732        'new_cluster_num_of_worker': {'key': 'typeProperties.newClusterNumOfWorker', 'type': 'object'},
3733        'new_cluster_node_type': {'key': 'typeProperties.newClusterNodeType', 'type': 'object'},
3734        'new_cluster_spark_conf': {'key': 'typeProperties.newClusterSparkConf', 'type': '{object}'},
3735        'new_cluster_spark_env_vars': {'key': 'typeProperties.newClusterSparkEnvVars', 'type': '{object}'},
3736        'new_cluster_custom_tags': {'key': 'typeProperties.newClusterCustomTags', 'type': '{object}'},
3737        'new_cluster_log_destination': {'key': 'typeProperties.newClusterLogDestination', 'type': 'object'},
3738        'new_cluster_driver_node_type': {'key': 'typeProperties.newClusterDriverNodeType', 'type': 'object'},
3739        'new_cluster_init_scripts': {'key': 'typeProperties.newClusterInitScripts', 'type': 'object'},
3740        'new_cluster_enable_elastic_disk': {'key': 'typeProperties.newClusterEnableElasticDisk', 'type': 'object'},
3741        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
3742        'policy_id': {'key': 'typeProperties.policyId', 'type': 'object'},
3743    }
3744
3745    def __init__(
3746        self,
3747        *,
3748        domain: Any,
3749        additional_properties: Optional[Dict[str, Any]] = None,
3750        connect_via: Optional["IntegrationRuntimeReference"] = None,
3751        description: Optional[str] = None,
3752        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
3753        annotations: Optional[List[Any]] = None,
3754        access_token: Optional["SecretBase"] = None,
3755        authentication: Optional[Any] = None,
3756        workspace_resource_id: Optional[Any] = None,
3757        existing_cluster_id: Optional[Any] = None,
3758        instance_pool_id: Optional[Any] = None,
3759        new_cluster_version: Optional[Any] = None,
3760        new_cluster_num_of_worker: Optional[Any] = None,
3761        new_cluster_node_type: Optional[Any] = None,
3762        new_cluster_spark_conf: Optional[Dict[str, Any]] = None,
3763        new_cluster_spark_env_vars: Optional[Dict[str, Any]] = None,
3764        new_cluster_custom_tags: Optional[Dict[str, Any]] = None,
3765        new_cluster_log_destination: Optional[Any] = None,
3766        new_cluster_driver_node_type: Optional[Any] = None,
3767        new_cluster_init_scripts: Optional[Any] = None,
3768        new_cluster_enable_elastic_disk: Optional[Any] = None,
3769        encrypted_credential: Optional[Any] = None,
3770        policy_id: Optional[Any] = None,
3771        **kwargs
3772    ):
3773        super(AzureDatabricksLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
3774        self.type = 'AzureDatabricks'  # type: str
3775        self.domain = domain
3776        self.access_token = access_token
3777        self.authentication = authentication
3778        self.workspace_resource_id = workspace_resource_id
3779        self.existing_cluster_id = existing_cluster_id
3780        self.instance_pool_id = instance_pool_id
3781        self.new_cluster_version = new_cluster_version
3782        self.new_cluster_num_of_worker = new_cluster_num_of_worker
3783        self.new_cluster_node_type = new_cluster_node_type
3784        self.new_cluster_spark_conf = new_cluster_spark_conf
3785        self.new_cluster_spark_env_vars = new_cluster_spark_env_vars
3786        self.new_cluster_custom_tags = new_cluster_custom_tags
3787        self.new_cluster_log_destination = new_cluster_log_destination
3788        self.new_cluster_driver_node_type = new_cluster_driver_node_type
3789        self.new_cluster_init_scripts = new_cluster_init_scripts
3790        self.new_cluster_enable_elastic_disk = new_cluster_enable_elastic_disk
3791        self.encrypted_credential = encrypted_credential
3792        self.policy_id = policy_id
3793
3794
3795class ExecutionActivity(Activity):
3796    """Base class for all execution activities.
3797
3798    You probably want to use the sub-classes and not this class directly. Known
3799    sub-classes are: AzureDataExplorerCommandActivity, AzureFunctionActivity, AzureMLBatchExecutionActivity, AzureMLExecutePipelineActivity, AzureMLUpdateResourceActivity, CopyActivity, CustomActivity, DataLakeAnalyticsUSQLActivity, DatabricksNotebookActivity, DatabricksSparkJarActivity, DatabricksSparkPythonActivity, DeleteActivity, ExecuteDataFlowActivity, ExecuteSSISPackageActivity, GetMetadataActivity, HDInsightHiveActivity, HDInsightMapReduceActivity, HDInsightPigActivity, HDInsightSparkActivity, HDInsightStreamingActivity, LookupActivity, SynapseSparkJobDefinitionActivity, SqlServerStoredProcedureActivity, SynapseNotebookActivity, WebActivity.
3800
3801    All required parameters must be populated in order to send to Azure.
3802
3803    :param additional_properties: Unmatched properties from the message are deserialized to this
3804     collection.
3805    :type additional_properties: dict[str, any]
3806    :param name: Required. Activity name.
3807    :type name: str
3808    :param type: Required. Type of activity.Constant filled by server.
3809    :type type: str
3810    :param description: Activity description.
3811    :type description: str
3812    :param depends_on: Activity depends on condition.
3813    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
3814    :param user_properties: Activity user properties.
3815    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
3816    :param linked_service_name: Linked service reference.
3817    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
3818    :param policy: Activity policy.
3819    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
3820    """
3821
3822    _validation = {
3823        'name': {'required': True},
3824        'type': {'required': True},
3825    }
3826
3827    _attribute_map = {
3828        'additional_properties': {'key': '', 'type': '{object}'},
3829        'name': {'key': 'name', 'type': 'str'},
3830        'type': {'key': 'type', 'type': 'str'},
3831        'description': {'key': 'description', 'type': 'str'},
3832        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
3833        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
3834        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
3835        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
3836    }
3837
3838    _subtype_map = {
3839        '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', 'SparkJob': 'SynapseSparkJobDefinitionActivity', 'SqlServerStoredProcedure': 'SqlServerStoredProcedureActivity', 'SynapseNotebook': 'SynapseNotebookActivity', 'WebActivity': 'WebActivity'}
3840    }
3841
3842    def __init__(
3843        self,
3844        *,
3845        name: str,
3846        additional_properties: Optional[Dict[str, Any]] = None,
3847        description: Optional[str] = None,
3848        depends_on: Optional[List["ActivityDependency"]] = None,
3849        user_properties: Optional[List["UserProperty"]] = None,
3850        linked_service_name: Optional["LinkedServiceReference"] = None,
3851        policy: Optional["ActivityPolicy"] = None,
3852        **kwargs
3853    ):
3854        super(ExecutionActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
3855        self.type = 'Execution'  # type: str
3856        self.linked_service_name = linked_service_name
3857        self.policy = policy
3858
3859
3860class AzureDataExplorerCommandActivity(ExecutionActivity):
3861    """Azure Data Explorer command activity.
3862
3863    All required parameters must be populated in order to send to Azure.
3864
3865    :param additional_properties: Unmatched properties from the message are deserialized to this
3866     collection.
3867    :type additional_properties: dict[str, any]
3868    :param name: Required. Activity name.
3869    :type name: str
3870    :param type: Required. Type of activity.Constant filled by server.
3871    :type type: str
3872    :param description: Activity description.
3873    :type description: str
3874    :param depends_on: Activity depends on condition.
3875    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
3876    :param user_properties: Activity user properties.
3877    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
3878    :param linked_service_name: Linked service reference.
3879    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
3880    :param policy: Activity policy.
3881    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
3882    :param command: Required. A control command, according to the Azure Data Explorer command
3883     syntax. Type: string (or Expression with resultType string).
3884    :type command: any
3885    :param command_timeout: Control command timeout. Type: string (or Expression with resultType
3886     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..).
3887    :type command_timeout: any
3888    """
3889
3890    _validation = {
3891        'name': {'required': True},
3892        'type': {'required': True},
3893        'command': {'required': True},
3894    }
3895
3896    _attribute_map = {
3897        'additional_properties': {'key': '', 'type': '{object}'},
3898        'name': {'key': 'name', 'type': 'str'},
3899        'type': {'key': 'type', 'type': 'str'},
3900        'description': {'key': 'description', 'type': 'str'},
3901        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
3902        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
3903        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
3904        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
3905        'command': {'key': 'typeProperties.command', 'type': 'object'},
3906        'command_timeout': {'key': 'typeProperties.commandTimeout', 'type': 'object'},
3907    }
3908
3909    def __init__(
3910        self,
3911        *,
3912        name: str,
3913        command: Any,
3914        additional_properties: Optional[Dict[str, Any]] = None,
3915        description: Optional[str] = None,
3916        depends_on: Optional[List["ActivityDependency"]] = None,
3917        user_properties: Optional[List["UserProperty"]] = None,
3918        linked_service_name: Optional["LinkedServiceReference"] = None,
3919        policy: Optional["ActivityPolicy"] = None,
3920        command_timeout: Optional[Any] = None,
3921        **kwargs
3922    ):
3923        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)
3924        self.type = 'AzureDataExplorerCommand'  # type: str
3925        self.command = command
3926        self.command_timeout = command_timeout
3927
3928
3929class AzureDataExplorerLinkedService(LinkedService):
3930    """Azure Data Explorer (Kusto) linked service.
3931
3932    All required parameters must be populated in order to send to Azure.
3933
3934    :param additional_properties: Unmatched properties from the message are deserialized to this
3935     collection.
3936    :type additional_properties: dict[str, any]
3937    :param type: Required. Type of linked service.Constant filled by server.
3938    :type type: str
3939    :param connect_via: The integration runtime reference.
3940    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
3941    :param description: Linked service description.
3942    :type description: str
3943    :param parameters: Parameters for linked service.
3944    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
3945    :param annotations: List of tags that can be used for describing the linked service.
3946    :type annotations: list[any]
3947    :param endpoint: Required. The endpoint of Azure Data Explorer (the engine's endpoint). URL
3948     will be in the format https://:code:`<clusterName>`.:code:`<regionName>`.kusto.windows.net.
3949     Type: string (or Expression with resultType string).
3950    :type endpoint: any
3951    :param service_principal_id: Required. The ID of the service principal used to authenticate
3952     against Azure Data Explorer. Type: string (or Expression with resultType string).
3953    :type service_principal_id: any
3954    :param service_principal_key: Required. The key of the service principal used to authenticate
3955     against Kusto.
3956    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
3957    :param database: Required. Database name for connection. Type: string (or Expression with
3958     resultType string).
3959    :type database: any
3960    :param tenant: Required. The name or ID of the tenant to which the service principal belongs.
3961     Type: string (or Expression with resultType string).
3962    :type tenant: any
3963    """
3964
3965    _validation = {
3966        'type': {'required': True},
3967        'endpoint': {'required': True},
3968        'service_principal_id': {'required': True},
3969        'service_principal_key': {'required': True},
3970        'database': {'required': True},
3971        'tenant': {'required': True},
3972    }
3973
3974    _attribute_map = {
3975        'additional_properties': {'key': '', 'type': '{object}'},
3976        'type': {'key': 'type', 'type': 'str'},
3977        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
3978        'description': {'key': 'description', 'type': 'str'},
3979        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
3980        'annotations': {'key': 'annotations', 'type': '[object]'},
3981        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
3982        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
3983        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
3984        'database': {'key': 'typeProperties.database', 'type': 'object'},
3985        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
3986    }
3987
3988    def __init__(
3989        self,
3990        *,
3991        endpoint: Any,
3992        service_principal_id: Any,
3993        service_principal_key: "SecretBase",
3994        database: Any,
3995        tenant: Any,
3996        additional_properties: Optional[Dict[str, Any]] = None,
3997        connect_via: Optional["IntegrationRuntimeReference"] = None,
3998        description: Optional[str] = None,
3999        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
4000        annotations: Optional[List[Any]] = None,
4001        **kwargs
4002    ):
4003        super(AzureDataExplorerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
4004        self.type = 'AzureDataExplorer'  # type: str
4005        self.endpoint = endpoint
4006        self.service_principal_id = service_principal_id
4007        self.service_principal_key = service_principal_key
4008        self.database = database
4009        self.tenant = tenant
4010
4011
4012class AzureDataExplorerSink(CopySink):
4013    """A copy activity Azure Data Explorer sink.
4014
4015    All required parameters must be populated in order to send to Azure.
4016
4017    :param additional_properties: Unmatched properties from the message are deserialized to this
4018     collection.
4019    :type additional_properties: dict[str, any]
4020    :param type: Required. Copy sink type.Constant filled by server.
4021    :type type: str
4022    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
4023     integer), minimum: 0.
4024    :type write_batch_size: any
4025    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
4026     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
4027    :type write_batch_timeout: any
4028    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
4029     integer).
4030    :type sink_retry_count: any
4031    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
4032     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
4033    :type sink_retry_wait: any
4034    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
4035     store. Type: integer (or Expression with resultType integer).
4036    :type max_concurrent_connections: any
4037    :param ingestion_mapping_name: A name of a pre-created csv mapping that was defined on the
4038     target Kusto table. Type: string.
4039    :type ingestion_mapping_name: any
4040    :param ingestion_mapping_as_json: An explicit column mapping description provided in a json
4041     format. Type: string.
4042    :type ingestion_mapping_as_json: any
4043    :param flush_immediately: If set to true, any aggregation will be skipped. Default is false.
4044     Type: boolean.
4045    :type flush_immediately: any
4046    """
4047
4048    _validation = {
4049        'type': {'required': True},
4050    }
4051
4052    _attribute_map = {
4053        'additional_properties': {'key': '', 'type': '{object}'},
4054        'type': {'key': 'type', 'type': 'str'},
4055        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
4056        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
4057        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
4058        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
4059        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
4060        'ingestion_mapping_name': {'key': 'ingestionMappingName', 'type': 'object'},
4061        'ingestion_mapping_as_json': {'key': 'ingestionMappingAsJson', 'type': 'object'},
4062        'flush_immediately': {'key': 'flushImmediately', 'type': 'object'},
4063    }
4064
4065    def __init__(
4066        self,
4067        *,
4068        additional_properties: Optional[Dict[str, Any]] = None,
4069        write_batch_size: Optional[Any] = None,
4070        write_batch_timeout: Optional[Any] = None,
4071        sink_retry_count: Optional[Any] = None,
4072        sink_retry_wait: Optional[Any] = None,
4073        max_concurrent_connections: Optional[Any] = None,
4074        ingestion_mapping_name: Optional[Any] = None,
4075        ingestion_mapping_as_json: Optional[Any] = None,
4076        flush_immediately: Optional[Any] = None,
4077        **kwargs
4078    ):
4079        super(AzureDataExplorerSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
4080        self.type = 'AzureDataExplorerSink'  # type: str
4081        self.ingestion_mapping_name = ingestion_mapping_name
4082        self.ingestion_mapping_as_json = ingestion_mapping_as_json
4083        self.flush_immediately = flush_immediately
4084
4085
4086class AzureDataExplorerSource(CopySource):
4087    """A copy activity Azure Data Explorer (Kusto) source.
4088
4089    All required parameters must be populated in order to send to Azure.
4090
4091    :param additional_properties: Unmatched properties from the message are deserialized to this
4092     collection.
4093    :type additional_properties: dict[str, any]
4094    :param type: Required. Copy source type.Constant filled by server.
4095    :type type: str
4096    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
4097     integer).
4098    :type source_retry_count: any
4099    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
4100     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
4101    :type source_retry_wait: any
4102    :param max_concurrent_connections: The maximum concurrent connection count for the source data
4103     store. Type: integer (or Expression with resultType integer).
4104    :type max_concurrent_connections: any
4105    :param query: Required. Database query. Should be a Kusto Query Language (KQL) query. Type:
4106     string (or Expression with resultType string).
4107    :type query: any
4108    :param no_truncation: The name of the Boolean option that controls whether truncation is
4109     applied to result-sets that go beyond a certain row-count limit.
4110    :type no_truncation: any
4111    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
4112     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..
4113    :type query_timeout: any
4114    :param additional_columns: Specifies the additional columns to be added to source data. Type:
4115     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
4116    :type additional_columns: any
4117    """
4118
4119    _validation = {
4120        'type': {'required': True},
4121        'query': {'required': True},
4122    }
4123
4124    _attribute_map = {
4125        'additional_properties': {'key': '', 'type': '{object}'},
4126        'type': {'key': 'type', 'type': 'str'},
4127        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
4128        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
4129        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
4130        'query': {'key': 'query', 'type': 'object'},
4131        'no_truncation': {'key': 'noTruncation', 'type': 'object'},
4132        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
4133        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
4134    }
4135
4136    def __init__(
4137        self,
4138        *,
4139        query: Any,
4140        additional_properties: Optional[Dict[str, Any]] = None,
4141        source_retry_count: Optional[Any] = None,
4142        source_retry_wait: Optional[Any] = None,
4143        max_concurrent_connections: Optional[Any] = None,
4144        no_truncation: Optional[Any] = None,
4145        query_timeout: Optional[Any] = None,
4146        additional_columns: Optional[Any] = None,
4147        **kwargs
4148    ):
4149        super(AzureDataExplorerSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
4150        self.type = 'AzureDataExplorerSource'  # type: str
4151        self.query = query
4152        self.no_truncation = no_truncation
4153        self.query_timeout = query_timeout
4154        self.additional_columns = additional_columns
4155
4156
4157class AzureDataExplorerTableDataset(Dataset):
4158    """The Azure Data Explorer (Kusto) dataset.
4159
4160    All required parameters must be populated in order to send to Azure.
4161
4162    :param additional_properties: Unmatched properties from the message are deserialized to this
4163     collection.
4164    :type additional_properties: dict[str, any]
4165    :param type: Required. Type of dataset.Constant filled by server.
4166    :type type: str
4167    :param description: Dataset description.
4168    :type description: str
4169    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
4170     with resultType array), itemType: DatasetDataElement.
4171    :type structure: any
4172    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
4173     Expression with resultType array), itemType: DatasetSchemaDataElement.
4174    :type schema: any
4175    :param linked_service_name: Required. Linked service reference.
4176    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
4177    :param parameters: Parameters for dataset.
4178    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
4179    :param annotations: List of tags that can be used for describing the Dataset.
4180    :type annotations: list[any]
4181    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
4182     root level.
4183    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
4184    :param table: The table name of the Azure Data Explorer database. Type: string (or Expression
4185     with resultType string).
4186    :type table: any
4187    """
4188
4189    _validation = {
4190        'type': {'required': True},
4191        'linked_service_name': {'required': True},
4192    }
4193
4194    _attribute_map = {
4195        'additional_properties': {'key': '', 'type': '{object}'},
4196        'type': {'key': 'type', 'type': 'str'},
4197        'description': {'key': 'description', 'type': 'str'},
4198        'structure': {'key': 'structure', 'type': 'object'},
4199        'schema': {'key': 'schema', 'type': 'object'},
4200        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
4201        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
4202        'annotations': {'key': 'annotations', 'type': '[object]'},
4203        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
4204        'table': {'key': 'typeProperties.table', 'type': 'object'},
4205    }
4206
4207    def __init__(
4208        self,
4209        *,
4210        linked_service_name: "LinkedServiceReference",
4211        additional_properties: Optional[Dict[str, Any]] = None,
4212        description: Optional[str] = None,
4213        structure: Optional[Any] = None,
4214        schema: Optional[Any] = None,
4215        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
4216        annotations: Optional[List[Any]] = None,
4217        folder: Optional["DatasetFolder"] = None,
4218        table: Optional[Any] = None,
4219        **kwargs
4220    ):
4221        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)
4222        self.type = 'AzureDataExplorerTable'  # type: str
4223        self.table = table
4224
4225
4226class AzureDataLakeAnalyticsLinkedService(LinkedService):
4227    """Azure Data Lake Analytics linked service.
4228
4229    All required parameters must be populated in order to send to Azure.
4230
4231    :param additional_properties: Unmatched properties from the message are deserialized to this
4232     collection.
4233    :type additional_properties: dict[str, any]
4234    :param type: Required. Type of linked service.Constant filled by server.
4235    :type type: str
4236    :param connect_via: The integration runtime reference.
4237    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
4238    :param description: Linked service description.
4239    :type description: str
4240    :param parameters: Parameters for linked service.
4241    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
4242    :param annotations: List of tags that can be used for describing the linked service.
4243    :type annotations: list[any]
4244    :param account_name: Required. The Azure Data Lake Analytics account name. Type: string (or
4245     Expression with resultType string).
4246    :type account_name: any
4247    :param service_principal_id: The ID of the application used to authenticate against the Azure
4248     Data Lake Analytics account. Type: string (or Expression with resultType string).
4249    :type service_principal_id: any
4250    :param service_principal_key: The Key of the application used to authenticate against the Azure
4251     Data Lake Analytics account.
4252    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
4253    :param tenant: Required. The name or ID of the tenant to which the service principal belongs.
4254     Type: string (or Expression with resultType string).
4255    :type tenant: any
4256    :param subscription_id: Data Lake Analytics account subscription ID (if different from Data
4257     Factory account). Type: string (or Expression with resultType string).
4258    :type subscription_id: any
4259    :param resource_group_name: Data Lake Analytics account resource group name (if different from
4260     Data Factory account). Type: string (or Expression with resultType string).
4261    :type resource_group_name: any
4262    :param data_lake_analytics_uri: Azure Data Lake Analytics URI Type: string (or Expression with
4263     resultType string).
4264    :type data_lake_analytics_uri: any
4265    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
4266     encrypted using the integration runtime credential manager. Type: string (or Expression with
4267     resultType string).
4268    :type encrypted_credential: any
4269    """
4270
4271    _validation = {
4272        'type': {'required': True},
4273        'account_name': {'required': True},
4274        'tenant': {'required': True},
4275    }
4276
4277    _attribute_map = {
4278        'additional_properties': {'key': '', 'type': '{object}'},
4279        'type': {'key': 'type', 'type': 'str'},
4280        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
4281        'description': {'key': 'description', 'type': 'str'},
4282        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
4283        'annotations': {'key': 'annotations', 'type': '[object]'},
4284        'account_name': {'key': 'typeProperties.accountName', 'type': 'object'},
4285        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
4286        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
4287        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
4288        'subscription_id': {'key': 'typeProperties.subscriptionId', 'type': 'object'},
4289        'resource_group_name': {'key': 'typeProperties.resourceGroupName', 'type': 'object'},
4290        'data_lake_analytics_uri': {'key': 'typeProperties.dataLakeAnalyticsUri', 'type': 'object'},
4291        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
4292    }
4293
4294    def __init__(
4295        self,
4296        *,
4297        account_name: Any,
4298        tenant: Any,
4299        additional_properties: Optional[Dict[str, Any]] = None,
4300        connect_via: Optional["IntegrationRuntimeReference"] = None,
4301        description: Optional[str] = None,
4302        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
4303        annotations: Optional[List[Any]] = None,
4304        service_principal_id: Optional[Any] = None,
4305        service_principal_key: Optional["SecretBase"] = None,
4306        subscription_id: Optional[Any] = None,
4307        resource_group_name: Optional[Any] = None,
4308        data_lake_analytics_uri: Optional[Any] = None,
4309        encrypted_credential: Optional[Any] = None,
4310        **kwargs
4311    ):
4312        super(AzureDataLakeAnalyticsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
4313        self.type = 'AzureDataLakeAnalytics'  # type: str
4314        self.account_name = account_name
4315        self.service_principal_id = service_principal_id
4316        self.service_principal_key = service_principal_key
4317        self.tenant = tenant
4318        self.subscription_id = subscription_id
4319        self.resource_group_name = resource_group_name
4320        self.data_lake_analytics_uri = data_lake_analytics_uri
4321        self.encrypted_credential = encrypted_credential
4322
4323
4324class AzureDataLakeStoreDataset(Dataset):
4325    """Azure Data Lake Store dataset.
4326
4327    All required parameters must be populated in order to send to Azure.
4328
4329    :param additional_properties: Unmatched properties from the message are deserialized to this
4330     collection.
4331    :type additional_properties: dict[str, any]
4332    :param type: Required. Type of dataset.Constant filled by server.
4333    :type type: str
4334    :param description: Dataset description.
4335    :type description: str
4336    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
4337     with resultType array), itemType: DatasetDataElement.
4338    :type structure: any
4339    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
4340     Expression with resultType array), itemType: DatasetSchemaDataElement.
4341    :type schema: any
4342    :param linked_service_name: Required. Linked service reference.
4343    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
4344    :param parameters: Parameters for dataset.
4345    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
4346    :param annotations: List of tags that can be used for describing the Dataset.
4347    :type annotations: list[any]
4348    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
4349     root level.
4350    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
4351    :param folder_path: Path to the folder in the Azure Data Lake Store. Type: string (or
4352     Expression with resultType string).
4353    :type folder_path: any
4354    :param file_name: The name of the file in the Azure Data Lake Store. Type: string (or
4355     Expression with resultType string).
4356    :type file_name: any
4357    :param format: The format of the Data Lake Store.
4358    :type format: ~azure.synapse.artifacts.v2020_12_01.models.DatasetStorageFormat
4359    :param compression: The data compression method used for the item(s) in the Azure Data Lake
4360     Store.
4361    :type compression: ~azure.synapse.artifacts.v2020_12_01.models.DatasetCompression
4362    """
4363
4364    _validation = {
4365        'type': {'required': True},
4366        'linked_service_name': {'required': True},
4367    }
4368
4369    _attribute_map = {
4370        'additional_properties': {'key': '', 'type': '{object}'},
4371        'type': {'key': 'type', 'type': 'str'},
4372        'description': {'key': 'description', 'type': 'str'},
4373        'structure': {'key': 'structure', 'type': 'object'},
4374        'schema': {'key': 'schema', 'type': 'object'},
4375        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
4376        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
4377        'annotations': {'key': 'annotations', 'type': '[object]'},
4378        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
4379        'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'},
4380        'file_name': {'key': 'typeProperties.fileName', 'type': 'object'},
4381        'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'},
4382        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
4383    }
4384
4385    def __init__(
4386        self,
4387        *,
4388        linked_service_name: "LinkedServiceReference",
4389        additional_properties: Optional[Dict[str, Any]] = None,
4390        description: Optional[str] = None,
4391        structure: Optional[Any] = None,
4392        schema: Optional[Any] = None,
4393        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
4394        annotations: Optional[List[Any]] = None,
4395        folder: Optional["DatasetFolder"] = None,
4396        folder_path: Optional[Any] = None,
4397        file_name: Optional[Any] = None,
4398        format: Optional["DatasetStorageFormat"] = None,
4399        compression: Optional["DatasetCompression"] = None,
4400        **kwargs
4401    ):
4402        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)
4403        self.type = 'AzureDataLakeStoreFile'  # type: str
4404        self.folder_path = folder_path
4405        self.file_name = file_name
4406        self.format = format
4407        self.compression = compression
4408
4409
4410class AzureDataLakeStoreLinkedService(LinkedService):
4411    """Azure Data Lake Store linked service.
4412
4413    All required parameters must be populated in order to send to Azure.
4414
4415    :param additional_properties: Unmatched properties from the message are deserialized to this
4416     collection.
4417    :type additional_properties: dict[str, any]
4418    :param type: Required. Type of linked service.Constant filled by server.
4419    :type type: str
4420    :param connect_via: The integration runtime reference.
4421    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
4422    :param description: Linked service description.
4423    :type description: str
4424    :param parameters: Parameters for linked service.
4425    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
4426    :param annotations: List of tags that can be used for describing the linked service.
4427    :type annotations: list[any]
4428    :param data_lake_store_uri: Required. Data Lake Store service URI. Type: string (or Expression
4429     with resultType string).
4430    :type data_lake_store_uri: any
4431    :param service_principal_id: The ID of the application used to authenticate against the Azure
4432     Data Lake Store account. Type: string (or Expression with resultType string).
4433    :type service_principal_id: any
4434    :param service_principal_key: The Key of the application used to authenticate against the Azure
4435     Data Lake Store account.
4436    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
4437    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
4438     string (or Expression with resultType string).
4439    :type tenant: any
4440    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
4441     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
4442     factory regions’ cloud type. Type: string (or Expression with resultType string).
4443    :type azure_cloud_type: any
4444    :param account_name: Data Lake Store account name. Type: string (or Expression with resultType
4445     string).
4446    :type account_name: any
4447    :param subscription_id: Data Lake Store account subscription ID (if different from Data Factory
4448     account). Type: string (or Expression with resultType string).
4449    :type subscription_id: any
4450    :param resource_group_name: Data Lake Store account resource group name (if different from Data
4451     Factory account). Type: string (or Expression with resultType string).
4452    :type resource_group_name: any
4453    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
4454     encrypted using the integration runtime credential manager. Type: string (or Expression with
4455     resultType string).
4456    :type encrypted_credential: any
4457    """
4458
4459    _validation = {
4460        'type': {'required': True},
4461        'data_lake_store_uri': {'required': True},
4462    }
4463
4464    _attribute_map = {
4465        'additional_properties': {'key': '', 'type': '{object}'},
4466        'type': {'key': 'type', 'type': 'str'},
4467        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
4468        'description': {'key': 'description', 'type': 'str'},
4469        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
4470        'annotations': {'key': 'annotations', 'type': '[object]'},
4471        'data_lake_store_uri': {'key': 'typeProperties.dataLakeStoreUri', 'type': 'object'},
4472        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
4473        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
4474        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
4475        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
4476        'account_name': {'key': 'typeProperties.accountName', 'type': 'object'},
4477        'subscription_id': {'key': 'typeProperties.subscriptionId', 'type': 'object'},
4478        'resource_group_name': {'key': 'typeProperties.resourceGroupName', 'type': 'object'},
4479        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
4480    }
4481
4482    def __init__(
4483        self,
4484        *,
4485        data_lake_store_uri: Any,
4486        additional_properties: Optional[Dict[str, Any]] = None,
4487        connect_via: Optional["IntegrationRuntimeReference"] = None,
4488        description: Optional[str] = None,
4489        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
4490        annotations: Optional[List[Any]] = None,
4491        service_principal_id: Optional[Any] = None,
4492        service_principal_key: Optional["SecretBase"] = None,
4493        tenant: Optional[Any] = None,
4494        azure_cloud_type: Optional[Any] = None,
4495        account_name: Optional[Any] = None,
4496        subscription_id: Optional[Any] = None,
4497        resource_group_name: Optional[Any] = None,
4498        encrypted_credential: Optional[Any] = None,
4499        **kwargs
4500    ):
4501        super(AzureDataLakeStoreLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
4502        self.type = 'AzureDataLakeStore'  # type: str
4503        self.data_lake_store_uri = data_lake_store_uri
4504        self.service_principal_id = service_principal_id
4505        self.service_principal_key = service_principal_key
4506        self.tenant = tenant
4507        self.azure_cloud_type = azure_cloud_type
4508        self.account_name = account_name
4509        self.subscription_id = subscription_id
4510        self.resource_group_name = resource_group_name
4511        self.encrypted_credential = encrypted_credential
4512
4513
4514class AzureDataLakeStoreLocation(DatasetLocation):
4515    """The location of azure data lake store dataset.
4516
4517    All required parameters must be populated in order to send to Azure.
4518
4519    :param additional_properties: Unmatched properties from the message are deserialized to this
4520     collection.
4521    :type additional_properties: dict[str, any]
4522    :param type: Required. Type of dataset storage location.Constant filled by server.
4523    :type type: str
4524    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
4525     resultType string).
4526    :type folder_path: any
4527    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
4528     string).
4529    :type file_name: any
4530    """
4531
4532    _validation = {
4533        'type': {'required': True},
4534    }
4535
4536    _attribute_map = {
4537        'additional_properties': {'key': '', 'type': '{object}'},
4538        'type': {'key': 'type', 'type': 'str'},
4539        'folder_path': {'key': 'folderPath', 'type': 'object'},
4540        'file_name': {'key': 'fileName', 'type': 'object'},
4541    }
4542
4543    def __init__(
4544        self,
4545        *,
4546        additional_properties: Optional[Dict[str, Any]] = None,
4547        folder_path: Optional[Any] = None,
4548        file_name: Optional[Any] = None,
4549        **kwargs
4550    ):
4551        super(AzureDataLakeStoreLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
4552        self.type = 'AzureDataLakeStoreLocation'  # type: str
4553
4554
4555class AzureDataLakeStoreReadSettings(StoreReadSettings):
4556    """Azure data lake store read settings.
4557
4558    All required parameters must be populated in order to send to Azure.
4559
4560    :param additional_properties: Unmatched properties from the message are deserialized to this
4561     collection.
4562    :type additional_properties: dict[str, any]
4563    :param type: Required. The read setting type.Constant filled by server.
4564    :type type: str
4565    :param max_concurrent_connections: The maximum concurrent connection count for the source data
4566     store. Type: integer (or Expression with resultType integer).
4567    :type max_concurrent_connections: any
4568    :param recursive: If true, files under the folder path will be read recursively. Default is
4569     true. Type: boolean (or Expression with resultType boolean).
4570    :type recursive: any
4571    :param wildcard_folder_path: ADLS wildcardFolderPath. Type: string (or Expression with
4572     resultType string).
4573    :type wildcard_folder_path: any
4574    :param wildcard_file_name: ADLS wildcardFileName. Type: string (or Expression with resultType
4575     string).
4576    :type wildcard_file_name: any
4577    :param file_list_path: Point to a text file that lists each file (relative path to the path
4578     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
4579     string).
4580    :type file_list_path: any
4581    :param list_after: Lists files after the value (exclusive) based on file/folder names’
4582     lexicographical order. Applies under the folderPath in data set, and filter files/sub-folders
4583     under the folderPath. Type: string (or Expression with resultType string).
4584    :type list_after: any
4585    :param list_before: Lists files before the value (inclusive) based on file/folder names’
4586     lexicographical order. Applies under the folderPath in data set, and filter files/sub-folders
4587     under the folderPath. Type: string (or Expression with resultType string).
4588    :type list_before: any
4589    :param enable_partition_discovery: Indicates whether to enable partition discovery.
4590    :type enable_partition_discovery: bool
4591    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
4592     string (or Expression with resultType string).
4593    :type partition_root_path: any
4594    :param delete_files_after_completion: Indicates whether the source files need to be deleted
4595     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
4596    :type delete_files_after_completion: any
4597    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
4598     Expression with resultType string).
4599    :type modified_datetime_start: any
4600    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
4601     with resultType string).
4602    :type modified_datetime_end: any
4603    """
4604
4605    _validation = {
4606        'type': {'required': True},
4607    }
4608
4609    _attribute_map = {
4610        'additional_properties': {'key': '', 'type': '{object}'},
4611        'type': {'key': 'type', 'type': 'str'},
4612        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
4613        'recursive': {'key': 'recursive', 'type': 'object'},
4614        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
4615        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
4616        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
4617        'list_after': {'key': 'listAfter', 'type': 'object'},
4618        'list_before': {'key': 'listBefore', 'type': 'object'},
4619        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
4620        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
4621        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
4622        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
4623        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
4624    }
4625
4626    def __init__(
4627        self,
4628        *,
4629        additional_properties: Optional[Dict[str, Any]] = None,
4630        max_concurrent_connections: Optional[Any] = None,
4631        recursive: Optional[Any] = None,
4632        wildcard_folder_path: Optional[Any] = None,
4633        wildcard_file_name: Optional[Any] = None,
4634        file_list_path: Optional[Any] = None,
4635        list_after: Optional[Any] = None,
4636        list_before: Optional[Any] = None,
4637        enable_partition_discovery: Optional[bool] = None,
4638        partition_root_path: Optional[Any] = None,
4639        delete_files_after_completion: Optional[Any] = None,
4640        modified_datetime_start: Optional[Any] = None,
4641        modified_datetime_end: Optional[Any] = None,
4642        **kwargs
4643    ):
4644        super(AzureDataLakeStoreReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
4645        self.type = 'AzureDataLakeStoreReadSettings'  # type: str
4646        self.recursive = recursive
4647        self.wildcard_folder_path = wildcard_folder_path
4648        self.wildcard_file_name = wildcard_file_name
4649        self.file_list_path = file_list_path
4650        self.list_after = list_after
4651        self.list_before = list_before
4652        self.enable_partition_discovery = enable_partition_discovery
4653        self.partition_root_path = partition_root_path
4654        self.delete_files_after_completion = delete_files_after_completion
4655        self.modified_datetime_start = modified_datetime_start
4656        self.modified_datetime_end = modified_datetime_end
4657
4658
4659class AzureDataLakeStoreSink(CopySink):
4660    """A copy activity Azure Data Lake Store sink.
4661
4662    All required parameters must be populated in order to send to Azure.
4663
4664    :param additional_properties: Unmatched properties from the message are deserialized to this
4665     collection.
4666    :type additional_properties: dict[str, any]
4667    :param type: Required. Copy sink type.Constant filled by server.
4668    :type type: str
4669    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
4670     integer), minimum: 0.
4671    :type write_batch_size: any
4672    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
4673     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
4674    :type write_batch_timeout: any
4675    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
4676     integer).
4677    :type sink_retry_count: any
4678    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
4679     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
4680    :type sink_retry_wait: any
4681    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
4682     store. Type: integer (or Expression with resultType integer).
4683    :type max_concurrent_connections: any
4684    :param copy_behavior: The type of copy behavior for copy sink.
4685    :type copy_behavior: any
4686    :param enable_adls_single_file_parallel: Single File Parallel.
4687    :type enable_adls_single_file_parallel: any
4688    """
4689
4690    _validation = {
4691        'type': {'required': True},
4692    }
4693
4694    _attribute_map = {
4695        'additional_properties': {'key': '', 'type': '{object}'},
4696        'type': {'key': 'type', 'type': 'str'},
4697        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
4698        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
4699        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
4700        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
4701        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
4702        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
4703        'enable_adls_single_file_parallel': {'key': 'enableAdlsSingleFileParallel', 'type': 'object'},
4704    }
4705
4706    def __init__(
4707        self,
4708        *,
4709        additional_properties: Optional[Dict[str, Any]] = None,
4710        write_batch_size: Optional[Any] = None,
4711        write_batch_timeout: Optional[Any] = None,
4712        sink_retry_count: Optional[Any] = None,
4713        sink_retry_wait: Optional[Any] = None,
4714        max_concurrent_connections: Optional[Any] = None,
4715        copy_behavior: Optional[Any] = None,
4716        enable_adls_single_file_parallel: Optional[Any] = None,
4717        **kwargs
4718    ):
4719        super(AzureDataLakeStoreSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
4720        self.type = 'AzureDataLakeStoreSink'  # type: str
4721        self.copy_behavior = copy_behavior
4722        self.enable_adls_single_file_parallel = enable_adls_single_file_parallel
4723
4724
4725class AzureDataLakeStoreSource(CopySource):
4726    """A copy activity Azure Data Lake source.
4727
4728    All required parameters must be populated in order to send to Azure.
4729
4730    :param additional_properties: Unmatched properties from the message are deserialized to this
4731     collection.
4732    :type additional_properties: dict[str, any]
4733    :param type: Required. Copy source type.Constant filled by server.
4734    :type type: str
4735    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
4736     integer).
4737    :type source_retry_count: any
4738    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
4739     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
4740    :type source_retry_wait: any
4741    :param max_concurrent_connections: The maximum concurrent connection count for the source data
4742     store. Type: integer (or Expression with resultType integer).
4743    :type max_concurrent_connections: any
4744    :param recursive: If true, files under the folder path will be read recursively. Default is
4745     true. Type: boolean (or Expression with resultType boolean).
4746    :type recursive: any
4747    """
4748
4749    _validation = {
4750        'type': {'required': True},
4751    }
4752
4753    _attribute_map = {
4754        'additional_properties': {'key': '', 'type': '{object}'},
4755        'type': {'key': 'type', 'type': 'str'},
4756        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
4757        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
4758        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
4759        'recursive': {'key': 'recursive', 'type': 'object'},
4760    }
4761
4762    def __init__(
4763        self,
4764        *,
4765        additional_properties: Optional[Dict[str, Any]] = None,
4766        source_retry_count: Optional[Any] = None,
4767        source_retry_wait: Optional[Any] = None,
4768        max_concurrent_connections: Optional[Any] = None,
4769        recursive: Optional[Any] = None,
4770        **kwargs
4771    ):
4772        super(AzureDataLakeStoreSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
4773        self.type = 'AzureDataLakeStoreSource'  # type: str
4774        self.recursive = recursive
4775
4776
4777class AzureDataLakeStoreWriteSettings(StoreWriteSettings):
4778    """Azure data lake store write settings.
4779
4780    All required parameters must be populated in order to send to Azure.
4781
4782    :param additional_properties: Unmatched properties from the message are deserialized to this
4783     collection.
4784    :type additional_properties: dict[str, any]
4785    :param type: Required. The write setting type.Constant filled by server.
4786    :type type: str
4787    :param max_concurrent_connections: The maximum concurrent connection count for the source data
4788     store. Type: integer (or Expression with resultType integer).
4789    :type max_concurrent_connections: any
4790    :param copy_behavior: The type of copy behavior for copy sink.
4791    :type copy_behavior: any
4792    :param expiry_date_time: Specifies the expiry time of the written files. The time is applied to
4793     the UTC time zone in the format of "2018-12-01T05:00:00Z". Default value is NULL. Type: integer
4794     (or Expression with resultType integer).
4795    :type expiry_date_time: any
4796    """
4797
4798    _validation = {
4799        'type': {'required': True},
4800    }
4801
4802    _attribute_map = {
4803        'additional_properties': {'key': '', 'type': '{object}'},
4804        'type': {'key': 'type', 'type': 'str'},
4805        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
4806        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
4807        'expiry_date_time': {'key': 'expiryDateTime', 'type': 'object'},
4808    }
4809
4810    def __init__(
4811        self,
4812        *,
4813        additional_properties: Optional[Dict[str, Any]] = None,
4814        max_concurrent_connections: Optional[Any] = None,
4815        copy_behavior: Optional[Any] = None,
4816        expiry_date_time: Optional[Any] = None,
4817        **kwargs
4818    ):
4819        super(AzureDataLakeStoreWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs)
4820        self.type = 'AzureDataLakeStoreWriteSettings'  # type: str
4821        self.expiry_date_time = expiry_date_time
4822
4823
4824class Resource(msrest.serialization.Model):
4825    """Common fields that are returned in the response for all Azure Resource Manager resources.
4826
4827    Variables are only populated by the server, and will be ignored when sending a request.
4828
4829    :ivar id: Fully qualified resource ID for the resource. Ex -
4830     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
4831    :vartype id: str
4832    :ivar name: The name of the resource.
4833    :vartype name: str
4834    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
4835     "Microsoft.Storage/storageAccounts".
4836    :vartype type: str
4837    """
4838
4839    _validation = {
4840        'id': {'readonly': True},
4841        'name': {'readonly': True},
4842        'type': {'readonly': True},
4843    }
4844
4845    _attribute_map = {
4846        'id': {'key': 'id', 'type': 'str'},
4847        'name': {'key': 'name', 'type': 'str'},
4848        'type': {'key': 'type', 'type': 'str'},
4849    }
4850
4851    def __init__(
4852        self,
4853        **kwargs
4854    ):
4855        super(Resource, self).__init__(**kwargs)
4856        self.id = None
4857        self.name = None
4858        self.type = None
4859
4860
4861class AzureEntityResource(Resource):
4862    """The resource model definition for an Azure Resource Manager resource with an etag.
4863
4864    Variables are only populated by the server, and will be ignored when sending a request.
4865
4866    :ivar id: Fully qualified resource ID for the resource. Ex -
4867     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
4868    :vartype id: str
4869    :ivar name: The name of the resource.
4870    :vartype name: str
4871    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
4872     "Microsoft.Storage/storageAccounts".
4873    :vartype type: str
4874    :ivar etag: Resource Etag.
4875    :vartype etag: str
4876    """
4877
4878    _validation = {
4879        'id': {'readonly': True},
4880        'name': {'readonly': True},
4881        'type': {'readonly': True},
4882        'etag': {'readonly': True},
4883    }
4884
4885    _attribute_map = {
4886        'id': {'key': 'id', 'type': 'str'},
4887        'name': {'key': 'name', 'type': 'str'},
4888        'type': {'key': 'type', 'type': 'str'},
4889        'etag': {'key': 'etag', 'type': 'str'},
4890    }
4891
4892    def __init__(
4893        self,
4894        **kwargs
4895    ):
4896        super(AzureEntityResource, self).__init__(**kwargs)
4897        self.etag = None
4898
4899
4900class AzureFileStorageLinkedService(LinkedService):
4901    """Azure File Storage linked service.
4902
4903    All required parameters must be populated in order to send to Azure.
4904
4905    :param additional_properties: Unmatched properties from the message are deserialized to this
4906     collection.
4907    :type additional_properties: dict[str, any]
4908    :param type: Required. Type of linked service.Constant filled by server.
4909    :type type: str
4910    :param connect_via: The integration runtime reference.
4911    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
4912    :param description: Linked service description.
4913    :type description: str
4914    :param parameters: Parameters for linked service.
4915    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
4916    :param annotations: List of tags that can be used for describing the linked service.
4917    :type annotations: list[any]
4918    :param host: Required. Host name of the server. Type: string (or Expression with resultType
4919     string).
4920    :type host: any
4921    :param user_id: User ID to logon the server. Type: string (or Expression with resultType
4922     string).
4923    :type user_id: any
4924    :param password: Password to logon the server.
4925    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
4926    :param connection_string: The connection string. It is mutually exclusive with sasUri property.
4927     Type: string, SecureString or AzureKeyVaultSecretReference.
4928    :type connection_string: any
4929    :param account_key: The Azure key vault secret reference of accountKey in connection string.
4930    :type account_key: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
4931    :param sas_uri: SAS URI of the Azure File resource. It is mutually exclusive with
4932     connectionString property. Type: string, SecureString or AzureKeyVaultSecretReference.
4933    :type sas_uri: any
4934    :param sas_token: The Azure key vault secret reference of sasToken in sas uri.
4935    :type sas_token: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
4936    :param file_share: The azure file share name. It is required when auth with
4937     accountKey/sasToken. Type: string (or Expression with resultType string).
4938    :type file_share: any
4939    :param snapshot: The azure file share snapshot version. Type: string (or Expression with
4940     resultType string).
4941    :type snapshot: any
4942    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
4943     encrypted using the integration runtime credential manager. Type: string (or Expression with
4944     resultType string).
4945    :type encrypted_credential: any
4946    """
4947
4948    _validation = {
4949        'type': {'required': True},
4950        'host': {'required': True},
4951    }
4952
4953    _attribute_map = {
4954        'additional_properties': {'key': '', 'type': '{object}'},
4955        'type': {'key': 'type', 'type': 'str'},
4956        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
4957        'description': {'key': 'description', 'type': 'str'},
4958        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
4959        'annotations': {'key': 'annotations', 'type': '[object]'},
4960        'host': {'key': 'typeProperties.host', 'type': 'object'},
4961        'user_id': {'key': 'typeProperties.userId', 'type': 'object'},
4962        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
4963        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
4964        'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'},
4965        'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'},
4966        'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'},
4967        'file_share': {'key': 'typeProperties.fileShare', 'type': 'object'},
4968        'snapshot': {'key': 'typeProperties.snapshot', 'type': 'object'},
4969        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
4970    }
4971
4972    def __init__(
4973        self,
4974        *,
4975        host: Any,
4976        additional_properties: Optional[Dict[str, Any]] = None,
4977        connect_via: Optional["IntegrationRuntimeReference"] = None,
4978        description: Optional[str] = None,
4979        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
4980        annotations: Optional[List[Any]] = None,
4981        user_id: Optional[Any] = None,
4982        password: Optional["SecretBase"] = None,
4983        connection_string: Optional[Any] = None,
4984        account_key: Optional["AzureKeyVaultSecretReference"] = None,
4985        sas_uri: Optional[Any] = None,
4986        sas_token: Optional["AzureKeyVaultSecretReference"] = None,
4987        file_share: Optional[Any] = None,
4988        snapshot: Optional[Any] = None,
4989        encrypted_credential: Optional[Any] = None,
4990        **kwargs
4991    ):
4992        super(AzureFileStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
4993        self.type = 'AzureFileStorage'  # type: str
4994        self.host = host
4995        self.user_id = user_id
4996        self.password = password
4997        self.connection_string = connection_string
4998        self.account_key = account_key
4999        self.sas_uri = sas_uri
5000        self.sas_token = sas_token
5001        self.file_share = file_share
5002        self.snapshot = snapshot
5003        self.encrypted_credential = encrypted_credential
5004
5005
5006class AzureFileStorageLocation(DatasetLocation):
5007    """The location of file server dataset.
5008
5009    All required parameters must be populated in order to send to Azure.
5010
5011    :param additional_properties: Unmatched properties from the message are deserialized to this
5012     collection.
5013    :type additional_properties: dict[str, any]
5014    :param type: Required. Type of dataset storage location.Constant filled by server.
5015    :type type: str
5016    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
5017     resultType string).
5018    :type folder_path: any
5019    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
5020     string).
5021    :type file_name: any
5022    """
5023
5024    _validation = {
5025        'type': {'required': True},
5026    }
5027
5028    _attribute_map = {
5029        'additional_properties': {'key': '', 'type': '{object}'},
5030        'type': {'key': 'type', 'type': 'str'},
5031        'folder_path': {'key': 'folderPath', 'type': 'object'},
5032        'file_name': {'key': 'fileName', 'type': 'object'},
5033    }
5034
5035    def __init__(
5036        self,
5037        *,
5038        additional_properties: Optional[Dict[str, Any]] = None,
5039        folder_path: Optional[Any] = None,
5040        file_name: Optional[Any] = None,
5041        **kwargs
5042    ):
5043        super(AzureFileStorageLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
5044        self.type = 'AzureFileStorageLocation'  # type: str
5045
5046
5047class AzureFileStorageReadSettings(StoreReadSettings):
5048    """Azure File Storage read settings.
5049
5050    All required parameters must be populated in order to send to Azure.
5051
5052    :param additional_properties: Unmatched properties from the message are deserialized to this
5053     collection.
5054    :type additional_properties: dict[str, any]
5055    :param type: Required. The read setting type.Constant filled by server.
5056    :type type: str
5057    :param max_concurrent_connections: The maximum concurrent connection count for the source data
5058     store. Type: integer (or Expression with resultType integer).
5059    :type max_concurrent_connections: any
5060    :param recursive: If true, files under the folder path will be read recursively. Default is
5061     true. Type: boolean (or Expression with resultType boolean).
5062    :type recursive: any
5063    :param wildcard_folder_path: Azure File Storage wildcardFolderPath. Type: string (or Expression
5064     with resultType string).
5065    :type wildcard_folder_path: any
5066    :param wildcard_file_name: Azure File Storage wildcardFileName. Type: string (or Expression
5067     with resultType string).
5068    :type wildcard_file_name: any
5069    :param prefix: The prefix filter for the Azure File name starting from root path. Type: string
5070     (or Expression with resultType string).
5071    :type prefix: any
5072    :param file_list_path: Point to a text file that lists each file (relative path to the path
5073     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
5074     string).
5075    :type file_list_path: any
5076    :param enable_partition_discovery: Indicates whether to enable partition discovery.
5077    :type enable_partition_discovery: bool
5078    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
5079     string (or Expression with resultType string).
5080    :type partition_root_path: any
5081    :param delete_files_after_completion: Indicates whether the source files need to be deleted
5082     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
5083    :type delete_files_after_completion: any
5084    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
5085     Expression with resultType string).
5086    :type modified_datetime_start: any
5087    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
5088     with resultType string).
5089    :type modified_datetime_end: any
5090    """
5091
5092    _validation = {
5093        'type': {'required': True},
5094    }
5095
5096    _attribute_map = {
5097        'additional_properties': {'key': '', 'type': '{object}'},
5098        'type': {'key': 'type', 'type': 'str'},
5099        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
5100        'recursive': {'key': 'recursive', 'type': 'object'},
5101        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
5102        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
5103        'prefix': {'key': 'prefix', 'type': 'object'},
5104        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
5105        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
5106        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
5107        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
5108        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
5109        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
5110    }
5111
5112    def __init__(
5113        self,
5114        *,
5115        additional_properties: Optional[Dict[str, Any]] = None,
5116        max_concurrent_connections: Optional[Any] = None,
5117        recursive: Optional[Any] = None,
5118        wildcard_folder_path: Optional[Any] = None,
5119        wildcard_file_name: Optional[Any] = None,
5120        prefix: Optional[Any] = None,
5121        file_list_path: Optional[Any] = None,
5122        enable_partition_discovery: Optional[bool] = None,
5123        partition_root_path: Optional[Any] = None,
5124        delete_files_after_completion: Optional[Any] = None,
5125        modified_datetime_start: Optional[Any] = None,
5126        modified_datetime_end: Optional[Any] = None,
5127        **kwargs
5128    ):
5129        super(AzureFileStorageReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
5130        self.type = 'AzureFileStorageReadSettings'  # type: str
5131        self.recursive = recursive
5132        self.wildcard_folder_path = wildcard_folder_path
5133        self.wildcard_file_name = wildcard_file_name
5134        self.prefix = prefix
5135        self.file_list_path = file_list_path
5136        self.enable_partition_discovery = enable_partition_discovery
5137        self.partition_root_path = partition_root_path
5138        self.delete_files_after_completion = delete_files_after_completion
5139        self.modified_datetime_start = modified_datetime_start
5140        self.modified_datetime_end = modified_datetime_end
5141
5142
5143class AzureFileStorageWriteSettings(StoreWriteSettings):
5144    """Azure File Storage write settings.
5145
5146    All required parameters must be populated in order to send to Azure.
5147
5148    :param additional_properties: Unmatched properties from the message are deserialized to this
5149     collection.
5150    :type additional_properties: dict[str, any]
5151    :param type: Required. The write setting type.Constant filled by server.
5152    :type type: str
5153    :param max_concurrent_connections: The maximum concurrent connection count for the source data
5154     store. Type: integer (or Expression with resultType integer).
5155    :type max_concurrent_connections: any
5156    :param copy_behavior: The type of copy behavior for copy sink.
5157    :type copy_behavior: any
5158    """
5159
5160    _validation = {
5161        'type': {'required': True},
5162    }
5163
5164    _attribute_map = {
5165        'additional_properties': {'key': '', 'type': '{object}'},
5166        'type': {'key': 'type', 'type': 'str'},
5167        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
5168        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
5169    }
5170
5171    def __init__(
5172        self,
5173        *,
5174        additional_properties: Optional[Dict[str, Any]] = None,
5175        max_concurrent_connections: Optional[Any] = None,
5176        copy_behavior: Optional[Any] = None,
5177        **kwargs
5178    ):
5179        super(AzureFileStorageWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs)
5180        self.type = 'AzureFileStorageWriteSettings'  # type: str
5181
5182
5183class AzureFunctionActivity(ExecutionActivity):
5184    """Azure Function activity.
5185
5186    All required parameters must be populated in order to send to Azure.
5187
5188    :param additional_properties: Unmatched properties from the message are deserialized to this
5189     collection.
5190    :type additional_properties: dict[str, any]
5191    :param name: Required. Activity name.
5192    :type name: str
5193    :param type: Required. Type of activity.Constant filled by server.
5194    :type type: str
5195    :param description: Activity description.
5196    :type description: str
5197    :param depends_on: Activity depends on condition.
5198    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
5199    :param user_properties: Activity user properties.
5200    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
5201    :param linked_service_name: Linked service reference.
5202    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
5203    :param policy: Activity policy.
5204    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
5205    :param method: Required. Rest API method for target endpoint. Possible values include: "GET",
5206     "POST", "PUT", "DELETE", "OPTIONS", "HEAD", "TRACE".
5207    :type method: str or ~azure.synapse.artifacts.v2020_12_01.models.AzureFunctionActivityMethod
5208    :param function_name: Required. Name of the Function that the Azure Function Activity will
5209     call. Type: string (or Expression with resultType string).
5210    :type function_name: any
5211    :param headers: Represents the headers that will be sent to the request. For example, to set
5212     the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type":
5213     "application/json" }. Type: string (or Expression with resultType string).
5214    :type headers: any
5215    :param body: Represents the payload that will be sent to the endpoint. Required for POST/PUT
5216     method, not allowed for GET method Type: string (or Expression with resultType string).
5217    :type body: any
5218    """
5219
5220    _validation = {
5221        'name': {'required': True},
5222        'type': {'required': True},
5223        'method': {'required': True},
5224        'function_name': {'required': True},
5225    }
5226
5227    _attribute_map = {
5228        'additional_properties': {'key': '', 'type': '{object}'},
5229        'name': {'key': 'name', 'type': 'str'},
5230        'type': {'key': 'type', 'type': 'str'},
5231        'description': {'key': 'description', 'type': 'str'},
5232        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
5233        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
5234        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
5235        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
5236        'method': {'key': 'typeProperties.method', 'type': 'str'},
5237        'function_name': {'key': 'typeProperties.functionName', 'type': 'object'},
5238        'headers': {'key': 'typeProperties.headers', 'type': 'object'},
5239        'body': {'key': 'typeProperties.body', 'type': 'object'},
5240    }
5241
5242    def __init__(
5243        self,
5244        *,
5245        name: str,
5246        method: Union[str, "AzureFunctionActivityMethod"],
5247        function_name: Any,
5248        additional_properties: Optional[Dict[str, Any]] = None,
5249        description: Optional[str] = None,
5250        depends_on: Optional[List["ActivityDependency"]] = None,
5251        user_properties: Optional[List["UserProperty"]] = None,
5252        linked_service_name: Optional["LinkedServiceReference"] = None,
5253        policy: Optional["ActivityPolicy"] = None,
5254        headers: Optional[Any] = None,
5255        body: Optional[Any] = None,
5256        **kwargs
5257    ):
5258        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)
5259        self.type = 'AzureFunctionActivity'  # type: str
5260        self.method = method
5261        self.function_name = function_name
5262        self.headers = headers
5263        self.body = body
5264
5265
5266class AzureFunctionLinkedService(LinkedService):
5267    """Azure Function linked service.
5268
5269    All required parameters must be populated in order to send to Azure.
5270
5271    :param additional_properties: Unmatched properties from the message are deserialized to this
5272     collection.
5273    :type additional_properties: dict[str, any]
5274    :param type: Required. Type of linked service.Constant filled by server.
5275    :type type: str
5276    :param connect_via: The integration runtime reference.
5277    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
5278    :param description: Linked service description.
5279    :type description: str
5280    :param parameters: Parameters for linked service.
5281    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
5282    :param annotations: List of tags that can be used for describing the linked service.
5283    :type annotations: list[any]
5284    :param function_app_url: Required. The endpoint of the Azure Function App. URL will be in the
5285     format https://:code:`<accountName>`.azurewebsites.net.
5286    :type function_app_url: any
5287    :param function_key: Function or Host key for Azure Function App.
5288    :type function_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
5289    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
5290     encrypted using the integration runtime credential manager. Type: string (or Expression with
5291     resultType string).
5292    :type encrypted_credential: any
5293    """
5294
5295    _validation = {
5296        'type': {'required': True},
5297        'function_app_url': {'required': True},
5298    }
5299
5300    _attribute_map = {
5301        'additional_properties': {'key': '', 'type': '{object}'},
5302        'type': {'key': 'type', 'type': 'str'},
5303        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
5304        'description': {'key': 'description', 'type': 'str'},
5305        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
5306        'annotations': {'key': 'annotations', 'type': '[object]'},
5307        'function_app_url': {'key': 'typeProperties.functionAppUrl', 'type': 'object'},
5308        'function_key': {'key': 'typeProperties.functionKey', 'type': 'SecretBase'},
5309        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
5310    }
5311
5312    def __init__(
5313        self,
5314        *,
5315        function_app_url: Any,
5316        additional_properties: Optional[Dict[str, Any]] = None,
5317        connect_via: Optional["IntegrationRuntimeReference"] = None,
5318        description: Optional[str] = None,
5319        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
5320        annotations: Optional[List[Any]] = None,
5321        function_key: Optional["SecretBase"] = None,
5322        encrypted_credential: Optional[Any] = None,
5323        **kwargs
5324    ):
5325        super(AzureFunctionLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
5326        self.type = 'AzureFunction'  # type: str
5327        self.function_app_url = function_app_url
5328        self.function_key = function_key
5329        self.encrypted_credential = encrypted_credential
5330
5331
5332class AzureKeyVaultLinkedService(LinkedService):
5333    """Azure Key Vault linked service.
5334
5335    All required parameters must be populated in order to send to Azure.
5336
5337    :param additional_properties: Unmatched properties from the message are deserialized to this
5338     collection.
5339    :type additional_properties: dict[str, any]
5340    :param type: Required. Type of linked service.Constant filled by server.
5341    :type type: str
5342    :param connect_via: The integration runtime reference.
5343    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
5344    :param description: Linked service description.
5345    :type description: str
5346    :param parameters: Parameters for linked service.
5347    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
5348    :param annotations: List of tags that can be used for describing the linked service.
5349    :type annotations: list[any]
5350    :param base_url: Required. The base URL of the Azure Key Vault. e.g.
5351     https://myakv.vault.azure.net Type: string (or Expression with resultType string).
5352    :type base_url: any
5353    """
5354
5355    _validation = {
5356        'type': {'required': True},
5357        'base_url': {'required': True},
5358    }
5359
5360    _attribute_map = {
5361        'additional_properties': {'key': '', 'type': '{object}'},
5362        'type': {'key': 'type', 'type': 'str'},
5363        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
5364        'description': {'key': 'description', 'type': 'str'},
5365        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
5366        'annotations': {'key': 'annotations', 'type': '[object]'},
5367        'base_url': {'key': 'typeProperties.baseUrl', 'type': 'object'},
5368    }
5369
5370    def __init__(
5371        self,
5372        *,
5373        base_url: Any,
5374        additional_properties: Optional[Dict[str, Any]] = None,
5375        connect_via: Optional["IntegrationRuntimeReference"] = None,
5376        description: Optional[str] = None,
5377        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
5378        annotations: Optional[List[Any]] = None,
5379        **kwargs
5380    ):
5381        super(AzureKeyVaultLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
5382        self.type = 'AzureKeyVault'  # type: str
5383        self.base_url = base_url
5384
5385
5386class SecretBase(msrest.serialization.Model):
5387    """The base definition of a secret type.
5388
5389    You probably want to use the sub-classes and not this class directly. Known
5390    sub-classes are: AzureKeyVaultSecretReference, SecureString.
5391
5392    All required parameters must be populated in order to send to Azure.
5393
5394    :param type: Required. Type of the secret.Constant filled by server.
5395    :type type: str
5396    """
5397
5398    _validation = {
5399        'type': {'required': True},
5400    }
5401
5402    _attribute_map = {
5403        'type': {'key': 'type', 'type': 'str'},
5404    }
5405
5406    _subtype_map = {
5407        'type': {'AzureKeyVaultSecret': 'AzureKeyVaultSecretReference', 'SecureString': 'SecureString'}
5408    }
5409
5410    def __init__(
5411        self,
5412        **kwargs
5413    ):
5414        super(SecretBase, self).__init__(**kwargs)
5415        self.type = None  # type: Optional[str]
5416
5417
5418class AzureKeyVaultSecretReference(SecretBase):
5419    """Azure Key Vault secret reference.
5420
5421    All required parameters must be populated in order to send to Azure.
5422
5423    :param type: Required. Type of the secret.Constant filled by server.
5424    :type type: str
5425    :param store: Required. The Azure Key Vault linked service reference.
5426    :type store: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
5427    :param secret_name: Required. The name of the secret in Azure Key Vault. Type: string (or
5428     Expression with resultType string).
5429    :type secret_name: any
5430    :param secret_version: The version of the secret in Azure Key Vault. The default value is the
5431     latest version of the secret. Type: string (or Expression with resultType string).
5432    :type secret_version: any
5433    """
5434
5435    _validation = {
5436        'type': {'required': True},
5437        'store': {'required': True},
5438        'secret_name': {'required': True},
5439    }
5440
5441    _attribute_map = {
5442        'type': {'key': 'type', 'type': 'str'},
5443        'store': {'key': 'store', 'type': 'LinkedServiceReference'},
5444        'secret_name': {'key': 'secretName', 'type': 'object'},
5445        'secret_version': {'key': 'secretVersion', 'type': 'object'},
5446    }
5447
5448    def __init__(
5449        self,
5450        *,
5451        store: "LinkedServiceReference",
5452        secret_name: Any,
5453        secret_version: Optional[Any] = None,
5454        **kwargs
5455    ):
5456        super(AzureKeyVaultSecretReference, self).__init__(**kwargs)
5457        self.type = 'AzureKeyVaultSecret'  # type: str
5458        self.store = store
5459        self.secret_name = secret_name
5460        self.secret_version = secret_version
5461
5462
5463class AzureMariaDBLinkedService(LinkedService):
5464    """Azure Database for MariaDB linked service.
5465
5466    All required parameters must be populated in order to send to Azure.
5467
5468    :param additional_properties: Unmatched properties from the message are deserialized to this
5469     collection.
5470    :type additional_properties: dict[str, any]
5471    :param type: Required. Type of linked service.Constant filled by server.
5472    :type type: str
5473    :param connect_via: The integration runtime reference.
5474    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
5475    :param description: Linked service description.
5476    :type description: str
5477    :param parameters: Parameters for linked service.
5478    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
5479    :param annotations: List of tags that can be used for describing the linked service.
5480    :type annotations: list[any]
5481    :param connection_string: An ODBC connection string. Type: string, SecureString or
5482     AzureKeyVaultSecretReference.
5483    :type connection_string: any
5484    :param pwd: The Azure key vault secret reference of password in connection string.
5485    :type pwd: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
5486    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
5487     encrypted using the integration runtime credential manager. Type: string (or Expression with
5488     resultType string).
5489    :type encrypted_credential: any
5490    """
5491
5492    _validation = {
5493        'type': {'required': True},
5494    }
5495
5496    _attribute_map = {
5497        'additional_properties': {'key': '', 'type': '{object}'},
5498        'type': {'key': 'type', 'type': 'str'},
5499        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
5500        'description': {'key': 'description', 'type': 'str'},
5501        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
5502        'annotations': {'key': 'annotations', 'type': '[object]'},
5503        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
5504        'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'},
5505        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
5506    }
5507
5508    def __init__(
5509        self,
5510        *,
5511        additional_properties: Optional[Dict[str, Any]] = None,
5512        connect_via: Optional["IntegrationRuntimeReference"] = None,
5513        description: Optional[str] = None,
5514        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
5515        annotations: Optional[List[Any]] = None,
5516        connection_string: Optional[Any] = None,
5517        pwd: Optional["AzureKeyVaultSecretReference"] = None,
5518        encrypted_credential: Optional[Any] = None,
5519        **kwargs
5520    ):
5521        super(AzureMariaDBLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
5522        self.type = 'AzureMariaDB'  # type: str
5523        self.connection_string = connection_string
5524        self.pwd = pwd
5525        self.encrypted_credential = encrypted_credential
5526
5527
5528class AzureMariaDBSource(TabularSource):
5529    """A copy activity Azure MariaDB source.
5530
5531    All required parameters must be populated in order to send to Azure.
5532
5533    :param additional_properties: Unmatched properties from the message are deserialized to this
5534     collection.
5535    :type additional_properties: dict[str, any]
5536    :param type: Required. Copy source type.Constant filled by server.
5537    :type type: str
5538    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
5539     integer).
5540    :type source_retry_count: any
5541    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
5542     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
5543    :type source_retry_wait: any
5544    :param max_concurrent_connections: The maximum concurrent connection count for the source data
5545     store. Type: integer (or Expression with resultType integer).
5546    :type max_concurrent_connections: any
5547    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
5548     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
5549    :type query_timeout: any
5550    :param additional_columns: Specifies the additional columns to be added to source data. Type:
5551     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
5552    :type additional_columns: any
5553    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
5554     string).
5555    :type query: any
5556    """
5557
5558    _validation = {
5559        'type': {'required': True},
5560    }
5561
5562    _attribute_map = {
5563        'additional_properties': {'key': '', 'type': '{object}'},
5564        'type': {'key': 'type', 'type': 'str'},
5565        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
5566        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
5567        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
5568        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
5569        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
5570        'query': {'key': 'query', 'type': 'object'},
5571    }
5572
5573    def __init__(
5574        self,
5575        *,
5576        additional_properties: Optional[Dict[str, Any]] = None,
5577        source_retry_count: Optional[Any] = None,
5578        source_retry_wait: Optional[Any] = None,
5579        max_concurrent_connections: Optional[Any] = None,
5580        query_timeout: Optional[Any] = None,
5581        additional_columns: Optional[Any] = None,
5582        query: Optional[Any] = None,
5583        **kwargs
5584    ):
5585        super(AzureMariaDBSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
5586        self.type = 'AzureMariaDBSource'  # type: str
5587        self.query = query
5588
5589
5590class AzureMariaDBTableDataset(Dataset):
5591    """Azure Database for MariaDB dataset.
5592
5593    All required parameters must be populated in order to send to Azure.
5594
5595    :param additional_properties: Unmatched properties from the message are deserialized to this
5596     collection.
5597    :type additional_properties: dict[str, any]
5598    :param type: Required. Type of dataset.Constant filled by server.
5599    :type type: str
5600    :param description: Dataset description.
5601    :type description: str
5602    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
5603     with resultType array), itemType: DatasetDataElement.
5604    :type structure: any
5605    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
5606     Expression with resultType array), itemType: DatasetSchemaDataElement.
5607    :type schema: any
5608    :param linked_service_name: Required. Linked service reference.
5609    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
5610    :param parameters: Parameters for dataset.
5611    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
5612    :param annotations: List of tags that can be used for describing the Dataset.
5613    :type annotations: list[any]
5614    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
5615     root level.
5616    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
5617    :param table_name: The table name. Type: string (or Expression with resultType string).
5618    :type table_name: any
5619    """
5620
5621    _validation = {
5622        'type': {'required': True},
5623        'linked_service_name': {'required': True},
5624    }
5625
5626    _attribute_map = {
5627        'additional_properties': {'key': '', 'type': '{object}'},
5628        'type': {'key': 'type', 'type': 'str'},
5629        'description': {'key': 'description', 'type': 'str'},
5630        'structure': {'key': 'structure', 'type': 'object'},
5631        'schema': {'key': 'schema', 'type': 'object'},
5632        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
5633        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
5634        'annotations': {'key': 'annotations', 'type': '[object]'},
5635        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
5636        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
5637    }
5638
5639    def __init__(
5640        self,
5641        *,
5642        linked_service_name: "LinkedServiceReference",
5643        additional_properties: Optional[Dict[str, Any]] = None,
5644        description: Optional[str] = None,
5645        structure: Optional[Any] = None,
5646        schema: Optional[Any] = None,
5647        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
5648        annotations: Optional[List[Any]] = None,
5649        folder: Optional["DatasetFolder"] = None,
5650        table_name: Optional[Any] = None,
5651        **kwargs
5652    ):
5653        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)
5654        self.type = 'AzureMariaDBTable'  # type: str
5655        self.table_name = table_name
5656
5657
5658class AzureMLBatchExecutionActivity(ExecutionActivity):
5659    """Azure ML Batch Execution activity.
5660
5661    All required parameters must be populated in order to send to Azure.
5662
5663    :param additional_properties: Unmatched properties from the message are deserialized to this
5664     collection.
5665    :type additional_properties: dict[str, any]
5666    :param name: Required. Activity name.
5667    :type name: str
5668    :param type: Required. Type of activity.Constant filled by server.
5669    :type type: str
5670    :param description: Activity description.
5671    :type description: str
5672    :param depends_on: Activity depends on condition.
5673    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
5674    :param user_properties: Activity user properties.
5675    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
5676    :param linked_service_name: Linked service reference.
5677    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
5678    :param policy: Activity policy.
5679    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
5680    :param global_parameters: Key,Value pairs to be passed to the Azure ML Batch Execution Service
5681     endpoint. Keys must match the names of web service parameters defined in the published Azure ML
5682     web service. Values will be passed in the GlobalParameters property of the Azure ML batch
5683     execution request.
5684    :type global_parameters: dict[str, any]
5685    :param web_service_outputs: Key,Value pairs, mapping the names of Azure ML endpoint's Web
5686     Service Outputs to AzureMLWebServiceFile objects specifying the output Blob locations. This
5687     information will be passed in the WebServiceOutputs property of the Azure ML batch execution
5688     request.
5689    :type web_service_outputs: dict[str,
5690     ~azure.synapse.artifacts.v2020_12_01.models.AzureMLWebServiceFile]
5691    :param web_service_inputs: Key,Value pairs, mapping the names of Azure ML endpoint's Web
5692     Service Inputs to AzureMLWebServiceFile objects specifying the input Blob locations.. This
5693     information will be passed in the WebServiceInputs property of the Azure ML batch execution
5694     request.
5695    :type web_service_inputs: dict[str,
5696     ~azure.synapse.artifacts.v2020_12_01.models.AzureMLWebServiceFile]
5697    """
5698
5699    _validation = {
5700        'name': {'required': True},
5701        'type': {'required': True},
5702    }
5703
5704    _attribute_map = {
5705        'additional_properties': {'key': '', 'type': '{object}'},
5706        'name': {'key': 'name', 'type': 'str'},
5707        'type': {'key': 'type', 'type': 'str'},
5708        'description': {'key': 'description', 'type': 'str'},
5709        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
5710        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
5711        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
5712        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
5713        'global_parameters': {'key': 'typeProperties.globalParameters', 'type': '{object}'},
5714        'web_service_outputs': {'key': 'typeProperties.webServiceOutputs', 'type': '{AzureMLWebServiceFile}'},
5715        'web_service_inputs': {'key': 'typeProperties.webServiceInputs', 'type': '{AzureMLWebServiceFile}'},
5716    }
5717
5718    def __init__(
5719        self,
5720        *,
5721        name: str,
5722        additional_properties: Optional[Dict[str, Any]] = None,
5723        description: Optional[str] = None,
5724        depends_on: Optional[List["ActivityDependency"]] = None,
5725        user_properties: Optional[List["UserProperty"]] = None,
5726        linked_service_name: Optional["LinkedServiceReference"] = None,
5727        policy: Optional["ActivityPolicy"] = None,
5728        global_parameters: Optional[Dict[str, Any]] = None,
5729        web_service_outputs: Optional[Dict[str, "AzureMLWebServiceFile"]] = None,
5730        web_service_inputs: Optional[Dict[str, "AzureMLWebServiceFile"]] = None,
5731        **kwargs
5732    ):
5733        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)
5734        self.type = 'AzureMLBatchExecution'  # type: str
5735        self.global_parameters = global_parameters
5736        self.web_service_outputs = web_service_outputs
5737        self.web_service_inputs = web_service_inputs
5738
5739
5740class AzureMLExecutePipelineActivity(ExecutionActivity):
5741    """Azure ML Execute Pipeline activity.
5742
5743    All required parameters must be populated in order to send to Azure.
5744
5745    :param additional_properties: Unmatched properties from the message are deserialized to this
5746     collection.
5747    :type additional_properties: dict[str, any]
5748    :param name: Required. Activity name.
5749    :type name: str
5750    :param type: Required. Type of activity.Constant filled by server.
5751    :type type: str
5752    :param description: Activity description.
5753    :type description: str
5754    :param depends_on: Activity depends on condition.
5755    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
5756    :param user_properties: Activity user properties.
5757    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
5758    :param linked_service_name: Linked service reference.
5759    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
5760    :param policy: Activity policy.
5761    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
5762    :param ml_pipeline_id: Required. ID of the published Azure ML pipeline. Type: string (or
5763     Expression with resultType string).
5764    :type ml_pipeline_id: any
5765    :param experiment_name: Run history experiment name of the pipeline run. This information will
5766     be passed in the ExperimentName property of the published pipeline execution request. Type:
5767     string (or Expression with resultType string).
5768    :type experiment_name: any
5769    :param ml_pipeline_parameters: Key,Value pairs to be passed to the published Azure ML pipeline
5770     endpoint. Keys must match the names of pipeline parameters defined in the published pipeline.
5771     Values will be passed in the ParameterAssignments property of the published pipeline execution
5772     request. Type: object with key value pairs (or Expression with resultType object).
5773    :type ml_pipeline_parameters: any
5774    :param ml_parent_run_id: The parent Azure ML Service pipeline run id. This information will be
5775     passed in the ParentRunId property of the published pipeline execution request. Type: string
5776     (or Expression with resultType string).
5777    :type ml_parent_run_id: any
5778    :param continue_on_step_failure: Whether to continue execution of other steps in the
5779     PipelineRun if a step fails. This information will be passed in the continueOnStepFailure
5780     property of the published pipeline execution request. Type: boolean (or Expression with
5781     resultType boolean).
5782    :type continue_on_step_failure: any
5783    """
5784
5785    _validation = {
5786        'name': {'required': True},
5787        'type': {'required': True},
5788        'ml_pipeline_id': {'required': True},
5789    }
5790
5791    _attribute_map = {
5792        'additional_properties': {'key': '', 'type': '{object}'},
5793        'name': {'key': 'name', 'type': 'str'},
5794        'type': {'key': 'type', 'type': 'str'},
5795        'description': {'key': 'description', 'type': 'str'},
5796        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
5797        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
5798        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
5799        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
5800        'ml_pipeline_id': {'key': 'typeProperties.mlPipelineId', 'type': 'object'},
5801        'experiment_name': {'key': 'typeProperties.experimentName', 'type': 'object'},
5802        'ml_pipeline_parameters': {'key': 'typeProperties.mlPipelineParameters', 'type': 'object'},
5803        'ml_parent_run_id': {'key': 'typeProperties.mlParentRunId', 'type': 'object'},
5804        'continue_on_step_failure': {'key': 'typeProperties.continueOnStepFailure', 'type': 'object'},
5805    }
5806
5807    def __init__(
5808        self,
5809        *,
5810        name: str,
5811        ml_pipeline_id: Any,
5812        additional_properties: Optional[Dict[str, Any]] = None,
5813        description: Optional[str] = None,
5814        depends_on: Optional[List["ActivityDependency"]] = None,
5815        user_properties: Optional[List["UserProperty"]] = None,
5816        linked_service_name: Optional["LinkedServiceReference"] = None,
5817        policy: Optional["ActivityPolicy"] = None,
5818        experiment_name: Optional[Any] = None,
5819        ml_pipeline_parameters: Optional[Any] = None,
5820        ml_parent_run_id: Optional[Any] = None,
5821        continue_on_step_failure: Optional[Any] = None,
5822        **kwargs
5823    ):
5824        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)
5825        self.type = 'AzureMLExecutePipeline'  # type: str
5826        self.ml_pipeline_id = ml_pipeline_id
5827        self.experiment_name = experiment_name
5828        self.ml_pipeline_parameters = ml_pipeline_parameters
5829        self.ml_parent_run_id = ml_parent_run_id
5830        self.continue_on_step_failure = continue_on_step_failure
5831
5832
5833class AzureMLLinkedService(LinkedService):
5834    """Azure ML Studio Web Service linked service.
5835
5836    All required parameters must be populated in order to send to Azure.
5837
5838    :param additional_properties: Unmatched properties from the message are deserialized to this
5839     collection.
5840    :type additional_properties: dict[str, any]
5841    :param type: Required. Type of linked service.Constant filled by server.
5842    :type type: str
5843    :param connect_via: The integration runtime reference.
5844    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
5845    :param description: Linked service description.
5846    :type description: str
5847    :param parameters: Parameters for linked service.
5848    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
5849    :param annotations: List of tags that can be used for describing the linked service.
5850    :type annotations: list[any]
5851    :param ml_endpoint: Required. The Batch Execution REST URL for an Azure ML Studio Web Service
5852     endpoint. Type: string (or Expression with resultType string).
5853    :type ml_endpoint: any
5854    :param api_key: Required. The API key for accessing the Azure ML model endpoint.
5855    :type api_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
5856    :param update_resource_endpoint: The Update Resource REST URL for an Azure ML Studio Web
5857     Service endpoint. Type: string (or Expression with resultType string).
5858    :type update_resource_endpoint: any
5859    :param service_principal_id: The ID of the service principal used to authenticate against the
5860     ARM-based updateResourceEndpoint of an Azure ML Studio web service. Type: string (or Expression
5861     with resultType string).
5862    :type service_principal_id: any
5863    :param service_principal_key: The key of the service principal used to authenticate against the
5864     ARM-based updateResourceEndpoint of an Azure ML Studio web service.
5865    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
5866    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
5867     string (or Expression with resultType string).
5868    :type tenant: any
5869    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
5870     encrypted using the integration runtime credential manager. Type: string (or Expression with
5871     resultType string).
5872    :type encrypted_credential: any
5873    """
5874
5875    _validation = {
5876        'type': {'required': True},
5877        'ml_endpoint': {'required': True},
5878        'api_key': {'required': True},
5879    }
5880
5881    _attribute_map = {
5882        'additional_properties': {'key': '', 'type': '{object}'},
5883        'type': {'key': 'type', 'type': 'str'},
5884        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
5885        'description': {'key': 'description', 'type': 'str'},
5886        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
5887        'annotations': {'key': 'annotations', 'type': '[object]'},
5888        'ml_endpoint': {'key': 'typeProperties.mlEndpoint', 'type': 'object'},
5889        'api_key': {'key': 'typeProperties.apiKey', 'type': 'SecretBase'},
5890        'update_resource_endpoint': {'key': 'typeProperties.updateResourceEndpoint', 'type': 'object'},
5891        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
5892        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
5893        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
5894        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
5895    }
5896
5897    def __init__(
5898        self,
5899        *,
5900        ml_endpoint: Any,
5901        api_key: "SecretBase",
5902        additional_properties: Optional[Dict[str, Any]] = None,
5903        connect_via: Optional["IntegrationRuntimeReference"] = None,
5904        description: Optional[str] = None,
5905        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
5906        annotations: Optional[List[Any]] = None,
5907        update_resource_endpoint: Optional[Any] = None,
5908        service_principal_id: Optional[Any] = None,
5909        service_principal_key: Optional["SecretBase"] = None,
5910        tenant: Optional[Any] = None,
5911        encrypted_credential: Optional[Any] = None,
5912        **kwargs
5913    ):
5914        super(AzureMLLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
5915        self.type = 'AzureML'  # type: str
5916        self.ml_endpoint = ml_endpoint
5917        self.api_key = api_key
5918        self.update_resource_endpoint = update_resource_endpoint
5919        self.service_principal_id = service_principal_id
5920        self.service_principal_key = service_principal_key
5921        self.tenant = tenant
5922        self.encrypted_credential = encrypted_credential
5923
5924
5925class AzureMLServiceLinkedService(LinkedService):
5926    """Azure ML Service linked service.
5927
5928    All required parameters must be populated in order to send to Azure.
5929
5930    :param additional_properties: Unmatched properties from the message are deserialized to this
5931     collection.
5932    :type additional_properties: dict[str, any]
5933    :param type: Required. Type of linked service.Constant filled by server.
5934    :type type: str
5935    :param connect_via: The integration runtime reference.
5936    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
5937    :param description: Linked service description.
5938    :type description: str
5939    :param parameters: Parameters for linked service.
5940    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
5941    :param annotations: List of tags that can be used for describing the linked service.
5942    :type annotations: list[any]
5943    :param subscription_id: Required. Azure ML Service workspace subscription ID. Type: string (or
5944     Expression with resultType string).
5945    :type subscription_id: any
5946    :param resource_group_name: Required. Azure ML Service workspace resource group name. Type:
5947     string (or Expression with resultType string).
5948    :type resource_group_name: any
5949    :param ml_workspace_name: Required. Azure ML Service workspace name. Type: string (or
5950     Expression with resultType string).
5951    :type ml_workspace_name: any
5952    :param service_principal_id: The ID of the service principal used to authenticate against the
5953     endpoint of a published Azure ML Service pipeline. Type: string (or Expression with resultType
5954     string).
5955    :type service_principal_id: any
5956    :param service_principal_key: The key of the service principal used to authenticate against the
5957     endpoint of a published Azure ML Service pipeline.
5958    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
5959    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
5960     string (or Expression with resultType string).
5961    :type tenant: any
5962    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
5963     encrypted using the integration runtime credential manager. Type: string (or Expression with
5964     resultType string).
5965    :type encrypted_credential: any
5966    """
5967
5968    _validation = {
5969        'type': {'required': True},
5970        'subscription_id': {'required': True},
5971        'resource_group_name': {'required': True},
5972        'ml_workspace_name': {'required': True},
5973    }
5974
5975    _attribute_map = {
5976        'additional_properties': {'key': '', 'type': '{object}'},
5977        'type': {'key': 'type', 'type': 'str'},
5978        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
5979        'description': {'key': 'description', 'type': 'str'},
5980        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
5981        'annotations': {'key': 'annotations', 'type': '[object]'},
5982        'subscription_id': {'key': 'typeProperties.subscriptionId', 'type': 'object'},
5983        'resource_group_name': {'key': 'typeProperties.resourceGroupName', 'type': 'object'},
5984        'ml_workspace_name': {'key': 'typeProperties.mlWorkspaceName', 'type': 'object'},
5985        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
5986        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
5987        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
5988        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
5989    }
5990
5991    def __init__(
5992        self,
5993        *,
5994        subscription_id: Any,
5995        resource_group_name: Any,
5996        ml_workspace_name: Any,
5997        additional_properties: Optional[Dict[str, Any]] = None,
5998        connect_via: Optional["IntegrationRuntimeReference"] = None,
5999        description: Optional[str] = None,
6000        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
6001        annotations: Optional[List[Any]] = None,
6002        service_principal_id: Optional[Any] = None,
6003        service_principal_key: Optional["SecretBase"] = None,
6004        tenant: Optional[Any] = None,
6005        encrypted_credential: Optional[Any] = None,
6006        **kwargs
6007    ):
6008        super(AzureMLServiceLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
6009        self.type = 'AzureMLService'  # type: str
6010        self.subscription_id = subscription_id
6011        self.resource_group_name = resource_group_name
6012        self.ml_workspace_name = ml_workspace_name
6013        self.service_principal_id = service_principal_id
6014        self.service_principal_key = service_principal_key
6015        self.tenant = tenant
6016        self.encrypted_credential = encrypted_credential
6017
6018
6019class AzureMLUpdateResourceActivity(ExecutionActivity):
6020    """Azure ML Update Resource management activity.
6021
6022    All required parameters must be populated in order to send to Azure.
6023
6024    :param additional_properties: Unmatched properties from the message are deserialized to this
6025     collection.
6026    :type additional_properties: dict[str, any]
6027    :param name: Required. Activity name.
6028    :type name: str
6029    :param type: Required. Type of activity.Constant filled by server.
6030    :type type: str
6031    :param description: Activity description.
6032    :type description: str
6033    :param depends_on: Activity depends on condition.
6034    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
6035    :param user_properties: Activity user properties.
6036    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
6037    :param linked_service_name: Linked service reference.
6038    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
6039    :param policy: Activity policy.
6040    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
6041    :param trained_model_name: Required. Name of the Trained Model module in the Web Service
6042     experiment to be updated. Type: string (or Expression with resultType string).
6043    :type trained_model_name: any
6044    :param trained_model_linked_service_name: Required. Name of Azure Storage linked service
6045     holding the .ilearner file that will be uploaded by the update operation.
6046    :type trained_model_linked_service_name:
6047     ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
6048    :param trained_model_file_path: Required. The relative file path in trainedModelLinkedService
6049     to represent the .ilearner file that will be uploaded by the update operation.  Type: string
6050     (or Expression with resultType string).
6051    :type trained_model_file_path: any
6052    """
6053
6054    _validation = {
6055        'name': {'required': True},
6056        'type': {'required': True},
6057        'trained_model_name': {'required': True},
6058        'trained_model_linked_service_name': {'required': True},
6059        'trained_model_file_path': {'required': True},
6060    }
6061
6062    _attribute_map = {
6063        'additional_properties': {'key': '', 'type': '{object}'},
6064        'name': {'key': 'name', 'type': 'str'},
6065        'type': {'key': 'type', 'type': 'str'},
6066        'description': {'key': 'description', 'type': 'str'},
6067        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
6068        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
6069        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
6070        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
6071        'trained_model_name': {'key': 'typeProperties.trainedModelName', 'type': 'object'},
6072        'trained_model_linked_service_name': {'key': 'typeProperties.trainedModelLinkedServiceName', 'type': 'LinkedServiceReference'},
6073        'trained_model_file_path': {'key': 'typeProperties.trainedModelFilePath', 'type': 'object'},
6074    }
6075
6076    def __init__(
6077        self,
6078        *,
6079        name: str,
6080        trained_model_name: Any,
6081        trained_model_linked_service_name: "LinkedServiceReference",
6082        trained_model_file_path: Any,
6083        additional_properties: Optional[Dict[str, Any]] = None,
6084        description: Optional[str] = None,
6085        depends_on: Optional[List["ActivityDependency"]] = None,
6086        user_properties: Optional[List["UserProperty"]] = None,
6087        linked_service_name: Optional["LinkedServiceReference"] = None,
6088        policy: Optional["ActivityPolicy"] = None,
6089        **kwargs
6090    ):
6091        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)
6092        self.type = 'AzureMLUpdateResource'  # type: str
6093        self.trained_model_name = trained_model_name
6094        self.trained_model_linked_service_name = trained_model_linked_service_name
6095        self.trained_model_file_path = trained_model_file_path
6096
6097
6098class AzureMLWebServiceFile(msrest.serialization.Model):
6099    """Azure ML WebService Input/Output file.
6100
6101    All required parameters must be populated in order to send to Azure.
6102
6103    :param file_path: Required. The relative file path, including container name, in the Azure Blob
6104     Storage specified by the LinkedService. Type: string (or Expression with resultType string).
6105    :type file_path: any
6106    :param linked_service_name: Required. Reference to an Azure Storage LinkedService, where Azure
6107     ML WebService Input/Output file located.
6108    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
6109    """
6110
6111    _validation = {
6112        'file_path': {'required': True},
6113        'linked_service_name': {'required': True},
6114    }
6115
6116    _attribute_map = {
6117        'file_path': {'key': 'filePath', 'type': 'object'},
6118        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
6119    }
6120
6121    def __init__(
6122        self,
6123        *,
6124        file_path: Any,
6125        linked_service_name: "LinkedServiceReference",
6126        **kwargs
6127    ):
6128        super(AzureMLWebServiceFile, self).__init__(**kwargs)
6129        self.file_path = file_path
6130        self.linked_service_name = linked_service_name
6131
6132
6133class AzureMySqlLinkedService(LinkedService):
6134    """Azure MySQL database linked service.
6135
6136    All required parameters must be populated in order to send to Azure.
6137
6138    :param additional_properties: Unmatched properties from the message are deserialized to this
6139     collection.
6140    :type additional_properties: dict[str, any]
6141    :param type: Required. Type of linked service.Constant filled by server.
6142    :type type: str
6143    :param connect_via: The integration runtime reference.
6144    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
6145    :param description: Linked service description.
6146    :type description: str
6147    :param parameters: Parameters for linked service.
6148    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
6149    :param annotations: List of tags that can be used for describing the linked service.
6150    :type annotations: list[any]
6151    :param connection_string: Required. The connection string. Type: string, SecureString or
6152     AzureKeyVaultSecretReference.
6153    :type connection_string: any
6154    :param password: The Azure key vault secret reference of password in connection string.
6155    :type password: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
6156    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
6157     encrypted using the integration runtime credential manager. Type: string (or Expression with
6158     resultType string).
6159    :type encrypted_credential: any
6160    """
6161
6162    _validation = {
6163        'type': {'required': True},
6164        'connection_string': {'required': True},
6165    }
6166
6167    _attribute_map = {
6168        'additional_properties': {'key': '', 'type': '{object}'},
6169        'type': {'key': 'type', 'type': 'str'},
6170        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
6171        'description': {'key': 'description', 'type': 'str'},
6172        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
6173        'annotations': {'key': 'annotations', 'type': '[object]'},
6174        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
6175        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
6176        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
6177    }
6178
6179    def __init__(
6180        self,
6181        *,
6182        connection_string: Any,
6183        additional_properties: Optional[Dict[str, Any]] = None,
6184        connect_via: Optional["IntegrationRuntimeReference"] = None,
6185        description: Optional[str] = None,
6186        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
6187        annotations: Optional[List[Any]] = None,
6188        password: Optional["AzureKeyVaultSecretReference"] = None,
6189        encrypted_credential: Optional[Any] = None,
6190        **kwargs
6191    ):
6192        super(AzureMySqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
6193        self.type = 'AzureMySql'  # type: str
6194        self.connection_string = connection_string
6195        self.password = password
6196        self.encrypted_credential = encrypted_credential
6197
6198
6199class AzureMySqlSink(CopySink):
6200    """A copy activity Azure MySql sink.
6201
6202    All required parameters must be populated in order to send to Azure.
6203
6204    :param additional_properties: Unmatched properties from the message are deserialized to this
6205     collection.
6206    :type additional_properties: dict[str, any]
6207    :param type: Required. Copy sink type.Constant filled by server.
6208    :type type: str
6209    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
6210     integer), minimum: 0.
6211    :type write_batch_size: any
6212    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
6213     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6214    :type write_batch_timeout: any
6215    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
6216     integer).
6217    :type sink_retry_count: any
6218    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
6219     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6220    :type sink_retry_wait: any
6221    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
6222     store. Type: integer (or Expression with resultType integer).
6223    :type max_concurrent_connections: any
6224    :param pre_copy_script: A query to execute before starting the copy. Type: string (or
6225     Expression with resultType string).
6226    :type pre_copy_script: any
6227    """
6228
6229    _validation = {
6230        'type': {'required': True},
6231    }
6232
6233    _attribute_map = {
6234        'additional_properties': {'key': '', 'type': '{object}'},
6235        'type': {'key': 'type', 'type': 'str'},
6236        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
6237        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
6238        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
6239        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
6240        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
6241        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
6242    }
6243
6244    def __init__(
6245        self,
6246        *,
6247        additional_properties: Optional[Dict[str, Any]] = None,
6248        write_batch_size: Optional[Any] = None,
6249        write_batch_timeout: Optional[Any] = None,
6250        sink_retry_count: Optional[Any] = None,
6251        sink_retry_wait: Optional[Any] = None,
6252        max_concurrent_connections: Optional[Any] = None,
6253        pre_copy_script: Optional[Any] = None,
6254        **kwargs
6255    ):
6256        super(AzureMySqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
6257        self.type = 'AzureMySqlSink'  # type: str
6258        self.pre_copy_script = pre_copy_script
6259
6260
6261class AzureMySqlSource(TabularSource):
6262    """A copy activity Azure MySQL source.
6263
6264    All required parameters must be populated in order to send to Azure.
6265
6266    :param additional_properties: Unmatched properties from the message are deserialized to this
6267     collection.
6268    :type additional_properties: dict[str, any]
6269    :param type: Required. Copy source type.Constant filled by server.
6270    :type type: str
6271    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
6272     integer).
6273    :type source_retry_count: any
6274    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
6275     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6276    :type source_retry_wait: any
6277    :param max_concurrent_connections: The maximum concurrent connection count for the source data
6278     store. Type: integer (or Expression with resultType integer).
6279    :type max_concurrent_connections: any
6280    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
6281     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6282    :type query_timeout: any
6283    :param additional_columns: Specifies the additional columns to be added to source data. Type:
6284     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
6285    :type additional_columns: any
6286    :param query: Database query. Type: string (or Expression with resultType string).
6287    :type query: any
6288    """
6289
6290    _validation = {
6291        'type': {'required': True},
6292    }
6293
6294    _attribute_map = {
6295        'additional_properties': {'key': '', 'type': '{object}'},
6296        'type': {'key': 'type', 'type': 'str'},
6297        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
6298        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
6299        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
6300        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
6301        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
6302        'query': {'key': 'query', 'type': 'object'},
6303    }
6304
6305    def __init__(
6306        self,
6307        *,
6308        additional_properties: Optional[Dict[str, Any]] = None,
6309        source_retry_count: Optional[Any] = None,
6310        source_retry_wait: Optional[Any] = None,
6311        max_concurrent_connections: Optional[Any] = None,
6312        query_timeout: Optional[Any] = None,
6313        additional_columns: Optional[Any] = None,
6314        query: Optional[Any] = None,
6315        **kwargs
6316    ):
6317        super(AzureMySqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
6318        self.type = 'AzureMySqlSource'  # type: str
6319        self.query = query
6320
6321
6322class AzureMySqlTableDataset(Dataset):
6323    """The Azure MySQL database dataset.
6324
6325    All required parameters must be populated in order to send to Azure.
6326
6327    :param additional_properties: Unmatched properties from the message are deserialized to this
6328     collection.
6329    :type additional_properties: dict[str, any]
6330    :param type: Required. Type of dataset.Constant filled by server.
6331    :type type: str
6332    :param description: Dataset description.
6333    :type description: str
6334    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
6335     with resultType array), itemType: DatasetDataElement.
6336    :type structure: any
6337    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
6338     Expression with resultType array), itemType: DatasetSchemaDataElement.
6339    :type schema: any
6340    :param linked_service_name: Required. Linked service reference.
6341    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
6342    :param parameters: Parameters for dataset.
6343    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
6344    :param annotations: List of tags that can be used for describing the Dataset.
6345    :type annotations: list[any]
6346    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
6347     root level.
6348    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
6349    :param table_name: The Azure MySQL database table name. Type: string (or Expression with
6350     resultType string).
6351    :type table_name: any
6352    :param table: The name of Azure MySQL database table. Type: string (or Expression with
6353     resultType string).
6354    :type table: any
6355    """
6356
6357    _validation = {
6358        'type': {'required': True},
6359        'linked_service_name': {'required': True},
6360    }
6361
6362    _attribute_map = {
6363        'additional_properties': {'key': '', 'type': '{object}'},
6364        'type': {'key': 'type', 'type': 'str'},
6365        'description': {'key': 'description', 'type': 'str'},
6366        'structure': {'key': 'structure', 'type': 'object'},
6367        'schema': {'key': 'schema', 'type': 'object'},
6368        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
6369        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
6370        'annotations': {'key': 'annotations', 'type': '[object]'},
6371        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
6372        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
6373        'table': {'key': 'typeProperties.table', 'type': 'object'},
6374    }
6375
6376    def __init__(
6377        self,
6378        *,
6379        linked_service_name: "LinkedServiceReference",
6380        additional_properties: Optional[Dict[str, Any]] = None,
6381        description: Optional[str] = None,
6382        structure: Optional[Any] = None,
6383        schema: Optional[Any] = None,
6384        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
6385        annotations: Optional[List[Any]] = None,
6386        folder: Optional["DatasetFolder"] = None,
6387        table_name: Optional[Any] = None,
6388        table: Optional[Any] = None,
6389        **kwargs
6390    ):
6391        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)
6392        self.type = 'AzureMySqlTable'  # type: str
6393        self.table_name = table_name
6394        self.table = table
6395
6396
6397class AzurePostgreSqlLinkedService(LinkedService):
6398    """Azure PostgreSQL linked service.
6399
6400    All required parameters must be populated in order to send to Azure.
6401
6402    :param additional_properties: Unmatched properties from the message are deserialized to this
6403     collection.
6404    :type additional_properties: dict[str, any]
6405    :param type: Required. Type of linked service.Constant filled by server.
6406    :type type: str
6407    :param connect_via: The integration runtime reference.
6408    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
6409    :param description: Linked service description.
6410    :type description: str
6411    :param parameters: Parameters for linked service.
6412    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
6413    :param annotations: List of tags that can be used for describing the linked service.
6414    :type annotations: list[any]
6415    :param connection_string: An ODBC connection string. Type: string, SecureString or
6416     AzureKeyVaultSecretReference.
6417    :type connection_string: any
6418    :param password: The Azure key vault secret reference of password in connection string.
6419    :type password: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
6420    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
6421     encrypted using the integration runtime credential manager. Type: string (or Expression with
6422     resultType string).
6423    :type encrypted_credential: any
6424    """
6425
6426    _validation = {
6427        'type': {'required': True},
6428    }
6429
6430    _attribute_map = {
6431        'additional_properties': {'key': '', 'type': '{object}'},
6432        'type': {'key': 'type', 'type': 'str'},
6433        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
6434        'description': {'key': 'description', 'type': 'str'},
6435        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
6436        'annotations': {'key': 'annotations', 'type': '[object]'},
6437        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
6438        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
6439        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
6440    }
6441
6442    def __init__(
6443        self,
6444        *,
6445        additional_properties: Optional[Dict[str, Any]] = None,
6446        connect_via: Optional["IntegrationRuntimeReference"] = None,
6447        description: Optional[str] = None,
6448        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
6449        annotations: Optional[List[Any]] = None,
6450        connection_string: Optional[Any] = None,
6451        password: Optional["AzureKeyVaultSecretReference"] = None,
6452        encrypted_credential: Optional[Any] = None,
6453        **kwargs
6454    ):
6455        super(AzurePostgreSqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
6456        self.type = 'AzurePostgreSql'  # type: str
6457        self.connection_string = connection_string
6458        self.password = password
6459        self.encrypted_credential = encrypted_credential
6460
6461
6462class AzurePostgreSqlSink(CopySink):
6463    """A copy activity Azure PostgreSQL sink.
6464
6465    All required parameters must be populated in order to send to Azure.
6466
6467    :param additional_properties: Unmatched properties from the message are deserialized to this
6468     collection.
6469    :type additional_properties: dict[str, any]
6470    :param type: Required. Copy sink type.Constant filled by server.
6471    :type type: str
6472    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
6473     integer), minimum: 0.
6474    :type write_batch_size: any
6475    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
6476     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6477    :type write_batch_timeout: any
6478    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
6479     integer).
6480    :type sink_retry_count: any
6481    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
6482     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6483    :type sink_retry_wait: any
6484    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
6485     store. Type: integer (or Expression with resultType integer).
6486    :type max_concurrent_connections: any
6487    :param pre_copy_script: A query to execute before starting the copy. Type: string (or
6488     Expression with resultType string).
6489    :type pre_copy_script: any
6490    """
6491
6492    _validation = {
6493        'type': {'required': True},
6494    }
6495
6496    _attribute_map = {
6497        'additional_properties': {'key': '', 'type': '{object}'},
6498        'type': {'key': 'type', 'type': 'str'},
6499        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
6500        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
6501        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
6502        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
6503        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
6504        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
6505    }
6506
6507    def __init__(
6508        self,
6509        *,
6510        additional_properties: Optional[Dict[str, Any]] = None,
6511        write_batch_size: Optional[Any] = None,
6512        write_batch_timeout: Optional[Any] = None,
6513        sink_retry_count: Optional[Any] = None,
6514        sink_retry_wait: Optional[Any] = None,
6515        max_concurrent_connections: Optional[Any] = None,
6516        pre_copy_script: Optional[Any] = None,
6517        **kwargs
6518    ):
6519        super(AzurePostgreSqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
6520        self.type = 'AzurePostgreSqlSink'  # type: str
6521        self.pre_copy_script = pre_copy_script
6522
6523
6524class AzurePostgreSqlSource(TabularSource):
6525    """A copy activity Azure PostgreSQL source.
6526
6527    All required parameters must be populated in order to send to Azure.
6528
6529    :param additional_properties: Unmatched properties from the message are deserialized to this
6530     collection.
6531    :type additional_properties: dict[str, any]
6532    :param type: Required. Copy source type.Constant filled by server.
6533    :type type: str
6534    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
6535     integer).
6536    :type source_retry_count: any
6537    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
6538     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6539    :type source_retry_wait: any
6540    :param max_concurrent_connections: The maximum concurrent connection count for the source data
6541     store. Type: integer (or Expression with resultType integer).
6542    :type max_concurrent_connections: any
6543    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
6544     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6545    :type query_timeout: any
6546    :param additional_columns: Specifies the additional columns to be added to source data. Type:
6547     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
6548    :type additional_columns: any
6549    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
6550     string).
6551    :type query: any
6552    """
6553
6554    _validation = {
6555        'type': {'required': True},
6556    }
6557
6558    _attribute_map = {
6559        'additional_properties': {'key': '', 'type': '{object}'},
6560        'type': {'key': 'type', 'type': 'str'},
6561        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
6562        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
6563        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
6564        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
6565        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
6566        'query': {'key': 'query', 'type': 'object'},
6567    }
6568
6569    def __init__(
6570        self,
6571        *,
6572        additional_properties: Optional[Dict[str, Any]] = None,
6573        source_retry_count: Optional[Any] = None,
6574        source_retry_wait: Optional[Any] = None,
6575        max_concurrent_connections: Optional[Any] = None,
6576        query_timeout: Optional[Any] = None,
6577        additional_columns: Optional[Any] = None,
6578        query: Optional[Any] = None,
6579        **kwargs
6580    ):
6581        super(AzurePostgreSqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
6582        self.type = 'AzurePostgreSqlSource'  # type: str
6583        self.query = query
6584
6585
6586class AzurePostgreSqlTableDataset(Dataset):
6587    """Azure PostgreSQL dataset.
6588
6589    All required parameters must be populated in order to send to Azure.
6590
6591    :param additional_properties: Unmatched properties from the message are deserialized to this
6592     collection.
6593    :type additional_properties: dict[str, any]
6594    :param type: Required. Type of dataset.Constant filled by server.
6595    :type type: str
6596    :param description: Dataset description.
6597    :type description: str
6598    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
6599     with resultType array), itemType: DatasetDataElement.
6600    :type structure: any
6601    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
6602     Expression with resultType array), itemType: DatasetSchemaDataElement.
6603    :type schema: any
6604    :param linked_service_name: Required. Linked service reference.
6605    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
6606    :param parameters: Parameters for dataset.
6607    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
6608    :param annotations: List of tags that can be used for describing the Dataset.
6609    :type annotations: list[any]
6610    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
6611     root level.
6612    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
6613    :param table_name: The table name of the Azure PostgreSQL database which includes both schema
6614     and table. Type: string (or Expression with resultType string).
6615    :type table_name: any
6616    :param table: The table name of the Azure PostgreSQL database. Type: string (or Expression with
6617     resultType string).
6618    :type table: any
6619    :param schema_type_properties_schema: The schema name of the Azure PostgreSQL database. Type:
6620     string (or Expression with resultType string).
6621    :type schema_type_properties_schema: any
6622    """
6623
6624    _validation = {
6625        'type': {'required': True},
6626        'linked_service_name': {'required': True},
6627    }
6628
6629    _attribute_map = {
6630        'additional_properties': {'key': '', 'type': '{object}'},
6631        'type': {'key': 'type', 'type': 'str'},
6632        'description': {'key': 'description', 'type': 'str'},
6633        'structure': {'key': 'structure', 'type': 'object'},
6634        'schema': {'key': 'schema', 'type': 'object'},
6635        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
6636        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
6637        'annotations': {'key': 'annotations', 'type': '[object]'},
6638        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
6639        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
6640        'table': {'key': 'typeProperties.table', 'type': 'object'},
6641        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
6642    }
6643
6644    def __init__(
6645        self,
6646        *,
6647        linked_service_name: "LinkedServiceReference",
6648        additional_properties: Optional[Dict[str, Any]] = None,
6649        description: Optional[str] = None,
6650        structure: Optional[Any] = None,
6651        schema: Optional[Any] = None,
6652        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
6653        annotations: Optional[List[Any]] = None,
6654        folder: Optional["DatasetFolder"] = None,
6655        table_name: Optional[Any] = None,
6656        table: Optional[Any] = None,
6657        schema_type_properties_schema: Optional[Any] = None,
6658        **kwargs
6659    ):
6660        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)
6661        self.type = 'AzurePostgreSqlTable'  # type: str
6662        self.table_name = table_name
6663        self.table = table
6664        self.schema_type_properties_schema = schema_type_properties_schema
6665
6666
6667class AzureQueueSink(CopySink):
6668    """A copy activity Azure Queue sink.
6669
6670    All required parameters must be populated in order to send to Azure.
6671
6672    :param additional_properties: Unmatched properties from the message are deserialized to this
6673     collection.
6674    :type additional_properties: dict[str, any]
6675    :param type: Required. Copy sink type.Constant filled by server.
6676    :type type: str
6677    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
6678     integer), minimum: 0.
6679    :type write_batch_size: any
6680    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
6681     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6682    :type write_batch_timeout: any
6683    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
6684     integer).
6685    :type sink_retry_count: any
6686    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
6687     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6688    :type sink_retry_wait: any
6689    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
6690     store. Type: integer (or Expression with resultType integer).
6691    :type max_concurrent_connections: any
6692    """
6693
6694    _validation = {
6695        'type': {'required': True},
6696    }
6697
6698    _attribute_map = {
6699        'additional_properties': {'key': '', 'type': '{object}'},
6700        'type': {'key': 'type', 'type': 'str'},
6701        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
6702        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
6703        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
6704        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
6705        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
6706    }
6707
6708    def __init__(
6709        self,
6710        *,
6711        additional_properties: Optional[Dict[str, Any]] = None,
6712        write_batch_size: Optional[Any] = None,
6713        write_batch_timeout: Optional[Any] = None,
6714        sink_retry_count: Optional[Any] = None,
6715        sink_retry_wait: Optional[Any] = None,
6716        max_concurrent_connections: Optional[Any] = None,
6717        **kwargs
6718    ):
6719        super(AzureQueueSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
6720        self.type = 'AzureQueueSink'  # type: str
6721
6722
6723class AzureSearchIndexDataset(Dataset):
6724    """The Azure Search Index.
6725
6726    All required parameters must be populated in order to send to Azure.
6727
6728    :param additional_properties: Unmatched properties from the message are deserialized to this
6729     collection.
6730    :type additional_properties: dict[str, any]
6731    :param type: Required. Type of dataset.Constant filled by server.
6732    :type type: str
6733    :param description: Dataset description.
6734    :type description: str
6735    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
6736     with resultType array), itemType: DatasetDataElement.
6737    :type structure: any
6738    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
6739     Expression with resultType array), itemType: DatasetSchemaDataElement.
6740    :type schema: any
6741    :param linked_service_name: Required. Linked service reference.
6742    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
6743    :param parameters: Parameters for dataset.
6744    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
6745    :param annotations: List of tags that can be used for describing the Dataset.
6746    :type annotations: list[any]
6747    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
6748     root level.
6749    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
6750    :param index_name: Required. The name of the Azure Search Index. Type: string (or Expression
6751     with resultType string).
6752    :type index_name: any
6753    """
6754
6755    _validation = {
6756        'type': {'required': True},
6757        'linked_service_name': {'required': True},
6758        'index_name': {'required': True},
6759    }
6760
6761    _attribute_map = {
6762        'additional_properties': {'key': '', 'type': '{object}'},
6763        'type': {'key': 'type', 'type': 'str'},
6764        'description': {'key': 'description', 'type': 'str'},
6765        'structure': {'key': 'structure', 'type': 'object'},
6766        'schema': {'key': 'schema', 'type': 'object'},
6767        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
6768        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
6769        'annotations': {'key': 'annotations', 'type': '[object]'},
6770        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
6771        'index_name': {'key': 'typeProperties.indexName', 'type': 'object'},
6772    }
6773
6774    def __init__(
6775        self,
6776        *,
6777        linked_service_name: "LinkedServiceReference",
6778        index_name: Any,
6779        additional_properties: Optional[Dict[str, Any]] = None,
6780        description: Optional[str] = None,
6781        structure: Optional[Any] = None,
6782        schema: Optional[Any] = None,
6783        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
6784        annotations: Optional[List[Any]] = None,
6785        folder: Optional["DatasetFolder"] = None,
6786        **kwargs
6787    ):
6788        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)
6789        self.type = 'AzureSearchIndex'  # type: str
6790        self.index_name = index_name
6791
6792
6793class AzureSearchIndexSink(CopySink):
6794    """A copy activity Azure Search Index sink.
6795
6796    All required parameters must be populated in order to send to Azure.
6797
6798    :param additional_properties: Unmatched properties from the message are deserialized to this
6799     collection.
6800    :type additional_properties: dict[str, any]
6801    :param type: Required. Copy sink type.Constant filled by server.
6802    :type type: str
6803    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
6804     integer), minimum: 0.
6805    :type write_batch_size: any
6806    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
6807     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6808    :type write_batch_timeout: any
6809    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
6810     integer).
6811    :type sink_retry_count: any
6812    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
6813     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6814    :type sink_retry_wait: any
6815    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
6816     store. Type: integer (or Expression with resultType integer).
6817    :type max_concurrent_connections: any
6818    :param write_behavior: Specify the write behavior when upserting documents into Azure Search
6819     Index. Possible values include: "Merge", "Upload".
6820    :type write_behavior: str or
6821     ~azure.synapse.artifacts.v2020_12_01.models.AzureSearchIndexWriteBehaviorType
6822    """
6823
6824    _validation = {
6825        'type': {'required': True},
6826    }
6827
6828    _attribute_map = {
6829        'additional_properties': {'key': '', 'type': '{object}'},
6830        'type': {'key': 'type', 'type': 'str'},
6831        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
6832        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
6833        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
6834        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
6835        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
6836        'write_behavior': {'key': 'writeBehavior', 'type': 'str'},
6837    }
6838
6839    def __init__(
6840        self,
6841        *,
6842        additional_properties: Optional[Dict[str, Any]] = None,
6843        write_batch_size: Optional[Any] = None,
6844        write_batch_timeout: Optional[Any] = None,
6845        sink_retry_count: Optional[Any] = None,
6846        sink_retry_wait: Optional[Any] = None,
6847        max_concurrent_connections: Optional[Any] = None,
6848        write_behavior: Optional[Union[str, "AzureSearchIndexWriteBehaviorType"]] = None,
6849        **kwargs
6850    ):
6851        super(AzureSearchIndexSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
6852        self.type = 'AzureSearchIndexSink'  # type: str
6853        self.write_behavior = write_behavior
6854
6855
6856class AzureSearchLinkedService(LinkedService):
6857    """Linked service for Windows Azure Search Service.
6858
6859    All required parameters must be populated in order to send to Azure.
6860
6861    :param additional_properties: Unmatched properties from the message are deserialized to this
6862     collection.
6863    :type additional_properties: dict[str, any]
6864    :param type: Required. Type of linked service.Constant filled by server.
6865    :type type: str
6866    :param connect_via: The integration runtime reference.
6867    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
6868    :param description: Linked service description.
6869    :type description: str
6870    :param parameters: Parameters for linked service.
6871    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
6872    :param annotations: List of tags that can be used for describing the linked service.
6873    :type annotations: list[any]
6874    :param url: Required. URL for Azure Search service. Type: string (or Expression with resultType
6875     string).
6876    :type url: any
6877    :param key: Admin Key for Azure Search service.
6878    :type key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
6879    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
6880     encrypted using the integration runtime credential manager. Type: string (or Expression with
6881     resultType string).
6882    :type encrypted_credential: any
6883    """
6884
6885    _validation = {
6886        'type': {'required': True},
6887        'url': {'required': True},
6888    }
6889
6890    _attribute_map = {
6891        'additional_properties': {'key': '', 'type': '{object}'},
6892        'type': {'key': 'type', 'type': 'str'},
6893        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
6894        'description': {'key': 'description', 'type': 'str'},
6895        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
6896        'annotations': {'key': 'annotations', 'type': '[object]'},
6897        'url': {'key': 'typeProperties.url', 'type': 'object'},
6898        'key': {'key': 'typeProperties.key', 'type': 'SecretBase'},
6899        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
6900    }
6901
6902    def __init__(
6903        self,
6904        *,
6905        url: Any,
6906        additional_properties: Optional[Dict[str, Any]] = None,
6907        connect_via: Optional["IntegrationRuntimeReference"] = None,
6908        description: Optional[str] = None,
6909        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
6910        annotations: Optional[List[Any]] = None,
6911        key: Optional["SecretBase"] = None,
6912        encrypted_credential: Optional[Any] = None,
6913        **kwargs
6914    ):
6915        super(AzureSearchLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
6916        self.type = 'AzureSearch'  # type: str
6917        self.url = url
6918        self.key = key
6919        self.encrypted_credential = encrypted_credential
6920
6921
6922class AzureSqlDatabaseLinkedService(LinkedService):
6923    """Microsoft Azure SQL Database linked service.
6924
6925    All required parameters must be populated in order to send to Azure.
6926
6927    :param additional_properties: Unmatched properties from the message are deserialized to this
6928     collection.
6929    :type additional_properties: dict[str, any]
6930    :param type: Required. Type of linked service.Constant filled by server.
6931    :type type: str
6932    :param connect_via: The integration runtime reference.
6933    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
6934    :param description: Linked service description.
6935    :type description: str
6936    :param parameters: Parameters for linked service.
6937    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
6938    :param annotations: List of tags that can be used for describing the linked service.
6939    :type annotations: list[any]
6940    :param connection_string: Required. The connection string. Type: string, SecureString or
6941     AzureKeyVaultSecretReference.
6942    :type connection_string: any
6943    :param password: The Azure key vault secret reference of password in connection string.
6944    :type password: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
6945    :param service_principal_id: The ID of the service principal used to authenticate against Azure
6946     SQL Database. Type: string (or Expression with resultType string).
6947    :type service_principal_id: any
6948    :param service_principal_key: The key of the service principal used to authenticate against
6949     Azure SQL Database.
6950    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
6951    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
6952     string (or Expression with resultType string).
6953    :type tenant: any
6954    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
6955     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
6956     factory regions’ cloud type. Type: string (or Expression with resultType string).
6957    :type azure_cloud_type: any
6958    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
6959     encrypted using the integration runtime credential manager. Type: string (or Expression with
6960     resultType string).
6961    :type encrypted_credential: any
6962    """
6963
6964    _validation = {
6965        'type': {'required': True},
6966        'connection_string': {'required': True},
6967    }
6968
6969    _attribute_map = {
6970        'additional_properties': {'key': '', 'type': '{object}'},
6971        'type': {'key': 'type', 'type': 'str'},
6972        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
6973        'description': {'key': 'description', 'type': 'str'},
6974        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
6975        'annotations': {'key': 'annotations', 'type': '[object]'},
6976        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
6977        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
6978        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
6979        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
6980        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
6981        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
6982        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
6983    }
6984
6985    def __init__(
6986        self,
6987        *,
6988        connection_string: Any,
6989        additional_properties: Optional[Dict[str, Any]] = None,
6990        connect_via: Optional["IntegrationRuntimeReference"] = None,
6991        description: Optional[str] = None,
6992        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
6993        annotations: Optional[List[Any]] = None,
6994        password: Optional["AzureKeyVaultSecretReference"] = None,
6995        service_principal_id: Optional[Any] = None,
6996        service_principal_key: Optional["SecretBase"] = None,
6997        tenant: Optional[Any] = None,
6998        azure_cloud_type: Optional[Any] = None,
6999        encrypted_credential: Optional[Any] = None,
7000        **kwargs
7001    ):
7002        super(AzureSqlDatabaseLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
7003        self.type = 'AzureSqlDatabase'  # type: str
7004        self.connection_string = connection_string
7005        self.password = password
7006        self.service_principal_id = service_principal_id
7007        self.service_principal_key = service_principal_key
7008        self.tenant = tenant
7009        self.azure_cloud_type = azure_cloud_type
7010        self.encrypted_credential = encrypted_credential
7011
7012
7013class AzureSqlDWLinkedService(LinkedService):
7014    """Azure SQL Data Warehouse linked service.
7015
7016    All required parameters must be populated in order to send to Azure.
7017
7018    :param additional_properties: Unmatched properties from the message are deserialized to this
7019     collection.
7020    :type additional_properties: dict[str, any]
7021    :param type: Required. Type of linked service.Constant filled by server.
7022    :type type: str
7023    :param connect_via: The integration runtime reference.
7024    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
7025    :param description: Linked service description.
7026    :type description: str
7027    :param parameters: Parameters for linked service.
7028    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
7029    :param annotations: List of tags that can be used for describing the linked service.
7030    :type annotations: list[any]
7031    :param connection_string: Required. The connection string. Type: string, SecureString or
7032     AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.
7033    :type connection_string: any
7034    :param password: The Azure key vault secret reference of password in connection string.
7035    :type password: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
7036    :param service_principal_id: The ID of the service principal used to authenticate against Azure
7037     SQL Data Warehouse. Type: string (or Expression with resultType string).
7038    :type service_principal_id: any
7039    :param service_principal_key: The key of the service principal used to authenticate against
7040     Azure SQL Data Warehouse.
7041    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
7042    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
7043     string (or Expression with resultType string).
7044    :type tenant: any
7045    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
7046     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
7047     factory regions’ cloud type. Type: string (or Expression with resultType string).
7048    :type azure_cloud_type: any
7049    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
7050     encrypted using the integration runtime credential manager. Type: string (or Expression with
7051     resultType string).
7052    :type encrypted_credential: any
7053    """
7054
7055    _validation = {
7056        'type': {'required': True},
7057        'connection_string': {'required': True},
7058    }
7059
7060    _attribute_map = {
7061        'additional_properties': {'key': '', 'type': '{object}'},
7062        'type': {'key': 'type', 'type': 'str'},
7063        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
7064        'description': {'key': 'description', 'type': 'str'},
7065        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7066        'annotations': {'key': 'annotations', 'type': '[object]'},
7067        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
7068        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
7069        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
7070        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
7071        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
7072        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
7073        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
7074    }
7075
7076    def __init__(
7077        self,
7078        *,
7079        connection_string: Any,
7080        additional_properties: Optional[Dict[str, Any]] = None,
7081        connect_via: Optional["IntegrationRuntimeReference"] = None,
7082        description: Optional[str] = None,
7083        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7084        annotations: Optional[List[Any]] = None,
7085        password: Optional["AzureKeyVaultSecretReference"] = None,
7086        service_principal_id: Optional[Any] = None,
7087        service_principal_key: Optional["SecretBase"] = None,
7088        tenant: Optional[Any] = None,
7089        azure_cloud_type: Optional[Any] = None,
7090        encrypted_credential: Optional[Any] = None,
7091        **kwargs
7092    ):
7093        super(AzureSqlDWLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
7094        self.type = 'AzureSqlDW'  # type: str
7095        self.connection_string = connection_string
7096        self.password = password
7097        self.service_principal_id = service_principal_id
7098        self.service_principal_key = service_principal_key
7099        self.tenant = tenant
7100        self.azure_cloud_type = azure_cloud_type
7101        self.encrypted_credential = encrypted_credential
7102
7103
7104class AzureSqlDWTableDataset(Dataset):
7105    """The Azure SQL Data Warehouse dataset.
7106
7107    All required parameters must be populated in order to send to Azure.
7108
7109    :param additional_properties: Unmatched properties from the message are deserialized to this
7110     collection.
7111    :type additional_properties: dict[str, any]
7112    :param type: Required. Type of dataset.Constant filled by server.
7113    :type type: str
7114    :param description: Dataset description.
7115    :type description: str
7116    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
7117     with resultType array), itemType: DatasetDataElement.
7118    :type structure: any
7119    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
7120     Expression with resultType array), itemType: DatasetSchemaDataElement.
7121    :type schema: any
7122    :param linked_service_name: Required. Linked service reference.
7123    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
7124    :param parameters: Parameters for dataset.
7125    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
7126    :param annotations: List of tags that can be used for describing the Dataset.
7127    :type annotations: list[any]
7128    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
7129     root level.
7130    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
7131    :param table_name: This property will be retired. Please consider using schema + table
7132     properties instead.
7133    :type table_name: any
7134    :param schema_type_properties_schema: The schema name of the Azure SQL Data Warehouse. Type:
7135     string (or Expression with resultType string).
7136    :type schema_type_properties_schema: any
7137    :param table: The table name of the Azure SQL Data Warehouse. Type: string (or Expression with
7138     resultType string).
7139    :type table: any
7140    """
7141
7142    _validation = {
7143        'type': {'required': True},
7144        'linked_service_name': {'required': True},
7145    }
7146
7147    _attribute_map = {
7148        'additional_properties': {'key': '', 'type': '{object}'},
7149        'type': {'key': 'type', 'type': 'str'},
7150        'description': {'key': 'description', 'type': 'str'},
7151        'structure': {'key': 'structure', 'type': 'object'},
7152        'schema': {'key': 'schema', 'type': 'object'},
7153        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
7154        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7155        'annotations': {'key': 'annotations', 'type': '[object]'},
7156        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
7157        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
7158        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
7159        'table': {'key': 'typeProperties.table', 'type': 'object'},
7160    }
7161
7162    def __init__(
7163        self,
7164        *,
7165        linked_service_name: "LinkedServiceReference",
7166        additional_properties: Optional[Dict[str, Any]] = None,
7167        description: Optional[str] = None,
7168        structure: Optional[Any] = None,
7169        schema: Optional[Any] = None,
7170        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7171        annotations: Optional[List[Any]] = None,
7172        folder: Optional["DatasetFolder"] = None,
7173        table_name: Optional[Any] = None,
7174        schema_type_properties_schema: Optional[Any] = None,
7175        table: Optional[Any] = None,
7176        **kwargs
7177    ):
7178        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)
7179        self.type = 'AzureSqlDWTable'  # type: str
7180        self.table_name = table_name
7181        self.schema_type_properties_schema = schema_type_properties_schema
7182        self.table = table
7183
7184
7185class AzureSqlMILinkedService(LinkedService):
7186    """Azure SQL Managed Instance linked service.
7187
7188    All required parameters must be populated in order to send to Azure.
7189
7190    :param additional_properties: Unmatched properties from the message are deserialized to this
7191     collection.
7192    :type additional_properties: dict[str, any]
7193    :param type: Required. Type of linked service.Constant filled by server.
7194    :type type: str
7195    :param connect_via: The integration runtime reference.
7196    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
7197    :param description: Linked service description.
7198    :type description: str
7199    :param parameters: Parameters for linked service.
7200    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
7201    :param annotations: List of tags that can be used for describing the linked service.
7202    :type annotations: list[any]
7203    :param connection_string: Required. The connection string. Type: string, SecureString or
7204     AzureKeyVaultSecretReference.
7205    :type connection_string: any
7206    :param password: The Azure key vault secret reference of password in connection string.
7207    :type password: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
7208    :param service_principal_id: The ID of the service principal used to authenticate against Azure
7209     SQL Managed Instance. Type: string (or Expression with resultType string).
7210    :type service_principal_id: any
7211    :param service_principal_key: The key of the service principal used to authenticate against
7212     Azure SQL Managed Instance.
7213    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
7214    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
7215     string (or Expression with resultType string).
7216    :type tenant: any
7217    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
7218     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
7219     factory regions’ cloud type. Type: string (or Expression with resultType string).
7220    :type azure_cloud_type: any
7221    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
7222     encrypted using the integration runtime credential manager. Type: string (or Expression with
7223     resultType string).
7224    :type encrypted_credential: any
7225    """
7226
7227    _validation = {
7228        'type': {'required': True},
7229        'connection_string': {'required': True},
7230    }
7231
7232    _attribute_map = {
7233        'additional_properties': {'key': '', 'type': '{object}'},
7234        'type': {'key': 'type', 'type': 'str'},
7235        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
7236        'description': {'key': 'description', 'type': 'str'},
7237        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7238        'annotations': {'key': 'annotations', 'type': '[object]'},
7239        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
7240        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
7241        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
7242        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
7243        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
7244        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
7245        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
7246    }
7247
7248    def __init__(
7249        self,
7250        *,
7251        connection_string: Any,
7252        additional_properties: Optional[Dict[str, Any]] = None,
7253        connect_via: Optional["IntegrationRuntimeReference"] = None,
7254        description: Optional[str] = None,
7255        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7256        annotations: Optional[List[Any]] = None,
7257        password: Optional["AzureKeyVaultSecretReference"] = None,
7258        service_principal_id: Optional[Any] = None,
7259        service_principal_key: Optional["SecretBase"] = None,
7260        tenant: Optional[Any] = None,
7261        azure_cloud_type: Optional[Any] = None,
7262        encrypted_credential: Optional[Any] = None,
7263        **kwargs
7264    ):
7265        super(AzureSqlMILinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
7266        self.type = 'AzureSqlMI'  # type: str
7267        self.connection_string = connection_string
7268        self.password = password
7269        self.service_principal_id = service_principal_id
7270        self.service_principal_key = service_principal_key
7271        self.tenant = tenant
7272        self.azure_cloud_type = azure_cloud_type
7273        self.encrypted_credential = encrypted_credential
7274
7275
7276class AzureSqlMITableDataset(Dataset):
7277    """The Azure SQL Managed Instance dataset.
7278
7279    All required parameters must be populated in order to send to Azure.
7280
7281    :param additional_properties: Unmatched properties from the message are deserialized to this
7282     collection.
7283    :type additional_properties: dict[str, any]
7284    :param type: Required. Type of dataset.Constant filled by server.
7285    :type type: str
7286    :param description: Dataset description.
7287    :type description: str
7288    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
7289     with resultType array), itemType: DatasetDataElement.
7290    :type structure: any
7291    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
7292     Expression with resultType array), itemType: DatasetSchemaDataElement.
7293    :type schema: any
7294    :param linked_service_name: Required. Linked service reference.
7295    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
7296    :param parameters: Parameters for dataset.
7297    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
7298    :param annotations: List of tags that can be used for describing the Dataset.
7299    :type annotations: list[any]
7300    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
7301     root level.
7302    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
7303    :param table_name: This property will be retired. Please consider using schema + table
7304     properties instead.
7305    :type table_name: any
7306    :param schema_type_properties_schema: The schema name of the Azure SQL Managed Instance. Type:
7307     string (or Expression with resultType string).
7308    :type schema_type_properties_schema: any
7309    :param table: The table name of the Azure SQL Managed Instance dataset. Type: string (or
7310     Expression with resultType string).
7311    :type table: any
7312    """
7313
7314    _validation = {
7315        'type': {'required': True},
7316        'linked_service_name': {'required': True},
7317    }
7318
7319    _attribute_map = {
7320        'additional_properties': {'key': '', 'type': '{object}'},
7321        'type': {'key': 'type', 'type': 'str'},
7322        'description': {'key': 'description', 'type': 'str'},
7323        'structure': {'key': 'structure', 'type': 'object'},
7324        'schema': {'key': 'schema', 'type': 'object'},
7325        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
7326        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7327        'annotations': {'key': 'annotations', 'type': '[object]'},
7328        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
7329        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
7330        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
7331        'table': {'key': 'typeProperties.table', 'type': 'object'},
7332    }
7333
7334    def __init__(
7335        self,
7336        *,
7337        linked_service_name: "LinkedServiceReference",
7338        additional_properties: Optional[Dict[str, Any]] = None,
7339        description: Optional[str] = None,
7340        structure: Optional[Any] = None,
7341        schema: Optional[Any] = None,
7342        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7343        annotations: Optional[List[Any]] = None,
7344        folder: Optional["DatasetFolder"] = None,
7345        table_name: Optional[Any] = None,
7346        schema_type_properties_schema: Optional[Any] = None,
7347        table: Optional[Any] = None,
7348        **kwargs
7349    ):
7350        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)
7351        self.type = 'AzureSqlMITable'  # type: str
7352        self.table_name = table_name
7353        self.schema_type_properties_schema = schema_type_properties_schema
7354        self.table = table
7355
7356
7357class AzureSqlSink(CopySink):
7358    """A copy activity Azure SQL sink.
7359
7360    All required parameters must be populated in order to send to Azure.
7361
7362    :param additional_properties: Unmatched properties from the message are deserialized to this
7363     collection.
7364    :type additional_properties: dict[str, any]
7365    :param type: Required. Copy sink type.Constant filled by server.
7366    :type type: str
7367    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
7368     integer), minimum: 0.
7369    :type write_batch_size: any
7370    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
7371     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7372    :type write_batch_timeout: any
7373    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
7374     integer).
7375    :type sink_retry_count: any
7376    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
7377     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7378    :type sink_retry_wait: any
7379    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
7380     store. Type: integer (or Expression with resultType integer).
7381    :type max_concurrent_connections: any
7382    :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or
7383     Expression with resultType string).
7384    :type sql_writer_stored_procedure_name: any
7385    :param sql_writer_table_type: SQL writer table type. Type: string (or Expression with
7386     resultType string).
7387    :type sql_writer_table_type: any
7388    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
7389     string).
7390    :type pre_copy_script: any
7391    :param stored_procedure_parameters: SQL stored procedure parameters.
7392    :type stored_procedure_parameters: dict[str,
7393     ~azure.synapse.artifacts.v2020_12_01.models.StoredProcedureParameter]
7394    :param stored_procedure_table_type_parameter_name: The stored procedure parameter name of the
7395     table type. Type: string (or Expression with resultType string).
7396    :type stored_procedure_table_type_parameter_name: any
7397    :param table_option: The option to handle sink table, such as autoCreate. For now only
7398     'autoCreate' value is supported. Type: string (or Expression with resultType string).
7399    :type table_option: any
7400    """
7401
7402    _validation = {
7403        'type': {'required': True},
7404    }
7405
7406    _attribute_map = {
7407        'additional_properties': {'key': '', 'type': '{object}'},
7408        'type': {'key': 'type', 'type': 'str'},
7409        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
7410        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
7411        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
7412        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
7413        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
7414        'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'},
7415        'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'},
7416        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
7417        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
7418        'stored_procedure_table_type_parameter_name': {'key': 'storedProcedureTableTypeParameterName', 'type': 'object'},
7419        'table_option': {'key': 'tableOption', 'type': 'object'},
7420    }
7421
7422    def __init__(
7423        self,
7424        *,
7425        additional_properties: Optional[Dict[str, Any]] = None,
7426        write_batch_size: Optional[Any] = None,
7427        write_batch_timeout: Optional[Any] = None,
7428        sink_retry_count: Optional[Any] = None,
7429        sink_retry_wait: Optional[Any] = None,
7430        max_concurrent_connections: Optional[Any] = None,
7431        sql_writer_stored_procedure_name: Optional[Any] = None,
7432        sql_writer_table_type: Optional[Any] = None,
7433        pre_copy_script: Optional[Any] = None,
7434        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
7435        stored_procedure_table_type_parameter_name: Optional[Any] = None,
7436        table_option: Optional[Any] = None,
7437        **kwargs
7438    ):
7439        super(AzureSqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
7440        self.type = 'AzureSqlSink'  # type: str
7441        self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name
7442        self.sql_writer_table_type = sql_writer_table_type
7443        self.pre_copy_script = pre_copy_script
7444        self.stored_procedure_parameters = stored_procedure_parameters
7445        self.stored_procedure_table_type_parameter_name = stored_procedure_table_type_parameter_name
7446        self.table_option = table_option
7447
7448
7449class AzureSqlSource(TabularSource):
7450    """A copy activity Azure SQL source.
7451
7452    All required parameters must be populated in order to send to Azure.
7453
7454    :param additional_properties: Unmatched properties from the message are deserialized to this
7455     collection.
7456    :type additional_properties: dict[str, any]
7457    :param type: Required. Copy source type.Constant filled by server.
7458    :type type: str
7459    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
7460     integer).
7461    :type source_retry_count: any
7462    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
7463     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7464    :type source_retry_wait: any
7465    :param max_concurrent_connections: The maximum concurrent connection count for the source data
7466     store. Type: integer (or Expression with resultType integer).
7467    :type max_concurrent_connections: any
7468    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
7469     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7470    :type query_timeout: any
7471    :param additional_columns: Specifies the additional columns to be added to source data. Type:
7472     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
7473    :type additional_columns: any
7474    :param sql_reader_query: SQL reader query. Type: string (or Expression with resultType string).
7475    :type sql_reader_query: any
7476    :param sql_reader_stored_procedure_name: Name of the stored procedure for a SQL Database
7477     source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression
7478     with resultType string).
7479    :type sql_reader_stored_procedure_name: any
7480    :param stored_procedure_parameters: Value and type setting for stored procedure parameters.
7481     Example: "{Parameter1: {value: "1", type: "int"}}".
7482    :type stored_procedure_parameters: dict[str,
7483     ~azure.synapse.artifacts.v2020_12_01.models.StoredProcedureParameter]
7484    :param produce_additional_types: Which additional types to produce.
7485    :type produce_additional_types: any
7486    :param partition_option: The partition mechanism that will be used for Sql read in parallel.
7487     Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange".
7488    :type partition_option: any
7489    :param partition_settings: The settings that will be leveraged for Sql source partitioning.
7490    :type partition_settings: ~azure.synapse.artifacts.v2020_12_01.models.SqlPartitionSettings
7491    """
7492
7493    _validation = {
7494        'type': {'required': True},
7495    }
7496
7497    _attribute_map = {
7498        'additional_properties': {'key': '', 'type': '{object}'},
7499        'type': {'key': 'type', 'type': 'str'},
7500        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
7501        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
7502        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
7503        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
7504        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
7505        'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'},
7506        'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'},
7507        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
7508        'produce_additional_types': {'key': 'produceAdditionalTypes', 'type': 'object'},
7509        'partition_option': {'key': 'partitionOption', 'type': 'object'},
7510        'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'},
7511    }
7512
7513    def __init__(
7514        self,
7515        *,
7516        additional_properties: Optional[Dict[str, Any]] = None,
7517        source_retry_count: Optional[Any] = None,
7518        source_retry_wait: Optional[Any] = None,
7519        max_concurrent_connections: Optional[Any] = None,
7520        query_timeout: Optional[Any] = None,
7521        additional_columns: Optional[Any] = None,
7522        sql_reader_query: Optional[Any] = None,
7523        sql_reader_stored_procedure_name: Optional[Any] = None,
7524        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
7525        produce_additional_types: Optional[Any] = None,
7526        partition_option: Optional[Any] = None,
7527        partition_settings: Optional["SqlPartitionSettings"] = None,
7528        **kwargs
7529    ):
7530        super(AzureSqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
7531        self.type = 'AzureSqlSource'  # type: str
7532        self.sql_reader_query = sql_reader_query
7533        self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name
7534        self.stored_procedure_parameters = stored_procedure_parameters
7535        self.produce_additional_types = produce_additional_types
7536        self.partition_option = partition_option
7537        self.partition_settings = partition_settings
7538
7539
7540class AzureSqlTableDataset(Dataset):
7541    """The Azure SQL Server database dataset.
7542
7543    All required parameters must be populated in order to send to Azure.
7544
7545    :param additional_properties: Unmatched properties from the message are deserialized to this
7546     collection.
7547    :type additional_properties: dict[str, any]
7548    :param type: Required. Type of dataset.Constant filled by server.
7549    :type type: str
7550    :param description: Dataset description.
7551    :type description: str
7552    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
7553     with resultType array), itemType: DatasetDataElement.
7554    :type structure: any
7555    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
7556     Expression with resultType array), itemType: DatasetSchemaDataElement.
7557    :type schema: any
7558    :param linked_service_name: Required. Linked service reference.
7559    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
7560    :param parameters: Parameters for dataset.
7561    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
7562    :param annotations: List of tags that can be used for describing the Dataset.
7563    :type annotations: list[any]
7564    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
7565     root level.
7566    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
7567    :param table_name: This property will be retired. Please consider using schema + table
7568     properties instead.
7569    :type table_name: any
7570    :param schema_type_properties_schema: The schema name of the Azure SQL database. Type: string
7571     (or Expression with resultType string).
7572    :type schema_type_properties_schema: any
7573    :param table: The table name of the Azure SQL database. Type: string (or Expression with
7574     resultType string).
7575    :type table: any
7576    """
7577
7578    _validation = {
7579        'type': {'required': True},
7580        'linked_service_name': {'required': True},
7581    }
7582
7583    _attribute_map = {
7584        'additional_properties': {'key': '', 'type': '{object}'},
7585        'type': {'key': 'type', 'type': 'str'},
7586        'description': {'key': 'description', 'type': 'str'},
7587        'structure': {'key': 'structure', 'type': 'object'},
7588        'schema': {'key': 'schema', 'type': 'object'},
7589        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
7590        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7591        'annotations': {'key': 'annotations', 'type': '[object]'},
7592        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
7593        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
7594        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
7595        'table': {'key': 'typeProperties.table', 'type': 'object'},
7596    }
7597
7598    def __init__(
7599        self,
7600        *,
7601        linked_service_name: "LinkedServiceReference",
7602        additional_properties: Optional[Dict[str, Any]] = None,
7603        description: Optional[str] = None,
7604        structure: Optional[Any] = None,
7605        schema: Optional[Any] = None,
7606        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7607        annotations: Optional[List[Any]] = None,
7608        folder: Optional["DatasetFolder"] = None,
7609        table_name: Optional[Any] = None,
7610        schema_type_properties_schema: Optional[Any] = None,
7611        table: Optional[Any] = None,
7612        **kwargs
7613    ):
7614        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)
7615        self.type = 'AzureSqlTable'  # type: str
7616        self.table_name = table_name
7617        self.schema_type_properties_schema = schema_type_properties_schema
7618        self.table = table
7619
7620
7621class AzureStorageLinkedService(LinkedService):
7622    """The storage account linked service.
7623
7624    All required parameters must be populated in order to send to Azure.
7625
7626    :param additional_properties: Unmatched properties from the message are deserialized to this
7627     collection.
7628    :type additional_properties: dict[str, any]
7629    :param type: Required. Type of linked service.Constant filled by server.
7630    :type type: str
7631    :param connect_via: The integration runtime reference.
7632    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
7633    :param description: Linked service description.
7634    :type description: str
7635    :param parameters: Parameters for linked service.
7636    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
7637    :param annotations: List of tags that can be used for describing the linked service.
7638    :type annotations: list[any]
7639    :param connection_string: The connection string. It is mutually exclusive with sasUri property.
7640     Type: string, SecureString or AzureKeyVaultSecretReference.
7641    :type connection_string: any
7642    :param account_key: The Azure key vault secret reference of accountKey in connection string.
7643    :type account_key: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
7644    :param sas_uri: SAS URI of the Azure Storage resource. It is mutually exclusive with
7645     connectionString property. Type: string, SecureString or AzureKeyVaultSecretReference.
7646    :type sas_uri: any
7647    :param sas_token: The Azure key vault secret reference of sasToken in sas uri.
7648    :type sas_token: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
7649    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
7650     encrypted using the integration runtime credential manager. Type: string (or Expression with
7651     resultType string).
7652    :type encrypted_credential: str
7653    """
7654
7655    _validation = {
7656        'type': {'required': True},
7657    }
7658
7659    _attribute_map = {
7660        'additional_properties': {'key': '', 'type': '{object}'},
7661        'type': {'key': 'type', 'type': 'str'},
7662        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
7663        'description': {'key': 'description', 'type': 'str'},
7664        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7665        'annotations': {'key': 'annotations', 'type': '[object]'},
7666        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
7667        'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'},
7668        'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'},
7669        'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'},
7670        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'},
7671    }
7672
7673    def __init__(
7674        self,
7675        *,
7676        additional_properties: Optional[Dict[str, Any]] = None,
7677        connect_via: Optional["IntegrationRuntimeReference"] = None,
7678        description: Optional[str] = None,
7679        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7680        annotations: Optional[List[Any]] = None,
7681        connection_string: Optional[Any] = None,
7682        account_key: Optional["AzureKeyVaultSecretReference"] = None,
7683        sas_uri: Optional[Any] = None,
7684        sas_token: Optional["AzureKeyVaultSecretReference"] = None,
7685        encrypted_credential: Optional[str] = None,
7686        **kwargs
7687    ):
7688        super(AzureStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
7689        self.type = 'AzureStorage'  # type: str
7690        self.connection_string = connection_string
7691        self.account_key = account_key
7692        self.sas_uri = sas_uri
7693        self.sas_token = sas_token
7694        self.encrypted_credential = encrypted_credential
7695
7696
7697class AzureTableDataset(Dataset):
7698    """The Azure Table storage dataset.
7699
7700    All required parameters must be populated in order to send to Azure.
7701
7702    :param additional_properties: Unmatched properties from the message are deserialized to this
7703     collection.
7704    :type additional_properties: dict[str, any]
7705    :param type: Required. Type of dataset.Constant filled by server.
7706    :type type: str
7707    :param description: Dataset description.
7708    :type description: str
7709    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
7710     with resultType array), itemType: DatasetDataElement.
7711    :type structure: any
7712    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
7713     Expression with resultType array), itemType: DatasetSchemaDataElement.
7714    :type schema: any
7715    :param linked_service_name: Required. Linked service reference.
7716    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
7717    :param parameters: Parameters for dataset.
7718    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
7719    :param annotations: List of tags that can be used for describing the Dataset.
7720    :type annotations: list[any]
7721    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
7722     root level.
7723    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
7724    :param table_name: Required. The table name of the Azure Table storage. Type: string (or
7725     Expression with resultType string).
7726    :type table_name: any
7727    """
7728
7729    _validation = {
7730        'type': {'required': True},
7731        'linked_service_name': {'required': True},
7732        'table_name': {'required': True},
7733    }
7734
7735    _attribute_map = {
7736        'additional_properties': {'key': '', 'type': '{object}'},
7737        'type': {'key': 'type', 'type': 'str'},
7738        'description': {'key': 'description', 'type': 'str'},
7739        'structure': {'key': 'structure', 'type': 'object'},
7740        'schema': {'key': 'schema', 'type': 'object'},
7741        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
7742        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7743        'annotations': {'key': 'annotations', 'type': '[object]'},
7744        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
7745        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
7746    }
7747
7748    def __init__(
7749        self,
7750        *,
7751        linked_service_name: "LinkedServiceReference",
7752        table_name: Any,
7753        additional_properties: Optional[Dict[str, Any]] = None,
7754        description: Optional[str] = None,
7755        structure: Optional[Any] = None,
7756        schema: Optional[Any] = None,
7757        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7758        annotations: Optional[List[Any]] = None,
7759        folder: Optional["DatasetFolder"] = None,
7760        **kwargs
7761    ):
7762        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)
7763        self.type = 'AzureTable'  # type: str
7764        self.table_name = table_name
7765
7766
7767class AzureTableSink(CopySink):
7768    """A copy activity Azure Table sink.
7769
7770    All required parameters must be populated in order to send to Azure.
7771
7772    :param additional_properties: Unmatched properties from the message are deserialized to this
7773     collection.
7774    :type additional_properties: dict[str, any]
7775    :param type: Required. Copy sink type.Constant filled by server.
7776    :type type: str
7777    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
7778     integer), minimum: 0.
7779    :type write_batch_size: any
7780    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
7781     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7782    :type write_batch_timeout: any
7783    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
7784     integer).
7785    :type sink_retry_count: any
7786    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
7787     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7788    :type sink_retry_wait: any
7789    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
7790     store. Type: integer (or Expression with resultType integer).
7791    :type max_concurrent_connections: any
7792    :param azure_table_default_partition_key_value: Azure Table default partition key value. Type:
7793     string (or Expression with resultType string).
7794    :type azure_table_default_partition_key_value: any
7795    :param azure_table_partition_key_name: Azure Table partition key name. Type: string (or
7796     Expression with resultType string).
7797    :type azure_table_partition_key_name: any
7798    :param azure_table_row_key_name: Azure Table row key name. Type: string (or Expression with
7799     resultType string).
7800    :type azure_table_row_key_name: any
7801    :param azure_table_insert_type: Azure Table insert type. Type: string (or Expression with
7802     resultType string).
7803    :type azure_table_insert_type: any
7804    """
7805
7806    _validation = {
7807        'type': {'required': True},
7808    }
7809
7810    _attribute_map = {
7811        'additional_properties': {'key': '', 'type': '{object}'},
7812        'type': {'key': 'type', 'type': 'str'},
7813        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
7814        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
7815        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
7816        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
7817        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
7818        'azure_table_default_partition_key_value': {'key': 'azureTableDefaultPartitionKeyValue', 'type': 'object'},
7819        'azure_table_partition_key_name': {'key': 'azureTablePartitionKeyName', 'type': 'object'},
7820        'azure_table_row_key_name': {'key': 'azureTableRowKeyName', 'type': 'object'},
7821        'azure_table_insert_type': {'key': 'azureTableInsertType', 'type': 'object'},
7822    }
7823
7824    def __init__(
7825        self,
7826        *,
7827        additional_properties: Optional[Dict[str, Any]] = None,
7828        write_batch_size: Optional[Any] = None,
7829        write_batch_timeout: Optional[Any] = None,
7830        sink_retry_count: Optional[Any] = None,
7831        sink_retry_wait: Optional[Any] = None,
7832        max_concurrent_connections: Optional[Any] = None,
7833        azure_table_default_partition_key_value: Optional[Any] = None,
7834        azure_table_partition_key_name: Optional[Any] = None,
7835        azure_table_row_key_name: Optional[Any] = None,
7836        azure_table_insert_type: Optional[Any] = None,
7837        **kwargs
7838    ):
7839        super(AzureTableSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
7840        self.type = 'AzureTableSink'  # type: str
7841        self.azure_table_default_partition_key_value = azure_table_default_partition_key_value
7842        self.azure_table_partition_key_name = azure_table_partition_key_name
7843        self.azure_table_row_key_name = azure_table_row_key_name
7844        self.azure_table_insert_type = azure_table_insert_type
7845
7846
7847class AzureTableSource(TabularSource):
7848    """A copy activity Azure Table source.
7849
7850    All required parameters must be populated in order to send to Azure.
7851
7852    :param additional_properties: Unmatched properties from the message are deserialized to this
7853     collection.
7854    :type additional_properties: dict[str, any]
7855    :param type: Required. Copy source type.Constant filled by server.
7856    :type type: str
7857    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
7858     integer).
7859    :type source_retry_count: any
7860    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
7861     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7862    :type source_retry_wait: any
7863    :param max_concurrent_connections: The maximum concurrent connection count for the source data
7864     store. Type: integer (or Expression with resultType integer).
7865    :type max_concurrent_connections: any
7866    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
7867     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7868    :type query_timeout: any
7869    :param additional_columns: Specifies the additional columns to be added to source data. Type:
7870     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
7871    :type additional_columns: any
7872    :param azure_table_source_query: Azure Table source query. Type: string (or Expression with
7873     resultType string).
7874    :type azure_table_source_query: any
7875    :param azure_table_source_ignore_table_not_found: Azure Table source ignore table not found.
7876     Type: boolean (or Expression with resultType boolean).
7877    :type azure_table_source_ignore_table_not_found: any
7878    """
7879
7880    _validation = {
7881        'type': {'required': True},
7882    }
7883
7884    _attribute_map = {
7885        'additional_properties': {'key': '', 'type': '{object}'},
7886        'type': {'key': 'type', 'type': 'str'},
7887        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
7888        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
7889        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
7890        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
7891        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
7892        'azure_table_source_query': {'key': 'azureTableSourceQuery', 'type': 'object'},
7893        'azure_table_source_ignore_table_not_found': {'key': 'azureTableSourceIgnoreTableNotFound', 'type': 'object'},
7894    }
7895
7896    def __init__(
7897        self,
7898        *,
7899        additional_properties: Optional[Dict[str, Any]] = None,
7900        source_retry_count: Optional[Any] = None,
7901        source_retry_wait: Optional[Any] = None,
7902        max_concurrent_connections: Optional[Any] = None,
7903        query_timeout: Optional[Any] = None,
7904        additional_columns: Optional[Any] = None,
7905        azure_table_source_query: Optional[Any] = None,
7906        azure_table_source_ignore_table_not_found: Optional[Any] = None,
7907        **kwargs
7908    ):
7909        super(AzureTableSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
7910        self.type = 'AzureTableSource'  # type: str
7911        self.azure_table_source_query = azure_table_source_query
7912        self.azure_table_source_ignore_table_not_found = azure_table_source_ignore_table_not_found
7913
7914
7915class AzureTableStorageLinkedService(LinkedService):
7916    """The azure table storage linked service.
7917
7918    All required parameters must be populated in order to send to Azure.
7919
7920    :param additional_properties: Unmatched properties from the message are deserialized to this
7921     collection.
7922    :type additional_properties: dict[str, any]
7923    :param type: Required. Type of linked service.Constant filled by server.
7924    :type type: str
7925    :param connect_via: The integration runtime reference.
7926    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
7927    :param description: Linked service description.
7928    :type description: str
7929    :param parameters: Parameters for linked service.
7930    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
7931    :param annotations: List of tags that can be used for describing the linked service.
7932    :type annotations: list[any]
7933    :param connection_string: The connection string. It is mutually exclusive with sasUri property.
7934     Type: string, SecureString or AzureKeyVaultSecretReference.
7935    :type connection_string: any
7936    :param account_key: The Azure key vault secret reference of accountKey in connection string.
7937    :type account_key: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
7938    :param sas_uri: SAS URI of the Azure Storage resource. It is mutually exclusive with
7939     connectionString property. Type: string, SecureString or AzureKeyVaultSecretReference.
7940    :type sas_uri: any
7941    :param sas_token: The Azure key vault secret reference of sasToken in sas uri.
7942    :type sas_token: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
7943    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
7944     encrypted using the integration runtime credential manager. Type: string (or Expression with
7945     resultType string).
7946    :type encrypted_credential: str
7947    """
7948
7949    _validation = {
7950        'type': {'required': True},
7951    }
7952
7953    _attribute_map = {
7954        'additional_properties': {'key': '', 'type': '{object}'},
7955        'type': {'key': 'type', 'type': 'str'},
7956        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
7957        'description': {'key': 'description', 'type': 'str'},
7958        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7959        'annotations': {'key': 'annotations', 'type': '[object]'},
7960        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
7961        'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'},
7962        'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'},
7963        'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'},
7964        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'},
7965    }
7966
7967    def __init__(
7968        self,
7969        *,
7970        additional_properties: Optional[Dict[str, Any]] = None,
7971        connect_via: Optional["IntegrationRuntimeReference"] = None,
7972        description: Optional[str] = None,
7973        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7974        annotations: Optional[List[Any]] = None,
7975        connection_string: Optional[Any] = None,
7976        account_key: Optional["AzureKeyVaultSecretReference"] = None,
7977        sas_uri: Optional[Any] = None,
7978        sas_token: Optional["AzureKeyVaultSecretReference"] = None,
7979        encrypted_credential: Optional[str] = None,
7980        **kwargs
7981    ):
7982        super(AzureTableStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
7983        self.type = 'AzureTableStorage'  # type: str
7984        self.connection_string = connection_string
7985        self.account_key = account_key
7986        self.sas_uri = sas_uri
7987        self.sas_token = sas_token
7988        self.encrypted_credential = encrypted_credential
7989
7990
7991class BigDataPoolReference(msrest.serialization.Model):
7992    """Big data pool reference.
7993
7994    All required parameters must be populated in order to send to Azure.
7995
7996    :param type: Required. Big data pool reference type. Possible values include:
7997     "BigDataPoolReference".
7998    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.BigDataPoolReferenceType
7999    :param reference_name: Required. Reference big data pool name.
8000    :type reference_name: str
8001    """
8002
8003    _validation = {
8004        'type': {'required': True},
8005        'reference_name': {'required': True},
8006    }
8007
8008    _attribute_map = {
8009        'type': {'key': 'type', 'type': 'str'},
8010        'reference_name': {'key': 'referenceName', 'type': 'str'},
8011    }
8012
8013    def __init__(
8014        self,
8015        *,
8016        type: Union[str, "BigDataPoolReferenceType"],
8017        reference_name: str,
8018        **kwargs
8019    ):
8020        super(BigDataPoolReference, self).__init__(**kwargs)
8021        self.type = type
8022        self.reference_name = reference_name
8023
8024
8025class TrackedResource(Resource):
8026    """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'.
8027
8028    Variables are only populated by the server, and will be ignored when sending a request.
8029
8030    All required parameters must be populated in order to send to Azure.
8031
8032    :ivar id: Fully qualified resource ID for the resource. Ex -
8033     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
8034    :vartype id: str
8035    :ivar name: The name of the resource.
8036    :vartype name: str
8037    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
8038     "Microsoft.Storage/storageAccounts".
8039    :vartype type: str
8040    :param tags: A set of tags. Resource tags.
8041    :type tags: dict[str, str]
8042    :param location: Required. The geo-location where the resource lives.
8043    :type location: str
8044    """
8045
8046    _validation = {
8047        'id': {'readonly': True},
8048        'name': {'readonly': True},
8049        'type': {'readonly': True},
8050        'location': {'required': True},
8051    }
8052
8053    _attribute_map = {
8054        'id': {'key': 'id', 'type': 'str'},
8055        'name': {'key': 'name', 'type': 'str'},
8056        'type': {'key': 'type', 'type': 'str'},
8057        'tags': {'key': 'tags', 'type': '{str}'},
8058        'location': {'key': 'location', 'type': 'str'},
8059    }
8060
8061    def __init__(
8062        self,
8063        *,
8064        location: str,
8065        tags: Optional[Dict[str, str]] = None,
8066        **kwargs
8067    ):
8068        super(TrackedResource, self).__init__(**kwargs)
8069        self.tags = tags
8070        self.location = location
8071
8072
8073class BigDataPoolResourceInfo(TrackedResource):
8074    """A Big Data pool.
8075
8076    Variables are only populated by the server, and will be ignored when sending a request.
8077
8078    All required parameters must be populated in order to send to Azure.
8079
8080    :ivar id: Fully qualified resource ID for the resource. Ex -
8081     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
8082    :vartype id: str
8083    :ivar name: The name of the resource.
8084    :vartype name: str
8085    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
8086     "Microsoft.Storage/storageAccounts".
8087    :vartype type: str
8088    :param tags: A set of tags. Resource tags.
8089    :type tags: dict[str, str]
8090    :param location: Required. The geo-location where the resource lives.
8091    :type location: str
8092    :param provisioning_state: The state of the Big Data pool.
8093    :type provisioning_state: str
8094    :param auto_scale: Auto-scaling properties.
8095    :type auto_scale: ~azure.synapse.artifacts.v2020_12_01.models.AutoScaleProperties
8096    :param creation_date: The time when the Big Data pool was created.
8097    :type creation_date: ~datetime.datetime
8098    :param auto_pause: Auto-pausing properties.
8099    :type auto_pause: ~azure.synapse.artifacts.v2020_12_01.models.AutoPauseProperties
8100    :param is_compute_isolation_enabled: Whether compute isolation is required or not.
8101    :type is_compute_isolation_enabled: bool
8102    :param session_level_packages_enabled: Whether session level packages enabled.
8103    :type session_level_packages_enabled: bool
8104    :param cache_size: The cache size.
8105    :type cache_size: int
8106    :param dynamic_executor_allocation: Dynamic Executor Allocation.
8107    :type dynamic_executor_allocation:
8108     ~azure.synapse.artifacts.v2020_12_01.models.DynamicExecutorAllocation
8109    :param spark_events_folder: The Spark events folder.
8110    :type spark_events_folder: str
8111    :param node_count: The number of nodes in the Big Data pool.
8112    :type node_count: int
8113    :param library_requirements: Library version requirements.
8114    :type library_requirements: ~azure.synapse.artifacts.v2020_12_01.models.LibraryRequirements
8115    :param custom_libraries: List of custom libraries/packages associated with the spark pool.
8116    :type custom_libraries: list[~azure.synapse.artifacts.v2020_12_01.models.LibraryInfo]
8117    :param spark_config_properties: Spark configuration file to specify additional properties.
8118    :type spark_config_properties: ~azure.synapse.artifacts.v2020_12_01.models.LibraryRequirements
8119    :param spark_version: The Apache Spark version.
8120    :type spark_version: str
8121    :param default_spark_log_folder: The default folder where Spark logs will be written.
8122    :type default_spark_log_folder: str
8123    :param node_size: The level of compute power that each node in the Big Data pool has. Possible
8124     values include: "None", "Small", "Medium", "Large", "XLarge", "XXLarge", "XXXLarge".
8125    :type node_size: str or ~azure.synapse.artifacts.v2020_12_01.models.NodeSize
8126    :param node_size_family: The kind of nodes that the Big Data pool provides. Possible values
8127     include: "None", "MemoryOptimized".
8128    :type node_size_family: str or ~azure.synapse.artifacts.v2020_12_01.models.NodeSizeFamily
8129    :ivar last_succeeded_timestamp: The time when the Big Data pool was updated successfully.
8130    :vartype last_succeeded_timestamp: ~datetime.datetime
8131    """
8132
8133    _validation = {
8134        'id': {'readonly': True},
8135        'name': {'readonly': True},
8136        'type': {'readonly': True},
8137        'location': {'required': True},
8138        'last_succeeded_timestamp': {'readonly': True},
8139    }
8140
8141    _attribute_map = {
8142        'id': {'key': 'id', 'type': 'str'},
8143        'name': {'key': 'name', 'type': 'str'},
8144        'type': {'key': 'type', 'type': 'str'},
8145        'tags': {'key': 'tags', 'type': '{str}'},
8146        'location': {'key': 'location', 'type': 'str'},
8147        'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
8148        'auto_scale': {'key': 'properties.autoScale', 'type': 'AutoScaleProperties'},
8149        'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'},
8150        'auto_pause': {'key': 'properties.autoPause', 'type': 'AutoPauseProperties'},
8151        'is_compute_isolation_enabled': {'key': 'properties.isComputeIsolationEnabled', 'type': 'bool'},
8152        'session_level_packages_enabled': {'key': 'properties.sessionLevelPackagesEnabled', 'type': 'bool'},
8153        'cache_size': {'key': 'properties.cacheSize', 'type': 'int'},
8154        'dynamic_executor_allocation': {'key': 'properties.dynamicExecutorAllocation', 'type': 'DynamicExecutorAllocation'},
8155        'spark_events_folder': {'key': 'properties.sparkEventsFolder', 'type': 'str'},
8156        'node_count': {'key': 'properties.nodeCount', 'type': 'int'},
8157        'library_requirements': {'key': 'properties.libraryRequirements', 'type': 'LibraryRequirements'},
8158        'custom_libraries': {'key': 'properties.customLibraries', 'type': '[LibraryInfo]'},
8159        'spark_config_properties': {'key': 'properties.sparkConfigProperties', 'type': 'LibraryRequirements'},
8160        'spark_version': {'key': 'properties.sparkVersion', 'type': 'str'},
8161        'default_spark_log_folder': {'key': 'properties.defaultSparkLogFolder', 'type': 'str'},
8162        'node_size': {'key': 'properties.nodeSize', 'type': 'str'},
8163        'node_size_family': {'key': 'properties.nodeSizeFamily', 'type': 'str'},
8164        'last_succeeded_timestamp': {'key': 'properties.lastSucceededTimestamp', 'type': 'iso-8601'},
8165    }
8166
8167    def __init__(
8168        self,
8169        *,
8170        location: str,
8171        tags: Optional[Dict[str, str]] = None,
8172        provisioning_state: Optional[str] = None,
8173        auto_scale: Optional["AutoScaleProperties"] = None,
8174        creation_date: Optional[datetime.datetime] = None,
8175        auto_pause: Optional["AutoPauseProperties"] = None,
8176        is_compute_isolation_enabled: Optional[bool] = None,
8177        session_level_packages_enabled: Optional[bool] = None,
8178        cache_size: Optional[int] = None,
8179        dynamic_executor_allocation: Optional["DynamicExecutorAllocation"] = None,
8180        spark_events_folder: Optional[str] = None,
8181        node_count: Optional[int] = None,
8182        library_requirements: Optional["LibraryRequirements"] = None,
8183        custom_libraries: Optional[List["LibraryInfo"]] = None,
8184        spark_config_properties: Optional["LibraryRequirements"] = None,
8185        spark_version: Optional[str] = None,
8186        default_spark_log_folder: Optional[str] = None,
8187        node_size: Optional[Union[str, "NodeSize"]] = None,
8188        node_size_family: Optional[Union[str, "NodeSizeFamily"]] = None,
8189        **kwargs
8190    ):
8191        super(BigDataPoolResourceInfo, self).__init__(tags=tags, location=location, **kwargs)
8192        self.provisioning_state = provisioning_state
8193        self.auto_scale = auto_scale
8194        self.creation_date = creation_date
8195        self.auto_pause = auto_pause
8196        self.is_compute_isolation_enabled = is_compute_isolation_enabled
8197        self.session_level_packages_enabled = session_level_packages_enabled
8198        self.cache_size = cache_size
8199        self.dynamic_executor_allocation = dynamic_executor_allocation
8200        self.spark_events_folder = spark_events_folder
8201        self.node_count = node_count
8202        self.library_requirements = library_requirements
8203        self.custom_libraries = custom_libraries
8204        self.spark_config_properties = spark_config_properties
8205        self.spark_version = spark_version
8206        self.default_spark_log_folder = default_spark_log_folder
8207        self.node_size = node_size
8208        self.node_size_family = node_size_family
8209        self.last_succeeded_timestamp = None
8210
8211
8212class BigDataPoolResourceInfoListResult(msrest.serialization.Model):
8213    """Collection of Big Data pool information.
8214
8215    :param next_link: Link to the next page of results.
8216    :type next_link: str
8217    :param value: List of Big Data pools.
8218    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.BigDataPoolResourceInfo]
8219    """
8220
8221    _attribute_map = {
8222        'next_link': {'key': 'nextLink', 'type': 'str'},
8223        'value': {'key': 'value', 'type': '[BigDataPoolResourceInfo]'},
8224    }
8225
8226    def __init__(
8227        self,
8228        *,
8229        next_link: Optional[str] = None,
8230        value: Optional[List["BigDataPoolResourceInfo"]] = None,
8231        **kwargs
8232    ):
8233        super(BigDataPoolResourceInfoListResult, self).__init__(**kwargs)
8234        self.next_link = next_link
8235        self.value = value
8236
8237
8238class BinaryDataset(Dataset):
8239    """Binary dataset.
8240
8241    All required parameters must be populated in order to send to Azure.
8242
8243    :param additional_properties: Unmatched properties from the message are deserialized to this
8244     collection.
8245    :type additional_properties: dict[str, any]
8246    :param type: Required. Type of dataset.Constant filled by server.
8247    :type type: str
8248    :param description: Dataset description.
8249    :type description: str
8250    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
8251     with resultType array), itemType: DatasetDataElement.
8252    :type structure: any
8253    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
8254     Expression with resultType array), itemType: DatasetSchemaDataElement.
8255    :type schema: any
8256    :param linked_service_name: Required. Linked service reference.
8257    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
8258    :param parameters: Parameters for dataset.
8259    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
8260    :param annotations: List of tags that can be used for describing the Dataset.
8261    :type annotations: list[any]
8262    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
8263     root level.
8264    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
8265    :param location: The location of the Binary storage.
8266    :type location: ~azure.synapse.artifacts.v2020_12_01.models.DatasetLocation
8267    :param compression: The data compression method used for the binary dataset.
8268    :type compression: ~azure.synapse.artifacts.v2020_12_01.models.DatasetCompression
8269    """
8270
8271    _validation = {
8272        'type': {'required': True},
8273        'linked_service_name': {'required': True},
8274    }
8275
8276    _attribute_map = {
8277        'additional_properties': {'key': '', 'type': '{object}'},
8278        'type': {'key': 'type', 'type': 'str'},
8279        'description': {'key': 'description', 'type': 'str'},
8280        'structure': {'key': 'structure', 'type': 'object'},
8281        'schema': {'key': 'schema', 'type': 'object'},
8282        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
8283        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
8284        'annotations': {'key': 'annotations', 'type': '[object]'},
8285        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
8286        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
8287        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
8288    }
8289
8290    def __init__(
8291        self,
8292        *,
8293        linked_service_name: "LinkedServiceReference",
8294        additional_properties: Optional[Dict[str, Any]] = None,
8295        description: Optional[str] = None,
8296        structure: Optional[Any] = None,
8297        schema: Optional[Any] = None,
8298        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
8299        annotations: Optional[List[Any]] = None,
8300        folder: Optional["DatasetFolder"] = None,
8301        location: Optional["DatasetLocation"] = None,
8302        compression: Optional["DatasetCompression"] = None,
8303        **kwargs
8304    ):
8305        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)
8306        self.type = 'Binary'  # type: str
8307        self.location = location
8308        self.compression = compression
8309
8310
8311class FormatReadSettings(msrest.serialization.Model):
8312    """Format read settings.
8313
8314    You probably want to use the sub-classes and not this class directly. Known
8315    sub-classes are: BinaryReadSettings, DelimitedTextReadSettings, JsonReadSettings, XmlReadSettings.
8316
8317    All required parameters must be populated in order to send to Azure.
8318
8319    :param additional_properties: Unmatched properties from the message are deserialized to this
8320     collection.
8321    :type additional_properties: dict[str, any]
8322    :param type: Required. The read setting type.Constant filled by server.
8323    :type type: str
8324    """
8325
8326    _validation = {
8327        'type': {'required': True},
8328    }
8329
8330    _attribute_map = {
8331        'additional_properties': {'key': '', 'type': '{object}'},
8332        'type': {'key': 'type', 'type': 'str'},
8333    }
8334
8335    _subtype_map = {
8336        'type': {'BinaryReadSettings': 'BinaryReadSettings', 'DelimitedTextReadSettings': 'DelimitedTextReadSettings', 'JsonReadSettings': 'JsonReadSettings', 'XmlReadSettings': 'XmlReadSettings'}
8337    }
8338
8339    def __init__(
8340        self,
8341        *,
8342        additional_properties: Optional[Dict[str, Any]] = None,
8343        **kwargs
8344    ):
8345        super(FormatReadSettings, self).__init__(**kwargs)
8346        self.additional_properties = additional_properties
8347        self.type = 'FormatReadSettings'  # type: str
8348
8349
8350class BinaryReadSettings(FormatReadSettings):
8351    """Binary read settings.
8352
8353    All required parameters must be populated in order to send to Azure.
8354
8355    :param additional_properties: Unmatched properties from the message are deserialized to this
8356     collection.
8357    :type additional_properties: dict[str, any]
8358    :param type: Required. The read setting type.Constant filled by server.
8359    :type type: str
8360    :param compression_properties: Compression settings.
8361    :type compression_properties:
8362     ~azure.synapse.artifacts.v2020_12_01.models.CompressionReadSettings
8363    """
8364
8365    _validation = {
8366        'type': {'required': True},
8367    }
8368
8369    _attribute_map = {
8370        'additional_properties': {'key': '', 'type': '{object}'},
8371        'type': {'key': 'type', 'type': 'str'},
8372        'compression_properties': {'key': 'compressionProperties', 'type': 'CompressionReadSettings'},
8373    }
8374
8375    def __init__(
8376        self,
8377        *,
8378        additional_properties: Optional[Dict[str, Any]] = None,
8379        compression_properties: Optional["CompressionReadSettings"] = None,
8380        **kwargs
8381    ):
8382        super(BinaryReadSettings, self).__init__(additional_properties=additional_properties, **kwargs)
8383        self.type = 'BinaryReadSettings'  # type: str
8384        self.compression_properties = compression_properties
8385
8386
8387class BinarySink(CopySink):
8388    """A copy activity Binary sink.
8389
8390    All required parameters must be populated in order to send to Azure.
8391
8392    :param additional_properties: Unmatched properties from the message are deserialized to this
8393     collection.
8394    :type additional_properties: dict[str, any]
8395    :param type: Required. Copy sink type.Constant filled by server.
8396    :type type: str
8397    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
8398     integer), minimum: 0.
8399    :type write_batch_size: any
8400    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
8401     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
8402    :type write_batch_timeout: any
8403    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
8404     integer).
8405    :type sink_retry_count: any
8406    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
8407     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
8408    :type sink_retry_wait: any
8409    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
8410     store. Type: integer (or Expression with resultType integer).
8411    :type max_concurrent_connections: any
8412    :param store_settings: Binary store settings.
8413    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreWriteSettings
8414    """
8415
8416    _validation = {
8417        'type': {'required': True},
8418    }
8419
8420    _attribute_map = {
8421        'additional_properties': {'key': '', 'type': '{object}'},
8422        'type': {'key': 'type', 'type': 'str'},
8423        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
8424        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
8425        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
8426        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
8427        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
8428        'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'},
8429    }
8430
8431    def __init__(
8432        self,
8433        *,
8434        additional_properties: Optional[Dict[str, Any]] = None,
8435        write_batch_size: Optional[Any] = None,
8436        write_batch_timeout: Optional[Any] = None,
8437        sink_retry_count: Optional[Any] = None,
8438        sink_retry_wait: Optional[Any] = None,
8439        max_concurrent_connections: Optional[Any] = None,
8440        store_settings: Optional["StoreWriteSettings"] = None,
8441        **kwargs
8442    ):
8443        super(BinarySink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
8444        self.type = 'BinarySink'  # type: str
8445        self.store_settings = store_settings
8446
8447
8448class BinarySource(CopySource):
8449    """A copy activity Binary source.
8450
8451    All required parameters must be populated in order to send to Azure.
8452
8453    :param additional_properties: Unmatched properties from the message are deserialized to this
8454     collection.
8455    :type additional_properties: dict[str, any]
8456    :param type: Required. Copy source type.Constant filled by server.
8457    :type type: str
8458    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
8459     integer).
8460    :type source_retry_count: any
8461    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
8462     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
8463    :type source_retry_wait: any
8464    :param max_concurrent_connections: The maximum concurrent connection count for the source data
8465     store. Type: integer (or Expression with resultType integer).
8466    :type max_concurrent_connections: any
8467    :param store_settings: Binary store settings.
8468    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreReadSettings
8469    :param format_settings: Binary format settings.
8470    :type format_settings: ~azure.synapse.artifacts.v2020_12_01.models.BinaryReadSettings
8471    """
8472
8473    _validation = {
8474        'type': {'required': True},
8475    }
8476
8477    _attribute_map = {
8478        'additional_properties': {'key': '', 'type': '{object}'},
8479        'type': {'key': 'type', 'type': 'str'},
8480        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
8481        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
8482        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
8483        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
8484        'format_settings': {'key': 'formatSettings', 'type': 'BinaryReadSettings'},
8485    }
8486
8487    def __init__(
8488        self,
8489        *,
8490        additional_properties: Optional[Dict[str, Any]] = None,
8491        source_retry_count: Optional[Any] = None,
8492        source_retry_wait: Optional[Any] = None,
8493        max_concurrent_connections: Optional[Any] = None,
8494        store_settings: Optional["StoreReadSettings"] = None,
8495        format_settings: Optional["BinaryReadSettings"] = None,
8496        **kwargs
8497    ):
8498        super(BinarySource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
8499        self.type = 'BinarySource'  # type: str
8500        self.store_settings = store_settings
8501        self.format_settings = format_settings
8502
8503
8504class Trigger(msrest.serialization.Model):
8505    """Azure Synapse nested object which contains information about creating pipeline run.
8506
8507    You probably want to use the sub-classes and not this class directly. Known
8508    sub-classes are: ChainingTrigger, MultiplePipelineTrigger, RerunTumblingWindowTrigger, TumblingWindowTrigger.
8509
8510    Variables are only populated by the server, and will be ignored when sending a request.
8511
8512    All required parameters must be populated in order to send to Azure.
8513
8514    :param additional_properties: Unmatched properties from the message are deserialized to this
8515     collection.
8516    :type additional_properties: dict[str, any]
8517    :param type: Required. Trigger type.Constant filled by server.
8518    :type type: str
8519    :param description: Trigger description.
8520    :type description: str
8521    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
8522     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
8523    :vartype runtime_state: str or ~azure.synapse.artifacts.v2020_12_01.models.TriggerRuntimeState
8524    :param annotations: List of tags that can be used for describing the trigger.
8525    :type annotations: list[any]
8526    """
8527
8528    _validation = {
8529        'type': {'required': True},
8530        'runtime_state': {'readonly': True},
8531    }
8532
8533    _attribute_map = {
8534        'additional_properties': {'key': '', 'type': '{object}'},
8535        'type': {'key': 'type', 'type': 'str'},
8536        'description': {'key': 'description', 'type': 'str'},
8537        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
8538        'annotations': {'key': 'annotations', 'type': '[object]'},
8539    }
8540
8541    _subtype_map = {
8542        'type': {'ChainingTrigger': 'ChainingTrigger', 'MultiplePipelineTrigger': 'MultiplePipelineTrigger', 'RerunTumblingWindowTrigger': 'RerunTumblingWindowTrigger', 'TumblingWindowTrigger': 'TumblingWindowTrigger'}
8543    }
8544
8545    def __init__(
8546        self,
8547        *,
8548        additional_properties: Optional[Dict[str, Any]] = None,
8549        description: Optional[str] = None,
8550        annotations: Optional[List[Any]] = None,
8551        **kwargs
8552    ):
8553        super(Trigger, self).__init__(**kwargs)
8554        self.additional_properties = additional_properties
8555        self.type = 'Trigger'  # type: str
8556        self.description = description
8557        self.runtime_state = None
8558        self.annotations = annotations
8559
8560
8561class MultiplePipelineTrigger(Trigger):
8562    """Base class for all triggers that support one to many model for trigger to pipeline.
8563
8564    You probably want to use the sub-classes and not this class directly. Known
8565    sub-classes are: BlobEventsTrigger, BlobTrigger, CustomEventsTrigger, ScheduleTrigger.
8566
8567    Variables are only populated by the server, and will be ignored when sending a request.
8568
8569    All required parameters must be populated in order to send to Azure.
8570
8571    :param additional_properties: Unmatched properties from the message are deserialized to this
8572     collection.
8573    :type additional_properties: dict[str, any]
8574    :param type: Required. Trigger type.Constant filled by server.
8575    :type type: str
8576    :param description: Trigger description.
8577    :type description: str
8578    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
8579     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
8580    :vartype runtime_state: str or ~azure.synapse.artifacts.v2020_12_01.models.TriggerRuntimeState
8581    :param annotations: List of tags that can be used for describing the trigger.
8582    :type annotations: list[any]
8583    :param pipelines: Pipelines that need to be started.
8584    :type pipelines: list[~azure.synapse.artifacts.v2020_12_01.models.TriggerPipelineReference]
8585    """
8586
8587    _validation = {
8588        'type': {'required': True},
8589        'runtime_state': {'readonly': True},
8590    }
8591
8592    _attribute_map = {
8593        'additional_properties': {'key': '', 'type': '{object}'},
8594        'type': {'key': 'type', 'type': 'str'},
8595        'description': {'key': 'description', 'type': 'str'},
8596        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
8597        'annotations': {'key': 'annotations', 'type': '[object]'},
8598        'pipelines': {'key': 'pipelines', 'type': '[TriggerPipelineReference]'},
8599    }
8600
8601    _subtype_map = {
8602        'type': {'BlobEventsTrigger': 'BlobEventsTrigger', 'BlobTrigger': 'BlobTrigger', 'CustomEventsTrigger': 'CustomEventsTrigger', 'ScheduleTrigger': 'ScheduleTrigger'}
8603    }
8604
8605    def __init__(
8606        self,
8607        *,
8608        additional_properties: Optional[Dict[str, Any]] = None,
8609        description: Optional[str] = None,
8610        annotations: Optional[List[Any]] = None,
8611        pipelines: Optional[List["TriggerPipelineReference"]] = None,
8612        **kwargs
8613    ):
8614        super(MultiplePipelineTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, **kwargs)
8615        self.type = 'MultiplePipelineTrigger'  # type: str
8616        self.pipelines = pipelines
8617
8618
8619class BlobEventsTrigger(MultiplePipelineTrigger):
8620    """Trigger that runs every time a Blob event occurs.
8621
8622    Variables are only populated by the server, and will be ignored when sending a request.
8623
8624    All required parameters must be populated in order to send to Azure.
8625
8626    :param additional_properties: Unmatched properties from the message are deserialized to this
8627     collection.
8628    :type additional_properties: dict[str, any]
8629    :param type: Required. Trigger type.Constant filled by server.
8630    :type type: str
8631    :param description: Trigger description.
8632    :type description: str
8633    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
8634     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
8635    :vartype runtime_state: str or ~azure.synapse.artifacts.v2020_12_01.models.TriggerRuntimeState
8636    :param annotations: List of tags that can be used for describing the trigger.
8637    :type annotations: list[any]
8638    :param pipelines: Pipelines that need to be started.
8639    :type pipelines: list[~azure.synapse.artifacts.v2020_12_01.models.TriggerPipelineReference]
8640    :param blob_path_begins_with: The blob path must begin with the pattern provided for trigger to
8641     fire. For example, '/records/blobs/december/' will only fire the trigger for blobs in the
8642     december folder under the records container. At least one of these must be provided:
8643     blobPathBeginsWith, blobPathEndsWith.
8644    :type blob_path_begins_with: str
8645    :param blob_path_ends_with: The blob path must end with the pattern provided for trigger to
8646     fire. For example, 'december/boxes.csv' will only fire the trigger for blobs named boxes in a
8647     december folder. At least one of these must be provided: blobPathBeginsWith, blobPathEndsWith.
8648    :type blob_path_ends_with: str
8649    :param ignore_empty_blobs: If set to true, blobs with zero bytes will be ignored.
8650    :type ignore_empty_blobs: bool
8651    :param events: Required. The type of events that cause this trigger to fire.
8652    :type events: list[str or ~azure.synapse.artifacts.v2020_12_01.models.BlobEventType]
8653    :param scope: Required. The ARM resource ID of the Storage Account.
8654    :type scope: str
8655    """
8656
8657    _validation = {
8658        'type': {'required': True},
8659        'runtime_state': {'readonly': True},
8660        'events': {'required': True},
8661        'scope': {'required': True},
8662    }
8663
8664    _attribute_map = {
8665        'additional_properties': {'key': '', 'type': '{object}'},
8666        'type': {'key': 'type', 'type': 'str'},
8667        'description': {'key': 'description', 'type': 'str'},
8668        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
8669        'annotations': {'key': 'annotations', 'type': '[object]'},
8670        'pipelines': {'key': 'pipelines', 'type': '[TriggerPipelineReference]'},
8671        'blob_path_begins_with': {'key': 'typeProperties.blobPathBeginsWith', 'type': 'str'},
8672        'blob_path_ends_with': {'key': 'typeProperties.blobPathEndsWith', 'type': 'str'},
8673        'ignore_empty_blobs': {'key': 'typeProperties.ignoreEmptyBlobs', 'type': 'bool'},
8674        'events': {'key': 'typeProperties.events', 'type': '[str]'},
8675        'scope': {'key': 'typeProperties.scope', 'type': 'str'},
8676    }
8677
8678    def __init__(
8679        self,
8680        *,
8681        events: List[Union[str, "BlobEventType"]],
8682        scope: str,
8683        additional_properties: Optional[Dict[str, Any]] = None,
8684        description: Optional[str] = None,
8685        annotations: Optional[List[Any]] = None,
8686        pipelines: Optional[List["TriggerPipelineReference"]] = None,
8687        blob_path_begins_with: Optional[str] = None,
8688        blob_path_ends_with: Optional[str] = None,
8689        ignore_empty_blobs: Optional[bool] = None,
8690        **kwargs
8691    ):
8692        super(BlobEventsTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, pipelines=pipelines, **kwargs)
8693        self.type = 'BlobEventsTrigger'  # type: str
8694        self.blob_path_begins_with = blob_path_begins_with
8695        self.blob_path_ends_with = blob_path_ends_with
8696        self.ignore_empty_blobs = ignore_empty_blobs
8697        self.events = events
8698        self.scope = scope
8699
8700
8701class BlobSink(CopySink):
8702    """A copy activity Azure Blob sink.
8703
8704    All required parameters must be populated in order to send to Azure.
8705
8706    :param additional_properties: Unmatched properties from the message are deserialized to this
8707     collection.
8708    :type additional_properties: dict[str, any]
8709    :param type: Required. Copy sink type.Constant filled by server.
8710    :type type: str
8711    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
8712     integer), minimum: 0.
8713    :type write_batch_size: any
8714    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
8715     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
8716    :type write_batch_timeout: any
8717    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
8718     integer).
8719    :type sink_retry_count: any
8720    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
8721     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
8722    :type sink_retry_wait: any
8723    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
8724     store. Type: integer (or Expression with resultType integer).
8725    :type max_concurrent_connections: any
8726    :param blob_writer_overwrite_files: Blob writer overwrite files. Type: boolean (or Expression
8727     with resultType boolean).
8728    :type blob_writer_overwrite_files: any
8729    :param blob_writer_date_time_format: Blob writer date time format. Type: string (or Expression
8730     with resultType string).
8731    :type blob_writer_date_time_format: any
8732    :param blob_writer_add_header: Blob writer add header. Type: boolean (or Expression with
8733     resultType boolean).
8734    :type blob_writer_add_header: any
8735    :param copy_behavior: The type of copy behavior for copy sink.
8736    :type copy_behavior: any
8737    """
8738
8739    _validation = {
8740        'type': {'required': True},
8741    }
8742
8743    _attribute_map = {
8744        'additional_properties': {'key': '', 'type': '{object}'},
8745        'type': {'key': 'type', 'type': 'str'},
8746        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
8747        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
8748        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
8749        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
8750        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
8751        'blob_writer_overwrite_files': {'key': 'blobWriterOverwriteFiles', 'type': 'object'},
8752        'blob_writer_date_time_format': {'key': 'blobWriterDateTimeFormat', 'type': 'object'},
8753        'blob_writer_add_header': {'key': 'blobWriterAddHeader', 'type': 'object'},
8754        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
8755    }
8756
8757    def __init__(
8758        self,
8759        *,
8760        additional_properties: Optional[Dict[str, Any]] = None,
8761        write_batch_size: Optional[Any] = None,
8762        write_batch_timeout: Optional[Any] = None,
8763        sink_retry_count: Optional[Any] = None,
8764        sink_retry_wait: Optional[Any] = None,
8765        max_concurrent_connections: Optional[Any] = None,
8766        blob_writer_overwrite_files: Optional[Any] = None,
8767        blob_writer_date_time_format: Optional[Any] = None,
8768        blob_writer_add_header: Optional[Any] = None,
8769        copy_behavior: Optional[Any] = None,
8770        **kwargs
8771    ):
8772        super(BlobSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
8773        self.type = 'BlobSink'  # type: str
8774        self.blob_writer_overwrite_files = blob_writer_overwrite_files
8775        self.blob_writer_date_time_format = blob_writer_date_time_format
8776        self.blob_writer_add_header = blob_writer_add_header
8777        self.copy_behavior = copy_behavior
8778
8779
8780class BlobSource(CopySource):
8781    """A copy activity Azure Blob source.
8782
8783    All required parameters must be populated in order to send to Azure.
8784
8785    :param additional_properties: Unmatched properties from the message are deserialized to this
8786     collection.
8787    :type additional_properties: dict[str, any]
8788    :param type: Required. Copy source type.Constant filled by server.
8789    :type type: str
8790    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
8791     integer).
8792    :type source_retry_count: any
8793    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
8794     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
8795    :type source_retry_wait: any
8796    :param max_concurrent_connections: The maximum concurrent connection count for the source data
8797     store. Type: integer (or Expression with resultType integer).
8798    :type max_concurrent_connections: any
8799    :param treat_empty_as_null: Treat empty as null. Type: boolean (or Expression with resultType
8800     boolean).
8801    :type treat_empty_as_null: any
8802    :param skip_header_line_count: Number of header lines to skip from each blob. Type: integer (or
8803     Expression with resultType integer).
8804    :type skip_header_line_count: any
8805    :param recursive: If true, files under the folder path will be read recursively. Default is
8806     true. Type: boolean (or Expression with resultType boolean).
8807    :type recursive: any
8808    """
8809
8810    _validation = {
8811        'type': {'required': True},
8812    }
8813
8814    _attribute_map = {
8815        'additional_properties': {'key': '', 'type': '{object}'},
8816        'type': {'key': 'type', 'type': 'str'},
8817        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
8818        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
8819        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
8820        'treat_empty_as_null': {'key': 'treatEmptyAsNull', 'type': 'object'},
8821        'skip_header_line_count': {'key': 'skipHeaderLineCount', 'type': 'object'},
8822        'recursive': {'key': 'recursive', 'type': 'object'},
8823    }
8824
8825    def __init__(
8826        self,
8827        *,
8828        additional_properties: Optional[Dict[str, Any]] = None,
8829        source_retry_count: Optional[Any] = None,
8830        source_retry_wait: Optional[Any] = None,
8831        max_concurrent_connections: Optional[Any] = None,
8832        treat_empty_as_null: Optional[Any] = None,
8833        skip_header_line_count: Optional[Any] = None,
8834        recursive: Optional[Any] = None,
8835        **kwargs
8836    ):
8837        super(BlobSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
8838        self.type = 'BlobSource'  # type: str
8839        self.treat_empty_as_null = treat_empty_as_null
8840        self.skip_header_line_count = skip_header_line_count
8841        self.recursive = recursive
8842
8843
8844class BlobTrigger(MultiplePipelineTrigger):
8845    """Trigger that runs every time the selected Blob container changes.
8846
8847    Variables are only populated by the server, and will be ignored when sending a request.
8848
8849    All required parameters must be populated in order to send to Azure.
8850
8851    :param additional_properties: Unmatched properties from the message are deserialized to this
8852     collection.
8853    :type additional_properties: dict[str, any]
8854    :param type: Required. Trigger type.Constant filled by server.
8855    :type type: str
8856    :param description: Trigger description.
8857    :type description: str
8858    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
8859     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
8860    :vartype runtime_state: str or ~azure.synapse.artifacts.v2020_12_01.models.TriggerRuntimeState
8861    :param annotations: List of tags that can be used for describing the trigger.
8862    :type annotations: list[any]
8863    :param pipelines: Pipelines that need to be started.
8864    :type pipelines: list[~azure.synapse.artifacts.v2020_12_01.models.TriggerPipelineReference]
8865    :param folder_path: Required. The path of the container/folder that will trigger the pipeline.
8866    :type folder_path: str
8867    :param max_concurrency: Required. The max number of parallel files to handle when it is
8868     triggered.
8869    :type max_concurrency: int
8870    :param linked_service: Required. The Azure Storage linked service reference.
8871    :type linked_service: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
8872    """
8873
8874    _validation = {
8875        'type': {'required': True},
8876        'runtime_state': {'readonly': True},
8877        'folder_path': {'required': True},
8878        'max_concurrency': {'required': True},
8879        'linked_service': {'required': True},
8880    }
8881
8882    _attribute_map = {
8883        'additional_properties': {'key': '', 'type': '{object}'},
8884        'type': {'key': 'type', 'type': 'str'},
8885        'description': {'key': 'description', 'type': 'str'},
8886        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
8887        'annotations': {'key': 'annotations', 'type': '[object]'},
8888        'pipelines': {'key': 'pipelines', 'type': '[TriggerPipelineReference]'},
8889        'folder_path': {'key': 'typeProperties.folderPath', 'type': 'str'},
8890        'max_concurrency': {'key': 'typeProperties.maxConcurrency', 'type': 'int'},
8891        'linked_service': {'key': 'typeProperties.linkedService', 'type': 'LinkedServiceReference'},
8892    }
8893
8894    def __init__(
8895        self,
8896        *,
8897        folder_path: str,
8898        max_concurrency: int,
8899        linked_service: "LinkedServiceReference",
8900        additional_properties: Optional[Dict[str, Any]] = None,
8901        description: Optional[str] = None,
8902        annotations: Optional[List[Any]] = None,
8903        pipelines: Optional[List["TriggerPipelineReference"]] = None,
8904        **kwargs
8905    ):
8906        super(BlobTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, pipelines=pipelines, **kwargs)
8907        self.type = 'BlobTrigger'  # type: str
8908        self.folder_path = folder_path
8909        self.max_concurrency = max_concurrency
8910        self.linked_service = linked_service
8911
8912
8913class CassandraLinkedService(LinkedService):
8914    """Linked service for Cassandra data source.
8915
8916    All required parameters must be populated in order to send to Azure.
8917
8918    :param additional_properties: Unmatched properties from the message are deserialized to this
8919     collection.
8920    :type additional_properties: dict[str, any]
8921    :param type: Required. Type of linked service.Constant filled by server.
8922    :type type: str
8923    :param connect_via: The integration runtime reference.
8924    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
8925    :param description: Linked service description.
8926    :type description: str
8927    :param parameters: Parameters for linked service.
8928    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
8929    :param annotations: List of tags that can be used for describing the linked service.
8930    :type annotations: list[any]
8931    :param host: Required. Host name for connection. Type: string (or Expression with resultType
8932     string).
8933    :type host: any
8934    :param authentication_type: AuthenticationType to be used for connection. Type: string (or
8935     Expression with resultType string).
8936    :type authentication_type: any
8937    :param port: The port for the connection. Type: integer (or Expression with resultType
8938     integer).
8939    :type port: any
8940    :param username: Username for authentication. Type: string (or Expression with resultType
8941     string).
8942    :type username: any
8943    :param password: Password for authentication.
8944    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
8945    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
8946     encrypted using the integration runtime credential manager. Type: string (or Expression with
8947     resultType string).
8948    :type encrypted_credential: any
8949    """
8950
8951    _validation = {
8952        'type': {'required': True},
8953        'host': {'required': True},
8954    }
8955
8956    _attribute_map = {
8957        'additional_properties': {'key': '', 'type': '{object}'},
8958        'type': {'key': 'type', 'type': 'str'},
8959        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
8960        'description': {'key': 'description', 'type': 'str'},
8961        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
8962        'annotations': {'key': 'annotations', 'type': '[object]'},
8963        'host': {'key': 'typeProperties.host', 'type': 'object'},
8964        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'},
8965        'port': {'key': 'typeProperties.port', 'type': 'object'},
8966        'username': {'key': 'typeProperties.username', 'type': 'object'},
8967        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
8968        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
8969    }
8970
8971    def __init__(
8972        self,
8973        *,
8974        host: Any,
8975        additional_properties: Optional[Dict[str, Any]] = None,
8976        connect_via: Optional["IntegrationRuntimeReference"] = None,
8977        description: Optional[str] = None,
8978        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
8979        annotations: Optional[List[Any]] = None,
8980        authentication_type: Optional[Any] = None,
8981        port: Optional[Any] = None,
8982        username: Optional[Any] = None,
8983        password: Optional["SecretBase"] = None,
8984        encrypted_credential: Optional[Any] = None,
8985        **kwargs
8986    ):
8987        super(CassandraLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
8988        self.type = 'Cassandra'  # type: str
8989        self.host = host
8990        self.authentication_type = authentication_type
8991        self.port = port
8992        self.username = username
8993        self.password = password
8994        self.encrypted_credential = encrypted_credential
8995
8996
8997class CassandraSource(TabularSource):
8998    """A copy activity source for a Cassandra database.
8999
9000    All required parameters must be populated in order to send to Azure.
9001
9002    :param additional_properties: Unmatched properties from the message are deserialized to this
9003     collection.
9004    :type additional_properties: dict[str, any]
9005    :param type: Required. Copy source type.Constant filled by server.
9006    :type type: str
9007    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
9008     integer).
9009    :type source_retry_count: any
9010    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
9011     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
9012    :type source_retry_wait: any
9013    :param max_concurrent_connections: The maximum concurrent connection count for the source data
9014     store. Type: integer (or Expression with resultType integer).
9015    :type max_concurrent_connections: any
9016    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
9017     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
9018    :type query_timeout: any
9019    :param additional_columns: Specifies the additional columns to be added to source data. Type:
9020     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
9021    :type additional_columns: any
9022    :param query: Database query. Should be a SQL-92 query expression or Cassandra Query Language
9023     (CQL) command. Type: string (or Expression with resultType string).
9024    :type query: any
9025    :param consistency_level: The consistency level specifies how many Cassandra servers must
9026     respond to a read request before returning data to the client application. Cassandra checks the
9027     specified number of Cassandra servers for data to satisfy the read request. Must be one of
9028     cassandraSourceReadConsistencyLevels. The default value is 'ONE'. It is case-insensitive.
9029     Possible values include: "ALL", "EACH_QUORUM", "QUORUM", "LOCAL_QUORUM", "ONE", "TWO", "THREE",
9030     "LOCAL_ONE", "SERIAL", "LOCAL_SERIAL".
9031    :type consistency_level: str or
9032     ~azure.synapse.artifacts.v2020_12_01.models.CassandraSourceReadConsistencyLevels
9033    """
9034
9035    _validation = {
9036        'type': {'required': True},
9037    }
9038
9039    _attribute_map = {
9040        'additional_properties': {'key': '', 'type': '{object}'},
9041        'type': {'key': 'type', 'type': 'str'},
9042        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
9043        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
9044        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
9045        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
9046        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
9047        'query': {'key': 'query', 'type': 'object'},
9048        'consistency_level': {'key': 'consistencyLevel', 'type': 'str'},
9049    }
9050
9051    def __init__(
9052        self,
9053        *,
9054        additional_properties: Optional[Dict[str, Any]] = None,
9055        source_retry_count: Optional[Any] = None,
9056        source_retry_wait: Optional[Any] = None,
9057        max_concurrent_connections: Optional[Any] = None,
9058        query_timeout: Optional[Any] = None,
9059        additional_columns: Optional[Any] = None,
9060        query: Optional[Any] = None,
9061        consistency_level: Optional[Union[str, "CassandraSourceReadConsistencyLevels"]] = None,
9062        **kwargs
9063    ):
9064        super(CassandraSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
9065        self.type = 'CassandraSource'  # type: str
9066        self.query = query
9067        self.consistency_level = consistency_level
9068
9069
9070class CassandraTableDataset(Dataset):
9071    """The Cassandra database dataset.
9072
9073    All required parameters must be populated in order to send to Azure.
9074
9075    :param additional_properties: Unmatched properties from the message are deserialized to this
9076     collection.
9077    :type additional_properties: dict[str, any]
9078    :param type: Required. Type of dataset.Constant filled by server.
9079    :type type: str
9080    :param description: Dataset description.
9081    :type description: str
9082    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
9083     with resultType array), itemType: DatasetDataElement.
9084    :type structure: any
9085    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
9086     Expression with resultType array), itemType: DatasetSchemaDataElement.
9087    :type schema: any
9088    :param linked_service_name: Required. Linked service reference.
9089    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
9090    :param parameters: Parameters for dataset.
9091    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
9092    :param annotations: List of tags that can be used for describing the Dataset.
9093    :type annotations: list[any]
9094    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
9095     root level.
9096    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
9097    :param table_name: The table name of the Cassandra database. Type: string (or Expression with
9098     resultType string).
9099    :type table_name: any
9100    :param keyspace: The keyspace of the Cassandra database. Type: string (or Expression with
9101     resultType string).
9102    :type keyspace: any
9103    """
9104
9105    _validation = {
9106        'type': {'required': True},
9107        'linked_service_name': {'required': True},
9108    }
9109
9110    _attribute_map = {
9111        'additional_properties': {'key': '', 'type': '{object}'},
9112        'type': {'key': 'type', 'type': 'str'},
9113        'description': {'key': 'description', 'type': 'str'},
9114        'structure': {'key': 'structure', 'type': 'object'},
9115        'schema': {'key': 'schema', 'type': 'object'},
9116        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
9117        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
9118        'annotations': {'key': 'annotations', 'type': '[object]'},
9119        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
9120        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
9121        'keyspace': {'key': 'typeProperties.keyspace', 'type': 'object'},
9122    }
9123
9124    def __init__(
9125        self,
9126        *,
9127        linked_service_name: "LinkedServiceReference",
9128        additional_properties: Optional[Dict[str, Any]] = None,
9129        description: Optional[str] = None,
9130        structure: Optional[Any] = None,
9131        schema: Optional[Any] = None,
9132        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
9133        annotations: Optional[List[Any]] = None,
9134        folder: Optional["DatasetFolder"] = None,
9135        table_name: Optional[Any] = None,
9136        keyspace: Optional[Any] = None,
9137        **kwargs
9138    ):
9139        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)
9140        self.type = 'CassandraTable'  # type: str
9141        self.table_name = table_name
9142        self.keyspace = keyspace
9143
9144
9145class ChainingTrigger(Trigger):
9146    """Trigger that allows the referenced pipeline to depend on other pipeline runs based on runDimension Name/Value pairs. Upstream pipelines should declare the same runDimension Name and their runs should have the values for those runDimensions. The referenced pipeline run would be triggered if the values for the runDimension match for all upstream pipeline runs.
9147
9148    Variables are only populated by the server, and will be ignored when sending a request.
9149
9150    All required parameters must be populated in order to send to Azure.
9151
9152    :param additional_properties: Unmatched properties from the message are deserialized to this
9153     collection.
9154    :type additional_properties: dict[str, any]
9155    :param type: Required. Trigger type.Constant filled by server.
9156    :type type: str
9157    :param description: Trigger description.
9158    :type description: str
9159    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
9160     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
9161    :vartype runtime_state: str or ~azure.synapse.artifacts.v2020_12_01.models.TriggerRuntimeState
9162    :param annotations: List of tags that can be used for describing the trigger.
9163    :type annotations: list[any]
9164    :param pipeline: Required. Pipeline for which runs are created when all upstream pipelines
9165     complete successfully.
9166    :type pipeline: ~azure.synapse.artifacts.v2020_12_01.models.TriggerPipelineReference
9167    :param depends_on: Required. Upstream Pipelines.
9168    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.PipelineReference]
9169    :param run_dimension: Required. Run Dimension property that needs to be emitted by upstream
9170     pipelines.
9171    :type run_dimension: str
9172    """
9173
9174    _validation = {
9175        'type': {'required': True},
9176        'runtime_state': {'readonly': True},
9177        'pipeline': {'required': True},
9178        'depends_on': {'required': True},
9179        'run_dimension': {'required': True},
9180    }
9181
9182    _attribute_map = {
9183        'additional_properties': {'key': '', 'type': '{object}'},
9184        'type': {'key': 'type', 'type': 'str'},
9185        'description': {'key': 'description', 'type': 'str'},
9186        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
9187        'annotations': {'key': 'annotations', 'type': '[object]'},
9188        'pipeline': {'key': 'pipeline', 'type': 'TriggerPipelineReference'},
9189        'depends_on': {'key': 'typeProperties.dependsOn', 'type': '[PipelineReference]'},
9190        'run_dimension': {'key': 'typeProperties.runDimension', 'type': 'str'},
9191    }
9192
9193    def __init__(
9194        self,
9195        *,
9196        pipeline: "TriggerPipelineReference",
9197        depends_on: List["PipelineReference"],
9198        run_dimension: str,
9199        additional_properties: Optional[Dict[str, Any]] = None,
9200        description: Optional[str] = None,
9201        annotations: Optional[List[Any]] = None,
9202        **kwargs
9203    ):
9204        super(ChainingTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, **kwargs)
9205        self.type = 'ChainingTrigger'  # type: str
9206        self.pipeline = pipeline
9207        self.depends_on = depends_on
9208        self.run_dimension = run_dimension
9209
9210
9211class CloudError(msrest.serialization.Model):
9212    """The object that defines the structure of an Azure Synapse error response.
9213
9214    All required parameters must be populated in order to send to Azure.
9215
9216    :param code: Required. Error code.
9217    :type code: str
9218    :param message: Required. Error message.
9219    :type message: str
9220    :param target: Property name/path in request associated with error.
9221    :type target: str
9222    :param details: Array with additional error details.
9223    :type details: list[~azure.synapse.artifacts.v2020_12_01.models.CloudError]
9224    """
9225
9226    _validation = {
9227        'code': {'required': True},
9228        'message': {'required': True},
9229    }
9230
9231    _attribute_map = {
9232        'code': {'key': 'error.code', 'type': 'str'},
9233        'message': {'key': 'error.message', 'type': 'str'},
9234        'target': {'key': 'error.target', 'type': 'str'},
9235        'details': {'key': 'error.details', 'type': '[CloudError]'},
9236    }
9237
9238    def __init__(
9239        self,
9240        *,
9241        code: str,
9242        message: str,
9243        target: Optional[str] = None,
9244        details: Optional[List["CloudError"]] = None,
9245        **kwargs
9246    ):
9247        super(CloudError, self).__init__(**kwargs)
9248        self.code = code
9249        self.message = message
9250        self.target = target
9251        self.details = details
9252
9253
9254class CommonDataServiceForAppsEntityDataset(Dataset):
9255    """The Common Data Service for Apps entity dataset.
9256
9257    All required parameters must be populated in order to send to Azure.
9258
9259    :param additional_properties: Unmatched properties from the message are deserialized to this
9260     collection.
9261    :type additional_properties: dict[str, any]
9262    :param type: Required. Type of dataset.Constant filled by server.
9263    :type type: str
9264    :param description: Dataset description.
9265    :type description: str
9266    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
9267     with resultType array), itemType: DatasetDataElement.
9268    :type structure: any
9269    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
9270     Expression with resultType array), itemType: DatasetSchemaDataElement.
9271    :type schema: any
9272    :param linked_service_name: Required. Linked service reference.
9273    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
9274    :param parameters: Parameters for dataset.
9275    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
9276    :param annotations: List of tags that can be used for describing the Dataset.
9277    :type annotations: list[any]
9278    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
9279     root level.
9280    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
9281    :param entity_name: The logical name of the entity. Type: string (or Expression with resultType
9282     string).
9283    :type entity_name: any
9284    """
9285
9286    _validation = {
9287        'type': {'required': True},
9288        'linked_service_name': {'required': True},
9289    }
9290
9291    _attribute_map = {
9292        'additional_properties': {'key': '', 'type': '{object}'},
9293        'type': {'key': 'type', 'type': 'str'},
9294        'description': {'key': 'description', 'type': 'str'},
9295        'structure': {'key': 'structure', 'type': 'object'},
9296        'schema': {'key': 'schema', 'type': 'object'},
9297        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
9298        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
9299        'annotations': {'key': 'annotations', 'type': '[object]'},
9300        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
9301        'entity_name': {'key': 'typeProperties.entityName', 'type': 'object'},
9302    }
9303
9304    def __init__(
9305        self,
9306        *,
9307        linked_service_name: "LinkedServiceReference",
9308        additional_properties: Optional[Dict[str, Any]] = None,
9309        description: Optional[str] = None,
9310        structure: Optional[Any] = None,
9311        schema: Optional[Any] = None,
9312        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
9313        annotations: Optional[List[Any]] = None,
9314        folder: Optional["DatasetFolder"] = None,
9315        entity_name: Optional[Any] = None,
9316        **kwargs
9317    ):
9318        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)
9319        self.type = 'CommonDataServiceForAppsEntity'  # type: str
9320        self.entity_name = entity_name
9321
9322
9323class CommonDataServiceForAppsLinkedService(LinkedService):
9324    """Common Data Service for Apps linked service.
9325
9326    All required parameters must be populated in order to send to Azure.
9327
9328    :param additional_properties: Unmatched properties from the message are deserialized to this
9329     collection.
9330    :type additional_properties: dict[str, any]
9331    :param type: Required. Type of linked service.Constant filled by server.
9332    :type type: str
9333    :param connect_via: The integration runtime reference.
9334    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
9335    :param description: Linked service description.
9336    :type description: str
9337    :param parameters: Parameters for linked service.
9338    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
9339    :param annotations: List of tags that can be used for describing the linked service.
9340    :type annotations: list[any]
9341    :param deployment_type: Required. The deployment type of the Common Data Service for Apps
9342     instance. 'Online' for Common Data Service for Apps Online and 'OnPremisesWithIfd' for Common
9343     Data Service for Apps on-premises with Ifd. Type: string (or Expression with resultType
9344     string). Possible values include: "Online", "OnPremisesWithIfd".
9345    :type deployment_type: str or
9346     ~azure.synapse.artifacts.v2020_12_01.models.DynamicsDeploymentType
9347    :param host_name: The host name of the on-premises Common Data Service for Apps server. The
9348     property is required for on-prem and not allowed for online. Type: string (or Expression with
9349     resultType string).
9350    :type host_name: any
9351    :param port: The port of on-premises Common Data Service for Apps server. The property is
9352     required for on-prem and not allowed for online. Default is 443. Type: integer (or Expression
9353     with resultType integer), minimum: 0.
9354    :type port: any
9355    :param service_uri: The URL to the Microsoft Common Data Service for Apps server. The property
9356     is required for on-line and not allowed for on-prem. Type: string (or Expression with
9357     resultType string).
9358    :type service_uri: any
9359    :param organization_name: The organization name of the Common Data Service for Apps instance.
9360     The property is required for on-prem and required for online when there are more than one
9361     Common Data Service for Apps instances associated with the user. Type: string (or Expression
9362     with resultType string).
9363    :type organization_name: any
9364    :param authentication_type: Required. The authentication type to connect to Common Data Service
9365     for Apps server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario.
9366     'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or
9367     Expression with resultType string). Possible values include: "Office365", "Ifd",
9368     "AADServicePrincipal".
9369    :type authentication_type: str or
9370     ~azure.synapse.artifacts.v2020_12_01.models.DynamicsAuthenticationType
9371    :param username: User name to access the Common Data Service for Apps instance. Type: string
9372     (or Expression with resultType string).
9373    :type username: any
9374    :param password: Password to access the Common Data Service for Apps instance.
9375    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
9376    :param service_principal_id: The client ID of the application in Azure Active Directory used
9377     for Server-To-Server authentication. Type: string (or Expression with resultType string).
9378    :type service_principal_id: any
9379    :param service_principal_credential_type: A string from ServicePrincipalCredentialEnum or an
9380     expression.
9381    :type service_principal_credential_type: any
9382    :param service_principal_credential: The credential of the service principal object in Azure
9383     Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey',
9384     servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If
9385     servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only
9386     be AzureKeyVaultSecretReference.
9387    :type service_principal_credential: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
9388    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
9389     encrypted using the integration runtime credential manager. Type: string (or Expression with
9390     resultType string).
9391    :type encrypted_credential: any
9392    """
9393
9394    _validation = {
9395        'type': {'required': True},
9396        'deployment_type': {'required': True},
9397        'authentication_type': {'required': True},
9398    }
9399
9400    _attribute_map = {
9401        'additional_properties': {'key': '', 'type': '{object}'},
9402        'type': {'key': 'type', 'type': 'str'},
9403        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
9404        'description': {'key': 'description', 'type': 'str'},
9405        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
9406        'annotations': {'key': 'annotations', 'type': '[object]'},
9407        'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'},
9408        'host_name': {'key': 'typeProperties.hostName', 'type': 'object'},
9409        'port': {'key': 'typeProperties.port', 'type': 'object'},
9410        'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'},
9411        'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'},
9412        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
9413        'username': {'key': 'typeProperties.username', 'type': 'object'},
9414        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
9415        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
9416        'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'object'},
9417        'service_principal_credential': {'key': 'typeProperties.servicePrincipalCredential', 'type': 'SecretBase'},
9418        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
9419    }
9420
9421    def __init__(
9422        self,
9423        *,
9424        deployment_type: Union[str, "DynamicsDeploymentType"],
9425        authentication_type: Union[str, "DynamicsAuthenticationType"],
9426        additional_properties: Optional[Dict[str, Any]] = None,
9427        connect_via: Optional["IntegrationRuntimeReference"] = None,
9428        description: Optional[str] = None,
9429        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
9430        annotations: Optional[List[Any]] = None,
9431        host_name: Optional[Any] = None,
9432        port: Optional[Any] = None,
9433        service_uri: Optional[Any] = None,
9434        organization_name: Optional[Any] = None,
9435        username: Optional[Any] = None,
9436        password: Optional["SecretBase"] = None,
9437        service_principal_id: Optional[Any] = None,
9438        service_principal_credential_type: Optional[Any] = None,
9439        service_principal_credential: Optional["SecretBase"] = None,
9440        encrypted_credential: Optional[Any] = None,
9441        **kwargs
9442    ):
9443        super(CommonDataServiceForAppsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
9444        self.type = 'CommonDataServiceForApps'  # type: str
9445        self.deployment_type = deployment_type
9446        self.host_name = host_name
9447        self.port = port
9448        self.service_uri = service_uri
9449        self.organization_name = organization_name
9450        self.authentication_type = authentication_type
9451        self.username = username
9452        self.password = password
9453        self.service_principal_id = service_principal_id
9454        self.service_principal_credential_type = service_principal_credential_type
9455        self.service_principal_credential = service_principal_credential
9456        self.encrypted_credential = encrypted_credential
9457
9458
9459class CommonDataServiceForAppsSink(CopySink):
9460    """A copy activity Common Data Service for Apps sink.
9461
9462    All required parameters must be populated in order to send to Azure.
9463
9464    :param additional_properties: Unmatched properties from the message are deserialized to this
9465     collection.
9466    :type additional_properties: dict[str, any]
9467    :param type: Required. Copy sink type.Constant filled by server.
9468    :type type: str
9469    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
9470     integer), minimum: 0.
9471    :type write_batch_size: any
9472    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
9473     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
9474    :type write_batch_timeout: any
9475    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
9476     integer).
9477    :type sink_retry_count: any
9478    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
9479     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
9480    :type sink_retry_wait: any
9481    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
9482     store. Type: integer (or Expression with resultType integer).
9483    :type max_concurrent_connections: any
9484    :param write_behavior: Required. The write behavior for the operation. Possible values include:
9485     "Upsert".
9486    :type write_behavior: str or
9487     ~azure.synapse.artifacts.v2020_12_01.models.DynamicsSinkWriteBehavior
9488    :param ignore_null_values: The flag indicating whether to ignore null values from input dataset
9489     (except key fields) during write operation. Default is false. Type: boolean (or Expression with
9490     resultType boolean).
9491    :type ignore_null_values: any
9492    :param alternate_key_name: The logical name of the alternate key which will be used when
9493     upserting records. Type: string (or Expression with resultType string).
9494    :type alternate_key_name: any
9495    """
9496
9497    _validation = {
9498        'type': {'required': True},
9499        'write_behavior': {'required': True},
9500    }
9501
9502    _attribute_map = {
9503        'additional_properties': {'key': '', 'type': '{object}'},
9504        'type': {'key': 'type', 'type': 'str'},
9505        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
9506        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
9507        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
9508        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
9509        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
9510        'write_behavior': {'key': 'writeBehavior', 'type': 'str'},
9511        'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'},
9512        'alternate_key_name': {'key': 'alternateKeyName', 'type': 'object'},
9513    }
9514
9515    def __init__(
9516        self,
9517        *,
9518        write_behavior: Union[str, "DynamicsSinkWriteBehavior"],
9519        additional_properties: Optional[Dict[str, Any]] = None,
9520        write_batch_size: Optional[Any] = None,
9521        write_batch_timeout: Optional[Any] = None,
9522        sink_retry_count: Optional[Any] = None,
9523        sink_retry_wait: Optional[Any] = None,
9524        max_concurrent_connections: Optional[Any] = None,
9525        ignore_null_values: Optional[Any] = None,
9526        alternate_key_name: Optional[Any] = None,
9527        **kwargs
9528    ):
9529        super(CommonDataServiceForAppsSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
9530        self.type = 'CommonDataServiceForAppsSink'  # type: str
9531        self.write_behavior = write_behavior
9532        self.ignore_null_values = ignore_null_values
9533        self.alternate_key_name = alternate_key_name
9534
9535
9536class CommonDataServiceForAppsSource(CopySource):
9537    """A copy activity Common Data Service for Apps source.
9538
9539    All required parameters must be populated in order to send to Azure.
9540
9541    :param additional_properties: Unmatched properties from the message are deserialized to this
9542     collection.
9543    :type additional_properties: dict[str, any]
9544    :param type: Required. Copy source type.Constant filled by server.
9545    :type type: str
9546    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
9547     integer).
9548    :type source_retry_count: any
9549    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
9550     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
9551    :type source_retry_wait: any
9552    :param max_concurrent_connections: The maximum concurrent connection count for the source data
9553     store. Type: integer (or Expression with resultType integer).
9554    :type max_concurrent_connections: any
9555    :param query: FetchXML is a proprietary query language that is used in Microsoft Common Data
9556     Service for Apps (online & on-premises). Type: string (or Expression with resultType string).
9557    :type query: any
9558    :param additional_columns: Specifies the additional columns to be added to source data. Type:
9559     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
9560    :type additional_columns: any
9561    """
9562
9563    _validation = {
9564        'type': {'required': True},
9565    }
9566
9567    _attribute_map = {
9568        'additional_properties': {'key': '', 'type': '{object}'},
9569        'type': {'key': 'type', 'type': 'str'},
9570        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
9571        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
9572        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
9573        'query': {'key': 'query', 'type': 'object'},
9574        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
9575    }
9576
9577    def __init__(
9578        self,
9579        *,
9580        additional_properties: Optional[Dict[str, Any]] = None,
9581        source_retry_count: Optional[Any] = None,
9582        source_retry_wait: Optional[Any] = None,
9583        max_concurrent_connections: Optional[Any] = None,
9584        query: Optional[Any] = None,
9585        additional_columns: Optional[Any] = None,
9586        **kwargs
9587    ):
9588        super(CommonDataServiceForAppsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
9589        self.type = 'CommonDataServiceForAppsSource'  # type: str
9590        self.query = query
9591        self.additional_columns = additional_columns
9592
9593
9594class CompressionReadSettings(msrest.serialization.Model):
9595    """Compression read settings.
9596
9597    You probably want to use the sub-classes and not this class directly. Known
9598    sub-classes are: TarGZipReadSettings, TarReadSettings, ZipDeflateReadSettings.
9599
9600    All required parameters must be populated in order to send to Azure.
9601
9602    :param additional_properties: Unmatched properties from the message are deserialized to this
9603     collection.
9604    :type additional_properties: dict[str, any]
9605    :param type: Required. The Compression setting type.Constant filled by server.
9606    :type type: str
9607    """
9608
9609    _validation = {
9610        'type': {'required': True},
9611    }
9612
9613    _attribute_map = {
9614        'additional_properties': {'key': '', 'type': '{object}'},
9615        'type': {'key': 'type', 'type': 'str'},
9616    }
9617
9618    _subtype_map = {
9619        'type': {'TarGZipReadSettings': 'TarGZipReadSettings', 'TarReadSettings': 'TarReadSettings', 'ZipDeflateReadSettings': 'ZipDeflateReadSettings'}
9620    }
9621
9622    def __init__(
9623        self,
9624        *,
9625        additional_properties: Optional[Dict[str, Any]] = None,
9626        **kwargs
9627    ):
9628        super(CompressionReadSettings, self).__init__(**kwargs)
9629        self.additional_properties = additional_properties
9630        self.type = 'CompressionReadSettings'  # type: str
9631
9632
9633class ConcurLinkedService(LinkedService):
9634    """Concur Service linked service.
9635
9636    All required parameters must be populated in order to send to Azure.
9637
9638    :param additional_properties: Unmatched properties from the message are deserialized to this
9639     collection.
9640    :type additional_properties: dict[str, any]
9641    :param type: Required. Type of linked service.Constant filled by server.
9642    :type type: str
9643    :param connect_via: The integration runtime reference.
9644    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
9645    :param description: Linked service description.
9646    :type description: str
9647    :param parameters: Parameters for linked service.
9648    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
9649    :param annotations: List of tags that can be used for describing the linked service.
9650    :type annotations: list[any]
9651    :param connection_properties: Properties used to connect to Concur. It is mutually exclusive
9652     with any other properties in the linked service. Type: object.
9653    :type connection_properties: any
9654    :param client_id: Required. Application client_id supplied by Concur App Management.
9655    :type client_id: any
9656    :param username: Required. The user name that you use to access Concur Service.
9657    :type username: any
9658    :param password: The password corresponding to the user name that you provided in the username
9659     field.
9660    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
9661    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
9662     HTTPS. The default value is true.
9663    :type use_encrypted_endpoints: any
9664    :param use_host_verification: Specifies whether to require the host name in the server's
9665     certificate to match the host name of the server when connecting over SSL. The default value is
9666     true.
9667    :type use_host_verification: any
9668    :param use_peer_verification: Specifies whether to verify the identity of the server when
9669     connecting over SSL. The default value is true.
9670    :type use_peer_verification: any
9671    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
9672     encrypted using the integration runtime credential manager. Type: string (or Expression with
9673     resultType string).
9674    :type encrypted_credential: any
9675    """
9676
9677    _validation = {
9678        'type': {'required': True},
9679        'client_id': {'required': True},
9680        'username': {'required': True},
9681    }
9682
9683    _attribute_map = {
9684        'additional_properties': {'key': '', 'type': '{object}'},
9685        'type': {'key': 'type', 'type': 'str'},
9686        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
9687        'description': {'key': 'description', 'type': 'str'},
9688        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
9689        'annotations': {'key': 'annotations', 'type': '[object]'},
9690        'connection_properties': {'key': 'typeProperties.connectionProperties', 'type': 'object'},
9691        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
9692        'username': {'key': 'typeProperties.username', 'type': 'object'},
9693        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
9694        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
9695        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
9696        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
9697        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
9698    }
9699
9700    def __init__(
9701        self,
9702        *,
9703        client_id: Any,
9704        username: Any,
9705        additional_properties: Optional[Dict[str, Any]] = None,
9706        connect_via: Optional["IntegrationRuntimeReference"] = None,
9707        description: Optional[str] = None,
9708        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
9709        annotations: Optional[List[Any]] = None,
9710        connection_properties: Optional[Any] = None,
9711        password: Optional["SecretBase"] = None,
9712        use_encrypted_endpoints: Optional[Any] = None,
9713        use_host_verification: Optional[Any] = None,
9714        use_peer_verification: Optional[Any] = None,
9715        encrypted_credential: Optional[Any] = None,
9716        **kwargs
9717    ):
9718        super(ConcurLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
9719        self.type = 'Concur'  # type: str
9720        self.connection_properties = connection_properties
9721        self.client_id = client_id
9722        self.username = username
9723        self.password = password
9724        self.use_encrypted_endpoints = use_encrypted_endpoints
9725        self.use_host_verification = use_host_verification
9726        self.use_peer_verification = use_peer_verification
9727        self.encrypted_credential = encrypted_credential
9728
9729
9730class ConcurObjectDataset(Dataset):
9731    """Concur Service dataset.
9732
9733    All required parameters must be populated in order to send to Azure.
9734
9735    :param additional_properties: Unmatched properties from the message are deserialized to this
9736     collection.
9737    :type additional_properties: dict[str, any]
9738    :param type: Required. Type of dataset.Constant filled by server.
9739    :type type: str
9740    :param description: Dataset description.
9741    :type description: str
9742    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
9743     with resultType array), itemType: DatasetDataElement.
9744    :type structure: any
9745    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
9746     Expression with resultType array), itemType: DatasetSchemaDataElement.
9747    :type schema: any
9748    :param linked_service_name: Required. Linked service reference.
9749    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
9750    :param parameters: Parameters for dataset.
9751    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
9752    :param annotations: List of tags that can be used for describing the Dataset.
9753    :type annotations: list[any]
9754    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
9755     root level.
9756    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
9757    :param table_name: The table name. Type: string (or Expression with resultType string).
9758    :type table_name: any
9759    """
9760
9761    _validation = {
9762        'type': {'required': True},
9763        'linked_service_name': {'required': True},
9764    }
9765
9766    _attribute_map = {
9767        'additional_properties': {'key': '', 'type': '{object}'},
9768        'type': {'key': 'type', 'type': 'str'},
9769        'description': {'key': 'description', 'type': 'str'},
9770        'structure': {'key': 'structure', 'type': 'object'},
9771        'schema': {'key': 'schema', 'type': 'object'},
9772        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
9773        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
9774        'annotations': {'key': 'annotations', 'type': '[object]'},
9775        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
9776        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
9777    }
9778
9779    def __init__(
9780        self,
9781        *,
9782        linked_service_name: "LinkedServiceReference",
9783        additional_properties: Optional[Dict[str, Any]] = None,
9784        description: Optional[str] = None,
9785        structure: Optional[Any] = None,
9786        schema: Optional[Any] = None,
9787        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
9788        annotations: Optional[List[Any]] = None,
9789        folder: Optional["DatasetFolder"] = None,
9790        table_name: Optional[Any] = None,
9791        **kwargs
9792    ):
9793        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)
9794        self.type = 'ConcurObject'  # type: str
9795        self.table_name = table_name
9796
9797
9798class ConcurSource(TabularSource):
9799    """A copy activity Concur Service source.
9800
9801    All required parameters must be populated in order to send to Azure.
9802
9803    :param additional_properties: Unmatched properties from the message are deserialized to this
9804     collection.
9805    :type additional_properties: dict[str, any]
9806    :param type: Required. Copy source type.Constant filled by server.
9807    :type type: str
9808    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
9809     integer).
9810    :type source_retry_count: any
9811    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
9812     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
9813    :type source_retry_wait: any
9814    :param max_concurrent_connections: The maximum concurrent connection count for the source data
9815     store. Type: integer (or Expression with resultType integer).
9816    :type max_concurrent_connections: any
9817    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
9818     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
9819    :type query_timeout: any
9820    :param additional_columns: Specifies the additional columns to be added to source data. Type:
9821     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
9822    :type additional_columns: any
9823    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
9824     string).
9825    :type query: any
9826    """
9827
9828    _validation = {
9829        'type': {'required': True},
9830    }
9831
9832    _attribute_map = {
9833        'additional_properties': {'key': '', 'type': '{object}'},
9834        'type': {'key': 'type', 'type': 'str'},
9835        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
9836        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
9837        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
9838        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
9839        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
9840        'query': {'key': 'query', 'type': 'object'},
9841    }
9842
9843    def __init__(
9844        self,
9845        *,
9846        additional_properties: Optional[Dict[str, Any]] = None,
9847        source_retry_count: Optional[Any] = None,
9848        source_retry_wait: Optional[Any] = None,
9849        max_concurrent_connections: Optional[Any] = None,
9850        query_timeout: Optional[Any] = None,
9851        additional_columns: Optional[Any] = None,
9852        query: Optional[Any] = None,
9853        **kwargs
9854    ):
9855        super(ConcurSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
9856        self.type = 'ConcurSource'  # type: str
9857        self.query = query
9858
9859
9860class CopyActivity(ExecutionActivity):
9861    """Copy activity.
9862
9863    All required parameters must be populated in order to send to Azure.
9864
9865    :param additional_properties: Unmatched properties from the message are deserialized to this
9866     collection.
9867    :type additional_properties: dict[str, any]
9868    :param name: Required. Activity name.
9869    :type name: str
9870    :param type: Required. Type of activity.Constant filled by server.
9871    :type type: str
9872    :param description: Activity description.
9873    :type description: str
9874    :param depends_on: Activity depends on condition.
9875    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
9876    :param user_properties: Activity user properties.
9877    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
9878    :param linked_service_name: Linked service reference.
9879    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
9880    :param policy: Activity policy.
9881    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
9882    :param inputs: List of inputs for the activity.
9883    :type inputs: list[~azure.synapse.artifacts.v2020_12_01.models.DatasetReference]
9884    :param outputs: List of outputs for the activity.
9885    :type outputs: list[~azure.synapse.artifacts.v2020_12_01.models.DatasetReference]
9886    :param source: Required. Copy activity source.
9887    :type source: ~azure.synapse.artifacts.v2020_12_01.models.CopySource
9888    :param sink: Required. Copy activity sink.
9889    :type sink: ~azure.synapse.artifacts.v2020_12_01.models.CopySink
9890    :param translator: Copy activity translator. If not specified, tabular translator is used.
9891    :type translator: any
9892    :param enable_staging: Specifies whether to copy data via an interim staging. Default value is
9893     false. Type: boolean (or Expression with resultType boolean).
9894    :type enable_staging: any
9895    :param staging_settings: Specifies interim staging settings when EnableStaging is true.
9896    :type staging_settings: ~azure.synapse.artifacts.v2020_12_01.models.StagingSettings
9897    :param parallel_copies: Maximum number of concurrent sessions opened on the source or sink to
9898     avoid overloading the data store. Type: integer (or Expression with resultType integer),
9899     minimum: 0.
9900    :type parallel_copies: any
9901    :param data_integration_units: Maximum number of data integration units that can be used to
9902     perform this data movement. Type: integer (or Expression with resultType integer), minimum: 0.
9903    :type data_integration_units: any
9904    :param enable_skip_incompatible_row: Whether to skip incompatible row. Default value is false.
9905     Type: boolean (or Expression with resultType boolean).
9906    :type enable_skip_incompatible_row: any
9907    :param redirect_incompatible_row_settings: Redirect incompatible row settings when
9908     EnableSkipIncompatibleRow is true.
9909    :type redirect_incompatible_row_settings:
9910     ~azure.synapse.artifacts.v2020_12_01.models.RedirectIncompatibleRowSettings
9911    :param log_storage_settings: (Deprecated. Please use LogSettings) Log storage settings customer
9912     need to provide when enabling session log.
9913    :type log_storage_settings: ~azure.synapse.artifacts.v2020_12_01.models.LogStorageSettings
9914    :param log_settings: Log settings customer needs provide when enabling log.
9915    :type log_settings: ~azure.synapse.artifacts.v2020_12_01.models.LogSettings
9916    :param preserve_rules: Preserve Rules.
9917    :type preserve_rules: list[any]
9918    :param preserve: Preserve rules.
9919    :type preserve: list[any]
9920    :param validate_data_consistency: Whether to enable Data Consistency validation. Type: boolean
9921     (or Expression with resultType boolean).
9922    :type validate_data_consistency: any
9923    :param skip_error_file: Specify the fault tolerance for data consistency.
9924    :type skip_error_file: ~azure.synapse.artifacts.v2020_12_01.models.SkipErrorFile
9925    """
9926
9927    _validation = {
9928        'name': {'required': True},
9929        'type': {'required': True},
9930        'source': {'required': True},
9931        'sink': {'required': True},
9932    }
9933
9934    _attribute_map = {
9935        'additional_properties': {'key': '', 'type': '{object}'},
9936        'name': {'key': 'name', 'type': 'str'},
9937        'type': {'key': 'type', 'type': 'str'},
9938        'description': {'key': 'description', 'type': 'str'},
9939        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
9940        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
9941        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
9942        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
9943        'inputs': {'key': 'inputs', 'type': '[DatasetReference]'},
9944        'outputs': {'key': 'outputs', 'type': '[DatasetReference]'},
9945        'source': {'key': 'typeProperties.source', 'type': 'CopySource'},
9946        'sink': {'key': 'typeProperties.sink', 'type': 'CopySink'},
9947        'translator': {'key': 'typeProperties.translator', 'type': 'object'},
9948        'enable_staging': {'key': 'typeProperties.enableStaging', 'type': 'object'},
9949        'staging_settings': {'key': 'typeProperties.stagingSettings', 'type': 'StagingSettings'},
9950        'parallel_copies': {'key': 'typeProperties.parallelCopies', 'type': 'object'},
9951        'data_integration_units': {'key': 'typeProperties.dataIntegrationUnits', 'type': 'object'},
9952        'enable_skip_incompatible_row': {'key': 'typeProperties.enableSkipIncompatibleRow', 'type': 'object'},
9953        'redirect_incompatible_row_settings': {'key': 'typeProperties.redirectIncompatibleRowSettings', 'type': 'RedirectIncompatibleRowSettings'},
9954        'log_storage_settings': {'key': 'typeProperties.logStorageSettings', 'type': 'LogStorageSettings'},
9955        'log_settings': {'key': 'typeProperties.logSettings', 'type': 'LogSettings'},
9956        'preserve_rules': {'key': 'typeProperties.preserveRules', 'type': '[object]'},
9957        'preserve': {'key': 'typeProperties.preserve', 'type': '[object]'},
9958        'validate_data_consistency': {'key': 'typeProperties.validateDataConsistency', 'type': 'object'},
9959        'skip_error_file': {'key': 'typeProperties.skipErrorFile', 'type': 'SkipErrorFile'},
9960    }
9961
9962    def __init__(
9963        self,
9964        *,
9965        name: str,
9966        source: "CopySource",
9967        sink: "CopySink",
9968        additional_properties: Optional[Dict[str, Any]] = None,
9969        description: Optional[str] = None,
9970        depends_on: Optional[List["ActivityDependency"]] = None,
9971        user_properties: Optional[List["UserProperty"]] = None,
9972        linked_service_name: Optional["LinkedServiceReference"] = None,
9973        policy: Optional["ActivityPolicy"] = None,
9974        inputs: Optional[List["DatasetReference"]] = None,
9975        outputs: Optional[List["DatasetReference"]] = None,
9976        translator: Optional[Any] = None,
9977        enable_staging: Optional[Any] = None,
9978        staging_settings: Optional["StagingSettings"] = None,
9979        parallel_copies: Optional[Any] = None,
9980        data_integration_units: Optional[Any] = None,
9981        enable_skip_incompatible_row: Optional[Any] = None,
9982        redirect_incompatible_row_settings: Optional["RedirectIncompatibleRowSettings"] = None,
9983        log_storage_settings: Optional["LogStorageSettings"] = None,
9984        log_settings: Optional["LogSettings"] = None,
9985        preserve_rules: Optional[List[Any]] = None,
9986        preserve: Optional[List[Any]] = None,
9987        validate_data_consistency: Optional[Any] = None,
9988        skip_error_file: Optional["SkipErrorFile"] = None,
9989        **kwargs
9990    ):
9991        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)
9992        self.type = 'Copy'  # type: str
9993        self.inputs = inputs
9994        self.outputs = outputs
9995        self.source = source
9996        self.sink = sink
9997        self.translator = translator
9998        self.enable_staging = enable_staging
9999        self.staging_settings = staging_settings
10000        self.parallel_copies = parallel_copies
10001        self.data_integration_units = data_integration_units
10002        self.enable_skip_incompatible_row = enable_skip_incompatible_row
10003        self.redirect_incompatible_row_settings = redirect_incompatible_row_settings
10004        self.log_storage_settings = log_storage_settings
10005        self.log_settings = log_settings
10006        self.preserve_rules = preserve_rules
10007        self.preserve = preserve
10008        self.validate_data_consistency = validate_data_consistency
10009        self.skip_error_file = skip_error_file
10010
10011
10012class CopyActivityLogSettings(msrest.serialization.Model):
10013    """Settings for copy activity log.
10014
10015    :param log_level: Gets or sets the log level, support: Info, Warning. Type: string (or
10016     Expression with resultType string).
10017    :type log_level: any
10018    :param enable_reliable_logging: Specifies whether to enable reliable logging. Type: boolean (or
10019     Expression with resultType boolean).
10020    :type enable_reliable_logging: any
10021    """
10022
10023    _attribute_map = {
10024        'log_level': {'key': 'logLevel', 'type': 'object'},
10025        'enable_reliable_logging': {'key': 'enableReliableLogging', 'type': 'object'},
10026    }
10027
10028    def __init__(
10029        self,
10030        *,
10031        log_level: Optional[Any] = None,
10032        enable_reliable_logging: Optional[Any] = None,
10033        **kwargs
10034    ):
10035        super(CopyActivityLogSettings, self).__init__(**kwargs)
10036        self.log_level = log_level
10037        self.enable_reliable_logging = enable_reliable_logging
10038
10039
10040class CopyTranslator(msrest.serialization.Model):
10041    """A copy activity translator.
10042
10043    You probably want to use the sub-classes and not this class directly. Known
10044    sub-classes are: TabularTranslator.
10045
10046    All required parameters must be populated in order to send to Azure.
10047
10048    :param additional_properties: Unmatched properties from the message are deserialized to this
10049     collection.
10050    :type additional_properties: dict[str, any]
10051    :param type: Required. Copy translator type.Constant filled by server.
10052    :type type: str
10053    """
10054
10055    _validation = {
10056        'type': {'required': True},
10057    }
10058
10059    _attribute_map = {
10060        'additional_properties': {'key': '', 'type': '{object}'},
10061        'type': {'key': 'type', 'type': 'str'},
10062    }
10063
10064    _subtype_map = {
10065        'type': {'TabularTranslator': 'TabularTranslator'}
10066    }
10067
10068    def __init__(
10069        self,
10070        *,
10071        additional_properties: Optional[Dict[str, Any]] = None,
10072        **kwargs
10073    ):
10074        super(CopyTranslator, self).__init__(**kwargs)
10075        self.additional_properties = additional_properties
10076        self.type = 'CopyTranslator'  # type: str
10077
10078
10079class CosmosDbLinkedService(LinkedService):
10080    """Microsoft Azure Cosmos Database (CosmosDB) linked service.
10081
10082    All required parameters must be populated in order to send to Azure.
10083
10084    :param additional_properties: Unmatched properties from the message are deserialized to this
10085     collection.
10086    :type additional_properties: dict[str, any]
10087    :param type: Required. Type of linked service.Constant filled by server.
10088    :type type: str
10089    :param connect_via: The integration runtime reference.
10090    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
10091    :param description: Linked service description.
10092    :type description: str
10093    :param parameters: Parameters for linked service.
10094    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
10095    :param annotations: List of tags that can be used for describing the linked service.
10096    :type annotations: list[any]
10097    :param connection_string: The connection string. Type: string, SecureString or
10098     AzureKeyVaultSecretReference.
10099    :type connection_string: any
10100    :param account_endpoint: The endpoint of the Azure CosmosDB account. Type: string (or
10101     Expression with resultType string).
10102    :type account_endpoint: any
10103    :param database: The name of the database. Type: string (or Expression with resultType string).
10104    :type database: any
10105    :param account_key: The account key of the Azure CosmosDB account. Type: SecureString or
10106     AzureKeyVaultSecretReference.
10107    :type account_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
10108    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
10109     encrypted using the integration runtime credential manager. Type: string (or Expression with
10110     resultType string).
10111    :type encrypted_credential: any
10112    """
10113
10114    _validation = {
10115        'type': {'required': True},
10116    }
10117
10118    _attribute_map = {
10119        'additional_properties': {'key': '', 'type': '{object}'},
10120        'type': {'key': 'type', 'type': 'str'},
10121        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
10122        'description': {'key': 'description', 'type': 'str'},
10123        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
10124        'annotations': {'key': 'annotations', 'type': '[object]'},
10125        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
10126        'account_endpoint': {'key': 'typeProperties.accountEndpoint', 'type': 'object'},
10127        'database': {'key': 'typeProperties.database', 'type': 'object'},
10128        'account_key': {'key': 'typeProperties.accountKey', 'type': 'SecretBase'},
10129        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
10130    }
10131
10132    def __init__(
10133        self,
10134        *,
10135        additional_properties: Optional[Dict[str, Any]] = None,
10136        connect_via: Optional["IntegrationRuntimeReference"] = None,
10137        description: Optional[str] = None,
10138        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
10139        annotations: Optional[List[Any]] = None,
10140        connection_string: Optional[Any] = None,
10141        account_endpoint: Optional[Any] = None,
10142        database: Optional[Any] = None,
10143        account_key: Optional["SecretBase"] = None,
10144        encrypted_credential: Optional[Any] = None,
10145        **kwargs
10146    ):
10147        super(CosmosDbLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
10148        self.type = 'CosmosDb'  # type: str
10149        self.connection_string = connection_string
10150        self.account_endpoint = account_endpoint
10151        self.database = database
10152        self.account_key = account_key
10153        self.encrypted_credential = encrypted_credential
10154
10155
10156class CosmosDbMongoDbApiCollectionDataset(Dataset):
10157    """The CosmosDB (MongoDB API) database dataset.
10158
10159    All required parameters must be populated in order to send to Azure.
10160
10161    :param additional_properties: Unmatched properties from the message are deserialized to this
10162     collection.
10163    :type additional_properties: dict[str, any]
10164    :param type: Required. Type of dataset.Constant filled by server.
10165    :type type: str
10166    :param description: Dataset description.
10167    :type description: str
10168    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
10169     with resultType array), itemType: DatasetDataElement.
10170    :type structure: any
10171    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
10172     Expression with resultType array), itemType: DatasetSchemaDataElement.
10173    :type schema: any
10174    :param linked_service_name: Required. Linked service reference.
10175    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
10176    :param parameters: Parameters for dataset.
10177    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
10178    :param annotations: List of tags that can be used for describing the Dataset.
10179    :type annotations: list[any]
10180    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
10181     root level.
10182    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
10183    :param collection: Required. The collection name of the CosmosDB (MongoDB API) database. Type:
10184     string (or Expression with resultType string).
10185    :type collection: any
10186    """
10187
10188    _validation = {
10189        'type': {'required': True},
10190        'linked_service_name': {'required': True},
10191        'collection': {'required': True},
10192    }
10193
10194    _attribute_map = {
10195        'additional_properties': {'key': '', 'type': '{object}'},
10196        'type': {'key': 'type', 'type': 'str'},
10197        'description': {'key': 'description', 'type': 'str'},
10198        'structure': {'key': 'structure', 'type': 'object'},
10199        'schema': {'key': 'schema', 'type': 'object'},
10200        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
10201        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
10202        'annotations': {'key': 'annotations', 'type': '[object]'},
10203        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
10204        'collection': {'key': 'typeProperties.collection', 'type': 'object'},
10205    }
10206
10207    def __init__(
10208        self,
10209        *,
10210        linked_service_name: "LinkedServiceReference",
10211        collection: Any,
10212        additional_properties: Optional[Dict[str, Any]] = None,
10213        description: Optional[str] = None,
10214        structure: Optional[Any] = None,
10215        schema: Optional[Any] = None,
10216        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
10217        annotations: Optional[List[Any]] = None,
10218        folder: Optional["DatasetFolder"] = None,
10219        **kwargs
10220    ):
10221        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)
10222        self.type = 'CosmosDbMongoDbApiCollection'  # type: str
10223        self.collection = collection
10224
10225
10226class CosmosDbMongoDbApiLinkedService(LinkedService):
10227    """Linked service for CosmosDB (MongoDB API) data source.
10228
10229    All required parameters must be populated in order to send to Azure.
10230
10231    :param additional_properties: Unmatched properties from the message are deserialized to this
10232     collection.
10233    :type additional_properties: dict[str, any]
10234    :param type: Required. Type of linked service.Constant filled by server.
10235    :type type: str
10236    :param connect_via: The integration runtime reference.
10237    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
10238    :param description: Linked service description.
10239    :type description: str
10240    :param parameters: Parameters for linked service.
10241    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
10242    :param annotations: List of tags that can be used for describing the linked service.
10243    :type annotations: list[any]
10244    :param connection_string: Required. The CosmosDB (MongoDB API) connection string. Type: string,
10245     SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or
10246     AzureKeyVaultSecretReference.
10247    :type connection_string: any
10248    :param database: Required. The name of the CosmosDB (MongoDB API) database that you want to
10249     access. Type: string (or Expression with resultType string).
10250    :type database: any
10251    """
10252
10253    _validation = {
10254        'type': {'required': True},
10255        'connection_string': {'required': True},
10256        'database': {'required': True},
10257    }
10258
10259    _attribute_map = {
10260        'additional_properties': {'key': '', 'type': '{object}'},
10261        'type': {'key': 'type', 'type': 'str'},
10262        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
10263        'description': {'key': 'description', 'type': 'str'},
10264        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
10265        'annotations': {'key': 'annotations', 'type': '[object]'},
10266        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
10267        'database': {'key': 'typeProperties.database', 'type': 'object'},
10268    }
10269
10270    def __init__(
10271        self,
10272        *,
10273        connection_string: Any,
10274        database: Any,
10275        additional_properties: Optional[Dict[str, Any]] = None,
10276        connect_via: Optional["IntegrationRuntimeReference"] = None,
10277        description: Optional[str] = None,
10278        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
10279        annotations: Optional[List[Any]] = None,
10280        **kwargs
10281    ):
10282        super(CosmosDbMongoDbApiLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
10283        self.type = 'CosmosDbMongoDbApi'  # type: str
10284        self.connection_string = connection_string
10285        self.database = database
10286
10287
10288class CosmosDbMongoDbApiSink(CopySink):
10289    """A copy activity sink for a CosmosDB (MongoDB API) database.
10290
10291    All required parameters must be populated in order to send to Azure.
10292
10293    :param additional_properties: Unmatched properties from the message are deserialized to this
10294     collection.
10295    :type additional_properties: dict[str, any]
10296    :param type: Required. Copy sink type.Constant filled by server.
10297    :type type: str
10298    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
10299     integer), minimum: 0.
10300    :type write_batch_size: any
10301    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
10302     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10303    :type write_batch_timeout: any
10304    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
10305     integer).
10306    :type sink_retry_count: any
10307    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
10308     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10309    :type sink_retry_wait: any
10310    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
10311     store. Type: integer (or Expression with resultType integer).
10312    :type max_concurrent_connections: any
10313    :param write_behavior: Specifies whether the document with same key to be overwritten (upsert)
10314     rather than throw exception (insert). The default value is "insert". Type: string (or
10315     Expression with resultType string). Type: string (or Expression with resultType string).
10316    :type write_behavior: any
10317    """
10318
10319    _validation = {
10320        'type': {'required': True},
10321    }
10322
10323    _attribute_map = {
10324        'additional_properties': {'key': '', 'type': '{object}'},
10325        'type': {'key': 'type', 'type': 'str'},
10326        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
10327        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
10328        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
10329        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
10330        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
10331        'write_behavior': {'key': 'writeBehavior', 'type': 'object'},
10332    }
10333
10334    def __init__(
10335        self,
10336        *,
10337        additional_properties: Optional[Dict[str, Any]] = None,
10338        write_batch_size: Optional[Any] = None,
10339        write_batch_timeout: Optional[Any] = None,
10340        sink_retry_count: Optional[Any] = None,
10341        sink_retry_wait: Optional[Any] = None,
10342        max_concurrent_connections: Optional[Any] = None,
10343        write_behavior: Optional[Any] = None,
10344        **kwargs
10345    ):
10346        super(CosmosDbMongoDbApiSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
10347        self.type = 'CosmosDbMongoDbApiSink'  # type: str
10348        self.write_behavior = write_behavior
10349
10350
10351class CosmosDbMongoDbApiSource(CopySource):
10352    """A copy activity source for a CosmosDB (MongoDB API) database.
10353
10354    All required parameters must be populated in order to send to Azure.
10355
10356    :param additional_properties: Unmatched properties from the message are deserialized to this
10357     collection.
10358    :type additional_properties: dict[str, any]
10359    :param type: Required. Copy source type.Constant filled by server.
10360    :type type: str
10361    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
10362     integer).
10363    :type source_retry_count: any
10364    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
10365     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10366    :type source_retry_wait: any
10367    :param max_concurrent_connections: The maximum concurrent connection count for the source data
10368     store. Type: integer (or Expression with resultType integer).
10369    :type max_concurrent_connections: any
10370    :param filter: Specifies selection filter using query operators. To return all documents in a
10371     collection, omit this parameter or pass an empty document ({}). Type: string (or Expression
10372     with resultType string).
10373    :type filter: any
10374    :param cursor_methods: Cursor methods for Mongodb query.
10375    :type cursor_methods:
10376     ~azure.synapse.artifacts.v2020_12_01.models.MongoDbCursorMethodsProperties
10377    :param batch_size: Specifies the number of documents to return in each batch of the response
10378     from MongoDB instance. In most cases, modifying the batch size will not affect the user or the
10379     application. This property's main purpose is to avoid hit the limitation of response size.
10380     Type: integer (or Expression with resultType integer).
10381    :type batch_size: any
10382    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
10383     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10384    :type query_timeout: any
10385    :param additional_columns: Specifies the additional columns to be added to source data. Type:
10386     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
10387    :type additional_columns: any
10388    """
10389
10390    _validation = {
10391        'type': {'required': True},
10392    }
10393
10394    _attribute_map = {
10395        'additional_properties': {'key': '', 'type': '{object}'},
10396        'type': {'key': 'type', 'type': 'str'},
10397        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
10398        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
10399        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
10400        'filter': {'key': 'filter', 'type': 'object'},
10401        'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'},
10402        'batch_size': {'key': 'batchSize', 'type': 'object'},
10403        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
10404        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
10405    }
10406
10407    def __init__(
10408        self,
10409        *,
10410        additional_properties: Optional[Dict[str, Any]] = None,
10411        source_retry_count: Optional[Any] = None,
10412        source_retry_wait: Optional[Any] = None,
10413        max_concurrent_connections: Optional[Any] = None,
10414        filter: Optional[Any] = None,
10415        cursor_methods: Optional["MongoDbCursorMethodsProperties"] = None,
10416        batch_size: Optional[Any] = None,
10417        query_timeout: Optional[Any] = None,
10418        additional_columns: Optional[Any] = None,
10419        **kwargs
10420    ):
10421        super(CosmosDbMongoDbApiSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
10422        self.type = 'CosmosDbMongoDbApiSource'  # type: str
10423        self.filter = filter
10424        self.cursor_methods = cursor_methods
10425        self.batch_size = batch_size
10426        self.query_timeout = query_timeout
10427        self.additional_columns = additional_columns
10428
10429
10430class CosmosDbSqlApiCollectionDataset(Dataset):
10431    """Microsoft Azure CosmosDB (SQL API) Collection dataset.
10432
10433    All required parameters must be populated in order to send to Azure.
10434
10435    :param additional_properties: Unmatched properties from the message are deserialized to this
10436     collection.
10437    :type additional_properties: dict[str, any]
10438    :param type: Required. Type of dataset.Constant filled by server.
10439    :type type: str
10440    :param description: Dataset description.
10441    :type description: str
10442    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
10443     with resultType array), itemType: DatasetDataElement.
10444    :type structure: any
10445    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
10446     Expression with resultType array), itemType: DatasetSchemaDataElement.
10447    :type schema: any
10448    :param linked_service_name: Required. Linked service reference.
10449    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
10450    :param parameters: Parameters for dataset.
10451    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
10452    :param annotations: List of tags that can be used for describing the Dataset.
10453    :type annotations: list[any]
10454    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
10455     root level.
10456    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
10457    :param collection_name: Required. CosmosDB (SQL API) collection name. Type: string (or
10458     Expression with resultType string).
10459    :type collection_name: any
10460    """
10461
10462    _validation = {
10463        'type': {'required': True},
10464        'linked_service_name': {'required': True},
10465        'collection_name': {'required': True},
10466    }
10467
10468    _attribute_map = {
10469        'additional_properties': {'key': '', 'type': '{object}'},
10470        'type': {'key': 'type', 'type': 'str'},
10471        'description': {'key': 'description', 'type': 'str'},
10472        'structure': {'key': 'structure', 'type': 'object'},
10473        'schema': {'key': 'schema', 'type': 'object'},
10474        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
10475        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
10476        'annotations': {'key': 'annotations', 'type': '[object]'},
10477        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
10478        'collection_name': {'key': 'typeProperties.collectionName', 'type': 'object'},
10479    }
10480
10481    def __init__(
10482        self,
10483        *,
10484        linked_service_name: "LinkedServiceReference",
10485        collection_name: Any,
10486        additional_properties: Optional[Dict[str, Any]] = None,
10487        description: Optional[str] = None,
10488        structure: Optional[Any] = None,
10489        schema: Optional[Any] = None,
10490        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
10491        annotations: Optional[List[Any]] = None,
10492        folder: Optional["DatasetFolder"] = None,
10493        **kwargs
10494    ):
10495        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)
10496        self.type = 'CosmosDbSqlApiCollection'  # type: str
10497        self.collection_name = collection_name
10498
10499
10500class CosmosDbSqlApiSink(CopySink):
10501    """A copy activity Azure CosmosDB (SQL API) Collection sink.
10502
10503    All required parameters must be populated in order to send to Azure.
10504
10505    :param additional_properties: Unmatched properties from the message are deserialized to this
10506     collection.
10507    :type additional_properties: dict[str, any]
10508    :param type: Required. Copy sink type.Constant filled by server.
10509    :type type: str
10510    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
10511     integer), minimum: 0.
10512    :type write_batch_size: any
10513    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
10514     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10515    :type write_batch_timeout: any
10516    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
10517     integer).
10518    :type sink_retry_count: any
10519    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
10520     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10521    :type sink_retry_wait: any
10522    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
10523     store. Type: integer (or Expression with resultType integer).
10524    :type max_concurrent_connections: any
10525    :param write_behavior: Describes how to write data to Azure Cosmos DB. Type: string (or
10526     Expression with resultType string). Allowed values: insert and upsert.
10527    :type write_behavior: any
10528    """
10529
10530    _validation = {
10531        'type': {'required': True},
10532    }
10533
10534    _attribute_map = {
10535        'additional_properties': {'key': '', 'type': '{object}'},
10536        'type': {'key': 'type', 'type': 'str'},
10537        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
10538        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
10539        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
10540        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
10541        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
10542        'write_behavior': {'key': 'writeBehavior', 'type': 'object'},
10543    }
10544
10545    def __init__(
10546        self,
10547        *,
10548        additional_properties: Optional[Dict[str, Any]] = None,
10549        write_batch_size: Optional[Any] = None,
10550        write_batch_timeout: Optional[Any] = None,
10551        sink_retry_count: Optional[Any] = None,
10552        sink_retry_wait: Optional[Any] = None,
10553        max_concurrent_connections: Optional[Any] = None,
10554        write_behavior: Optional[Any] = None,
10555        **kwargs
10556    ):
10557        super(CosmosDbSqlApiSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
10558        self.type = 'CosmosDbSqlApiSink'  # type: str
10559        self.write_behavior = write_behavior
10560
10561
10562class CosmosDbSqlApiSource(CopySource):
10563    """A copy activity Azure CosmosDB (SQL API) Collection source.
10564
10565    All required parameters must be populated in order to send to Azure.
10566
10567    :param additional_properties: Unmatched properties from the message are deserialized to this
10568     collection.
10569    :type additional_properties: dict[str, any]
10570    :param type: Required. Copy source type.Constant filled by server.
10571    :type type: str
10572    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
10573     integer).
10574    :type source_retry_count: any
10575    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
10576     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10577    :type source_retry_wait: any
10578    :param max_concurrent_connections: The maximum concurrent connection count for the source data
10579     store. Type: integer (or Expression with resultType integer).
10580    :type max_concurrent_connections: any
10581    :param query: SQL API query. Type: string (or Expression with resultType string).
10582    :type query: any
10583    :param page_size: Page size of the result. Type: integer (or Expression with resultType
10584     integer).
10585    :type page_size: any
10586    :param preferred_regions: Preferred regions. Type: array of strings (or Expression with
10587     resultType array of strings).
10588    :type preferred_regions: any
10589    :param detect_datetime: Whether detect primitive values as datetime values. Type: boolean (or
10590     Expression with resultType boolean).
10591    :type detect_datetime: any
10592    :param additional_columns: Specifies the additional columns to be added to source data. Type:
10593     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
10594    :type additional_columns: any
10595    """
10596
10597    _validation = {
10598        'type': {'required': True},
10599    }
10600
10601    _attribute_map = {
10602        'additional_properties': {'key': '', 'type': '{object}'},
10603        'type': {'key': 'type', 'type': 'str'},
10604        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
10605        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
10606        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
10607        'query': {'key': 'query', 'type': 'object'},
10608        'page_size': {'key': 'pageSize', 'type': 'object'},
10609        'preferred_regions': {'key': 'preferredRegions', 'type': 'object'},
10610        'detect_datetime': {'key': 'detectDatetime', 'type': 'object'},
10611        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
10612    }
10613
10614    def __init__(
10615        self,
10616        *,
10617        additional_properties: Optional[Dict[str, Any]] = None,
10618        source_retry_count: Optional[Any] = None,
10619        source_retry_wait: Optional[Any] = None,
10620        max_concurrent_connections: Optional[Any] = None,
10621        query: Optional[Any] = None,
10622        page_size: Optional[Any] = None,
10623        preferred_regions: Optional[Any] = None,
10624        detect_datetime: Optional[Any] = None,
10625        additional_columns: Optional[Any] = None,
10626        **kwargs
10627    ):
10628        super(CosmosDbSqlApiSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
10629        self.type = 'CosmosDbSqlApiSource'  # type: str
10630        self.query = query
10631        self.page_size = page_size
10632        self.preferred_regions = preferred_regions
10633        self.detect_datetime = detect_datetime
10634        self.additional_columns = additional_columns
10635
10636
10637class CouchbaseLinkedService(LinkedService):
10638    """Couchbase server linked service.
10639
10640    All required parameters must be populated in order to send to Azure.
10641
10642    :param additional_properties: Unmatched properties from the message are deserialized to this
10643     collection.
10644    :type additional_properties: dict[str, any]
10645    :param type: Required. Type of linked service.Constant filled by server.
10646    :type type: str
10647    :param connect_via: The integration runtime reference.
10648    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
10649    :param description: Linked service description.
10650    :type description: str
10651    :param parameters: Parameters for linked service.
10652    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
10653    :param annotations: List of tags that can be used for describing the linked service.
10654    :type annotations: list[any]
10655    :param connection_string: An ODBC connection string. Type: string, SecureString or
10656     AzureKeyVaultSecretReference.
10657    :type connection_string: any
10658    :param cred_string: The Azure key vault secret reference of credString in connection string.
10659    :type cred_string: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
10660    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
10661     encrypted using the integration runtime credential manager. Type: string (or Expression with
10662     resultType string).
10663    :type encrypted_credential: any
10664    """
10665
10666    _validation = {
10667        'type': {'required': True},
10668    }
10669
10670    _attribute_map = {
10671        'additional_properties': {'key': '', 'type': '{object}'},
10672        'type': {'key': 'type', 'type': 'str'},
10673        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
10674        'description': {'key': 'description', 'type': 'str'},
10675        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
10676        'annotations': {'key': 'annotations', 'type': '[object]'},
10677        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
10678        'cred_string': {'key': 'typeProperties.credString', 'type': 'AzureKeyVaultSecretReference'},
10679        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
10680    }
10681
10682    def __init__(
10683        self,
10684        *,
10685        additional_properties: Optional[Dict[str, Any]] = None,
10686        connect_via: Optional["IntegrationRuntimeReference"] = None,
10687        description: Optional[str] = None,
10688        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
10689        annotations: Optional[List[Any]] = None,
10690        connection_string: Optional[Any] = None,
10691        cred_string: Optional["AzureKeyVaultSecretReference"] = None,
10692        encrypted_credential: Optional[Any] = None,
10693        **kwargs
10694    ):
10695        super(CouchbaseLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
10696        self.type = 'Couchbase'  # type: str
10697        self.connection_string = connection_string
10698        self.cred_string = cred_string
10699        self.encrypted_credential = encrypted_credential
10700
10701
10702class CouchbaseSource(TabularSource):
10703    """A copy activity Couchbase server source.
10704
10705    All required parameters must be populated in order to send to Azure.
10706
10707    :param additional_properties: Unmatched properties from the message are deserialized to this
10708     collection.
10709    :type additional_properties: dict[str, any]
10710    :param type: Required. Copy source type.Constant filled by server.
10711    :type type: str
10712    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
10713     integer).
10714    :type source_retry_count: any
10715    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
10716     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10717    :type source_retry_wait: any
10718    :param max_concurrent_connections: The maximum concurrent connection count for the source data
10719     store. Type: integer (or Expression with resultType integer).
10720    :type max_concurrent_connections: any
10721    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
10722     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10723    :type query_timeout: any
10724    :param additional_columns: Specifies the additional columns to be added to source data. Type:
10725     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
10726    :type additional_columns: any
10727    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
10728     string).
10729    :type query: any
10730    """
10731
10732    _validation = {
10733        'type': {'required': True},
10734    }
10735
10736    _attribute_map = {
10737        'additional_properties': {'key': '', 'type': '{object}'},
10738        'type': {'key': 'type', 'type': 'str'},
10739        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
10740        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
10741        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
10742        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
10743        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
10744        'query': {'key': 'query', 'type': 'object'},
10745    }
10746
10747    def __init__(
10748        self,
10749        *,
10750        additional_properties: Optional[Dict[str, Any]] = None,
10751        source_retry_count: Optional[Any] = None,
10752        source_retry_wait: Optional[Any] = None,
10753        max_concurrent_connections: Optional[Any] = None,
10754        query_timeout: Optional[Any] = None,
10755        additional_columns: Optional[Any] = None,
10756        query: Optional[Any] = None,
10757        **kwargs
10758    ):
10759        super(CouchbaseSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
10760        self.type = 'CouchbaseSource'  # type: str
10761        self.query = query
10762
10763
10764class CouchbaseTableDataset(Dataset):
10765    """Couchbase server dataset.
10766
10767    All required parameters must be populated in order to send to Azure.
10768
10769    :param additional_properties: Unmatched properties from the message are deserialized to this
10770     collection.
10771    :type additional_properties: dict[str, any]
10772    :param type: Required. Type of dataset.Constant filled by server.
10773    :type type: str
10774    :param description: Dataset description.
10775    :type description: str
10776    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
10777     with resultType array), itemType: DatasetDataElement.
10778    :type structure: any
10779    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
10780     Expression with resultType array), itemType: DatasetSchemaDataElement.
10781    :type schema: any
10782    :param linked_service_name: Required. Linked service reference.
10783    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
10784    :param parameters: Parameters for dataset.
10785    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
10786    :param annotations: List of tags that can be used for describing the Dataset.
10787    :type annotations: list[any]
10788    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
10789     root level.
10790    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
10791    :param table_name: The table name. Type: string (or Expression with resultType string).
10792    :type table_name: any
10793    """
10794
10795    _validation = {
10796        'type': {'required': True},
10797        'linked_service_name': {'required': True},
10798    }
10799
10800    _attribute_map = {
10801        'additional_properties': {'key': '', 'type': '{object}'},
10802        'type': {'key': 'type', 'type': 'str'},
10803        'description': {'key': 'description', 'type': 'str'},
10804        'structure': {'key': 'structure', 'type': 'object'},
10805        'schema': {'key': 'schema', 'type': 'object'},
10806        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
10807        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
10808        'annotations': {'key': 'annotations', 'type': '[object]'},
10809        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
10810        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
10811    }
10812
10813    def __init__(
10814        self,
10815        *,
10816        linked_service_name: "LinkedServiceReference",
10817        additional_properties: Optional[Dict[str, Any]] = None,
10818        description: Optional[str] = None,
10819        structure: Optional[Any] = None,
10820        schema: Optional[Any] = None,
10821        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
10822        annotations: Optional[List[Any]] = None,
10823        folder: Optional["DatasetFolder"] = None,
10824        table_name: Optional[Any] = None,
10825        **kwargs
10826    ):
10827        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)
10828        self.type = 'CouchbaseTable'  # type: str
10829        self.table_name = table_name
10830
10831
10832class CreateDataFlowDebugSessionRequest(msrest.serialization.Model):
10833    """Request body structure for creating data flow debug session.
10834
10835    :param data_flow_name: The name of the data flow.
10836    :type data_flow_name: str
10837    :param existing_cluster_id: The ID of existing Databricks cluster.
10838    :type existing_cluster_id: str
10839    :param cluster_timeout: Timeout setting for Databricks cluster.
10840    :type cluster_timeout: int
10841    :param new_cluster_name: The name of new Databricks cluster.
10842    :type new_cluster_name: str
10843    :param new_cluster_node_type: The type of new Databricks cluster.
10844    :type new_cluster_node_type: str
10845    :param data_bricks_linked_service: Data bricks linked service.
10846    :type data_bricks_linked_service:
10847     ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceResource
10848    """
10849
10850    _attribute_map = {
10851        'data_flow_name': {'key': 'dataFlowName', 'type': 'str'},
10852        'existing_cluster_id': {'key': 'existingClusterId', 'type': 'str'},
10853        'cluster_timeout': {'key': 'clusterTimeout', 'type': 'int'},
10854        'new_cluster_name': {'key': 'newClusterName', 'type': 'str'},
10855        'new_cluster_node_type': {'key': 'newClusterNodeType', 'type': 'str'},
10856        'data_bricks_linked_service': {'key': 'dataBricksLinkedService', 'type': 'LinkedServiceResource'},
10857    }
10858
10859    def __init__(
10860        self,
10861        *,
10862        data_flow_name: Optional[str] = None,
10863        existing_cluster_id: Optional[str] = None,
10864        cluster_timeout: Optional[int] = None,
10865        new_cluster_name: Optional[str] = None,
10866        new_cluster_node_type: Optional[str] = None,
10867        data_bricks_linked_service: Optional["LinkedServiceResource"] = None,
10868        **kwargs
10869    ):
10870        super(CreateDataFlowDebugSessionRequest, self).__init__(**kwargs)
10871        self.data_flow_name = data_flow_name
10872        self.existing_cluster_id = existing_cluster_id
10873        self.cluster_timeout = cluster_timeout
10874        self.new_cluster_name = new_cluster_name
10875        self.new_cluster_node_type = new_cluster_node_type
10876        self.data_bricks_linked_service = data_bricks_linked_service
10877
10878
10879class CreateDataFlowDebugSessionResponse(msrest.serialization.Model):
10880    """Response body structure for creating data flow debug session.
10881
10882    :param session_id: The ID of data flow debug session.
10883    :type session_id: str
10884    """
10885
10886    _attribute_map = {
10887        'session_id': {'key': 'sessionId', 'type': 'str'},
10888    }
10889
10890    def __init__(
10891        self,
10892        *,
10893        session_id: Optional[str] = None,
10894        **kwargs
10895    ):
10896        super(CreateDataFlowDebugSessionResponse, self).__init__(**kwargs)
10897        self.session_id = session_id
10898
10899
10900class CreateRunResponse(msrest.serialization.Model):
10901    """Response body with a run identifier.
10902
10903    All required parameters must be populated in order to send to Azure.
10904
10905    :param run_id: Required. Identifier of a run.
10906    :type run_id: str
10907    """
10908
10909    _validation = {
10910        'run_id': {'required': True},
10911    }
10912
10913    _attribute_map = {
10914        'run_id': {'key': 'runId', 'type': 'str'},
10915    }
10916
10917    def __init__(
10918        self,
10919        *,
10920        run_id: str,
10921        **kwargs
10922    ):
10923        super(CreateRunResponse, self).__init__(**kwargs)
10924        self.run_id = run_id
10925
10926
10927class CustomActivity(ExecutionActivity):
10928    """Custom activity type.
10929
10930    All required parameters must be populated in order to send to Azure.
10931
10932    :param additional_properties: Unmatched properties from the message are deserialized to this
10933     collection.
10934    :type additional_properties: dict[str, any]
10935    :param name: Required. Activity name.
10936    :type name: str
10937    :param type: Required. Type of activity.Constant filled by server.
10938    :type type: str
10939    :param description: Activity description.
10940    :type description: str
10941    :param depends_on: Activity depends on condition.
10942    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
10943    :param user_properties: Activity user properties.
10944    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
10945    :param linked_service_name: Linked service reference.
10946    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
10947    :param policy: Activity policy.
10948    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
10949    :param command: Required. Command for custom activity Type: string (or Expression with
10950     resultType string).
10951    :type command: any
10952    :param resource_linked_service: Resource linked service reference.
10953    :type resource_linked_service:
10954     ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
10955    :param folder_path: Folder path for resource files Type: string (or Expression with resultType
10956     string).
10957    :type folder_path: any
10958    :param reference_objects: Reference objects.
10959    :type reference_objects:
10960     ~azure.synapse.artifacts.v2020_12_01.models.CustomActivityReferenceObject
10961    :param extended_properties: User defined property bag. There is no restriction on the keys or
10962     values that can be used. The user specified custom activity has the full responsibility to
10963     consume and interpret the content defined.
10964    :type extended_properties: dict[str, any]
10965    :param retention_time_in_days: The retention time for the files submitted for custom activity.
10966     Type: double (or Expression with resultType double).
10967    :type retention_time_in_days: any
10968    :param auto_user_specification: Elevation level and scope for the user, default is nonadmin
10969     task. Type: string (or Expression with resultType double).
10970    :type auto_user_specification: any
10971    """
10972
10973    _validation = {
10974        'name': {'required': True},
10975        'type': {'required': True},
10976        'command': {'required': True},
10977    }
10978
10979    _attribute_map = {
10980        'additional_properties': {'key': '', 'type': '{object}'},
10981        'name': {'key': 'name', 'type': 'str'},
10982        'type': {'key': 'type', 'type': 'str'},
10983        'description': {'key': 'description', 'type': 'str'},
10984        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
10985        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
10986        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
10987        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
10988        'command': {'key': 'typeProperties.command', 'type': 'object'},
10989        'resource_linked_service': {'key': 'typeProperties.resourceLinkedService', 'type': 'LinkedServiceReference'},
10990        'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'},
10991        'reference_objects': {'key': 'typeProperties.referenceObjects', 'type': 'CustomActivityReferenceObject'},
10992        'extended_properties': {'key': 'typeProperties.extendedProperties', 'type': '{object}'},
10993        'retention_time_in_days': {'key': 'typeProperties.retentionTimeInDays', 'type': 'object'},
10994        'auto_user_specification': {'key': 'typeProperties.autoUserSpecification', 'type': 'object'},
10995    }
10996
10997    def __init__(
10998        self,
10999        *,
11000        name: str,
11001        command: Any,
11002        additional_properties: Optional[Dict[str, Any]] = None,
11003        description: Optional[str] = None,
11004        depends_on: Optional[List["ActivityDependency"]] = None,
11005        user_properties: Optional[List["UserProperty"]] = None,
11006        linked_service_name: Optional["LinkedServiceReference"] = None,
11007        policy: Optional["ActivityPolicy"] = None,
11008        resource_linked_service: Optional["LinkedServiceReference"] = None,
11009        folder_path: Optional[Any] = None,
11010        reference_objects: Optional["CustomActivityReferenceObject"] = None,
11011        extended_properties: Optional[Dict[str, Any]] = None,
11012        retention_time_in_days: Optional[Any] = None,
11013        auto_user_specification: Optional[Any] = None,
11014        **kwargs
11015    ):
11016        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)
11017        self.type = 'Custom'  # type: str
11018        self.command = command
11019        self.resource_linked_service = resource_linked_service
11020        self.folder_path = folder_path
11021        self.reference_objects = reference_objects
11022        self.extended_properties = extended_properties
11023        self.retention_time_in_days = retention_time_in_days
11024        self.auto_user_specification = auto_user_specification
11025
11026
11027class CustomActivityReferenceObject(msrest.serialization.Model):
11028    """Reference objects for custom activity.
11029
11030    :param linked_services: Linked service references.
11031    :type linked_services: list[~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference]
11032    :param datasets: Dataset references.
11033    :type datasets: list[~azure.synapse.artifacts.v2020_12_01.models.DatasetReference]
11034    """
11035
11036    _attribute_map = {
11037        'linked_services': {'key': 'linkedServices', 'type': '[LinkedServiceReference]'},
11038        'datasets': {'key': 'datasets', 'type': '[DatasetReference]'},
11039    }
11040
11041    def __init__(
11042        self,
11043        *,
11044        linked_services: Optional[List["LinkedServiceReference"]] = None,
11045        datasets: Optional[List["DatasetReference"]] = None,
11046        **kwargs
11047    ):
11048        super(CustomActivityReferenceObject, self).__init__(**kwargs)
11049        self.linked_services = linked_services
11050        self.datasets = datasets
11051
11052
11053class CustomDataset(Dataset):
11054    """The custom dataset.
11055
11056    All required parameters must be populated in order to send to Azure.
11057
11058    :param additional_properties: Unmatched properties from the message are deserialized to this
11059     collection.
11060    :type additional_properties: dict[str, any]
11061    :param type: Required. Type of dataset.Constant filled by server.
11062    :type type: str
11063    :param description: Dataset description.
11064    :type description: str
11065    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
11066     with resultType array), itemType: DatasetDataElement.
11067    :type structure: any
11068    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
11069     Expression with resultType array), itemType: DatasetSchemaDataElement.
11070    :type schema: any
11071    :param linked_service_name: Required. Linked service reference.
11072    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
11073    :param parameters: Parameters for dataset.
11074    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
11075    :param annotations: List of tags that can be used for describing the Dataset.
11076    :type annotations: list[any]
11077    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
11078     root level.
11079    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
11080    :param type_properties: Custom dataset properties.
11081    :type type_properties: any
11082    """
11083
11084    _validation = {
11085        'type': {'required': True},
11086        'linked_service_name': {'required': True},
11087    }
11088
11089    _attribute_map = {
11090        'additional_properties': {'key': '', 'type': '{object}'},
11091        'type': {'key': 'type', 'type': 'str'},
11092        'description': {'key': 'description', 'type': 'str'},
11093        'structure': {'key': 'structure', 'type': 'object'},
11094        'schema': {'key': 'schema', 'type': 'object'},
11095        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
11096        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
11097        'annotations': {'key': 'annotations', 'type': '[object]'},
11098        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
11099        'type_properties': {'key': 'typeProperties', 'type': 'object'},
11100    }
11101
11102    def __init__(
11103        self,
11104        *,
11105        linked_service_name: "LinkedServiceReference",
11106        additional_properties: Optional[Dict[str, Any]] = None,
11107        description: Optional[str] = None,
11108        structure: Optional[Any] = None,
11109        schema: Optional[Any] = None,
11110        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
11111        annotations: Optional[List[Any]] = None,
11112        folder: Optional["DatasetFolder"] = None,
11113        type_properties: Optional[Any] = None,
11114        **kwargs
11115    ):
11116        super(CustomDataset, 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)
11117        self.type = 'CustomDataset'  # type: str
11118        self.type_properties = type_properties
11119
11120
11121class CustomDataSourceLinkedService(LinkedService):
11122    """Custom linked service.
11123
11124    All required parameters must be populated in order to send to Azure.
11125
11126    :param additional_properties: Unmatched properties from the message are deserialized to this
11127     collection.
11128    :type additional_properties: dict[str, any]
11129    :param type: Required. Type of linked service.Constant filled by server.
11130    :type type: str
11131    :param connect_via: The integration runtime reference.
11132    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
11133    :param description: Linked service description.
11134    :type description: str
11135    :param parameters: Parameters for linked service.
11136    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
11137    :param annotations: List of tags that can be used for describing the linked service.
11138    :type annotations: list[any]
11139    :param type_properties: Required. Custom linked service properties.
11140    :type type_properties: any
11141    """
11142
11143    _validation = {
11144        'type': {'required': True},
11145        'type_properties': {'required': True},
11146    }
11147
11148    _attribute_map = {
11149        'additional_properties': {'key': '', 'type': '{object}'},
11150        'type': {'key': 'type', 'type': 'str'},
11151        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
11152        'description': {'key': 'description', 'type': 'str'},
11153        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
11154        'annotations': {'key': 'annotations', 'type': '[object]'},
11155        'type_properties': {'key': 'typeProperties', 'type': 'object'},
11156    }
11157
11158    def __init__(
11159        self,
11160        *,
11161        type_properties: Any,
11162        additional_properties: Optional[Dict[str, Any]] = None,
11163        connect_via: Optional["IntegrationRuntimeReference"] = None,
11164        description: Optional[str] = None,
11165        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
11166        annotations: Optional[List[Any]] = None,
11167        **kwargs
11168    ):
11169        super(CustomDataSourceLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
11170        self.type = 'CustomDataSource'  # type: str
11171        self.type_properties = type_properties
11172
11173
11174class CustomerManagedKeyDetails(msrest.serialization.Model):
11175    """Details of the customer managed key associated with the workspace.
11176
11177    Variables are only populated by the server, and will be ignored when sending a request.
11178
11179    :ivar status: The customer managed key status on the workspace.
11180    :vartype status: str
11181    :param key: The key object of the workspace.
11182    :type key: ~azure.synapse.artifacts.v2020_12_01.models.WorkspaceKeyDetails
11183    """
11184
11185    _validation = {
11186        'status': {'readonly': True},
11187    }
11188
11189    _attribute_map = {
11190        'status': {'key': 'status', 'type': 'str'},
11191        'key': {'key': 'key', 'type': 'WorkspaceKeyDetails'},
11192    }
11193
11194    def __init__(
11195        self,
11196        *,
11197        key: Optional["WorkspaceKeyDetails"] = None,
11198        **kwargs
11199    ):
11200        super(CustomerManagedKeyDetails, self).__init__(**kwargs)
11201        self.status = None
11202        self.key = key
11203
11204
11205class CustomEventsTrigger(MultiplePipelineTrigger):
11206    """Trigger that runs every time a custom event is received.
11207
11208    Variables are only populated by the server, and will be ignored when sending a request.
11209
11210    All required parameters must be populated in order to send to Azure.
11211
11212    :param additional_properties: Unmatched properties from the message are deserialized to this
11213     collection.
11214    :type additional_properties: dict[str, any]
11215    :param type: Required. Trigger type.Constant filled by server.
11216    :type type: str
11217    :param description: Trigger description.
11218    :type description: str
11219    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
11220     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
11221    :vartype runtime_state: str or ~azure.synapse.artifacts.v2020_12_01.models.TriggerRuntimeState
11222    :param annotations: List of tags that can be used for describing the trigger.
11223    :type annotations: list[any]
11224    :param pipelines: Pipelines that need to be started.
11225    :type pipelines: list[~azure.synapse.artifacts.v2020_12_01.models.TriggerPipelineReference]
11226    :param subject_begins_with: The event subject must begin with the pattern provided for trigger
11227     to fire. At least one of these must be provided: subjectBeginsWith, subjectEndsWith.
11228    :type subject_begins_with: str
11229    :param subject_ends_with: The event subject must end with the pattern provided for trigger to
11230     fire. At least one of these must be provided: subjectBeginsWith, subjectEndsWith.
11231    :type subject_ends_with: str
11232    :param events: Required. The list of event types that cause this trigger to fire.
11233    :type events: list[any]
11234    :param scope: Required. The ARM resource ID of the Azure Event Grid Topic.
11235    :type scope: str
11236    """
11237
11238    _validation = {
11239        'type': {'required': True},
11240        'runtime_state': {'readonly': True},
11241        'events': {'required': True},
11242        'scope': {'required': True},
11243    }
11244
11245    _attribute_map = {
11246        'additional_properties': {'key': '', 'type': '{object}'},
11247        'type': {'key': 'type', 'type': 'str'},
11248        'description': {'key': 'description', 'type': 'str'},
11249        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
11250        'annotations': {'key': 'annotations', 'type': '[object]'},
11251        'pipelines': {'key': 'pipelines', 'type': '[TriggerPipelineReference]'},
11252        'subject_begins_with': {'key': 'typeProperties.subjectBeginsWith', 'type': 'str'},
11253        'subject_ends_with': {'key': 'typeProperties.subjectEndsWith', 'type': 'str'},
11254        'events': {'key': 'typeProperties.events', 'type': '[object]'},
11255        'scope': {'key': 'typeProperties.scope', 'type': 'str'},
11256    }
11257
11258    def __init__(
11259        self,
11260        *,
11261        events: List[Any],
11262        scope: str,
11263        additional_properties: Optional[Dict[str, Any]] = None,
11264        description: Optional[str] = None,
11265        annotations: Optional[List[Any]] = None,
11266        pipelines: Optional[List["TriggerPipelineReference"]] = None,
11267        subject_begins_with: Optional[str] = None,
11268        subject_ends_with: Optional[str] = None,
11269        **kwargs
11270    ):
11271        super(CustomEventsTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, pipelines=pipelines, **kwargs)
11272        self.type = 'CustomEventsTrigger'  # type: str
11273        self.subject_begins_with = subject_begins_with
11274        self.subject_ends_with = subject_ends_with
11275        self.events = events
11276        self.scope = scope
11277
11278
11279class CustomSetupBase(msrest.serialization.Model):
11280    """The base definition of the custom setup.
11281
11282    You probably want to use the sub-classes and not this class directly. Known
11283    sub-classes are: .
11284
11285    All required parameters must be populated in order to send to Azure.
11286
11287    :param type: Required. The type of custom setup.Constant filled by server.
11288    :type type: str
11289    """
11290
11291    _validation = {
11292        'type': {'required': True},
11293    }
11294
11295    _attribute_map = {
11296        'type': {'key': 'type', 'type': 'str'},
11297    }
11298
11299    _subtype_map = {
11300        'type': {}
11301    }
11302
11303    def __init__(
11304        self,
11305        **kwargs
11306    ):
11307        super(CustomSetupBase, self).__init__(**kwargs)
11308        self.type = None  # type: Optional[str]
11309
11310
11311class DatabricksNotebookActivity(ExecutionActivity):
11312    """DatabricksNotebook activity.
11313
11314    All required parameters must be populated in order to send to Azure.
11315
11316    :param additional_properties: Unmatched properties from the message are deserialized to this
11317     collection.
11318    :type additional_properties: dict[str, any]
11319    :param name: Required. Activity name.
11320    :type name: str
11321    :param type: Required. Type of activity.Constant filled by server.
11322    :type type: str
11323    :param description: Activity description.
11324    :type description: str
11325    :param depends_on: Activity depends on condition.
11326    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
11327    :param user_properties: Activity user properties.
11328    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
11329    :param linked_service_name: Linked service reference.
11330    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
11331    :param policy: Activity policy.
11332    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
11333    :param notebook_path: Required. The absolute path of the notebook to be run in the Databricks
11334     Workspace. This path must begin with a slash. Type: string (or Expression with resultType
11335     string).
11336    :type notebook_path: any
11337    :param base_parameters: Base parameters to be used for each run of this job.If the notebook
11338     takes a parameter that is not specified, the default value from the notebook will be used.
11339    :type base_parameters: dict[str, any]
11340    :param libraries: A list of libraries to be installed on the cluster that will execute the job.
11341    :type libraries: list[dict[str, any]]
11342    """
11343
11344    _validation = {
11345        'name': {'required': True},
11346        'type': {'required': True},
11347        'notebook_path': {'required': True},
11348    }
11349
11350    _attribute_map = {
11351        'additional_properties': {'key': '', 'type': '{object}'},
11352        'name': {'key': 'name', 'type': 'str'},
11353        'type': {'key': 'type', 'type': 'str'},
11354        'description': {'key': 'description', 'type': 'str'},
11355        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
11356        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
11357        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
11358        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
11359        'notebook_path': {'key': 'typeProperties.notebookPath', 'type': 'object'},
11360        'base_parameters': {'key': 'typeProperties.baseParameters', 'type': '{object}'},
11361        'libraries': {'key': 'typeProperties.libraries', 'type': '[{object}]'},
11362    }
11363
11364    def __init__(
11365        self,
11366        *,
11367        name: str,
11368        notebook_path: Any,
11369        additional_properties: Optional[Dict[str, Any]] = None,
11370        description: Optional[str] = None,
11371        depends_on: Optional[List["ActivityDependency"]] = None,
11372        user_properties: Optional[List["UserProperty"]] = None,
11373        linked_service_name: Optional["LinkedServiceReference"] = None,
11374        policy: Optional["ActivityPolicy"] = None,
11375        base_parameters: Optional[Dict[str, Any]] = None,
11376        libraries: Optional[List[Dict[str, Any]]] = None,
11377        **kwargs
11378    ):
11379        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)
11380        self.type = 'DatabricksNotebook'  # type: str
11381        self.notebook_path = notebook_path
11382        self.base_parameters = base_parameters
11383        self.libraries = libraries
11384
11385
11386class DatabricksSparkJarActivity(ExecutionActivity):
11387    """DatabricksSparkJar activity.
11388
11389    All required parameters must be populated in order to send to Azure.
11390
11391    :param additional_properties: Unmatched properties from the message are deserialized to this
11392     collection.
11393    :type additional_properties: dict[str, any]
11394    :param name: Required. Activity name.
11395    :type name: str
11396    :param type: Required. Type of activity.Constant filled by server.
11397    :type type: str
11398    :param description: Activity description.
11399    :type description: str
11400    :param depends_on: Activity depends on condition.
11401    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
11402    :param user_properties: Activity user properties.
11403    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
11404    :param linked_service_name: Linked service reference.
11405    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
11406    :param policy: Activity policy.
11407    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
11408    :param main_class_name: Required. The full name of the class containing the main method to be
11409     executed. This class must be contained in a JAR provided as a library. Type: string (or
11410     Expression with resultType string).
11411    :type main_class_name: any
11412    :param parameters: Parameters that will be passed to the main method.
11413    :type parameters: list[any]
11414    :param libraries: A list of libraries to be installed on the cluster that will execute the job.
11415    :type libraries: list[dict[str, any]]
11416    """
11417
11418    _validation = {
11419        'name': {'required': True},
11420        'type': {'required': True},
11421        'main_class_name': {'required': True},
11422    }
11423
11424    _attribute_map = {
11425        'additional_properties': {'key': '', 'type': '{object}'},
11426        'name': {'key': 'name', 'type': 'str'},
11427        'type': {'key': 'type', 'type': 'str'},
11428        'description': {'key': 'description', 'type': 'str'},
11429        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
11430        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
11431        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
11432        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
11433        'main_class_name': {'key': 'typeProperties.mainClassName', 'type': 'object'},
11434        'parameters': {'key': 'typeProperties.parameters', 'type': '[object]'},
11435        'libraries': {'key': 'typeProperties.libraries', 'type': '[{object}]'},
11436    }
11437
11438    def __init__(
11439        self,
11440        *,
11441        name: str,
11442        main_class_name: Any,
11443        additional_properties: Optional[Dict[str, Any]] = None,
11444        description: Optional[str] = None,
11445        depends_on: Optional[List["ActivityDependency"]] = None,
11446        user_properties: Optional[List["UserProperty"]] = None,
11447        linked_service_name: Optional["LinkedServiceReference"] = None,
11448        policy: Optional["ActivityPolicy"] = None,
11449        parameters: Optional[List[Any]] = None,
11450        libraries: Optional[List[Dict[str, Any]]] = None,
11451        **kwargs
11452    ):
11453        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)
11454        self.type = 'DatabricksSparkJar'  # type: str
11455        self.main_class_name = main_class_name
11456        self.parameters = parameters
11457        self.libraries = libraries
11458
11459
11460class DatabricksSparkPythonActivity(ExecutionActivity):
11461    """DatabricksSparkPython activity.
11462
11463    All required parameters must be populated in order to send to Azure.
11464
11465    :param additional_properties: Unmatched properties from the message are deserialized to this
11466     collection.
11467    :type additional_properties: dict[str, any]
11468    :param name: Required. Activity name.
11469    :type name: str
11470    :param type: Required. Type of activity.Constant filled by server.
11471    :type type: str
11472    :param description: Activity description.
11473    :type description: str
11474    :param depends_on: Activity depends on condition.
11475    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
11476    :param user_properties: Activity user properties.
11477    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
11478    :param linked_service_name: Linked service reference.
11479    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
11480    :param policy: Activity policy.
11481    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
11482    :param python_file: Required. The URI of the Python file to be executed. DBFS paths are
11483     supported. Type: string (or Expression with resultType string).
11484    :type python_file: any
11485    :param parameters: Command line parameters that will be passed to the Python file.
11486    :type parameters: list[any]
11487    :param libraries: A list of libraries to be installed on the cluster that will execute the job.
11488    :type libraries: list[dict[str, any]]
11489    """
11490
11491    _validation = {
11492        'name': {'required': True},
11493        'type': {'required': True},
11494        'python_file': {'required': True},
11495    }
11496
11497    _attribute_map = {
11498        'additional_properties': {'key': '', 'type': '{object}'},
11499        'name': {'key': 'name', 'type': 'str'},
11500        'type': {'key': 'type', 'type': 'str'},
11501        'description': {'key': 'description', 'type': 'str'},
11502        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
11503        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
11504        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
11505        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
11506        'python_file': {'key': 'typeProperties.pythonFile', 'type': 'object'},
11507        'parameters': {'key': 'typeProperties.parameters', 'type': '[object]'},
11508        'libraries': {'key': 'typeProperties.libraries', 'type': '[{object}]'},
11509    }
11510
11511    def __init__(
11512        self,
11513        *,
11514        name: str,
11515        python_file: Any,
11516        additional_properties: Optional[Dict[str, Any]] = None,
11517        description: Optional[str] = None,
11518        depends_on: Optional[List["ActivityDependency"]] = None,
11519        user_properties: Optional[List["UserProperty"]] = None,
11520        linked_service_name: Optional["LinkedServiceReference"] = None,
11521        policy: Optional["ActivityPolicy"] = None,
11522        parameters: Optional[List[Any]] = None,
11523        libraries: Optional[List[Dict[str, Any]]] = None,
11524        **kwargs
11525    ):
11526        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)
11527        self.type = 'DatabricksSparkPython'  # type: str
11528        self.python_file = python_file
11529        self.parameters = parameters
11530        self.libraries = libraries
11531
11532
11533class DataFlow(msrest.serialization.Model):
11534    """Azure Synapse nested object which contains a flow with data movements and transformations.
11535
11536    You probably want to use the sub-classes and not this class directly. Known
11537    sub-classes are: MappingDataFlow.
11538
11539    All required parameters must be populated in order to send to Azure.
11540
11541    :param type: Required. Type of data flow.Constant filled by server.
11542    :type type: str
11543    :param description: The description of the data flow.
11544    :type description: str
11545    :param annotations: List of tags that can be used for describing the data flow.
11546    :type annotations: list[any]
11547    :param folder: The folder that this data flow is in. If not specified, Data flow will appear at
11548     the root level.
11549    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DataFlowFolder
11550    """
11551
11552    _validation = {
11553        'type': {'required': True},
11554    }
11555
11556    _attribute_map = {
11557        'type': {'key': 'type', 'type': 'str'},
11558        'description': {'key': 'description', 'type': 'str'},
11559        'annotations': {'key': 'annotations', 'type': '[object]'},
11560        'folder': {'key': 'folder', 'type': 'DataFlowFolder'},
11561    }
11562
11563    _subtype_map = {
11564        'type': {'MappingDataFlow': 'MappingDataFlow'}
11565    }
11566
11567    def __init__(
11568        self,
11569        *,
11570        description: Optional[str] = None,
11571        annotations: Optional[List[Any]] = None,
11572        folder: Optional["DataFlowFolder"] = None,
11573        **kwargs
11574    ):
11575        super(DataFlow, self).__init__(**kwargs)
11576        self.type = None  # type: Optional[str]
11577        self.description = description
11578        self.annotations = annotations
11579        self.folder = folder
11580
11581
11582class DataFlowDebugCommandRequest(msrest.serialization.Model):
11583    """Request body structure for data flow expression preview.
11584
11585    All required parameters must be populated in order to send to Azure.
11586
11587    :param session_id: Required. The ID of data flow debug session.
11588    :type session_id: str
11589    :param data_flow_name: The data flow which contains the debug session.
11590    :type data_flow_name: str
11591    :param command_name: The command name.
11592    :type command_name: str
11593    :param command_payload: Required. The command payload object.
11594    :type command_payload: any
11595    """
11596
11597    _validation = {
11598        'session_id': {'required': True},
11599        'command_payload': {'required': True},
11600    }
11601
11602    _attribute_map = {
11603        'session_id': {'key': 'sessionId', 'type': 'str'},
11604        'data_flow_name': {'key': 'dataFlowName', 'type': 'str'},
11605        'command_name': {'key': 'commandName', 'type': 'str'},
11606        'command_payload': {'key': 'commandPayload', 'type': 'object'},
11607    }
11608
11609    def __init__(
11610        self,
11611        *,
11612        session_id: str,
11613        command_payload: Any,
11614        data_flow_name: Optional[str] = None,
11615        command_name: Optional[str] = None,
11616        **kwargs
11617    ):
11618        super(DataFlowDebugCommandRequest, self).__init__(**kwargs)
11619        self.session_id = session_id
11620        self.data_flow_name = data_flow_name
11621        self.command_name = command_name
11622        self.command_payload = command_payload
11623
11624
11625class DataFlowDebugCommandResponse(msrest.serialization.Model):
11626    """Response body structure of data flow result for data preview, statistics or expression preview.
11627
11628    :param status: The run status of data preview, statistics or expression preview.
11629    :type status: str
11630    :param data: The result data of data preview, statistics or expression preview.
11631    :type data: str
11632    """
11633
11634    _attribute_map = {
11635        'status': {'key': 'status', 'type': 'str'},
11636        'data': {'key': 'data', 'type': 'str'},
11637    }
11638
11639    def __init__(
11640        self,
11641        *,
11642        status: Optional[str] = None,
11643        data: Optional[str] = None,
11644        **kwargs
11645    ):
11646        super(DataFlowDebugCommandResponse, self).__init__(**kwargs)
11647        self.status = status
11648        self.data = data
11649
11650
11651class DataFlowDebugPackage(msrest.serialization.Model):
11652    """Request body structure for starting data flow debug session.
11653
11654    :param additional_properties: Unmatched properties from the message are deserialized to this
11655     collection.
11656    :type additional_properties: dict[str, any]
11657    :param session_id: The ID of data flow debug session.
11658    :type session_id: str
11659    :param data_flow: Data flow instance.
11660    :type data_flow: ~azure.synapse.artifacts.v2020_12_01.models.DataFlowDebugResource
11661    :param datasets: List of datasets.
11662    :type datasets: list[~azure.synapse.artifacts.v2020_12_01.models.DatasetDebugResource]
11663    :param linked_services: List of linked services.
11664    :type linked_services:
11665     list[~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceDebugResource]
11666    :param staging: Staging info for debug session.
11667    :type staging: ~azure.synapse.artifacts.v2020_12_01.models.DataFlowStagingInfo
11668    :param debug_settings: Data flow debug settings.
11669    :type debug_settings:
11670     ~azure.synapse.artifacts.v2020_12_01.models.DataFlowDebugPackageDebugSettings
11671    """
11672
11673    _attribute_map = {
11674        'additional_properties': {'key': '', 'type': '{object}'},
11675        'session_id': {'key': 'sessionId', 'type': 'str'},
11676        'data_flow': {'key': 'dataFlow', 'type': 'DataFlowDebugResource'},
11677        'datasets': {'key': 'datasets', 'type': '[DatasetDebugResource]'},
11678        'linked_services': {'key': 'linkedServices', 'type': '[LinkedServiceDebugResource]'},
11679        'staging': {'key': 'staging', 'type': 'DataFlowStagingInfo'},
11680        'debug_settings': {'key': 'debugSettings', 'type': 'DataFlowDebugPackageDebugSettings'},
11681    }
11682
11683    def __init__(
11684        self,
11685        *,
11686        additional_properties: Optional[Dict[str, Any]] = None,
11687        session_id: Optional[str] = None,
11688        data_flow: Optional["DataFlowDebugResource"] = None,
11689        datasets: Optional[List["DatasetDebugResource"]] = None,
11690        linked_services: Optional[List["LinkedServiceDebugResource"]] = None,
11691        staging: Optional["DataFlowStagingInfo"] = None,
11692        debug_settings: Optional["DataFlowDebugPackageDebugSettings"] = None,
11693        **kwargs
11694    ):
11695        super(DataFlowDebugPackage, self).__init__(**kwargs)
11696        self.additional_properties = additional_properties
11697        self.session_id = session_id
11698        self.data_flow = data_flow
11699        self.datasets = datasets
11700        self.linked_services = linked_services
11701        self.staging = staging
11702        self.debug_settings = debug_settings
11703
11704
11705class DataFlowDebugPackageDebugSettings(msrest.serialization.Model):
11706    """Data flow debug settings.
11707
11708    :param source_settings: Source setting for data flow debug.
11709    :type source_settings: list[~azure.synapse.artifacts.v2020_12_01.models.DataFlowSourceSetting]
11710    :param parameters: Data flow parameters.
11711    :type parameters: dict[str, any]
11712    :param dataset_parameters: Parameters for dataset.
11713    :type dataset_parameters: any
11714    """
11715
11716    _attribute_map = {
11717        'source_settings': {'key': 'sourceSettings', 'type': '[DataFlowSourceSetting]'},
11718        'parameters': {'key': 'parameters', 'type': '{object}'},
11719        'dataset_parameters': {'key': 'datasetParameters', 'type': 'object'},
11720    }
11721
11722    def __init__(
11723        self,
11724        *,
11725        source_settings: Optional[List["DataFlowSourceSetting"]] = None,
11726        parameters: Optional[Dict[str, Any]] = None,
11727        dataset_parameters: Optional[Any] = None,
11728        **kwargs
11729    ):
11730        super(DataFlowDebugPackageDebugSettings, self).__init__(**kwargs)
11731        self.source_settings = source_settings
11732        self.parameters = parameters
11733        self.dataset_parameters = dataset_parameters
11734
11735
11736class DataFlowDebugPreviewDataRequest(msrest.serialization.Model):
11737    """Request body structure for data flow preview data.
11738
11739    :param session_id: The ID of data flow debug session.
11740    :type session_id: str
11741    :param data_flow_name: The data flow which contains the debug session.
11742    :type data_flow_name: str
11743    :param stream_name: The output stream name.
11744    :type stream_name: str
11745    :param row_limits: The row limit for preview request.
11746    :type row_limits: int
11747    """
11748
11749    _attribute_map = {
11750        'session_id': {'key': 'sessionId', 'type': 'str'},
11751        'data_flow_name': {'key': 'dataFlowName', 'type': 'str'},
11752        'stream_name': {'key': 'streamName', 'type': 'str'},
11753        'row_limits': {'key': 'rowLimits', 'type': 'int'},
11754    }
11755
11756    def __init__(
11757        self,
11758        *,
11759        session_id: Optional[str] = None,
11760        data_flow_name: Optional[str] = None,
11761        stream_name: Optional[str] = None,
11762        row_limits: Optional[int] = None,
11763        **kwargs
11764    ):
11765        super(DataFlowDebugPreviewDataRequest, self).__init__(**kwargs)
11766        self.session_id = session_id
11767        self.data_flow_name = data_flow_name
11768        self.stream_name = stream_name
11769        self.row_limits = row_limits
11770
11771
11772class DataFlowDebugQueryResponse(msrest.serialization.Model):
11773    """Response body structure of data flow query for data preview, statistics or expression preview.
11774
11775    :param run_id: The run ID of data flow debug session.
11776    :type run_id: str
11777    """
11778
11779    _attribute_map = {
11780        'run_id': {'key': 'runId', 'type': 'str'},
11781    }
11782
11783    def __init__(
11784        self,
11785        *,
11786        run_id: Optional[str] = None,
11787        **kwargs
11788    ):
11789        super(DataFlowDebugQueryResponse, self).__init__(**kwargs)
11790        self.run_id = run_id
11791
11792
11793class SubResourceDebugResource(msrest.serialization.Model):
11794    """Azure Synapse nested debug resource.
11795
11796    :param name: The resource name.
11797    :type name: str
11798    """
11799
11800    _attribute_map = {
11801        'name': {'key': 'name', 'type': 'str'},
11802    }
11803
11804    def __init__(
11805        self,
11806        *,
11807        name: Optional[str] = None,
11808        **kwargs
11809    ):
11810        super(SubResourceDebugResource, self).__init__(**kwargs)
11811        self.name = name
11812
11813
11814class DataFlowDebugResource(SubResourceDebugResource):
11815    """Data flow debug resource.
11816
11817    All required parameters must be populated in order to send to Azure.
11818
11819    :param name: The resource name.
11820    :type name: str
11821    :param properties: Required. Data flow properties.
11822    :type properties: ~azure.synapse.artifacts.v2020_12_01.models.DataFlow
11823    """
11824
11825    _validation = {
11826        'properties': {'required': True},
11827    }
11828
11829    _attribute_map = {
11830        'name': {'key': 'name', 'type': 'str'},
11831        'properties': {'key': 'properties', 'type': 'DataFlow'},
11832    }
11833
11834    def __init__(
11835        self,
11836        *,
11837        properties: "DataFlow",
11838        name: Optional[str] = None,
11839        **kwargs
11840    ):
11841        super(DataFlowDebugResource, self).__init__(name=name, **kwargs)
11842        self.properties = properties
11843
11844
11845class DataFlowDebugResultResponse(msrest.serialization.Model):
11846    """Response body structure of data flow result for data preview, statistics or expression preview.
11847
11848    :param status: The run status of data preview, statistics or expression preview.
11849    :type status: str
11850    :param data: The result data of data preview, statistics or expression preview.
11851    :type data: str
11852    """
11853
11854    _attribute_map = {
11855        'status': {'key': 'status', 'type': 'str'},
11856        'data': {'key': 'data', 'type': 'str'},
11857    }
11858
11859    def __init__(
11860        self,
11861        *,
11862        status: Optional[str] = None,
11863        data: Optional[str] = None,
11864        **kwargs
11865    ):
11866        super(DataFlowDebugResultResponse, self).__init__(**kwargs)
11867        self.status = status
11868        self.data = data
11869
11870
11871class DataFlowDebugSessionInfo(msrest.serialization.Model):
11872    """Data flow debug session info.
11873
11874    :param additional_properties: Unmatched properties from the message are deserialized to this
11875     collection.
11876    :type additional_properties: dict[str, any]
11877    :param data_flow_name: The name of the data flow.
11878    :type data_flow_name: str
11879    :param compute_type: Compute type of the cluster.
11880    :type compute_type: str
11881    :param core_count: Core count of the cluster.
11882    :type core_count: int
11883    :param node_count: Node count of the cluster. (deprecated property).
11884    :type node_count: int
11885    :param integration_runtime_name: Attached integration runtime name of data flow debug session.
11886    :type integration_runtime_name: str
11887    :param session_id: The ID of data flow debug session.
11888    :type session_id: str
11889    :param start_time: Start time of data flow debug session.
11890    :type start_time: str
11891    :param time_to_live_in_minutes: Compute type of the cluster.
11892    :type time_to_live_in_minutes: int
11893    :param last_activity_time: Last activity time of data flow debug session.
11894    :type last_activity_time: str
11895    """
11896
11897    _attribute_map = {
11898        'additional_properties': {'key': '', 'type': '{object}'},
11899        'data_flow_name': {'key': 'dataFlowName', 'type': 'str'},
11900        'compute_type': {'key': 'computeType', 'type': 'str'},
11901        'core_count': {'key': 'coreCount', 'type': 'int'},
11902        'node_count': {'key': 'nodeCount', 'type': 'int'},
11903        'integration_runtime_name': {'key': 'integrationRuntimeName', 'type': 'str'},
11904        'session_id': {'key': 'sessionId', 'type': 'str'},
11905        'start_time': {'key': 'startTime', 'type': 'str'},
11906        'time_to_live_in_minutes': {'key': 'timeToLiveInMinutes', 'type': 'int'},
11907        'last_activity_time': {'key': 'lastActivityTime', 'type': 'str'},
11908    }
11909
11910    def __init__(
11911        self,
11912        *,
11913        additional_properties: Optional[Dict[str, Any]] = None,
11914        data_flow_name: Optional[str] = None,
11915        compute_type: Optional[str] = None,
11916        core_count: Optional[int] = None,
11917        node_count: Optional[int] = None,
11918        integration_runtime_name: Optional[str] = None,
11919        session_id: Optional[str] = None,
11920        start_time: Optional[str] = None,
11921        time_to_live_in_minutes: Optional[int] = None,
11922        last_activity_time: Optional[str] = None,
11923        **kwargs
11924    ):
11925        super(DataFlowDebugSessionInfo, self).__init__(**kwargs)
11926        self.additional_properties = additional_properties
11927        self.data_flow_name = data_flow_name
11928        self.compute_type = compute_type
11929        self.core_count = core_count
11930        self.node_count = node_count
11931        self.integration_runtime_name = integration_runtime_name
11932        self.session_id = session_id
11933        self.start_time = start_time
11934        self.time_to_live_in_minutes = time_to_live_in_minutes
11935        self.last_activity_time = last_activity_time
11936
11937
11938class DataFlowDebugStatisticsRequest(msrest.serialization.Model):
11939    """Request body structure for data flow statistics.
11940
11941    :param session_id: The ID of data flow debug session.
11942    :type session_id: str
11943    :param data_flow_name: The data flow which contains the debug session.
11944    :type data_flow_name: str
11945    :param stream_name: The output stream name.
11946    :type stream_name: str
11947    :param columns: List of column names.
11948    :type columns: list[str]
11949    """
11950
11951    _attribute_map = {
11952        'session_id': {'key': 'sessionId', 'type': 'str'},
11953        'data_flow_name': {'key': 'dataFlowName', 'type': 'str'},
11954        'stream_name': {'key': 'streamName', 'type': 'str'},
11955        'columns': {'key': 'columns', 'type': '[str]'},
11956    }
11957
11958    def __init__(
11959        self,
11960        *,
11961        session_id: Optional[str] = None,
11962        data_flow_name: Optional[str] = None,
11963        stream_name: Optional[str] = None,
11964        columns: Optional[List[str]] = None,
11965        **kwargs
11966    ):
11967        super(DataFlowDebugStatisticsRequest, self).__init__(**kwargs)
11968        self.session_id = session_id
11969        self.data_flow_name = data_flow_name
11970        self.stream_name = stream_name
11971        self.columns = columns
11972
11973
11974class DataFlowFolder(msrest.serialization.Model):
11975    """The folder that this data flow is in. If not specified, Data flow will appear at the root level.
11976
11977    :param name: The name of the folder that this data flow is in.
11978    :type name: str
11979    """
11980
11981    _attribute_map = {
11982        'name': {'key': 'name', 'type': 'str'},
11983    }
11984
11985    def __init__(
11986        self,
11987        *,
11988        name: Optional[str] = None,
11989        **kwargs
11990    ):
11991        super(DataFlowFolder, self).__init__(**kwargs)
11992        self.name = name
11993
11994
11995class DataFlowListResponse(msrest.serialization.Model):
11996    """A list of data flow resources.
11997
11998    All required parameters must be populated in order to send to Azure.
11999
12000    :param value: Required. List of data flows.
12001    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.DataFlowResource]
12002    :param next_link: The link to the next page of results, if any remaining results exist.
12003    :type next_link: str
12004    """
12005
12006    _validation = {
12007        'value': {'required': True},
12008    }
12009
12010    _attribute_map = {
12011        'value': {'key': 'value', 'type': '[DataFlowResource]'},
12012        'next_link': {'key': 'nextLink', 'type': 'str'},
12013    }
12014
12015    def __init__(
12016        self,
12017        *,
12018        value: List["DataFlowResource"],
12019        next_link: Optional[str] = None,
12020        **kwargs
12021    ):
12022        super(DataFlowListResponse, self).__init__(**kwargs)
12023        self.value = value
12024        self.next_link = next_link
12025
12026
12027class DataFlowReference(msrest.serialization.Model):
12028    """Data flow reference type.
12029
12030    All required parameters must be populated in order to send to Azure.
12031
12032    :param additional_properties: Unmatched properties from the message are deserialized to this
12033     collection.
12034    :type additional_properties: dict[str, any]
12035    :param type: Required. Data flow reference type. Possible values include: "DataFlowReference".
12036    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.DataFlowReferenceType
12037    :param reference_name: Required. Reference data flow name.
12038    :type reference_name: str
12039    :param dataset_parameters: Reference data flow parameters from dataset.
12040    :type dataset_parameters: any
12041    """
12042
12043    _validation = {
12044        'type': {'required': True},
12045        'reference_name': {'required': True},
12046    }
12047
12048    _attribute_map = {
12049        'additional_properties': {'key': '', 'type': '{object}'},
12050        'type': {'key': 'type', 'type': 'str'},
12051        'reference_name': {'key': 'referenceName', 'type': 'str'},
12052        'dataset_parameters': {'key': 'datasetParameters', 'type': 'object'},
12053    }
12054
12055    def __init__(
12056        self,
12057        *,
12058        type: Union[str, "DataFlowReferenceType"],
12059        reference_name: str,
12060        additional_properties: Optional[Dict[str, Any]] = None,
12061        dataset_parameters: Optional[Any] = None,
12062        **kwargs
12063    ):
12064        super(DataFlowReference, self).__init__(**kwargs)
12065        self.additional_properties = additional_properties
12066        self.type = type
12067        self.reference_name = reference_name
12068        self.dataset_parameters = dataset_parameters
12069
12070
12071class SubResource(AzureEntityResource):
12072    """Azure Synapse nested resource, which belongs to a workspace.
12073
12074    Variables are only populated by the server, and will be ignored when sending a request.
12075
12076    :ivar id: Fully qualified resource ID for the resource. Ex -
12077     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
12078    :vartype id: str
12079    :ivar name: The name of the resource.
12080    :vartype name: str
12081    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
12082     "Microsoft.Storage/storageAccounts".
12083    :vartype type: str
12084    :ivar etag: Resource Etag.
12085    :vartype etag: str
12086    """
12087
12088    _validation = {
12089        'id': {'readonly': True},
12090        'name': {'readonly': True},
12091        'type': {'readonly': True},
12092        'etag': {'readonly': True},
12093    }
12094
12095    _attribute_map = {
12096        'id': {'key': 'id', 'type': 'str'},
12097        'name': {'key': 'name', 'type': 'str'},
12098        'type': {'key': 'type', 'type': 'str'},
12099        'etag': {'key': 'etag', 'type': 'str'},
12100    }
12101
12102    def __init__(
12103        self,
12104        **kwargs
12105    ):
12106        super(SubResource, self).__init__(**kwargs)
12107
12108
12109class DataFlowResource(SubResource):
12110    """Data flow resource type.
12111
12112    Variables are only populated by the server, and will be ignored when sending a request.
12113
12114    All required parameters must be populated in order to send to Azure.
12115
12116    :ivar id: Fully qualified resource ID for the resource. Ex -
12117     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
12118    :vartype id: str
12119    :ivar name: The name of the resource.
12120    :vartype name: str
12121    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
12122     "Microsoft.Storage/storageAccounts".
12123    :vartype type: str
12124    :ivar etag: Resource Etag.
12125    :vartype etag: str
12126    :param properties: Required. Data flow properties.
12127    :type properties: ~azure.synapse.artifacts.v2020_12_01.models.DataFlow
12128    """
12129
12130    _validation = {
12131        'id': {'readonly': True},
12132        'name': {'readonly': True},
12133        'type': {'readonly': True},
12134        'etag': {'readonly': True},
12135        'properties': {'required': True},
12136    }
12137
12138    _attribute_map = {
12139        'id': {'key': 'id', 'type': 'str'},
12140        'name': {'key': 'name', 'type': 'str'},
12141        'type': {'key': 'type', 'type': 'str'},
12142        'etag': {'key': 'etag', 'type': 'str'},
12143        'properties': {'key': 'properties', 'type': 'DataFlow'},
12144    }
12145
12146    def __init__(
12147        self,
12148        *,
12149        properties: "DataFlow",
12150        **kwargs
12151    ):
12152        super(DataFlowResource, self).__init__(**kwargs)
12153        self.properties = properties
12154
12155
12156class Transformation(msrest.serialization.Model):
12157    """A data flow transformation.
12158
12159    All required parameters must be populated in order to send to Azure.
12160
12161    :param name: Required. Transformation name.
12162    :type name: str
12163    :param description: Transformation description.
12164    :type description: str
12165    """
12166
12167    _validation = {
12168        'name': {'required': True},
12169    }
12170
12171    _attribute_map = {
12172        'name': {'key': 'name', 'type': 'str'},
12173        'description': {'key': 'description', 'type': 'str'},
12174    }
12175
12176    def __init__(
12177        self,
12178        *,
12179        name: str,
12180        description: Optional[str] = None,
12181        **kwargs
12182    ):
12183        super(Transformation, self).__init__(**kwargs)
12184        self.name = name
12185        self.description = description
12186
12187
12188class DataFlowSink(Transformation):
12189    """Transformation for data flow sink.
12190
12191    All required parameters must be populated in order to send to Azure.
12192
12193    :param name: Required. Transformation name.
12194    :type name: str
12195    :param description: Transformation description.
12196    :type description: str
12197    :param dataset: Dataset reference.
12198    :type dataset: ~azure.synapse.artifacts.v2020_12_01.models.DatasetReference
12199    :param linked_service: Linked service reference.
12200    :type linked_service: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
12201    :param schema_linked_service: Schema linked service reference.
12202    :type schema_linked_service: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
12203    """
12204
12205    _validation = {
12206        'name': {'required': True},
12207    }
12208
12209    _attribute_map = {
12210        'name': {'key': 'name', 'type': 'str'},
12211        'description': {'key': 'description', 'type': 'str'},
12212        'dataset': {'key': 'dataset', 'type': 'DatasetReference'},
12213        'linked_service': {'key': 'linkedService', 'type': 'LinkedServiceReference'},
12214        'schema_linked_service': {'key': 'schemaLinkedService', 'type': 'LinkedServiceReference'},
12215    }
12216
12217    def __init__(
12218        self,
12219        *,
12220        name: str,
12221        description: Optional[str] = None,
12222        dataset: Optional["DatasetReference"] = None,
12223        linked_service: Optional["LinkedServiceReference"] = None,
12224        schema_linked_service: Optional["LinkedServiceReference"] = None,
12225        **kwargs
12226    ):
12227        super(DataFlowSink, self).__init__(name=name, description=description, **kwargs)
12228        self.dataset = dataset
12229        self.linked_service = linked_service
12230        self.schema_linked_service = schema_linked_service
12231
12232
12233class DataFlowSource(Transformation):
12234    """Transformation for data flow source.
12235
12236    All required parameters must be populated in order to send to Azure.
12237
12238    :param name: Required. Transformation name.
12239    :type name: str
12240    :param description: Transformation description.
12241    :type description: str
12242    :param dataset: Dataset reference.
12243    :type dataset: ~azure.synapse.artifacts.v2020_12_01.models.DatasetReference
12244    :param linked_service: Linked service reference.
12245    :type linked_service: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
12246    :param schema_linked_service: Schema linked service reference.
12247    :type schema_linked_service: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
12248    """
12249
12250    _validation = {
12251        'name': {'required': True},
12252    }
12253
12254    _attribute_map = {
12255        'name': {'key': 'name', 'type': 'str'},
12256        'description': {'key': 'description', 'type': 'str'},
12257        'dataset': {'key': 'dataset', 'type': 'DatasetReference'},
12258        'linked_service': {'key': 'linkedService', 'type': 'LinkedServiceReference'},
12259        'schema_linked_service': {'key': 'schemaLinkedService', 'type': 'LinkedServiceReference'},
12260    }
12261
12262    def __init__(
12263        self,
12264        *,
12265        name: str,
12266        description: Optional[str] = None,
12267        dataset: Optional["DatasetReference"] = None,
12268        linked_service: Optional["LinkedServiceReference"] = None,
12269        schema_linked_service: Optional["LinkedServiceReference"] = None,
12270        **kwargs
12271    ):
12272        super(DataFlowSource, self).__init__(name=name, description=description, **kwargs)
12273        self.dataset = dataset
12274        self.linked_service = linked_service
12275        self.schema_linked_service = schema_linked_service
12276
12277
12278class DataFlowSourceSetting(msrest.serialization.Model):
12279    """Definition of data flow source setting for debug.
12280
12281    :param additional_properties: Unmatched properties from the message are deserialized to this
12282     collection.
12283    :type additional_properties: dict[str, any]
12284    :param source_name: The data flow source name.
12285    :type source_name: str
12286    :param row_limit: Defines the row limit of data flow source in debug.
12287    :type row_limit: int
12288    """
12289
12290    _attribute_map = {
12291        'additional_properties': {'key': '', 'type': '{object}'},
12292        'source_name': {'key': 'sourceName', 'type': 'str'},
12293        'row_limit': {'key': 'rowLimit', 'type': 'int'},
12294    }
12295
12296    def __init__(
12297        self,
12298        *,
12299        additional_properties: Optional[Dict[str, Any]] = None,
12300        source_name: Optional[str] = None,
12301        row_limit: Optional[int] = None,
12302        **kwargs
12303    ):
12304        super(DataFlowSourceSetting, self).__init__(**kwargs)
12305        self.additional_properties = additional_properties
12306        self.source_name = source_name
12307        self.row_limit = row_limit
12308
12309
12310class DataFlowStagingInfo(msrest.serialization.Model):
12311    """Staging info for execute data flow activity.
12312
12313    :param linked_service: Staging linked service reference.
12314    :type linked_service: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
12315    :param folder_path: Folder path for staging blob.
12316    :type folder_path: str
12317    """
12318
12319    _attribute_map = {
12320        'linked_service': {'key': 'linkedService', 'type': 'LinkedServiceReference'},
12321        'folder_path': {'key': 'folderPath', 'type': 'str'},
12322    }
12323
12324    def __init__(
12325        self,
12326        *,
12327        linked_service: Optional["LinkedServiceReference"] = None,
12328        folder_path: Optional[str] = None,
12329        **kwargs
12330    ):
12331        super(DataFlowStagingInfo, self).__init__(**kwargs)
12332        self.linked_service = linked_service
12333        self.folder_path = folder_path
12334
12335
12336class DataLakeAnalyticsUSQLActivity(ExecutionActivity):
12337    """Data Lake Analytics U-SQL activity.
12338
12339    All required parameters must be populated in order to send to Azure.
12340
12341    :param additional_properties: Unmatched properties from the message are deserialized to this
12342     collection.
12343    :type additional_properties: dict[str, any]
12344    :param name: Required. Activity name.
12345    :type name: str
12346    :param type: Required. Type of activity.Constant filled by server.
12347    :type type: str
12348    :param description: Activity description.
12349    :type description: str
12350    :param depends_on: Activity depends on condition.
12351    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
12352    :param user_properties: Activity user properties.
12353    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
12354    :param linked_service_name: Linked service reference.
12355    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
12356    :param policy: Activity policy.
12357    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
12358    :param script_path: Required. Case-sensitive path to folder that contains the U-SQL script.
12359     Type: string (or Expression with resultType string).
12360    :type script_path: any
12361    :param script_linked_service: Required. Script linked service reference.
12362    :type script_linked_service: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
12363    :param degree_of_parallelism: The maximum number of nodes simultaneously used to run the job.
12364     Default value is 1. Type: integer (or Expression with resultType integer), minimum: 1.
12365    :type degree_of_parallelism: any
12366    :param priority: Determines which jobs out of all that are queued should be selected to run
12367     first. The lower the number, the higher the priority. Default value is 1000. Type: integer (or
12368     Expression with resultType integer), minimum: 1.
12369    :type priority: any
12370    :param parameters: Parameters for U-SQL job request.
12371    :type parameters: dict[str, any]
12372    :param runtime_version: Runtime version of the U-SQL engine to use. Type: string (or Expression
12373     with resultType string).
12374    :type runtime_version: any
12375    :param compilation_mode: Compilation mode of U-SQL. Must be one of these values : Semantic,
12376     Full and SingleBox. Type: string (or Expression with resultType string).
12377    :type compilation_mode: any
12378    """
12379
12380    _validation = {
12381        'name': {'required': True},
12382        'type': {'required': True},
12383        'script_path': {'required': True},
12384        'script_linked_service': {'required': True},
12385    }
12386
12387    _attribute_map = {
12388        'additional_properties': {'key': '', 'type': '{object}'},
12389        'name': {'key': 'name', 'type': 'str'},
12390        'type': {'key': 'type', 'type': 'str'},
12391        'description': {'key': 'description', 'type': 'str'},
12392        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
12393        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
12394        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
12395        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
12396        'script_path': {'key': 'typeProperties.scriptPath', 'type': 'object'},
12397        'script_linked_service': {'key': 'typeProperties.scriptLinkedService', 'type': 'LinkedServiceReference'},
12398        'degree_of_parallelism': {'key': 'typeProperties.degreeOfParallelism', 'type': 'object'},
12399        'priority': {'key': 'typeProperties.priority', 'type': 'object'},
12400        'parameters': {'key': 'typeProperties.parameters', 'type': '{object}'},
12401        'runtime_version': {'key': 'typeProperties.runtimeVersion', 'type': 'object'},
12402        'compilation_mode': {'key': 'typeProperties.compilationMode', 'type': 'object'},
12403    }
12404
12405    def __init__(
12406        self,
12407        *,
12408        name: str,
12409        script_path: Any,
12410        script_linked_service: "LinkedServiceReference",
12411        additional_properties: Optional[Dict[str, Any]] = None,
12412        description: Optional[str] = None,
12413        depends_on: Optional[List["ActivityDependency"]] = None,
12414        user_properties: Optional[List["UserProperty"]] = None,
12415        linked_service_name: Optional["LinkedServiceReference"] = None,
12416        policy: Optional["ActivityPolicy"] = None,
12417        degree_of_parallelism: Optional[Any] = None,
12418        priority: Optional[Any] = None,
12419        parameters: Optional[Dict[str, Any]] = None,
12420        runtime_version: Optional[Any] = None,
12421        compilation_mode: Optional[Any] = None,
12422        **kwargs
12423    ):
12424        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)
12425        self.type = 'DataLakeAnalyticsU-SQL'  # type: str
12426        self.script_path = script_path
12427        self.script_linked_service = script_linked_service
12428        self.degree_of_parallelism = degree_of_parallelism
12429        self.priority = priority
12430        self.parameters = parameters
12431        self.runtime_version = runtime_version
12432        self.compilation_mode = compilation_mode
12433
12434
12435class DataLakeStorageAccountDetails(msrest.serialization.Model):
12436    """Details of the data lake storage account associated with the workspace.
12437
12438    :param account_url: Account URL.
12439    :type account_url: str
12440    :param filesystem: Filesystem name.
12441    :type filesystem: str
12442    """
12443
12444    _attribute_map = {
12445        'account_url': {'key': 'accountUrl', 'type': 'str'},
12446        'filesystem': {'key': 'filesystem', 'type': 'str'},
12447    }
12448
12449    def __init__(
12450        self,
12451        *,
12452        account_url: Optional[str] = None,
12453        filesystem: Optional[str] = None,
12454        **kwargs
12455    ):
12456        super(DataLakeStorageAccountDetails, self).__init__(**kwargs)
12457        self.account_url = account_url
12458        self.filesystem = filesystem
12459
12460
12461class DatasetCompression(msrest.serialization.Model):
12462    """The compression method used on a dataset.
12463
12464    You probably want to use the sub-classes and not this class directly. Known
12465    sub-classes are: DatasetBZip2Compression, DatasetDeflateCompression, DatasetGZipCompression, DatasetTarCompression, DatasetTarGZipCompression, DatasetZipDeflateCompression.
12466
12467    All required parameters must be populated in order to send to Azure.
12468
12469    :param additional_properties: Unmatched properties from the message are deserialized to this
12470     collection.
12471    :type additional_properties: dict[str, any]
12472    :param type: Required. Type of dataset compression. Type: string (or Expression with resultType
12473     string).Constant filled by server.
12474    :type type: any
12475    """
12476
12477    _validation = {
12478        'type': {'required': True},
12479    }
12480
12481    _attribute_map = {
12482        'additional_properties': {'key': '', 'type': '{object}'},
12483        'type': {'key': 'type', 'type': 'object'},
12484    }
12485
12486    _subtype_map = {
12487        'type': {'BZip2': 'DatasetBZip2Compression', 'Deflate': 'DatasetDeflateCompression', 'GZip': 'DatasetGZipCompression', 'Tar': 'DatasetTarCompression', 'TarGZip': 'DatasetTarGZipCompression', 'ZipDeflate': 'DatasetZipDeflateCompression'}
12488    }
12489
12490    def __init__(
12491        self,
12492        *,
12493        additional_properties: Optional[Dict[str, Any]] = None,
12494        **kwargs
12495    ):
12496        super(DatasetCompression, self).__init__(**kwargs)
12497        self.additional_properties = additional_properties
12498        self.type = 'DatasetCompression'  # type: str
12499
12500
12501class DatasetBZip2Compression(DatasetCompression):
12502    """The BZip2 compression method used on a dataset.
12503
12504    All required parameters must be populated in order to send to Azure.
12505
12506    :param additional_properties: Unmatched properties from the message are deserialized to this
12507     collection.
12508    :type additional_properties: dict[str, any]
12509    :param type: Required. Type of dataset compression. Type: string (or Expression with resultType
12510     string).Constant filled by server.
12511    :type type: any
12512    """
12513
12514    _validation = {
12515        'type': {'required': True},
12516    }
12517
12518    _attribute_map = {
12519        'additional_properties': {'key': '', 'type': '{object}'},
12520        'type': {'key': 'type', 'type': 'object'},
12521    }
12522
12523    def __init__(
12524        self,
12525        *,
12526        additional_properties: Optional[Dict[str, Any]] = None,
12527        **kwargs
12528    ):
12529        super(DatasetBZip2Compression, self).__init__(additional_properties=additional_properties, **kwargs)
12530        self.type = 'BZip2'  # type: str
12531
12532
12533class DatasetDataElement(msrest.serialization.Model):
12534    """Columns that define the structure of the dataset.
12535
12536    :param name: Name of the column. Type: string (or Expression with resultType string).
12537    :type name: any
12538    :param type: Type of the column. Type: string (or Expression with resultType string).
12539    :type type: any
12540    """
12541
12542    _attribute_map = {
12543        'name': {'key': 'name', 'type': 'object'},
12544        'type': {'key': 'type', 'type': 'object'},
12545    }
12546
12547    def __init__(
12548        self,
12549        *,
12550        name: Optional[Any] = None,
12551        type: Optional[Any] = None,
12552        **kwargs
12553    ):
12554        super(DatasetDataElement, self).__init__(**kwargs)
12555        self.name = name
12556        self.type = type
12557
12558
12559class DatasetDebugResource(SubResourceDebugResource):
12560    """Dataset debug resource.
12561
12562    All required parameters must be populated in order to send to Azure.
12563
12564    :param name: The resource name.
12565    :type name: str
12566    :param properties: Required. Dataset properties.
12567    :type properties: ~azure.synapse.artifacts.v2020_12_01.models.Dataset
12568    """
12569
12570    _validation = {
12571        'properties': {'required': True},
12572    }
12573
12574    _attribute_map = {
12575        'name': {'key': 'name', 'type': 'str'},
12576        'properties': {'key': 'properties', 'type': 'Dataset'},
12577    }
12578
12579    def __init__(
12580        self,
12581        *,
12582        properties: "Dataset",
12583        name: Optional[str] = None,
12584        **kwargs
12585    ):
12586        super(DatasetDebugResource, self).__init__(name=name, **kwargs)
12587        self.properties = properties
12588
12589
12590class DatasetDeflateCompression(DatasetCompression):
12591    """The Deflate compression method used on a dataset.
12592
12593    All required parameters must be populated in order to send to Azure.
12594
12595    :param additional_properties: Unmatched properties from the message are deserialized to this
12596     collection.
12597    :type additional_properties: dict[str, any]
12598    :param type: Required. Type of dataset compression. Type: string (or Expression with resultType
12599     string).Constant filled by server.
12600    :type type: any
12601    :param level: The Deflate compression level.
12602    :type level: any
12603    """
12604
12605    _validation = {
12606        'type': {'required': True},
12607    }
12608
12609    _attribute_map = {
12610        'additional_properties': {'key': '', 'type': '{object}'},
12611        'type': {'key': 'type', 'type': 'object'},
12612        'level': {'key': 'level', 'type': 'object'},
12613    }
12614
12615    def __init__(
12616        self,
12617        *,
12618        additional_properties: Optional[Dict[str, Any]] = None,
12619        level: Optional[Any] = None,
12620        **kwargs
12621    ):
12622        super(DatasetDeflateCompression, self).__init__(additional_properties=additional_properties, **kwargs)
12623        self.type = 'Deflate'  # type: str
12624        self.level = level
12625
12626
12627class DatasetFolder(msrest.serialization.Model):
12628    """The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
12629
12630    :param name: The name of the folder that this Dataset is in.
12631    :type name: str
12632    """
12633
12634    _attribute_map = {
12635        'name': {'key': 'name', 'type': 'str'},
12636    }
12637
12638    def __init__(
12639        self,
12640        *,
12641        name: Optional[str] = None,
12642        **kwargs
12643    ):
12644        super(DatasetFolder, self).__init__(**kwargs)
12645        self.name = name
12646
12647
12648class DatasetGZipCompression(DatasetCompression):
12649    """The GZip compression method used on a dataset.
12650
12651    All required parameters must be populated in order to send to Azure.
12652
12653    :param additional_properties: Unmatched properties from the message are deserialized to this
12654     collection.
12655    :type additional_properties: dict[str, any]
12656    :param type: Required. Type of dataset compression. Type: string (or Expression with resultType
12657     string).Constant filled by server.
12658    :type type: any
12659    :param level: The GZip compression level.
12660    :type level: any
12661    """
12662
12663    _validation = {
12664        'type': {'required': True},
12665    }
12666
12667    _attribute_map = {
12668        'additional_properties': {'key': '', 'type': '{object}'},
12669        'type': {'key': 'type', 'type': 'object'},
12670        'level': {'key': 'level', 'type': 'object'},
12671    }
12672
12673    def __init__(
12674        self,
12675        *,
12676        additional_properties: Optional[Dict[str, Any]] = None,
12677        level: Optional[Any] = None,
12678        **kwargs
12679    ):
12680        super(DatasetGZipCompression, self).__init__(additional_properties=additional_properties, **kwargs)
12681        self.type = 'GZip'  # type: str
12682        self.level = level
12683
12684
12685class DatasetListResponse(msrest.serialization.Model):
12686    """A list of dataset resources.
12687
12688    All required parameters must be populated in order to send to Azure.
12689
12690    :param value: Required. List of datasets.
12691    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.DatasetResource]
12692    :param next_link: The link to the next page of results, if any remaining results exist.
12693    :type next_link: str
12694    """
12695
12696    _validation = {
12697        'value': {'required': True},
12698    }
12699
12700    _attribute_map = {
12701        'value': {'key': 'value', 'type': '[DatasetResource]'},
12702        'next_link': {'key': 'nextLink', 'type': 'str'},
12703    }
12704
12705    def __init__(
12706        self,
12707        *,
12708        value: List["DatasetResource"],
12709        next_link: Optional[str] = None,
12710        **kwargs
12711    ):
12712        super(DatasetListResponse, self).__init__(**kwargs)
12713        self.value = value
12714        self.next_link = next_link
12715
12716
12717class DatasetReference(msrest.serialization.Model):
12718    """Dataset reference type.
12719
12720    All required parameters must be populated in order to send to Azure.
12721
12722    :param type: Required. Dataset reference type. Possible values include: "DatasetReference".
12723    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.DatasetReferenceType
12724    :param reference_name: Required. Reference dataset name.
12725    :type reference_name: str
12726    :param parameters: Arguments for dataset.
12727    :type parameters: dict[str, any]
12728    """
12729
12730    _validation = {
12731        'type': {'required': True},
12732        'reference_name': {'required': True},
12733    }
12734
12735    _attribute_map = {
12736        'type': {'key': 'type', 'type': 'str'},
12737        'reference_name': {'key': 'referenceName', 'type': 'str'},
12738        'parameters': {'key': 'parameters', 'type': '{object}'},
12739    }
12740
12741    def __init__(
12742        self,
12743        *,
12744        type: Union[str, "DatasetReferenceType"],
12745        reference_name: str,
12746        parameters: Optional[Dict[str, Any]] = None,
12747        **kwargs
12748    ):
12749        super(DatasetReference, self).__init__(**kwargs)
12750        self.type = type
12751        self.reference_name = reference_name
12752        self.parameters = parameters
12753
12754
12755class DatasetResource(SubResource):
12756    """Dataset resource type.
12757
12758    Variables are only populated by the server, and will be ignored when sending a request.
12759
12760    All required parameters must be populated in order to send to Azure.
12761
12762    :ivar id: Fully qualified resource ID for the resource. Ex -
12763     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
12764    :vartype id: str
12765    :ivar name: The name of the resource.
12766    :vartype name: str
12767    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
12768     "Microsoft.Storage/storageAccounts".
12769    :vartype type: str
12770    :ivar etag: Resource Etag.
12771    :vartype etag: str
12772    :param properties: Required. Dataset properties.
12773    :type properties: ~azure.synapse.artifacts.v2020_12_01.models.Dataset
12774    """
12775
12776    _validation = {
12777        'id': {'readonly': True},
12778        'name': {'readonly': True},
12779        'type': {'readonly': True},
12780        'etag': {'readonly': True},
12781        'properties': {'required': True},
12782    }
12783
12784    _attribute_map = {
12785        'id': {'key': 'id', 'type': 'str'},
12786        'name': {'key': 'name', 'type': 'str'},
12787        'type': {'key': 'type', 'type': 'str'},
12788        'etag': {'key': 'etag', 'type': 'str'},
12789        'properties': {'key': 'properties', 'type': 'Dataset'},
12790    }
12791
12792    def __init__(
12793        self,
12794        *,
12795        properties: "Dataset",
12796        **kwargs
12797    ):
12798        super(DatasetResource, self).__init__(**kwargs)
12799        self.properties = properties
12800
12801
12802class DatasetSchemaDataElement(msrest.serialization.Model):
12803    """Columns that define the physical type schema of the dataset.
12804
12805    :param additional_properties: Unmatched properties from the message are deserialized to this
12806     collection.
12807    :type additional_properties: dict[str, any]
12808    :param name: Name of the schema column. Type: string (or Expression with resultType string).
12809    :type name: any
12810    :param type: Type of the schema column. Type: string (or Expression with resultType string).
12811    :type type: any
12812    """
12813
12814    _attribute_map = {
12815        'additional_properties': {'key': '', 'type': '{object}'},
12816        'name': {'key': 'name', 'type': 'object'},
12817        'type': {'key': 'type', 'type': 'object'},
12818    }
12819
12820    def __init__(
12821        self,
12822        *,
12823        additional_properties: Optional[Dict[str, Any]] = None,
12824        name: Optional[Any] = None,
12825        type: Optional[Any] = None,
12826        **kwargs
12827    ):
12828        super(DatasetSchemaDataElement, self).__init__(**kwargs)
12829        self.additional_properties = additional_properties
12830        self.name = name
12831        self.type = type
12832
12833
12834class DatasetTarCompression(DatasetCompression):
12835    """The Tar archive method used on a dataset.
12836
12837    All required parameters must be populated in order to send to Azure.
12838
12839    :param additional_properties: Unmatched properties from the message are deserialized to this
12840     collection.
12841    :type additional_properties: dict[str, any]
12842    :param type: Required. Type of dataset compression. Type: string (or Expression with resultType
12843     string).Constant filled by server.
12844    :type type: any
12845    """
12846
12847    _validation = {
12848        'type': {'required': True},
12849    }
12850
12851    _attribute_map = {
12852        'additional_properties': {'key': '', 'type': '{object}'},
12853        'type': {'key': 'type', 'type': 'object'},
12854    }
12855
12856    def __init__(
12857        self,
12858        *,
12859        additional_properties: Optional[Dict[str, Any]] = None,
12860        **kwargs
12861    ):
12862        super(DatasetTarCompression, self).__init__(additional_properties=additional_properties, **kwargs)
12863        self.type = 'Tar'  # type: str
12864
12865
12866class DatasetTarGZipCompression(DatasetCompression):
12867    """The TarGZip compression method used on a dataset.
12868
12869    All required parameters must be populated in order to send to Azure.
12870
12871    :param additional_properties: Unmatched properties from the message are deserialized to this
12872     collection.
12873    :type additional_properties: dict[str, any]
12874    :param type: Required. Type of dataset compression. Type: string (or Expression with resultType
12875     string).Constant filled by server.
12876    :type type: any
12877    :param level: The TarGZip compression level.
12878    :type level: any
12879    """
12880
12881    _validation = {
12882        'type': {'required': True},
12883    }
12884
12885    _attribute_map = {
12886        'additional_properties': {'key': '', 'type': '{object}'},
12887        'type': {'key': 'type', 'type': 'object'},
12888        'level': {'key': 'level', 'type': 'object'},
12889    }
12890
12891    def __init__(
12892        self,
12893        *,
12894        additional_properties: Optional[Dict[str, Any]] = None,
12895        level: Optional[Any] = None,
12896        **kwargs
12897    ):
12898        super(DatasetTarGZipCompression, self).__init__(additional_properties=additional_properties, **kwargs)
12899        self.type = 'TarGZip'  # type: str
12900        self.level = level
12901
12902
12903class DatasetZipDeflateCompression(DatasetCompression):
12904    """The ZipDeflate compression method used on a dataset.
12905
12906    All required parameters must be populated in order to send to Azure.
12907
12908    :param additional_properties: Unmatched properties from the message are deserialized to this
12909     collection.
12910    :type additional_properties: dict[str, any]
12911    :param type: Required. Type of dataset compression. Type: string (or Expression with resultType
12912     string).Constant filled by server.
12913    :type type: any
12914    :param level: The ZipDeflate compression level.
12915    :type level: any
12916    """
12917
12918    _validation = {
12919        'type': {'required': True},
12920    }
12921
12922    _attribute_map = {
12923        'additional_properties': {'key': '', 'type': '{object}'},
12924        'type': {'key': 'type', 'type': 'object'},
12925        'level': {'key': 'level', 'type': 'object'},
12926    }
12927
12928    def __init__(
12929        self,
12930        *,
12931        additional_properties: Optional[Dict[str, Any]] = None,
12932        level: Optional[Any] = None,
12933        **kwargs
12934    ):
12935        super(DatasetZipDeflateCompression, self).__init__(additional_properties=additional_properties, **kwargs)
12936        self.type = 'ZipDeflate'  # type: str
12937        self.level = level
12938
12939
12940class Db2LinkedService(LinkedService):
12941    """Linked service for DB2 data source.
12942
12943    All required parameters must be populated in order to send to Azure.
12944
12945    :param additional_properties: Unmatched properties from the message are deserialized to this
12946     collection.
12947    :type additional_properties: dict[str, any]
12948    :param type: Required. Type of linked service.Constant filled by server.
12949    :type type: str
12950    :param connect_via: The integration runtime reference.
12951    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
12952    :param description: Linked service description.
12953    :type description: str
12954    :param parameters: Parameters for linked service.
12955    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
12956    :param annotations: List of tags that can be used for describing the linked service.
12957    :type annotations: list[any]
12958    :param connection_string: The connection string. It is mutually exclusive with server,
12959     database, authenticationType, userName, packageCollection and certificateCommonName property.
12960     Type: string, SecureString or AzureKeyVaultSecretReference.
12961    :type connection_string: any
12962    :param server: Required. Server name for connection. It is mutually exclusive with
12963     connectionString property. Type: string (or Expression with resultType string).
12964    :type server: any
12965    :param database: Required. Database name for connection. It is mutually exclusive with
12966     connectionString property. Type: string (or Expression with resultType string).
12967    :type database: any
12968    :param authentication_type: AuthenticationType to be used for connection. It is mutually
12969     exclusive with connectionString property. Possible values include: "Basic".
12970    :type authentication_type: str or
12971     ~azure.synapse.artifacts.v2020_12_01.models.Db2AuthenticationType
12972    :param username: Username for authentication. It is mutually exclusive with connectionString
12973     property. Type: string (or Expression with resultType string).
12974    :type username: any
12975    :param password: Password for authentication.
12976    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
12977    :param package_collection: Under where packages are created when querying database. It is
12978     mutually exclusive with connectionString property. Type: string (or Expression with resultType
12979     string).
12980    :type package_collection: any
12981    :param certificate_common_name: Certificate Common Name when TLS is enabled. It is mutually
12982     exclusive with connectionString property. Type: string (or Expression with resultType string).
12983    :type certificate_common_name: any
12984    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
12985     encrypted using the integration runtime credential manager. It is mutually exclusive with
12986     connectionString property. Type: string (or Expression with resultType string).
12987    :type encrypted_credential: any
12988    """
12989
12990    _validation = {
12991        'type': {'required': True},
12992        'server': {'required': True},
12993        'database': {'required': True},
12994    }
12995
12996    _attribute_map = {
12997        'additional_properties': {'key': '', 'type': '{object}'},
12998        'type': {'key': 'type', 'type': 'str'},
12999        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
13000        'description': {'key': 'description', 'type': 'str'},
13001        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
13002        'annotations': {'key': 'annotations', 'type': '[object]'},
13003        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
13004        'server': {'key': 'typeProperties.server', 'type': 'object'},
13005        'database': {'key': 'typeProperties.database', 'type': 'object'},
13006        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
13007        'username': {'key': 'typeProperties.username', 'type': 'object'},
13008        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
13009        'package_collection': {'key': 'typeProperties.packageCollection', 'type': 'object'},
13010        'certificate_common_name': {'key': 'typeProperties.certificateCommonName', 'type': 'object'},
13011        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
13012    }
13013
13014    def __init__(
13015        self,
13016        *,
13017        server: Any,
13018        database: Any,
13019        additional_properties: Optional[Dict[str, Any]] = None,
13020        connect_via: Optional["IntegrationRuntimeReference"] = None,
13021        description: Optional[str] = None,
13022        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
13023        annotations: Optional[List[Any]] = None,
13024        connection_string: Optional[Any] = None,
13025        authentication_type: Optional[Union[str, "Db2AuthenticationType"]] = None,
13026        username: Optional[Any] = None,
13027        password: Optional["SecretBase"] = None,
13028        package_collection: Optional[Any] = None,
13029        certificate_common_name: Optional[Any] = None,
13030        encrypted_credential: Optional[Any] = None,
13031        **kwargs
13032    ):
13033        super(Db2LinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
13034        self.type = 'Db2'  # type: str
13035        self.connection_string = connection_string
13036        self.server = server
13037        self.database = database
13038        self.authentication_type = authentication_type
13039        self.username = username
13040        self.password = password
13041        self.package_collection = package_collection
13042        self.certificate_common_name = certificate_common_name
13043        self.encrypted_credential = encrypted_credential
13044
13045
13046class Db2Source(TabularSource):
13047    """A copy activity source for Db2 databases.
13048
13049    All required parameters must be populated in order to send to Azure.
13050
13051    :param additional_properties: Unmatched properties from the message are deserialized to this
13052     collection.
13053    :type additional_properties: dict[str, any]
13054    :param type: Required. Copy source type.Constant filled by server.
13055    :type type: str
13056    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
13057     integer).
13058    :type source_retry_count: any
13059    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
13060     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13061    :type source_retry_wait: any
13062    :param max_concurrent_connections: The maximum concurrent connection count for the source data
13063     store. Type: integer (or Expression with resultType integer).
13064    :type max_concurrent_connections: any
13065    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
13066     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13067    :type query_timeout: any
13068    :param additional_columns: Specifies the additional columns to be added to source data. Type:
13069     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
13070    :type additional_columns: any
13071    :param query: Database query. Type: string (or Expression with resultType string).
13072    :type query: any
13073    """
13074
13075    _validation = {
13076        'type': {'required': True},
13077    }
13078
13079    _attribute_map = {
13080        'additional_properties': {'key': '', 'type': '{object}'},
13081        'type': {'key': 'type', 'type': 'str'},
13082        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
13083        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
13084        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
13085        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
13086        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
13087        'query': {'key': 'query', 'type': 'object'},
13088    }
13089
13090    def __init__(
13091        self,
13092        *,
13093        additional_properties: Optional[Dict[str, Any]] = None,
13094        source_retry_count: Optional[Any] = None,
13095        source_retry_wait: Optional[Any] = None,
13096        max_concurrent_connections: Optional[Any] = None,
13097        query_timeout: Optional[Any] = None,
13098        additional_columns: Optional[Any] = None,
13099        query: Optional[Any] = None,
13100        **kwargs
13101    ):
13102        super(Db2Source, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
13103        self.type = 'Db2Source'  # type: str
13104        self.query = query
13105
13106
13107class Db2TableDataset(Dataset):
13108    """The Db2 table dataset.
13109
13110    All required parameters must be populated in order to send to Azure.
13111
13112    :param additional_properties: Unmatched properties from the message are deserialized to this
13113     collection.
13114    :type additional_properties: dict[str, any]
13115    :param type: Required. Type of dataset.Constant filled by server.
13116    :type type: str
13117    :param description: Dataset description.
13118    :type description: str
13119    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
13120     with resultType array), itemType: DatasetDataElement.
13121    :type structure: any
13122    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
13123     Expression with resultType array), itemType: DatasetSchemaDataElement.
13124    :type schema: any
13125    :param linked_service_name: Required. Linked service reference.
13126    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
13127    :param parameters: Parameters for dataset.
13128    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
13129    :param annotations: List of tags that can be used for describing the Dataset.
13130    :type annotations: list[any]
13131    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
13132     root level.
13133    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
13134    :param table_name: This property will be retired. Please consider using schema + table
13135     properties instead.
13136    :type table_name: any
13137    :param schema_type_properties_schema: The Db2 schema name. Type: string (or Expression with
13138     resultType string).
13139    :type schema_type_properties_schema: any
13140    :param table: The Db2 table name. Type: string (or Expression with resultType string).
13141    :type table: any
13142    """
13143
13144    _validation = {
13145        'type': {'required': True},
13146        'linked_service_name': {'required': True},
13147    }
13148
13149    _attribute_map = {
13150        'additional_properties': {'key': '', 'type': '{object}'},
13151        'type': {'key': 'type', 'type': 'str'},
13152        'description': {'key': 'description', 'type': 'str'},
13153        'structure': {'key': 'structure', 'type': 'object'},
13154        'schema': {'key': 'schema', 'type': 'object'},
13155        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
13156        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
13157        'annotations': {'key': 'annotations', 'type': '[object]'},
13158        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
13159        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
13160        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
13161        'table': {'key': 'typeProperties.table', 'type': 'object'},
13162    }
13163
13164    def __init__(
13165        self,
13166        *,
13167        linked_service_name: "LinkedServiceReference",
13168        additional_properties: Optional[Dict[str, Any]] = None,
13169        description: Optional[str] = None,
13170        structure: Optional[Any] = None,
13171        schema: Optional[Any] = None,
13172        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
13173        annotations: Optional[List[Any]] = None,
13174        folder: Optional["DatasetFolder"] = None,
13175        table_name: Optional[Any] = None,
13176        schema_type_properties_schema: Optional[Any] = None,
13177        table: Optional[Any] = None,
13178        **kwargs
13179    ):
13180        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)
13181        self.type = 'Db2Table'  # type: str
13182        self.table_name = table_name
13183        self.schema_type_properties_schema = schema_type_properties_schema
13184        self.table = table
13185
13186
13187class DeleteActivity(ExecutionActivity):
13188    """Delete activity.
13189
13190    All required parameters must be populated in order to send to Azure.
13191
13192    :param additional_properties: Unmatched properties from the message are deserialized to this
13193     collection.
13194    :type additional_properties: dict[str, any]
13195    :param name: Required. Activity name.
13196    :type name: str
13197    :param type: Required. Type of activity.Constant filled by server.
13198    :type type: str
13199    :param description: Activity description.
13200    :type description: str
13201    :param depends_on: Activity depends on condition.
13202    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
13203    :param user_properties: Activity user properties.
13204    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
13205    :param linked_service_name: Linked service reference.
13206    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
13207    :param policy: Activity policy.
13208    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
13209    :param recursive: If true, files or sub-folders under current folder path will be deleted
13210     recursively. Default is false. Type: boolean (or Expression with resultType boolean).
13211    :type recursive: any
13212    :param max_concurrent_connections: The max concurrent connections to connect data source at the
13213     same time.
13214    :type max_concurrent_connections: int
13215    :param enable_logging: Whether to record detailed logs of delete-activity execution. Default
13216     value is false. Type: boolean (or Expression with resultType boolean).
13217    :type enable_logging: any
13218    :param log_storage_settings: Log storage settings customer need to provide when enableLogging
13219     is true.
13220    :type log_storage_settings: ~azure.synapse.artifacts.v2020_12_01.models.LogStorageSettings
13221    :param dataset: Required. Delete activity dataset reference.
13222    :type dataset: ~azure.synapse.artifacts.v2020_12_01.models.DatasetReference
13223    :param store_settings: Delete activity store settings.
13224    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreReadSettings
13225    """
13226
13227    _validation = {
13228        'name': {'required': True},
13229        'type': {'required': True},
13230        'max_concurrent_connections': {'minimum': 1},
13231        'dataset': {'required': True},
13232    }
13233
13234    _attribute_map = {
13235        'additional_properties': {'key': '', 'type': '{object}'},
13236        'name': {'key': 'name', 'type': 'str'},
13237        'type': {'key': 'type', 'type': 'str'},
13238        'description': {'key': 'description', 'type': 'str'},
13239        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
13240        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
13241        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
13242        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
13243        'recursive': {'key': 'typeProperties.recursive', 'type': 'object'},
13244        'max_concurrent_connections': {'key': 'typeProperties.maxConcurrentConnections', 'type': 'int'},
13245        'enable_logging': {'key': 'typeProperties.enableLogging', 'type': 'object'},
13246        'log_storage_settings': {'key': 'typeProperties.logStorageSettings', 'type': 'LogStorageSettings'},
13247        'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'},
13248        'store_settings': {'key': 'typeProperties.storeSettings', 'type': 'StoreReadSettings'},
13249    }
13250
13251    def __init__(
13252        self,
13253        *,
13254        name: str,
13255        dataset: "DatasetReference",
13256        additional_properties: Optional[Dict[str, Any]] = None,
13257        description: Optional[str] = None,
13258        depends_on: Optional[List["ActivityDependency"]] = None,
13259        user_properties: Optional[List["UserProperty"]] = None,
13260        linked_service_name: Optional["LinkedServiceReference"] = None,
13261        policy: Optional["ActivityPolicy"] = None,
13262        recursive: Optional[Any] = None,
13263        max_concurrent_connections: Optional[int] = None,
13264        enable_logging: Optional[Any] = None,
13265        log_storage_settings: Optional["LogStorageSettings"] = None,
13266        store_settings: Optional["StoreReadSettings"] = None,
13267        **kwargs
13268    ):
13269        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)
13270        self.type = 'Delete'  # type: str
13271        self.recursive = recursive
13272        self.max_concurrent_connections = max_concurrent_connections
13273        self.enable_logging = enable_logging
13274        self.log_storage_settings = log_storage_settings
13275        self.dataset = dataset
13276        self.store_settings = store_settings
13277
13278
13279class DeleteDataFlowDebugSessionRequest(msrest.serialization.Model):
13280    """Request body structure for deleting data flow debug session.
13281
13282    :param session_id: The ID of data flow debug session.
13283    :type session_id: str
13284    :param data_flow_name: The data flow which contains the debug session.
13285    :type data_flow_name: str
13286    """
13287
13288    _attribute_map = {
13289        'session_id': {'key': 'sessionId', 'type': 'str'},
13290        'data_flow_name': {'key': 'dataFlowName', 'type': 'str'},
13291    }
13292
13293    def __init__(
13294        self,
13295        *,
13296        session_id: Optional[str] = None,
13297        data_flow_name: Optional[str] = None,
13298        **kwargs
13299    ):
13300        super(DeleteDataFlowDebugSessionRequest, self).__init__(**kwargs)
13301        self.session_id = session_id
13302        self.data_flow_name = data_flow_name
13303
13304
13305class DelimitedTextDataset(Dataset):
13306    """Delimited text dataset.
13307
13308    All required parameters must be populated in order to send to Azure.
13309
13310    :param additional_properties: Unmatched properties from the message are deserialized to this
13311     collection.
13312    :type additional_properties: dict[str, any]
13313    :param type: Required. Type of dataset.Constant filled by server.
13314    :type type: str
13315    :param description: Dataset description.
13316    :type description: str
13317    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
13318     with resultType array), itemType: DatasetDataElement.
13319    :type structure: any
13320    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
13321     Expression with resultType array), itemType: DatasetSchemaDataElement.
13322    :type schema: any
13323    :param linked_service_name: Required. Linked service reference.
13324    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
13325    :param parameters: Parameters for dataset.
13326    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
13327    :param annotations: List of tags that can be used for describing the Dataset.
13328    :type annotations: list[any]
13329    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
13330     root level.
13331    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
13332    :param location: The location of the delimited text storage.
13333    :type location: ~azure.synapse.artifacts.v2020_12_01.models.DatasetLocation
13334    :param column_delimiter: The column delimiter. Type: string (or Expression with resultType
13335     string).
13336    :type column_delimiter: any
13337    :param row_delimiter: The row delimiter. Type: string (or Expression with resultType string).
13338    :type row_delimiter: any
13339    :param encoding_name: The code page name of the preferred encoding. If miss, the default value
13340     is UTF-8, unless BOM denotes another Unicode encoding. Refer to the name column of the table in
13341     the following link to set supported values:
13342     https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with
13343     resultType string).
13344    :type encoding_name: any
13345    :param compression_codec:  Possible values include: "bzip2", "gzip", "deflate", "zipDeflate",
13346     "snappy", "lz4", "tar", "tarGZip".
13347    :type compression_codec: str or ~azure.synapse.artifacts.v2020_12_01.models.CompressionCodec
13348    :param compression_level: The data compression method used for DelimitedText.
13349    :type compression_level: any
13350    :param quote_char: The quote character. Type: string (or Expression with resultType string).
13351    :type quote_char: any
13352    :param escape_char: The escape character. Type: string (or Expression with resultType string).
13353    :type escape_char: any
13354    :param first_row_as_header: When used as input, treat the first row of data as headers. When
13355     used as output,write the headers into the output as the first row of data. The default value is
13356     false. Type: boolean (or Expression with resultType boolean).
13357    :type first_row_as_header: any
13358    :param null_value: The null value string. Type: string (or Expression with resultType string).
13359    :type null_value: any
13360    """
13361
13362    _validation = {
13363        'type': {'required': True},
13364        'linked_service_name': {'required': True},
13365    }
13366
13367    _attribute_map = {
13368        'additional_properties': {'key': '', 'type': '{object}'},
13369        'type': {'key': 'type', 'type': 'str'},
13370        'description': {'key': 'description', 'type': 'str'},
13371        'structure': {'key': 'structure', 'type': 'object'},
13372        'schema': {'key': 'schema', 'type': 'object'},
13373        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
13374        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
13375        'annotations': {'key': 'annotations', 'type': '[object]'},
13376        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
13377        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
13378        'column_delimiter': {'key': 'typeProperties.columnDelimiter', 'type': 'object'},
13379        'row_delimiter': {'key': 'typeProperties.rowDelimiter', 'type': 'object'},
13380        'encoding_name': {'key': 'typeProperties.encodingName', 'type': 'object'},
13381        'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'str'},
13382        'compression_level': {'key': 'typeProperties.compressionLevel', 'type': 'object'},
13383        'quote_char': {'key': 'typeProperties.quoteChar', 'type': 'object'},
13384        'escape_char': {'key': 'typeProperties.escapeChar', 'type': 'object'},
13385        'first_row_as_header': {'key': 'typeProperties.firstRowAsHeader', 'type': 'object'},
13386        'null_value': {'key': 'typeProperties.nullValue', 'type': 'object'},
13387    }
13388
13389    def __init__(
13390        self,
13391        *,
13392        linked_service_name: "LinkedServiceReference",
13393        additional_properties: Optional[Dict[str, Any]] = None,
13394        description: Optional[str] = None,
13395        structure: Optional[Any] = None,
13396        schema: Optional[Any] = None,
13397        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
13398        annotations: Optional[List[Any]] = None,
13399        folder: Optional["DatasetFolder"] = None,
13400        location: Optional["DatasetLocation"] = None,
13401        column_delimiter: Optional[Any] = None,
13402        row_delimiter: Optional[Any] = None,
13403        encoding_name: Optional[Any] = None,
13404        compression_codec: Optional[Union[str, "CompressionCodec"]] = None,
13405        compression_level: Optional[Any] = None,
13406        quote_char: Optional[Any] = None,
13407        escape_char: Optional[Any] = None,
13408        first_row_as_header: Optional[Any] = None,
13409        null_value: Optional[Any] = None,
13410        **kwargs
13411    ):
13412        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)
13413        self.type = 'DelimitedText'  # type: str
13414        self.location = location
13415        self.column_delimiter = column_delimiter
13416        self.row_delimiter = row_delimiter
13417        self.encoding_name = encoding_name
13418        self.compression_codec = compression_codec
13419        self.compression_level = compression_level
13420        self.quote_char = quote_char
13421        self.escape_char = escape_char
13422        self.first_row_as_header = first_row_as_header
13423        self.null_value = null_value
13424
13425
13426class DelimitedTextReadSettings(FormatReadSettings):
13427    """Delimited text read settings.
13428
13429    All required parameters must be populated in order to send to Azure.
13430
13431    :param additional_properties: Unmatched properties from the message are deserialized to this
13432     collection.
13433    :type additional_properties: dict[str, any]
13434    :param type: Required. The read setting type.Constant filled by server.
13435    :type type: str
13436    :param skip_line_count: Indicates the number of non-empty rows to skip when reading data from
13437     input files. Type: integer (or Expression with resultType integer).
13438    :type skip_line_count: any
13439    :param compression_properties: Compression settings.
13440    :type compression_properties:
13441     ~azure.synapse.artifacts.v2020_12_01.models.CompressionReadSettings
13442    """
13443
13444    _validation = {
13445        'type': {'required': True},
13446    }
13447
13448    _attribute_map = {
13449        'additional_properties': {'key': '', 'type': '{object}'},
13450        'type': {'key': 'type', 'type': 'str'},
13451        'skip_line_count': {'key': 'skipLineCount', 'type': 'object'},
13452        'compression_properties': {'key': 'compressionProperties', 'type': 'CompressionReadSettings'},
13453    }
13454
13455    def __init__(
13456        self,
13457        *,
13458        additional_properties: Optional[Dict[str, Any]] = None,
13459        skip_line_count: Optional[Any] = None,
13460        compression_properties: Optional["CompressionReadSettings"] = None,
13461        **kwargs
13462    ):
13463        super(DelimitedTextReadSettings, self).__init__(additional_properties=additional_properties, **kwargs)
13464        self.type = 'DelimitedTextReadSettings'  # type: str
13465        self.skip_line_count = skip_line_count
13466        self.compression_properties = compression_properties
13467
13468
13469class DelimitedTextSink(CopySink):
13470    """A copy activity DelimitedText sink.
13471
13472    All required parameters must be populated in order to send to Azure.
13473
13474    :param additional_properties: Unmatched properties from the message are deserialized to this
13475     collection.
13476    :type additional_properties: dict[str, any]
13477    :param type: Required. Copy sink type.Constant filled by server.
13478    :type type: str
13479    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
13480     integer), minimum: 0.
13481    :type write_batch_size: any
13482    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
13483     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13484    :type write_batch_timeout: any
13485    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
13486     integer).
13487    :type sink_retry_count: any
13488    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
13489     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13490    :type sink_retry_wait: any
13491    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
13492     store. Type: integer (or Expression with resultType integer).
13493    :type max_concurrent_connections: any
13494    :param store_settings: DelimitedText store settings.
13495    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreWriteSettings
13496    :param format_settings: DelimitedText format settings.
13497    :type format_settings: ~azure.synapse.artifacts.v2020_12_01.models.DelimitedTextWriteSettings
13498    """
13499
13500    _validation = {
13501        'type': {'required': True},
13502    }
13503
13504    _attribute_map = {
13505        'additional_properties': {'key': '', 'type': '{object}'},
13506        'type': {'key': 'type', 'type': 'str'},
13507        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
13508        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
13509        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
13510        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
13511        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
13512        'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'},
13513        'format_settings': {'key': 'formatSettings', 'type': 'DelimitedTextWriteSettings'},
13514    }
13515
13516    def __init__(
13517        self,
13518        *,
13519        additional_properties: Optional[Dict[str, Any]] = None,
13520        write_batch_size: Optional[Any] = None,
13521        write_batch_timeout: Optional[Any] = None,
13522        sink_retry_count: Optional[Any] = None,
13523        sink_retry_wait: Optional[Any] = None,
13524        max_concurrent_connections: Optional[Any] = None,
13525        store_settings: Optional["StoreWriteSettings"] = None,
13526        format_settings: Optional["DelimitedTextWriteSettings"] = None,
13527        **kwargs
13528    ):
13529        super(DelimitedTextSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
13530        self.type = 'DelimitedTextSink'  # type: str
13531        self.store_settings = store_settings
13532        self.format_settings = format_settings
13533
13534
13535class DelimitedTextSource(CopySource):
13536    """A copy activity DelimitedText source.
13537
13538    All required parameters must be populated in order to send to Azure.
13539
13540    :param additional_properties: Unmatched properties from the message are deserialized to this
13541     collection.
13542    :type additional_properties: dict[str, any]
13543    :param type: Required. Copy source type.Constant filled by server.
13544    :type type: str
13545    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
13546     integer).
13547    :type source_retry_count: any
13548    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
13549     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13550    :type source_retry_wait: any
13551    :param max_concurrent_connections: The maximum concurrent connection count for the source data
13552     store. Type: integer (or Expression with resultType integer).
13553    :type max_concurrent_connections: any
13554    :param store_settings: DelimitedText store settings.
13555    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreReadSettings
13556    :param format_settings: DelimitedText format settings.
13557    :type format_settings: ~azure.synapse.artifacts.v2020_12_01.models.DelimitedTextReadSettings
13558    :param additional_columns: Specifies the additional columns to be added to source data. Type:
13559     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
13560    :type additional_columns: any
13561    """
13562
13563    _validation = {
13564        'type': {'required': True},
13565    }
13566
13567    _attribute_map = {
13568        'additional_properties': {'key': '', 'type': '{object}'},
13569        'type': {'key': 'type', 'type': 'str'},
13570        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
13571        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
13572        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
13573        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
13574        'format_settings': {'key': 'formatSettings', 'type': 'DelimitedTextReadSettings'},
13575        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
13576    }
13577
13578    def __init__(
13579        self,
13580        *,
13581        additional_properties: Optional[Dict[str, Any]] = None,
13582        source_retry_count: Optional[Any] = None,
13583        source_retry_wait: Optional[Any] = None,
13584        max_concurrent_connections: Optional[Any] = None,
13585        store_settings: Optional["StoreReadSettings"] = None,
13586        format_settings: Optional["DelimitedTextReadSettings"] = None,
13587        additional_columns: Optional[Any] = None,
13588        **kwargs
13589    ):
13590        super(DelimitedTextSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
13591        self.type = 'DelimitedTextSource'  # type: str
13592        self.store_settings = store_settings
13593        self.format_settings = format_settings
13594        self.additional_columns = additional_columns
13595
13596
13597class DelimitedTextWriteSettings(FormatWriteSettings):
13598    """Delimited text write settings.
13599
13600    All required parameters must be populated in order to send to Azure.
13601
13602    :param additional_properties: Unmatched properties from the message are deserialized to this
13603     collection.
13604    :type additional_properties: dict[str, any]
13605    :param type: Required. The write setting type.Constant filled by server.
13606    :type type: str
13607    :param quote_all_text: Indicates whether string values should always be enclosed with quotes.
13608     Type: boolean (or Expression with resultType boolean).
13609    :type quote_all_text: any
13610    :param file_extension: Required. The file extension used to create the files. Type: string (or
13611     Expression with resultType string).
13612    :type file_extension: any
13613    :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the
13614     specified count. Type: integer (or Expression with resultType integer).
13615    :type max_rows_per_file: any
13616    :param file_name_prefix: Specifies the file name pattern
13617     :code:`<fileNamePrefix>`_:code:`<fileIndex>`.:code:`<fileExtension>` when copy from non-file
13618     based store without partitionOptions. Type: string (or Expression with resultType string).
13619    :type file_name_prefix: any
13620    """
13621
13622    _validation = {
13623        'type': {'required': True},
13624        'file_extension': {'required': True},
13625    }
13626
13627    _attribute_map = {
13628        'additional_properties': {'key': '', 'type': '{object}'},
13629        'type': {'key': 'type', 'type': 'str'},
13630        'quote_all_text': {'key': 'quoteAllText', 'type': 'object'},
13631        'file_extension': {'key': 'fileExtension', 'type': 'object'},
13632        'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'},
13633        'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'},
13634    }
13635
13636    def __init__(
13637        self,
13638        *,
13639        file_extension: Any,
13640        additional_properties: Optional[Dict[str, Any]] = None,
13641        quote_all_text: Optional[Any] = None,
13642        max_rows_per_file: Optional[Any] = None,
13643        file_name_prefix: Optional[Any] = None,
13644        **kwargs
13645    ):
13646        super(DelimitedTextWriteSettings, self).__init__(additional_properties=additional_properties, **kwargs)
13647        self.type = 'DelimitedTextWriteSettings'  # type: str
13648        self.quote_all_text = quote_all_text
13649        self.file_extension = file_extension
13650        self.max_rows_per_file = max_rows_per_file
13651        self.file_name_prefix = file_name_prefix
13652
13653
13654class DependencyReference(msrest.serialization.Model):
13655    """Referenced dependency.
13656
13657    You probably want to use the sub-classes and not this class directly. Known
13658    sub-classes are: SelfDependencyTumblingWindowTriggerReference, TriggerDependencyReference.
13659
13660    All required parameters must be populated in order to send to Azure.
13661
13662    :param type: Required. The type of dependency reference.Constant filled by server.
13663    :type type: str
13664    """
13665
13666    _validation = {
13667        'type': {'required': True},
13668    }
13669
13670    _attribute_map = {
13671        'type': {'key': 'type', 'type': 'str'},
13672    }
13673
13674    _subtype_map = {
13675        'type': {'SelfDependencyTumblingWindowTriggerReference': 'SelfDependencyTumblingWindowTriggerReference', 'TriggerDependencyReference': 'TriggerDependencyReference'}
13676    }
13677
13678    def __init__(
13679        self,
13680        **kwargs
13681    ):
13682        super(DependencyReference, self).__init__(**kwargs)
13683        self.type = None  # type: Optional[str]
13684
13685
13686class DistcpSettings(msrest.serialization.Model):
13687    """Distcp settings.
13688
13689    All required parameters must be populated in order to send to Azure.
13690
13691    :param resource_manager_endpoint: Required. Specifies the Yarn ResourceManager endpoint. Type:
13692     string (or Expression with resultType string).
13693    :type resource_manager_endpoint: any
13694    :param temp_script_path: Required. Specifies an existing folder path which will be used to
13695     store temp Distcp command script. The script file is generated by ADF and will be removed after
13696     Copy job finished. Type: string (or Expression with resultType string).
13697    :type temp_script_path: any
13698    :param distcp_options: Specifies the Distcp options. Type: string (or Expression with
13699     resultType string).
13700    :type distcp_options: any
13701    """
13702
13703    _validation = {
13704        'resource_manager_endpoint': {'required': True},
13705        'temp_script_path': {'required': True},
13706    }
13707
13708    _attribute_map = {
13709        'resource_manager_endpoint': {'key': 'resourceManagerEndpoint', 'type': 'object'},
13710        'temp_script_path': {'key': 'tempScriptPath', 'type': 'object'},
13711        'distcp_options': {'key': 'distcpOptions', 'type': 'object'},
13712    }
13713
13714    def __init__(
13715        self,
13716        *,
13717        resource_manager_endpoint: Any,
13718        temp_script_path: Any,
13719        distcp_options: Optional[Any] = None,
13720        **kwargs
13721    ):
13722        super(DistcpSettings, self).__init__(**kwargs)
13723        self.resource_manager_endpoint = resource_manager_endpoint
13724        self.temp_script_path = temp_script_path
13725        self.distcp_options = distcp_options
13726
13727
13728class DocumentDbCollectionDataset(Dataset):
13729    """Microsoft Azure Document Database Collection dataset.
13730
13731    All required parameters must be populated in order to send to Azure.
13732
13733    :param additional_properties: Unmatched properties from the message are deserialized to this
13734     collection.
13735    :type additional_properties: dict[str, any]
13736    :param type: Required. Type of dataset.Constant filled by server.
13737    :type type: str
13738    :param description: Dataset description.
13739    :type description: str
13740    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
13741     with resultType array), itemType: DatasetDataElement.
13742    :type structure: any
13743    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
13744     Expression with resultType array), itemType: DatasetSchemaDataElement.
13745    :type schema: any
13746    :param linked_service_name: Required. Linked service reference.
13747    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
13748    :param parameters: Parameters for dataset.
13749    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
13750    :param annotations: List of tags that can be used for describing the Dataset.
13751    :type annotations: list[any]
13752    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
13753     root level.
13754    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
13755    :param collection_name: Required. Document Database collection name. Type: string (or
13756     Expression with resultType string).
13757    :type collection_name: any
13758    """
13759
13760    _validation = {
13761        'type': {'required': True},
13762        'linked_service_name': {'required': True},
13763        'collection_name': {'required': True},
13764    }
13765
13766    _attribute_map = {
13767        'additional_properties': {'key': '', 'type': '{object}'},
13768        'type': {'key': 'type', 'type': 'str'},
13769        'description': {'key': 'description', 'type': 'str'},
13770        'structure': {'key': 'structure', 'type': 'object'},
13771        'schema': {'key': 'schema', 'type': 'object'},
13772        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
13773        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
13774        'annotations': {'key': 'annotations', 'type': '[object]'},
13775        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
13776        'collection_name': {'key': 'typeProperties.collectionName', 'type': 'object'},
13777    }
13778
13779    def __init__(
13780        self,
13781        *,
13782        linked_service_name: "LinkedServiceReference",
13783        collection_name: Any,
13784        additional_properties: Optional[Dict[str, Any]] = None,
13785        description: Optional[str] = None,
13786        structure: Optional[Any] = None,
13787        schema: Optional[Any] = None,
13788        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
13789        annotations: Optional[List[Any]] = None,
13790        folder: Optional["DatasetFolder"] = None,
13791        **kwargs
13792    ):
13793        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)
13794        self.type = 'DocumentDbCollection'  # type: str
13795        self.collection_name = collection_name
13796
13797
13798class DocumentDbCollectionSink(CopySink):
13799    """A copy activity Document Database Collection sink.
13800
13801    All required parameters must be populated in order to send to Azure.
13802
13803    :param additional_properties: Unmatched properties from the message are deserialized to this
13804     collection.
13805    :type additional_properties: dict[str, any]
13806    :param type: Required. Copy sink type.Constant filled by server.
13807    :type type: str
13808    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
13809     integer), minimum: 0.
13810    :type write_batch_size: any
13811    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
13812     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13813    :type write_batch_timeout: any
13814    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
13815     integer).
13816    :type sink_retry_count: any
13817    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
13818     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13819    :type sink_retry_wait: any
13820    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
13821     store. Type: integer (or Expression with resultType integer).
13822    :type max_concurrent_connections: any
13823    :param nesting_separator: Nested properties separator. Default is . (dot). Type: string (or
13824     Expression with resultType string).
13825    :type nesting_separator: any
13826    :param write_behavior: Describes how to write data to Azure Cosmos DB. Type: string (or
13827     Expression with resultType string). Allowed values: insert and upsert.
13828    :type write_behavior: any
13829    """
13830
13831    _validation = {
13832        'type': {'required': True},
13833    }
13834
13835    _attribute_map = {
13836        'additional_properties': {'key': '', 'type': '{object}'},
13837        'type': {'key': 'type', 'type': 'str'},
13838        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
13839        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
13840        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
13841        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
13842        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
13843        'nesting_separator': {'key': 'nestingSeparator', 'type': 'object'},
13844        'write_behavior': {'key': 'writeBehavior', 'type': 'object'},
13845    }
13846
13847    def __init__(
13848        self,
13849        *,
13850        additional_properties: Optional[Dict[str, Any]] = None,
13851        write_batch_size: Optional[Any] = None,
13852        write_batch_timeout: Optional[Any] = None,
13853        sink_retry_count: Optional[Any] = None,
13854        sink_retry_wait: Optional[Any] = None,
13855        max_concurrent_connections: Optional[Any] = None,
13856        nesting_separator: Optional[Any] = None,
13857        write_behavior: Optional[Any] = None,
13858        **kwargs
13859    ):
13860        super(DocumentDbCollectionSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
13861        self.type = 'DocumentDbCollectionSink'  # type: str
13862        self.nesting_separator = nesting_separator
13863        self.write_behavior = write_behavior
13864
13865
13866class DocumentDbCollectionSource(CopySource):
13867    """A copy activity Document Database Collection source.
13868
13869    All required parameters must be populated in order to send to Azure.
13870
13871    :param additional_properties: Unmatched properties from the message are deserialized to this
13872     collection.
13873    :type additional_properties: dict[str, any]
13874    :param type: Required. Copy source type.Constant filled by server.
13875    :type type: str
13876    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
13877     integer).
13878    :type source_retry_count: any
13879    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
13880     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13881    :type source_retry_wait: any
13882    :param max_concurrent_connections: The maximum concurrent connection count for the source data
13883     store. Type: integer (or Expression with resultType integer).
13884    :type max_concurrent_connections: any
13885    :param query: Documents query. Type: string (or Expression with resultType string).
13886    :type query: any
13887    :param nesting_separator: Nested properties separator. Type: string (or Expression with
13888     resultType string).
13889    :type nesting_separator: any
13890    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
13891     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13892    :type query_timeout: any
13893    :param additional_columns: Specifies the additional columns to be added to source data. Type:
13894     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
13895    :type additional_columns: any
13896    """
13897
13898    _validation = {
13899        'type': {'required': True},
13900    }
13901
13902    _attribute_map = {
13903        'additional_properties': {'key': '', 'type': '{object}'},
13904        'type': {'key': 'type', 'type': 'str'},
13905        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
13906        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
13907        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
13908        'query': {'key': 'query', 'type': 'object'},
13909        'nesting_separator': {'key': 'nestingSeparator', 'type': 'object'},
13910        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
13911        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
13912    }
13913
13914    def __init__(
13915        self,
13916        *,
13917        additional_properties: Optional[Dict[str, Any]] = None,
13918        source_retry_count: Optional[Any] = None,
13919        source_retry_wait: Optional[Any] = None,
13920        max_concurrent_connections: Optional[Any] = None,
13921        query: Optional[Any] = None,
13922        nesting_separator: Optional[Any] = None,
13923        query_timeout: Optional[Any] = None,
13924        additional_columns: Optional[Any] = None,
13925        **kwargs
13926    ):
13927        super(DocumentDbCollectionSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
13928        self.type = 'DocumentDbCollectionSource'  # type: str
13929        self.query = query
13930        self.nesting_separator = nesting_separator
13931        self.query_timeout = query_timeout
13932        self.additional_columns = additional_columns
13933
13934
13935class DrillLinkedService(LinkedService):
13936    """Drill server linked service.
13937
13938    All required parameters must be populated in order to send to Azure.
13939
13940    :param additional_properties: Unmatched properties from the message are deserialized to this
13941     collection.
13942    :type additional_properties: dict[str, any]
13943    :param type: Required. Type of linked service.Constant filled by server.
13944    :type type: str
13945    :param connect_via: The integration runtime reference.
13946    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
13947    :param description: Linked service description.
13948    :type description: str
13949    :param parameters: Parameters for linked service.
13950    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
13951    :param annotations: List of tags that can be used for describing the linked service.
13952    :type annotations: list[any]
13953    :param connection_string: An ODBC connection string. Type: string, SecureString or
13954     AzureKeyVaultSecretReference.
13955    :type connection_string: any
13956    :param pwd: The Azure key vault secret reference of password in connection string.
13957    :type pwd: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
13958    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
13959     encrypted using the integration runtime credential manager. Type: string (or Expression with
13960     resultType string).
13961    :type encrypted_credential: any
13962    """
13963
13964    _validation = {
13965        'type': {'required': True},
13966    }
13967
13968    _attribute_map = {
13969        'additional_properties': {'key': '', 'type': '{object}'},
13970        'type': {'key': 'type', 'type': 'str'},
13971        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
13972        'description': {'key': 'description', 'type': 'str'},
13973        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
13974        'annotations': {'key': 'annotations', 'type': '[object]'},
13975        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
13976        'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'},
13977        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
13978    }
13979
13980    def __init__(
13981        self,
13982        *,
13983        additional_properties: Optional[Dict[str, Any]] = None,
13984        connect_via: Optional["IntegrationRuntimeReference"] = None,
13985        description: Optional[str] = None,
13986        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
13987        annotations: Optional[List[Any]] = None,
13988        connection_string: Optional[Any] = None,
13989        pwd: Optional["AzureKeyVaultSecretReference"] = None,
13990        encrypted_credential: Optional[Any] = None,
13991        **kwargs
13992    ):
13993        super(DrillLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
13994        self.type = 'Drill'  # type: str
13995        self.connection_string = connection_string
13996        self.pwd = pwd
13997        self.encrypted_credential = encrypted_credential
13998
13999
14000class DrillSource(TabularSource):
14001    """A copy activity Drill server source.
14002
14003    All required parameters must be populated in order to send to Azure.
14004
14005    :param additional_properties: Unmatched properties from the message are deserialized to this
14006     collection.
14007    :type additional_properties: dict[str, any]
14008    :param type: Required. Copy source type.Constant filled by server.
14009    :type type: str
14010    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
14011     integer).
14012    :type source_retry_count: any
14013    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
14014     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14015    :type source_retry_wait: any
14016    :param max_concurrent_connections: The maximum concurrent connection count for the source data
14017     store. Type: integer (or Expression with resultType integer).
14018    :type max_concurrent_connections: any
14019    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
14020     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14021    :type query_timeout: any
14022    :param additional_columns: Specifies the additional columns to be added to source data. Type:
14023     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
14024    :type additional_columns: any
14025    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
14026     string).
14027    :type query: any
14028    """
14029
14030    _validation = {
14031        'type': {'required': True},
14032    }
14033
14034    _attribute_map = {
14035        'additional_properties': {'key': '', 'type': '{object}'},
14036        'type': {'key': 'type', 'type': 'str'},
14037        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
14038        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
14039        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
14040        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
14041        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
14042        'query': {'key': 'query', 'type': 'object'},
14043    }
14044
14045    def __init__(
14046        self,
14047        *,
14048        additional_properties: Optional[Dict[str, Any]] = None,
14049        source_retry_count: Optional[Any] = None,
14050        source_retry_wait: Optional[Any] = None,
14051        max_concurrent_connections: Optional[Any] = None,
14052        query_timeout: Optional[Any] = None,
14053        additional_columns: Optional[Any] = None,
14054        query: Optional[Any] = None,
14055        **kwargs
14056    ):
14057        super(DrillSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
14058        self.type = 'DrillSource'  # type: str
14059        self.query = query
14060
14061
14062class DrillTableDataset(Dataset):
14063    """Drill server dataset.
14064
14065    All required parameters must be populated in order to send to Azure.
14066
14067    :param additional_properties: Unmatched properties from the message are deserialized to this
14068     collection.
14069    :type additional_properties: dict[str, any]
14070    :param type: Required. Type of dataset.Constant filled by server.
14071    :type type: str
14072    :param description: Dataset description.
14073    :type description: str
14074    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
14075     with resultType array), itemType: DatasetDataElement.
14076    :type structure: any
14077    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
14078     Expression with resultType array), itemType: DatasetSchemaDataElement.
14079    :type schema: any
14080    :param linked_service_name: Required. Linked service reference.
14081    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
14082    :param parameters: Parameters for dataset.
14083    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
14084    :param annotations: List of tags that can be used for describing the Dataset.
14085    :type annotations: list[any]
14086    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
14087     root level.
14088    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
14089    :param table_name: This property will be retired. Please consider using schema + table
14090     properties instead.
14091    :type table_name: any
14092    :param table: The table name of the Drill. Type: string (or Expression with resultType string).
14093    :type table: any
14094    :param schema_type_properties_schema: The schema name of the Drill. Type: string (or Expression
14095     with resultType string).
14096    :type schema_type_properties_schema: any
14097    """
14098
14099    _validation = {
14100        'type': {'required': True},
14101        'linked_service_name': {'required': True},
14102    }
14103
14104    _attribute_map = {
14105        'additional_properties': {'key': '', 'type': '{object}'},
14106        'type': {'key': 'type', 'type': 'str'},
14107        'description': {'key': 'description', 'type': 'str'},
14108        'structure': {'key': 'structure', 'type': 'object'},
14109        'schema': {'key': 'schema', 'type': 'object'},
14110        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
14111        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
14112        'annotations': {'key': 'annotations', 'type': '[object]'},
14113        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
14114        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
14115        'table': {'key': 'typeProperties.table', 'type': 'object'},
14116        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
14117    }
14118
14119    def __init__(
14120        self,
14121        *,
14122        linked_service_name: "LinkedServiceReference",
14123        additional_properties: Optional[Dict[str, Any]] = None,
14124        description: Optional[str] = None,
14125        structure: Optional[Any] = None,
14126        schema: Optional[Any] = None,
14127        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
14128        annotations: Optional[List[Any]] = None,
14129        folder: Optional["DatasetFolder"] = None,
14130        table_name: Optional[Any] = None,
14131        table: Optional[Any] = None,
14132        schema_type_properties_schema: Optional[Any] = None,
14133        **kwargs
14134    ):
14135        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)
14136        self.type = 'DrillTable'  # type: str
14137        self.table_name = table_name
14138        self.table = table
14139        self.schema_type_properties_schema = schema_type_properties_schema
14140
14141
14142class DWCopyCommandDefaultValue(msrest.serialization.Model):
14143    """Default value.
14144
14145    :param column_name: Column name. Type: object (or Expression with resultType string).
14146    :type column_name: any
14147    :param default_value: The default value of the column. Type: object (or Expression with
14148     resultType string).
14149    :type default_value: any
14150    """
14151
14152    _attribute_map = {
14153        'column_name': {'key': 'columnName', 'type': 'object'},
14154        'default_value': {'key': 'defaultValue', 'type': 'object'},
14155    }
14156
14157    def __init__(
14158        self,
14159        *,
14160        column_name: Optional[Any] = None,
14161        default_value: Optional[Any] = None,
14162        **kwargs
14163    ):
14164        super(DWCopyCommandDefaultValue, self).__init__(**kwargs)
14165        self.column_name = column_name
14166        self.default_value = default_value
14167
14168
14169class DWCopyCommandSettings(msrest.serialization.Model):
14170    """DW Copy Command settings.
14171
14172    :param default_values: Specifies the default values for each target column in SQL DW. The
14173     default values in the property overwrite the DEFAULT constraint set in the DB, and identity
14174     column cannot have a default value. Type: array of objects (or Expression with resultType array
14175     of objects).
14176    :type default_values:
14177     list[~azure.synapse.artifacts.v2020_12_01.models.DWCopyCommandDefaultValue]
14178    :param additional_options: Additional options directly passed to SQL DW in Copy Command. Type:
14179     key value pairs (value should be string type) (or Expression with resultType object). Example:
14180     "additionalOptions": { "MAXERRORS": "1000", "DATEFORMAT": "'ymd'" }.
14181    :type additional_options: dict[str, str]
14182    """
14183
14184    _attribute_map = {
14185        'default_values': {'key': 'defaultValues', 'type': '[DWCopyCommandDefaultValue]'},
14186        'additional_options': {'key': 'additionalOptions', 'type': '{str}'},
14187    }
14188
14189    def __init__(
14190        self,
14191        *,
14192        default_values: Optional[List["DWCopyCommandDefaultValue"]] = None,
14193        additional_options: Optional[Dict[str, str]] = None,
14194        **kwargs
14195    ):
14196        super(DWCopyCommandSettings, self).__init__(**kwargs)
14197        self.default_values = default_values
14198        self.additional_options = additional_options
14199
14200
14201class DynamicExecutorAllocation(msrest.serialization.Model):
14202    """Dynamic Executor Allocation Properties.
14203
14204    :param enabled: Indicates whether Dynamic Executor Allocation is enabled or not.
14205    :type enabled: bool
14206    """
14207
14208    _attribute_map = {
14209        'enabled': {'key': 'enabled', 'type': 'bool'},
14210    }
14211
14212    def __init__(
14213        self,
14214        *,
14215        enabled: Optional[bool] = None,
14216        **kwargs
14217    ):
14218        super(DynamicExecutorAllocation, self).__init__(**kwargs)
14219        self.enabled = enabled
14220
14221
14222class DynamicsAXLinkedService(LinkedService):
14223    """Dynamics AX linked service.
14224
14225    All required parameters must be populated in order to send to Azure.
14226
14227    :param additional_properties: Unmatched properties from the message are deserialized to this
14228     collection.
14229    :type additional_properties: dict[str, any]
14230    :param type: Required. Type of linked service.Constant filled by server.
14231    :type type: str
14232    :param connect_via: The integration runtime reference.
14233    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
14234    :param description: Linked service description.
14235    :type description: str
14236    :param parameters: Parameters for linked service.
14237    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
14238    :param annotations: List of tags that can be used for describing the linked service.
14239    :type annotations: list[any]
14240    :param url: Required. The Dynamics AX (or Dynamics 365 Finance and Operations) instance OData
14241     endpoint.
14242    :type url: any
14243    :param service_principal_id: Required. Specify the application's client ID. Type: string (or
14244     Expression with resultType string).
14245    :type service_principal_id: any
14246    :param service_principal_key: Required. Specify the application's key. Mark this field as a
14247     SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key
14248     Vault. Type: string (or Expression with resultType string).
14249    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
14250    :param tenant: Required. Specify the tenant information (domain name or tenant ID) under which
14251     your application resides. Retrieve it by hovering the mouse in the top-right corner of the
14252     Azure portal. Type: string (or Expression with resultType string).
14253    :type tenant: any
14254    :param aad_resource_id: Required. Specify the resource you are requesting authorization. Type:
14255     string (or Expression with resultType string).
14256    :type aad_resource_id: any
14257    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
14258     encrypted using the integration runtime credential manager. Type: string (or Expression with
14259     resultType string).
14260    :type encrypted_credential: any
14261    """
14262
14263    _validation = {
14264        'type': {'required': True},
14265        'url': {'required': True},
14266        'service_principal_id': {'required': True},
14267        'service_principal_key': {'required': True},
14268        'tenant': {'required': True},
14269        'aad_resource_id': {'required': True},
14270    }
14271
14272    _attribute_map = {
14273        'additional_properties': {'key': '', 'type': '{object}'},
14274        'type': {'key': 'type', 'type': 'str'},
14275        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
14276        'description': {'key': 'description', 'type': 'str'},
14277        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
14278        'annotations': {'key': 'annotations', 'type': '[object]'},
14279        'url': {'key': 'typeProperties.url', 'type': 'object'},
14280        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
14281        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
14282        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
14283        'aad_resource_id': {'key': 'typeProperties.aadResourceId', 'type': 'object'},
14284        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
14285    }
14286
14287    def __init__(
14288        self,
14289        *,
14290        url: Any,
14291        service_principal_id: Any,
14292        service_principal_key: "SecretBase",
14293        tenant: Any,
14294        aad_resource_id: Any,
14295        additional_properties: Optional[Dict[str, Any]] = None,
14296        connect_via: Optional["IntegrationRuntimeReference"] = None,
14297        description: Optional[str] = None,
14298        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
14299        annotations: Optional[List[Any]] = None,
14300        encrypted_credential: Optional[Any] = None,
14301        **kwargs
14302    ):
14303        super(DynamicsAXLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
14304        self.type = 'DynamicsAX'  # type: str
14305        self.url = url
14306        self.service_principal_id = service_principal_id
14307        self.service_principal_key = service_principal_key
14308        self.tenant = tenant
14309        self.aad_resource_id = aad_resource_id
14310        self.encrypted_credential = encrypted_credential
14311
14312
14313class DynamicsAXResourceDataset(Dataset):
14314    """The path of the Dynamics AX OData entity.
14315
14316    All required parameters must be populated in order to send to Azure.
14317
14318    :param additional_properties: Unmatched properties from the message are deserialized to this
14319     collection.
14320    :type additional_properties: dict[str, any]
14321    :param type: Required. Type of dataset.Constant filled by server.
14322    :type type: str
14323    :param description: Dataset description.
14324    :type description: str
14325    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
14326     with resultType array), itemType: DatasetDataElement.
14327    :type structure: any
14328    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
14329     Expression with resultType array), itemType: DatasetSchemaDataElement.
14330    :type schema: any
14331    :param linked_service_name: Required. Linked service reference.
14332    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
14333    :param parameters: Parameters for dataset.
14334    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
14335    :param annotations: List of tags that can be used for describing the Dataset.
14336    :type annotations: list[any]
14337    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
14338     root level.
14339    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
14340    :param path: Required. The path of the Dynamics AX OData entity. Type: string (or Expression
14341     with resultType string).
14342    :type path: any
14343    """
14344
14345    _validation = {
14346        'type': {'required': True},
14347        'linked_service_name': {'required': True},
14348        'path': {'required': True},
14349    }
14350
14351    _attribute_map = {
14352        'additional_properties': {'key': '', 'type': '{object}'},
14353        'type': {'key': 'type', 'type': 'str'},
14354        'description': {'key': 'description', 'type': 'str'},
14355        'structure': {'key': 'structure', 'type': 'object'},
14356        'schema': {'key': 'schema', 'type': 'object'},
14357        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
14358        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
14359        'annotations': {'key': 'annotations', 'type': '[object]'},
14360        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
14361        'path': {'key': 'typeProperties.path', 'type': 'object'},
14362    }
14363
14364    def __init__(
14365        self,
14366        *,
14367        linked_service_name: "LinkedServiceReference",
14368        path: Any,
14369        additional_properties: Optional[Dict[str, Any]] = None,
14370        description: Optional[str] = None,
14371        structure: Optional[Any] = None,
14372        schema: Optional[Any] = None,
14373        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
14374        annotations: Optional[List[Any]] = None,
14375        folder: Optional["DatasetFolder"] = None,
14376        **kwargs
14377    ):
14378        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)
14379        self.type = 'DynamicsAXResource'  # type: str
14380        self.path = path
14381
14382
14383class DynamicsAXSource(TabularSource):
14384    """A copy activity Dynamics AX source.
14385
14386    All required parameters must be populated in order to send to Azure.
14387
14388    :param additional_properties: Unmatched properties from the message are deserialized to this
14389     collection.
14390    :type additional_properties: dict[str, any]
14391    :param type: Required. Copy source type.Constant filled by server.
14392    :type type: str
14393    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
14394     integer).
14395    :type source_retry_count: any
14396    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
14397     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14398    :type source_retry_wait: any
14399    :param max_concurrent_connections: The maximum concurrent connection count for the source data
14400     store. Type: integer (or Expression with resultType integer).
14401    :type max_concurrent_connections: any
14402    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
14403     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14404    :type query_timeout: any
14405    :param additional_columns: Specifies the additional columns to be added to source data. Type:
14406     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
14407    :type additional_columns: any
14408    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
14409     string).
14410    :type query: any
14411    :param http_request_timeout: The timeout (TimeSpan) to get an HTTP response. It is the timeout
14412     to get a response, not the timeout to read response data. Default value: 00:05:00. Type: string
14413     (or Expression with resultType string), pattern:
14414     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14415    :type http_request_timeout: any
14416    """
14417
14418    _validation = {
14419        'type': {'required': True},
14420    }
14421
14422    _attribute_map = {
14423        'additional_properties': {'key': '', 'type': '{object}'},
14424        'type': {'key': 'type', 'type': 'str'},
14425        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
14426        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
14427        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
14428        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
14429        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
14430        'query': {'key': 'query', 'type': 'object'},
14431        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
14432    }
14433
14434    def __init__(
14435        self,
14436        *,
14437        additional_properties: Optional[Dict[str, Any]] = None,
14438        source_retry_count: Optional[Any] = None,
14439        source_retry_wait: Optional[Any] = None,
14440        max_concurrent_connections: Optional[Any] = None,
14441        query_timeout: Optional[Any] = None,
14442        additional_columns: Optional[Any] = None,
14443        query: Optional[Any] = None,
14444        http_request_timeout: Optional[Any] = None,
14445        **kwargs
14446    ):
14447        super(DynamicsAXSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
14448        self.type = 'DynamicsAXSource'  # type: str
14449        self.query = query
14450        self.http_request_timeout = http_request_timeout
14451
14452
14453class DynamicsCrmEntityDataset(Dataset):
14454    """The Dynamics CRM entity dataset.
14455
14456    All required parameters must be populated in order to send to Azure.
14457
14458    :param additional_properties: Unmatched properties from the message are deserialized to this
14459     collection.
14460    :type additional_properties: dict[str, any]
14461    :param type: Required. Type of dataset.Constant filled by server.
14462    :type type: str
14463    :param description: Dataset description.
14464    :type description: str
14465    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
14466     with resultType array), itemType: DatasetDataElement.
14467    :type structure: any
14468    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
14469     Expression with resultType array), itemType: DatasetSchemaDataElement.
14470    :type schema: any
14471    :param linked_service_name: Required. Linked service reference.
14472    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
14473    :param parameters: Parameters for dataset.
14474    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
14475    :param annotations: List of tags that can be used for describing the Dataset.
14476    :type annotations: list[any]
14477    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
14478     root level.
14479    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
14480    :param entity_name: The logical name of the entity. Type: string (or Expression with resultType
14481     string).
14482    :type entity_name: any
14483    """
14484
14485    _validation = {
14486        'type': {'required': True},
14487        'linked_service_name': {'required': True},
14488    }
14489
14490    _attribute_map = {
14491        'additional_properties': {'key': '', 'type': '{object}'},
14492        'type': {'key': 'type', 'type': 'str'},
14493        'description': {'key': 'description', 'type': 'str'},
14494        'structure': {'key': 'structure', 'type': 'object'},
14495        'schema': {'key': 'schema', 'type': 'object'},
14496        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
14497        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
14498        'annotations': {'key': 'annotations', 'type': '[object]'},
14499        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
14500        'entity_name': {'key': 'typeProperties.entityName', 'type': 'object'},
14501    }
14502
14503    def __init__(
14504        self,
14505        *,
14506        linked_service_name: "LinkedServiceReference",
14507        additional_properties: Optional[Dict[str, Any]] = None,
14508        description: Optional[str] = None,
14509        structure: Optional[Any] = None,
14510        schema: Optional[Any] = None,
14511        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
14512        annotations: Optional[List[Any]] = None,
14513        folder: Optional["DatasetFolder"] = None,
14514        entity_name: Optional[Any] = None,
14515        **kwargs
14516    ):
14517        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)
14518        self.type = 'DynamicsCrmEntity'  # type: str
14519        self.entity_name = entity_name
14520
14521
14522class DynamicsCrmLinkedService(LinkedService):
14523    """Dynamics CRM linked service.
14524
14525    All required parameters must be populated in order to send to Azure.
14526
14527    :param additional_properties: Unmatched properties from the message are deserialized to this
14528     collection.
14529    :type additional_properties: dict[str, any]
14530    :param type: Required. Type of linked service.Constant filled by server.
14531    :type type: str
14532    :param connect_via: The integration runtime reference.
14533    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
14534    :param description: Linked service description.
14535    :type description: str
14536    :param parameters: Parameters for linked service.
14537    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
14538    :param annotations: List of tags that can be used for describing the linked service.
14539    :type annotations: list[any]
14540    :param deployment_type: Required. The deployment type of the Dynamics CRM instance. 'Online'
14541     for Dynamics CRM Online and 'OnPremisesWithIfd' for Dynamics CRM on-premises with Ifd. Type:
14542     string (or Expression with resultType string). Possible values include: "Online",
14543     "OnPremisesWithIfd".
14544    :type deployment_type: str or
14545     ~azure.synapse.artifacts.v2020_12_01.models.DynamicsDeploymentType
14546    :param host_name: The host name of the on-premises Dynamics CRM server. The property is
14547     required for on-prem and not allowed for online. Type: string (or Expression with resultType
14548     string).
14549    :type host_name: any
14550    :param port: The port of on-premises Dynamics CRM server. The property is required for on-prem
14551     and not allowed for online. Default is 443. Type: integer (or Expression with resultType
14552     integer), minimum: 0.
14553    :type port: any
14554    :param service_uri: The URL to the Microsoft Dynamics CRM server. The property is required for
14555     on-line and not allowed for on-prem. Type: string (or Expression with resultType string).
14556    :type service_uri: any
14557    :param organization_name: The organization name of the Dynamics CRM instance. The property is
14558     required for on-prem and required for online when there are more than one Dynamics CRM
14559     instances associated with the user. Type: string (or Expression with resultType string).
14560    :type organization_name: any
14561    :param authentication_type: Required. The authentication type to connect to Dynamics CRM
14562     server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario,
14563     'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or
14564     Expression with resultType string). Possible values include: "Office365", "Ifd",
14565     "AADServicePrincipal".
14566    :type authentication_type: str or
14567     ~azure.synapse.artifacts.v2020_12_01.models.DynamicsAuthenticationType
14568    :param username: User name to access the Dynamics CRM instance. Type: string (or Expression
14569     with resultType string).
14570    :type username: any
14571    :param password: Password to access the Dynamics CRM instance.
14572    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
14573    :param service_principal_id: The client ID of the application in Azure Active Directory used
14574     for Server-To-Server authentication. Type: string (or Expression with resultType string).
14575    :type service_principal_id: any
14576    :param service_principal_credential_type: A string from ServicePrincipalCredentialEnum or an
14577     expression.
14578    :type service_principal_credential_type: any
14579    :param service_principal_credential: The credential of the service principal object in Azure
14580     Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey',
14581     servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If
14582     servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only
14583     be AzureKeyVaultSecretReference.
14584    :type service_principal_credential: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
14585    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
14586     encrypted using the integration runtime credential manager. Type: string (or Expression with
14587     resultType string).
14588    :type encrypted_credential: any
14589    """
14590
14591    _validation = {
14592        'type': {'required': True},
14593        'deployment_type': {'required': True},
14594        'authentication_type': {'required': True},
14595    }
14596
14597    _attribute_map = {
14598        'additional_properties': {'key': '', 'type': '{object}'},
14599        'type': {'key': 'type', 'type': 'str'},
14600        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
14601        'description': {'key': 'description', 'type': 'str'},
14602        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
14603        'annotations': {'key': 'annotations', 'type': '[object]'},
14604        'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'},
14605        'host_name': {'key': 'typeProperties.hostName', 'type': 'object'},
14606        'port': {'key': 'typeProperties.port', 'type': 'object'},
14607        'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'},
14608        'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'},
14609        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
14610        'username': {'key': 'typeProperties.username', 'type': 'object'},
14611        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
14612        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
14613        'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'object'},
14614        'service_principal_credential': {'key': 'typeProperties.servicePrincipalCredential', 'type': 'SecretBase'},
14615        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
14616    }
14617
14618    def __init__(
14619        self,
14620        *,
14621        deployment_type: Union[str, "DynamicsDeploymentType"],
14622        authentication_type: Union[str, "DynamicsAuthenticationType"],
14623        additional_properties: Optional[Dict[str, Any]] = None,
14624        connect_via: Optional["IntegrationRuntimeReference"] = None,
14625        description: Optional[str] = None,
14626        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
14627        annotations: Optional[List[Any]] = None,
14628        host_name: Optional[Any] = None,
14629        port: Optional[Any] = None,
14630        service_uri: Optional[Any] = None,
14631        organization_name: Optional[Any] = None,
14632        username: Optional[Any] = None,
14633        password: Optional["SecretBase"] = None,
14634        service_principal_id: Optional[Any] = None,
14635        service_principal_credential_type: Optional[Any] = None,
14636        service_principal_credential: Optional["SecretBase"] = None,
14637        encrypted_credential: Optional[Any] = None,
14638        **kwargs
14639    ):
14640        super(DynamicsCrmLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
14641        self.type = 'DynamicsCrm'  # type: str
14642        self.deployment_type = deployment_type
14643        self.host_name = host_name
14644        self.port = port
14645        self.service_uri = service_uri
14646        self.organization_name = organization_name
14647        self.authentication_type = authentication_type
14648        self.username = username
14649        self.password = password
14650        self.service_principal_id = service_principal_id
14651        self.service_principal_credential_type = service_principal_credential_type
14652        self.service_principal_credential = service_principal_credential
14653        self.encrypted_credential = encrypted_credential
14654
14655
14656class DynamicsCrmSink(CopySink):
14657    """A copy activity Dynamics CRM sink.
14658
14659    All required parameters must be populated in order to send to Azure.
14660
14661    :param additional_properties: Unmatched properties from the message are deserialized to this
14662     collection.
14663    :type additional_properties: dict[str, any]
14664    :param type: Required. Copy sink type.Constant filled by server.
14665    :type type: str
14666    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
14667     integer), minimum: 0.
14668    :type write_batch_size: any
14669    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
14670     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14671    :type write_batch_timeout: any
14672    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
14673     integer).
14674    :type sink_retry_count: any
14675    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
14676     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14677    :type sink_retry_wait: any
14678    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
14679     store. Type: integer (or Expression with resultType integer).
14680    :type max_concurrent_connections: any
14681    :param write_behavior: Required. The write behavior for the operation. Possible values include:
14682     "Upsert".
14683    :type write_behavior: str or
14684     ~azure.synapse.artifacts.v2020_12_01.models.DynamicsSinkWriteBehavior
14685    :param ignore_null_values: The flag indicating whether to ignore null values from input dataset
14686     (except key fields) during write operation. Default is false. Type: boolean (or Expression with
14687     resultType boolean).
14688    :type ignore_null_values: any
14689    :param alternate_key_name: The logical name of the alternate key which will be used when
14690     upserting records. Type: string (or Expression with resultType string).
14691    :type alternate_key_name: any
14692    """
14693
14694    _validation = {
14695        'type': {'required': True},
14696        'write_behavior': {'required': True},
14697    }
14698
14699    _attribute_map = {
14700        'additional_properties': {'key': '', 'type': '{object}'},
14701        'type': {'key': 'type', 'type': 'str'},
14702        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
14703        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
14704        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
14705        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
14706        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
14707        'write_behavior': {'key': 'writeBehavior', 'type': 'str'},
14708        'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'},
14709        'alternate_key_name': {'key': 'alternateKeyName', 'type': 'object'},
14710    }
14711
14712    def __init__(
14713        self,
14714        *,
14715        write_behavior: Union[str, "DynamicsSinkWriteBehavior"],
14716        additional_properties: Optional[Dict[str, Any]] = None,
14717        write_batch_size: Optional[Any] = None,
14718        write_batch_timeout: Optional[Any] = None,
14719        sink_retry_count: Optional[Any] = None,
14720        sink_retry_wait: Optional[Any] = None,
14721        max_concurrent_connections: Optional[Any] = None,
14722        ignore_null_values: Optional[Any] = None,
14723        alternate_key_name: Optional[Any] = None,
14724        **kwargs
14725    ):
14726        super(DynamicsCrmSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
14727        self.type = 'DynamicsCrmSink'  # type: str
14728        self.write_behavior = write_behavior
14729        self.ignore_null_values = ignore_null_values
14730        self.alternate_key_name = alternate_key_name
14731
14732
14733class DynamicsCrmSource(CopySource):
14734    """A copy activity Dynamics CRM source.
14735
14736    All required parameters must be populated in order to send to Azure.
14737
14738    :param additional_properties: Unmatched properties from the message are deserialized to this
14739     collection.
14740    :type additional_properties: dict[str, any]
14741    :param type: Required. Copy source type.Constant filled by server.
14742    :type type: str
14743    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
14744     integer).
14745    :type source_retry_count: any
14746    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
14747     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14748    :type source_retry_wait: any
14749    :param max_concurrent_connections: The maximum concurrent connection count for the source data
14750     store. Type: integer (or Expression with resultType integer).
14751    :type max_concurrent_connections: any
14752    :param query: FetchXML is a proprietary query language that is used in Microsoft Dynamics CRM
14753     (online & on-premises). Type: string (or Expression with resultType string).
14754    :type query: any
14755    :param additional_columns: Specifies the additional columns to be added to source data. Type:
14756     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
14757    :type additional_columns: any
14758    """
14759
14760    _validation = {
14761        'type': {'required': True},
14762    }
14763
14764    _attribute_map = {
14765        'additional_properties': {'key': '', 'type': '{object}'},
14766        'type': {'key': 'type', 'type': 'str'},
14767        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
14768        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
14769        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
14770        'query': {'key': 'query', 'type': 'object'},
14771        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
14772    }
14773
14774    def __init__(
14775        self,
14776        *,
14777        additional_properties: Optional[Dict[str, Any]] = None,
14778        source_retry_count: Optional[Any] = None,
14779        source_retry_wait: Optional[Any] = None,
14780        max_concurrent_connections: Optional[Any] = None,
14781        query: Optional[Any] = None,
14782        additional_columns: Optional[Any] = None,
14783        **kwargs
14784    ):
14785        super(DynamicsCrmSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
14786        self.type = 'DynamicsCrmSource'  # type: str
14787        self.query = query
14788        self.additional_columns = additional_columns
14789
14790
14791class DynamicsEntityDataset(Dataset):
14792    """The Dynamics entity dataset.
14793
14794    All required parameters must be populated in order to send to Azure.
14795
14796    :param additional_properties: Unmatched properties from the message are deserialized to this
14797     collection.
14798    :type additional_properties: dict[str, any]
14799    :param type: Required. Type of dataset.Constant filled by server.
14800    :type type: str
14801    :param description: Dataset description.
14802    :type description: str
14803    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
14804     with resultType array), itemType: DatasetDataElement.
14805    :type structure: any
14806    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
14807     Expression with resultType array), itemType: DatasetSchemaDataElement.
14808    :type schema: any
14809    :param linked_service_name: Required. Linked service reference.
14810    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
14811    :param parameters: Parameters for dataset.
14812    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
14813    :param annotations: List of tags that can be used for describing the Dataset.
14814    :type annotations: list[any]
14815    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
14816     root level.
14817    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
14818    :param entity_name: The logical name of the entity. Type: string (or Expression with resultType
14819     string).
14820    :type entity_name: any
14821    """
14822
14823    _validation = {
14824        'type': {'required': True},
14825        'linked_service_name': {'required': True},
14826    }
14827
14828    _attribute_map = {
14829        'additional_properties': {'key': '', 'type': '{object}'},
14830        'type': {'key': 'type', 'type': 'str'},
14831        'description': {'key': 'description', 'type': 'str'},
14832        'structure': {'key': 'structure', 'type': 'object'},
14833        'schema': {'key': 'schema', 'type': 'object'},
14834        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
14835        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
14836        'annotations': {'key': 'annotations', 'type': '[object]'},
14837        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
14838        'entity_name': {'key': 'typeProperties.entityName', 'type': 'object'},
14839    }
14840
14841    def __init__(
14842        self,
14843        *,
14844        linked_service_name: "LinkedServiceReference",
14845        additional_properties: Optional[Dict[str, Any]] = None,
14846        description: Optional[str] = None,
14847        structure: Optional[Any] = None,
14848        schema: Optional[Any] = None,
14849        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
14850        annotations: Optional[List[Any]] = None,
14851        folder: Optional["DatasetFolder"] = None,
14852        entity_name: Optional[Any] = None,
14853        **kwargs
14854    ):
14855        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)
14856        self.type = 'DynamicsEntity'  # type: str
14857        self.entity_name = entity_name
14858
14859
14860class DynamicsLinkedService(LinkedService):
14861    """Dynamics linked service.
14862
14863    All required parameters must be populated in order to send to Azure.
14864
14865    :param additional_properties: Unmatched properties from the message are deserialized to this
14866     collection.
14867    :type additional_properties: dict[str, any]
14868    :param type: Required. Type of linked service.Constant filled by server.
14869    :type type: str
14870    :param connect_via: The integration runtime reference.
14871    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
14872    :param description: Linked service description.
14873    :type description: str
14874    :param parameters: Parameters for linked service.
14875    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
14876    :param annotations: List of tags that can be used for describing the linked service.
14877    :type annotations: list[any]
14878    :param deployment_type: Required. The deployment type of the Dynamics instance. 'Online' for
14879     Dynamics Online and 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or
14880     Expression with resultType string). Possible values include: "Online", "OnPremisesWithIfd".
14881    :type deployment_type: str or
14882     ~azure.synapse.artifacts.v2020_12_01.models.DynamicsDeploymentType
14883    :param host_name: The host name of the on-premises Dynamics server. The property is required
14884     for on-prem and not allowed for online. Type: string (or Expression with resultType string).
14885    :type host_name: any
14886    :param port: The port of on-premises Dynamics server. The property is required for on-prem and
14887     not allowed for online. Default is 443. Type: integer (or Expression with resultType integer),
14888     minimum: 0.
14889    :type port: any
14890    :param service_uri: The URL to the Microsoft Dynamics server. The property is required for
14891     on-line and not allowed for on-prem. Type: string (or Expression with resultType string).
14892    :type service_uri: any
14893    :param organization_name: The organization name of the Dynamics instance. The property is
14894     required for on-prem and required for online when there are more than one Dynamics instances
14895     associated with the user. Type: string (or Expression with resultType string).
14896    :type organization_name: any
14897    :param authentication_type: Required. The authentication type to connect to Dynamics server.
14898     'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal'
14899     for Server-To-Server authentication in online scenario. Type: string (or Expression with
14900     resultType string). Possible values include: "Office365", "Ifd", "AADServicePrincipal".
14901    :type authentication_type: str or
14902     ~azure.synapse.artifacts.v2020_12_01.models.DynamicsAuthenticationType
14903    :param username: User name to access the Dynamics instance. Type: string (or Expression with
14904     resultType string).
14905    :type username: any
14906    :param password: Password to access the Dynamics instance.
14907    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
14908    :param service_principal_id: The client ID of the application in Azure Active Directory used
14909     for Server-To-Server authentication. Type: string (or Expression with resultType string).
14910    :type service_principal_id: any
14911    :param service_principal_credential_type: The service principal credential type to use in
14912     Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert'
14913     for certificate. Type: string (or Expression with resultType string). Possible values include:
14914     "ServicePrincipalKey", "ServicePrincipalCert".
14915    :type service_principal_credential_type: str or
14916     ~azure.synapse.artifacts.v2020_12_01.models.DynamicsServicePrincipalCredentialType
14917    :param service_principal_credential: The credential of the service principal object in Azure
14918     Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey',
14919     servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If
14920     servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only
14921     be AzureKeyVaultSecretReference.
14922    :type service_principal_credential: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
14923    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
14924     encrypted using the integration runtime credential manager. Type: string (or Expression with
14925     resultType string).
14926    :type encrypted_credential: any
14927    """
14928
14929    _validation = {
14930        'type': {'required': True},
14931        'deployment_type': {'required': True},
14932        'authentication_type': {'required': True},
14933    }
14934
14935    _attribute_map = {
14936        'additional_properties': {'key': '', 'type': '{object}'},
14937        'type': {'key': 'type', 'type': 'str'},
14938        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
14939        'description': {'key': 'description', 'type': 'str'},
14940        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
14941        'annotations': {'key': 'annotations', 'type': '[object]'},
14942        'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'},
14943        'host_name': {'key': 'typeProperties.hostName', 'type': 'object'},
14944        'port': {'key': 'typeProperties.port', 'type': 'object'},
14945        'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'},
14946        'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'},
14947        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
14948        'username': {'key': 'typeProperties.username', 'type': 'object'},
14949        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
14950        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
14951        'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'str'},
14952        'service_principal_credential': {'key': 'typeProperties.servicePrincipalCredential', 'type': 'SecretBase'},
14953        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
14954    }
14955
14956    def __init__(
14957        self,
14958        *,
14959        deployment_type: Union[str, "DynamicsDeploymentType"],
14960        authentication_type: Union[str, "DynamicsAuthenticationType"],
14961        additional_properties: Optional[Dict[str, Any]] = None,
14962        connect_via: Optional["IntegrationRuntimeReference"] = None,
14963        description: Optional[str] = None,
14964        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
14965        annotations: Optional[List[Any]] = None,
14966        host_name: Optional[Any] = None,
14967        port: Optional[Any] = None,
14968        service_uri: Optional[Any] = None,
14969        organization_name: Optional[Any] = None,
14970        username: Optional[Any] = None,
14971        password: Optional["SecretBase"] = None,
14972        service_principal_id: Optional[Any] = None,
14973        service_principal_credential_type: Optional[Union[str, "DynamicsServicePrincipalCredentialType"]] = None,
14974        service_principal_credential: Optional["SecretBase"] = None,
14975        encrypted_credential: Optional[Any] = None,
14976        **kwargs
14977    ):
14978        super(DynamicsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
14979        self.type = 'Dynamics'  # type: str
14980        self.deployment_type = deployment_type
14981        self.host_name = host_name
14982        self.port = port
14983        self.service_uri = service_uri
14984        self.organization_name = organization_name
14985        self.authentication_type = authentication_type
14986        self.username = username
14987        self.password = password
14988        self.service_principal_id = service_principal_id
14989        self.service_principal_credential_type = service_principal_credential_type
14990        self.service_principal_credential = service_principal_credential
14991        self.encrypted_credential = encrypted_credential
14992
14993
14994class DynamicsSink(CopySink):
14995    """A copy activity Dynamics sink.
14996
14997    All required parameters must be populated in order to send to Azure.
14998
14999    :param additional_properties: Unmatched properties from the message are deserialized to this
15000     collection.
15001    :type additional_properties: dict[str, any]
15002    :param type: Required. Copy sink type.Constant filled by server.
15003    :type type: str
15004    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
15005     integer), minimum: 0.
15006    :type write_batch_size: any
15007    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
15008     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
15009    :type write_batch_timeout: any
15010    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
15011     integer).
15012    :type sink_retry_count: any
15013    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
15014     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
15015    :type sink_retry_wait: any
15016    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
15017     store. Type: integer (or Expression with resultType integer).
15018    :type max_concurrent_connections: any
15019    :param write_behavior: Required. The write behavior for the operation. Possible values include:
15020     "Upsert".
15021    :type write_behavior: str or
15022     ~azure.synapse.artifacts.v2020_12_01.models.DynamicsSinkWriteBehavior
15023    :param ignore_null_values: The flag indicating whether ignore null values from input dataset
15024     (except key fields) during write operation. Default is false. Type: boolean (or Expression with
15025     resultType boolean).
15026    :type ignore_null_values: any
15027    :param alternate_key_name: The logical name of the alternate key which will be used when
15028     upserting records. Type: string (or Expression with resultType string).
15029    :type alternate_key_name: any
15030    """
15031
15032    _validation = {
15033        'type': {'required': True},
15034        'write_behavior': {'required': True},
15035    }
15036
15037    _attribute_map = {
15038        'additional_properties': {'key': '', 'type': '{object}'},
15039        'type': {'key': 'type', 'type': 'str'},
15040        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
15041        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
15042        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
15043        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
15044        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
15045        'write_behavior': {'key': 'writeBehavior', 'type': 'str'},
15046        'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'},
15047        'alternate_key_name': {'key': 'alternateKeyName', 'type': 'object'},
15048    }
15049
15050    def __init__(
15051        self,
15052        *,
15053        write_behavior: Union[str, "DynamicsSinkWriteBehavior"],
15054        additional_properties: Optional[Dict[str, Any]] = None,
15055        write_batch_size: Optional[Any] = None,
15056        write_batch_timeout: Optional[Any] = None,
15057        sink_retry_count: Optional[Any] = None,
15058        sink_retry_wait: Optional[Any] = None,
15059        max_concurrent_connections: Optional[Any] = None,
15060        ignore_null_values: Optional[Any] = None,
15061        alternate_key_name: Optional[Any] = None,
15062        **kwargs
15063    ):
15064        super(DynamicsSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
15065        self.type = 'DynamicsSink'  # type: str
15066        self.write_behavior = write_behavior
15067        self.ignore_null_values = ignore_null_values
15068        self.alternate_key_name = alternate_key_name
15069
15070
15071class DynamicsSource(CopySource):
15072    """A copy activity Dynamics source.
15073
15074    All required parameters must be populated in order to send to Azure.
15075
15076    :param additional_properties: Unmatched properties from the message are deserialized to this
15077     collection.
15078    :type additional_properties: dict[str, any]
15079    :param type: Required. Copy source type.Constant filled by server.
15080    :type type: str
15081    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
15082     integer).
15083    :type source_retry_count: any
15084    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
15085     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
15086    :type source_retry_wait: any
15087    :param max_concurrent_connections: The maximum concurrent connection count for the source data
15088     store. Type: integer (or Expression with resultType integer).
15089    :type max_concurrent_connections: any
15090    :param query: FetchXML is a proprietary query language that is used in Microsoft Dynamics
15091     (online & on-premises). Type: string (or Expression with resultType string).
15092    :type query: any
15093    :param additional_columns: Specifies the additional columns to be added to source data. Type:
15094     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
15095    :type additional_columns: any
15096    """
15097
15098    _validation = {
15099        'type': {'required': True},
15100    }
15101
15102    _attribute_map = {
15103        'additional_properties': {'key': '', 'type': '{object}'},
15104        'type': {'key': 'type', 'type': 'str'},
15105        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
15106        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
15107        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
15108        'query': {'key': 'query', 'type': 'object'},
15109        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
15110    }
15111
15112    def __init__(
15113        self,
15114        *,
15115        additional_properties: Optional[Dict[str, Any]] = None,
15116        source_retry_count: Optional[Any] = None,
15117        source_retry_wait: Optional[Any] = None,
15118        max_concurrent_connections: Optional[Any] = None,
15119        query: Optional[Any] = None,
15120        additional_columns: Optional[Any] = None,
15121        **kwargs
15122    ):
15123        super(DynamicsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
15124        self.type = 'DynamicsSource'  # type: str
15125        self.query = query
15126        self.additional_columns = additional_columns
15127
15128
15129class EloquaLinkedService(LinkedService):
15130    """Eloqua server linked service.
15131
15132    All required parameters must be populated in order to send to Azure.
15133
15134    :param additional_properties: Unmatched properties from the message are deserialized to this
15135     collection.
15136    :type additional_properties: dict[str, any]
15137    :param type: Required. Type of linked service.Constant filled by server.
15138    :type type: str
15139    :param connect_via: The integration runtime reference.
15140    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
15141    :param description: Linked service description.
15142    :type description: str
15143    :param parameters: Parameters for linked service.
15144    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
15145    :param annotations: List of tags that can be used for describing the linked service.
15146    :type annotations: list[any]
15147    :param endpoint: Required. The endpoint of the Eloqua server. (i.e. eloqua.example.com).
15148    :type endpoint: any
15149    :param username: Required. The site name and user name of your Eloqua account in the form:
15150     sitename/username. (i.e. Eloqua/Alice).
15151    :type username: any
15152    :param password: The password corresponding to the user name.
15153    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
15154    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
15155     HTTPS. The default value is true.
15156    :type use_encrypted_endpoints: any
15157    :param use_host_verification: Specifies whether to require the host name in the server's
15158     certificate to match the host name of the server when connecting over SSL. The default value is
15159     true.
15160    :type use_host_verification: any
15161    :param use_peer_verification: Specifies whether to verify the identity of the server when
15162     connecting over SSL. The default value is true.
15163    :type use_peer_verification: any
15164    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
15165     encrypted using the integration runtime credential manager. Type: string (or Expression with
15166     resultType string).
15167    :type encrypted_credential: any
15168    """
15169
15170    _validation = {
15171        'type': {'required': True},
15172        'endpoint': {'required': True},
15173        'username': {'required': True},
15174    }
15175
15176    _attribute_map = {
15177        'additional_properties': {'key': '', 'type': '{object}'},
15178        'type': {'key': 'type', 'type': 'str'},
15179        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
15180        'description': {'key': 'description', 'type': 'str'},
15181        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
15182        'annotations': {'key': 'annotations', 'type': '[object]'},
15183        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
15184        'username': {'key': 'typeProperties.username', 'type': 'object'},
15185        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
15186        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
15187        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
15188        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
15189        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
15190    }
15191
15192    def __init__(
15193        self,
15194        *,
15195        endpoint: Any,
15196        username: Any,
15197        additional_properties: Optional[Dict[str, Any]] = None,
15198        connect_via: Optional["IntegrationRuntimeReference"] = None,
15199        description: Optional[str] = None,
15200        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
15201        annotations: Optional[List[Any]] = None,
15202        password: Optional["SecretBase"] = None,
15203        use_encrypted_endpoints: Optional[Any] = None,
15204        use_host_verification: Optional[Any] = None,
15205        use_peer_verification: Optional[Any] = None,
15206        encrypted_credential: Optional[Any] = None,
15207        **kwargs
15208    ):
15209        super(EloquaLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
15210        self.type = 'Eloqua'  # type: str
15211        self.endpoint = endpoint
15212        self.username = username
15213        self.password = password
15214        self.use_encrypted_endpoints = use_encrypted_endpoints
15215        self.use_host_verification = use_host_verification
15216        self.use_peer_verification = use_peer_verification
15217        self.encrypted_credential = encrypted_credential
15218
15219
15220class EloquaObjectDataset(Dataset):
15221    """Eloqua server dataset.
15222
15223    All required parameters must be populated in order to send to Azure.
15224
15225    :param additional_properties: Unmatched properties from the message are deserialized to this
15226     collection.
15227    :type additional_properties: dict[str, any]
15228    :param type: Required. Type of dataset.Constant filled by server.
15229    :type type: str
15230    :param description: Dataset description.
15231    :type description: str
15232    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
15233     with resultType array), itemType: DatasetDataElement.
15234    :type structure: any
15235    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
15236     Expression with resultType array), itemType: DatasetSchemaDataElement.
15237    :type schema: any
15238    :param linked_service_name: Required. Linked service reference.
15239    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
15240    :param parameters: Parameters for dataset.
15241    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
15242    :param annotations: List of tags that can be used for describing the Dataset.
15243    :type annotations: list[any]
15244    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
15245     root level.
15246    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
15247    :param table_name: The table name. Type: string (or Expression with resultType string).
15248    :type table_name: any
15249    """
15250
15251    _validation = {
15252        'type': {'required': True},
15253        'linked_service_name': {'required': True},
15254    }
15255
15256    _attribute_map = {
15257        'additional_properties': {'key': '', 'type': '{object}'},
15258        'type': {'key': 'type', 'type': 'str'},
15259        'description': {'key': 'description', 'type': 'str'},
15260        'structure': {'key': 'structure', 'type': 'object'},
15261        'schema': {'key': 'schema', 'type': 'object'},
15262        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
15263        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
15264        'annotations': {'key': 'annotations', 'type': '[object]'},
15265        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
15266        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
15267    }
15268
15269    def __init__(
15270        self,
15271        *,
15272        linked_service_name: "LinkedServiceReference",
15273        additional_properties: Optional[Dict[str, Any]] = None,
15274        description: Optional[str] = None,
15275        structure: Optional[Any] = None,
15276        schema: Optional[Any] = None,
15277        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
15278        annotations: Optional[List[Any]] = None,
15279        folder: Optional["DatasetFolder"] = None,
15280        table_name: Optional[Any] = None,
15281        **kwargs
15282    ):
15283        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)
15284        self.type = 'EloquaObject'  # type: str
15285        self.table_name = table_name
15286
15287
15288class EloquaSource(TabularSource):
15289    """A copy activity Eloqua server source.
15290
15291    All required parameters must be populated in order to send to Azure.
15292
15293    :param additional_properties: Unmatched properties from the message are deserialized to this
15294     collection.
15295    :type additional_properties: dict[str, any]
15296    :param type: Required. Copy source type.Constant filled by server.
15297    :type type: str
15298    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
15299     integer).
15300    :type source_retry_count: any
15301    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
15302     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
15303    :type source_retry_wait: any
15304    :param max_concurrent_connections: The maximum concurrent connection count for the source data
15305     store. Type: integer (or Expression with resultType integer).
15306    :type max_concurrent_connections: any
15307    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
15308     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
15309    :type query_timeout: any
15310    :param additional_columns: Specifies the additional columns to be added to source data. Type:
15311     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
15312    :type additional_columns: any
15313    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
15314     string).
15315    :type query: any
15316    """
15317
15318    _validation = {
15319        'type': {'required': True},
15320    }
15321
15322    _attribute_map = {
15323        'additional_properties': {'key': '', 'type': '{object}'},
15324        'type': {'key': 'type', 'type': 'str'},
15325        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
15326        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
15327        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
15328        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
15329        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
15330        'query': {'key': 'query', 'type': 'object'},
15331    }
15332
15333    def __init__(
15334        self,
15335        *,
15336        additional_properties: Optional[Dict[str, Any]] = None,
15337        source_retry_count: Optional[Any] = None,
15338        source_retry_wait: Optional[Any] = None,
15339        max_concurrent_connections: Optional[Any] = None,
15340        query_timeout: Optional[Any] = None,
15341        additional_columns: Optional[Any] = None,
15342        query: Optional[Any] = None,
15343        **kwargs
15344    ):
15345        super(EloquaSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
15346        self.type = 'EloquaSource'  # type: str
15347        self.query = query
15348
15349
15350class EncryptionDetails(msrest.serialization.Model):
15351    """Details of the encryption associated with the workspace.
15352
15353    Variables are only populated by the server, and will be ignored when sending a request.
15354
15355    :ivar double_encryption_enabled: Double Encryption enabled.
15356    :vartype double_encryption_enabled: bool
15357    :param cmk: Customer Managed Key Details.
15358    :type cmk: ~azure.synapse.artifacts.v2020_12_01.models.CustomerManagedKeyDetails
15359    """
15360
15361    _validation = {
15362        'double_encryption_enabled': {'readonly': True},
15363    }
15364
15365    _attribute_map = {
15366        'double_encryption_enabled': {'key': 'doubleEncryptionEnabled', 'type': 'bool'},
15367        'cmk': {'key': 'cmk', 'type': 'CustomerManagedKeyDetails'},
15368    }
15369
15370    def __init__(
15371        self,
15372        *,
15373        cmk: Optional["CustomerManagedKeyDetails"] = None,
15374        **kwargs
15375    ):
15376        super(EncryptionDetails, self).__init__(**kwargs)
15377        self.double_encryption_enabled = None
15378        self.cmk = cmk
15379
15380
15381class EntityReference(msrest.serialization.Model):
15382    """The entity reference.
15383
15384    :param type: The type of this referenced entity. Possible values include:
15385     "IntegrationRuntimeReference", "LinkedServiceReference".
15386    :type type: str or
15387     ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeEntityReferenceType
15388    :param reference_name: The name of this referenced entity.
15389    :type reference_name: str
15390    """
15391
15392    _attribute_map = {
15393        'type': {'key': 'type', 'type': 'str'},
15394        'reference_name': {'key': 'referenceName', 'type': 'str'},
15395    }
15396
15397    def __init__(
15398        self,
15399        *,
15400        type: Optional[Union[str, "IntegrationRuntimeEntityReferenceType"]] = None,
15401        reference_name: Optional[str] = None,
15402        **kwargs
15403    ):
15404        super(EntityReference, self).__init__(**kwargs)
15405        self.type = type
15406        self.reference_name = reference_name
15407
15408
15409class ErrorAdditionalInfo(msrest.serialization.Model):
15410    """The resource management error additional info.
15411
15412    Variables are only populated by the server, and will be ignored when sending a request.
15413
15414    :ivar type: The additional info type.
15415    :vartype type: str
15416    :ivar info: The additional info.
15417    :vartype info: any
15418    """
15419
15420    _validation = {
15421        'type': {'readonly': True},
15422        'info': {'readonly': True},
15423    }
15424
15425    _attribute_map = {
15426        'type': {'key': 'type', 'type': 'str'},
15427        'info': {'key': 'info', 'type': 'object'},
15428    }
15429
15430    def __init__(
15431        self,
15432        **kwargs
15433    ):
15434        super(ErrorAdditionalInfo, self).__init__(**kwargs)
15435        self.type = None
15436        self.info = None
15437
15438
15439class ErrorContract(msrest.serialization.Model):
15440    """Contains details when the response code indicates an error.
15441
15442    :param error: The error details.
15443    :type error: ~azure.synapse.artifacts.v2020_12_01.models.ErrorResponse
15444    """
15445
15446    _attribute_map = {
15447        'error': {'key': 'error', 'type': 'ErrorResponse'},
15448    }
15449
15450    def __init__(
15451        self,
15452        *,
15453        error: Optional["ErrorResponse"] = None,
15454        **kwargs
15455    ):
15456        super(ErrorContract, self).__init__(**kwargs)
15457        self.error = error
15458
15459
15460class ErrorResponse(msrest.serialization.Model):
15461    """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).
15462
15463    Variables are only populated by the server, and will be ignored when sending a request.
15464
15465    :ivar code: The error code.
15466    :vartype code: str
15467    :ivar message: The error message.
15468    :vartype message: str
15469    :ivar target: The error target.
15470    :vartype target: str
15471    :ivar details: The error details.
15472    :vartype details: list[~azure.synapse.artifacts.v2020_12_01.models.ErrorResponse]
15473    :ivar additional_info: The error additional info.
15474    :vartype additional_info: list[~azure.synapse.artifacts.v2020_12_01.models.ErrorAdditionalInfo]
15475    """
15476
15477    _validation = {
15478        'code': {'readonly': True},
15479        'message': {'readonly': True},
15480        'target': {'readonly': True},
15481        'details': {'readonly': True},
15482        'additional_info': {'readonly': True},
15483    }
15484
15485    _attribute_map = {
15486        'code': {'key': 'code', 'type': 'str'},
15487        'message': {'key': 'message', 'type': 'str'},
15488        'target': {'key': 'target', 'type': 'str'},
15489        'details': {'key': 'details', 'type': '[ErrorResponse]'},
15490        'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'},
15491    }
15492
15493    def __init__(
15494        self,
15495        **kwargs
15496    ):
15497        super(ErrorResponse, self).__init__(**kwargs)
15498        self.code = None
15499        self.message = None
15500        self.target = None
15501        self.details = None
15502        self.additional_info = None
15503
15504
15505class EvaluateDataFlowExpressionRequest(msrest.serialization.Model):
15506    """Request body structure for data flow expression preview.
15507
15508    :param session_id: The ID of data flow debug session.
15509    :type session_id: str
15510    :param data_flow_name: The data flow which contains the debug session.
15511    :type data_flow_name: str
15512    :param stream_name: The output stream name.
15513    :type stream_name: str
15514    :param row_limits: The row limit for preview request.
15515    :type row_limits: int
15516    :param expression: The expression for preview.
15517    :type expression: str
15518    """
15519
15520    _attribute_map = {
15521        'session_id': {'key': 'sessionId', 'type': 'str'},
15522        'data_flow_name': {'key': 'dataFlowName', 'type': 'str'},
15523        'stream_name': {'key': 'streamName', 'type': 'str'},
15524        'row_limits': {'key': 'rowLimits', 'type': 'int'},
15525        'expression': {'key': 'expression', 'type': 'str'},
15526    }
15527
15528    def __init__(
15529        self,
15530        *,
15531        session_id: Optional[str] = None,
15532        data_flow_name: Optional[str] = None,
15533        stream_name: Optional[str] = None,
15534        row_limits: Optional[int] = None,
15535        expression: Optional[str] = None,
15536        **kwargs
15537    ):
15538        super(EvaluateDataFlowExpressionRequest, self).__init__(**kwargs)
15539        self.session_id = session_id
15540        self.data_flow_name = data_flow_name
15541        self.stream_name = stream_name
15542        self.row_limits = row_limits
15543        self.expression = expression
15544
15545
15546class ExcelDataset(Dataset):
15547    """Excel dataset.
15548
15549    All required parameters must be populated in order to send to Azure.
15550
15551    :param additional_properties: Unmatched properties from the message are deserialized to this
15552     collection.
15553    :type additional_properties: dict[str, any]
15554    :param type: Required. Type of dataset.Constant filled by server.
15555    :type type: str
15556    :param description: Dataset description.
15557    :type description: str
15558    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
15559     with resultType array), itemType: DatasetDataElement.
15560    :type structure: any
15561    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
15562     Expression with resultType array), itemType: DatasetSchemaDataElement.
15563    :type schema: any
15564    :param linked_service_name: Required. Linked service reference.
15565    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
15566    :param parameters: Parameters for dataset.
15567    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
15568    :param annotations: List of tags that can be used for describing the Dataset.
15569    :type annotations: list[any]
15570    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
15571     root level.
15572    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
15573    :param location: The location of the excel storage.
15574    :type location: ~azure.synapse.artifacts.v2020_12_01.models.DatasetLocation
15575    :param sheet_name: The sheet of excel file. Type: string (or Expression with resultType
15576     string).
15577    :type sheet_name: any
15578    :param range: The partial data of one sheet. Type: string (or Expression with resultType
15579     string).
15580    :type range: any
15581    :param first_row_as_header: When used as input, treat the first row of data as headers. When
15582     used as output,write the headers into the output as the first row of data. The default value is
15583     false. Type: boolean (or Expression with resultType boolean).
15584    :type first_row_as_header: any
15585    :param compression: The data compression method used for the json dataset.
15586    :type compression: ~azure.synapse.artifacts.v2020_12_01.models.DatasetCompression
15587    :param null_value: The null value string. Type: string (or Expression with resultType string).
15588    :type null_value: any
15589    """
15590
15591    _validation = {
15592        'type': {'required': True},
15593        'linked_service_name': {'required': True},
15594    }
15595
15596    _attribute_map = {
15597        'additional_properties': {'key': '', 'type': '{object}'},
15598        'type': {'key': 'type', 'type': 'str'},
15599        'description': {'key': 'description', 'type': 'str'},
15600        'structure': {'key': 'structure', 'type': 'object'},
15601        'schema': {'key': 'schema', 'type': 'object'},
15602        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
15603        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
15604        'annotations': {'key': 'annotations', 'type': '[object]'},
15605        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
15606        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
15607        'sheet_name': {'key': 'typeProperties.sheetName', 'type': 'object'},
15608        'range': {'key': 'typeProperties.range', 'type': 'object'},
15609        'first_row_as_header': {'key': 'typeProperties.firstRowAsHeader', 'type': 'object'},
15610        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
15611        'null_value': {'key': 'typeProperties.nullValue', 'type': 'object'},
15612    }
15613
15614    def __init__(
15615        self,
15616        *,
15617        linked_service_name: "LinkedServiceReference",
15618        additional_properties: Optional[Dict[str, Any]] = None,
15619        description: Optional[str] = None,
15620        structure: Optional[Any] = None,
15621        schema: Optional[Any] = None,
15622        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
15623        annotations: Optional[List[Any]] = None,
15624        folder: Optional["DatasetFolder"] = None,
15625        location: Optional["DatasetLocation"] = None,
15626        sheet_name: Optional[Any] = None,
15627        range: Optional[Any] = None,
15628        first_row_as_header: Optional[Any] = None,
15629        compression: Optional["DatasetCompression"] = None,
15630        null_value: Optional[Any] = None,
15631        **kwargs
15632    ):
15633        super(ExcelDataset, 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)
15634        self.type = 'Excel'  # type: str
15635        self.location = location
15636        self.sheet_name = sheet_name
15637        self.range = range
15638        self.first_row_as_header = first_row_as_header
15639        self.compression = compression
15640        self.null_value = null_value
15641
15642
15643class ExcelSource(CopySource):
15644    """A copy activity excel source.
15645
15646    All required parameters must be populated in order to send to Azure.
15647
15648    :param additional_properties: Unmatched properties from the message are deserialized to this
15649     collection.
15650    :type additional_properties: dict[str, any]
15651    :param type: Required. Copy source type.Constant filled by server.
15652    :type type: str
15653    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
15654     integer).
15655    :type source_retry_count: any
15656    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
15657     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
15658    :type source_retry_wait: any
15659    :param max_concurrent_connections: The maximum concurrent connection count for the source data
15660     store. Type: integer (or Expression with resultType integer).
15661    :type max_concurrent_connections: any
15662    :param store_settings: Excel store settings.
15663    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreReadSettings
15664    :param additional_columns: Specifies the additional columns to be added to source data. Type:
15665     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
15666    :type additional_columns: any
15667    """
15668
15669    _validation = {
15670        'type': {'required': True},
15671    }
15672
15673    _attribute_map = {
15674        'additional_properties': {'key': '', 'type': '{object}'},
15675        'type': {'key': 'type', 'type': 'str'},
15676        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
15677        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
15678        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
15679        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
15680        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
15681    }
15682
15683    def __init__(
15684        self,
15685        *,
15686        additional_properties: Optional[Dict[str, Any]] = None,
15687        source_retry_count: Optional[Any] = None,
15688        source_retry_wait: Optional[Any] = None,
15689        max_concurrent_connections: Optional[Any] = None,
15690        store_settings: Optional["StoreReadSettings"] = None,
15691        additional_columns: Optional[Any] = None,
15692        **kwargs
15693    ):
15694        super(ExcelSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
15695        self.type = 'ExcelSource'  # type: str
15696        self.store_settings = store_settings
15697        self.additional_columns = additional_columns
15698
15699
15700class ExecuteDataFlowActivity(ExecutionActivity):
15701    """Execute data flow activity.
15702
15703    All required parameters must be populated in order to send to Azure.
15704
15705    :param additional_properties: Unmatched properties from the message are deserialized to this
15706     collection.
15707    :type additional_properties: dict[str, any]
15708    :param name: Required. Activity name.
15709    :type name: str
15710    :param type: Required. Type of activity.Constant filled by server.
15711    :type type: str
15712    :param description: Activity description.
15713    :type description: str
15714    :param depends_on: Activity depends on condition.
15715    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
15716    :param user_properties: Activity user properties.
15717    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
15718    :param linked_service_name: Linked service reference.
15719    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
15720    :param policy: Activity policy.
15721    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
15722    :param dataflow: Required. Data flow reference.
15723    :type dataflow: ~azure.synapse.artifacts.v2020_12_01.models.DataFlowReference
15724    :param staging: Staging info for execute data flow activity.
15725    :type staging: ~azure.synapse.artifacts.v2020_12_01.models.DataFlowStagingInfo
15726    :param integration_runtime: The integration runtime reference.
15727    :type integration_runtime:
15728     ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
15729    :param compute: Compute properties for data flow activity.
15730    :type compute:
15731     ~azure.synapse.artifacts.v2020_12_01.models.ExecuteDataFlowActivityTypePropertiesCompute
15732    :param trace_level: Trace level setting used for data flow monitoring output. Supported values
15733     are: 'coarse', 'fine', and 'none'. Type: string (or Expression with resultType string).
15734    :type trace_level: any
15735    :param continue_on_error: Continue on error setting used for data flow execution. Enables
15736     processing to continue if a sink fails. Type: boolean (or Expression with resultType boolean).
15737    :type continue_on_error: any
15738    :param run_concurrently: Concurrent run setting used for data flow execution. Allows sinks with
15739     the same save order to be processed concurrently. Type: boolean (or Expression with resultType
15740     boolean).
15741    :type run_concurrently: any
15742    """
15743
15744    _validation = {
15745        'name': {'required': True},
15746        'type': {'required': True},
15747        'dataflow': {'required': True},
15748    }
15749
15750    _attribute_map = {
15751        'additional_properties': {'key': '', 'type': '{object}'},
15752        'name': {'key': 'name', 'type': 'str'},
15753        'type': {'key': 'type', 'type': 'str'},
15754        'description': {'key': 'description', 'type': 'str'},
15755        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
15756        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
15757        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
15758        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
15759        'dataflow': {'key': 'typeProperties.dataflow', 'type': 'DataFlowReference'},
15760        'staging': {'key': 'typeProperties.staging', 'type': 'DataFlowStagingInfo'},
15761        'integration_runtime': {'key': 'typeProperties.integrationRuntime', 'type': 'IntegrationRuntimeReference'},
15762        'compute': {'key': 'typeProperties.compute', 'type': 'ExecuteDataFlowActivityTypePropertiesCompute'},
15763        'trace_level': {'key': 'typeProperties.traceLevel', 'type': 'object'},
15764        'continue_on_error': {'key': 'typeProperties.continueOnError', 'type': 'object'},
15765        'run_concurrently': {'key': 'typeProperties.runConcurrently', 'type': 'object'},
15766    }
15767
15768    def __init__(
15769        self,
15770        *,
15771        name: str,
15772        dataflow: "DataFlowReference",
15773        additional_properties: Optional[Dict[str, Any]] = None,
15774        description: Optional[str] = None,
15775        depends_on: Optional[List["ActivityDependency"]] = None,
15776        user_properties: Optional[List["UserProperty"]] = None,
15777        linked_service_name: Optional["LinkedServiceReference"] = None,
15778        policy: Optional["ActivityPolicy"] = None,
15779        staging: Optional["DataFlowStagingInfo"] = None,
15780        integration_runtime: Optional["IntegrationRuntimeReference"] = None,
15781        compute: Optional["ExecuteDataFlowActivityTypePropertiesCompute"] = None,
15782        trace_level: Optional[Any] = None,
15783        continue_on_error: Optional[Any] = None,
15784        run_concurrently: Optional[Any] = None,
15785        **kwargs
15786    ):
15787        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)
15788        self.type = 'ExecuteDataFlow'  # type: str
15789        self.dataflow = dataflow
15790        self.staging = staging
15791        self.integration_runtime = integration_runtime
15792        self.compute = compute
15793        self.trace_level = trace_level
15794        self.continue_on_error = continue_on_error
15795        self.run_concurrently = run_concurrently
15796
15797
15798class ExecuteDataFlowActivityTypePropertiesCompute(msrest.serialization.Model):
15799    """Compute properties for data flow activity.
15800
15801    :param compute_type: Compute type of the cluster which will execute data flow job. Possible
15802     values include: "General", "MemoryOptimized", "ComputeOptimized".
15803    :type compute_type: str or ~azure.synapse.artifacts.v2020_12_01.models.DataFlowComputeType
15804    :param core_count: Core count of the cluster which will execute data flow job. Supported values
15805     are: 8, 16, 32, 48, 80, 144 and 272.
15806    :type core_count: int
15807    """
15808
15809    _attribute_map = {
15810        'compute_type': {'key': 'computeType', 'type': 'str'},
15811        'core_count': {'key': 'coreCount', 'type': 'int'},
15812    }
15813
15814    def __init__(
15815        self,
15816        *,
15817        compute_type: Optional[Union[str, "DataFlowComputeType"]] = None,
15818        core_count: Optional[int] = None,
15819        **kwargs
15820    ):
15821        super(ExecuteDataFlowActivityTypePropertiesCompute, self).__init__(**kwargs)
15822        self.compute_type = compute_type
15823        self.core_count = core_count
15824
15825
15826class ExecutePipelineActivity(ControlActivity):
15827    """Execute pipeline activity.
15828
15829    All required parameters must be populated in order to send to Azure.
15830
15831    :param additional_properties: Unmatched properties from the message are deserialized to this
15832     collection.
15833    :type additional_properties: dict[str, any]
15834    :param name: Required. Activity name.
15835    :type name: str
15836    :param type: Required. Type of activity.Constant filled by server.
15837    :type type: str
15838    :param description: Activity description.
15839    :type description: str
15840    :param depends_on: Activity depends on condition.
15841    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
15842    :param user_properties: Activity user properties.
15843    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
15844    :param pipeline: Required. Pipeline reference.
15845    :type pipeline: ~azure.synapse.artifacts.v2020_12_01.models.PipelineReference
15846    :param parameters: Pipeline parameters.
15847    :type parameters: dict[str, any]
15848    :param wait_on_completion: Defines whether activity execution will wait for the dependent
15849     pipeline execution to finish. Default is false.
15850    :type wait_on_completion: bool
15851    """
15852
15853    _validation = {
15854        'name': {'required': True},
15855        'type': {'required': True},
15856        'pipeline': {'required': True},
15857    }
15858
15859    _attribute_map = {
15860        'additional_properties': {'key': '', 'type': '{object}'},
15861        'name': {'key': 'name', 'type': 'str'},
15862        'type': {'key': 'type', 'type': 'str'},
15863        'description': {'key': 'description', 'type': 'str'},
15864        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
15865        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
15866        'pipeline': {'key': 'typeProperties.pipeline', 'type': 'PipelineReference'},
15867        'parameters': {'key': 'typeProperties.parameters', 'type': '{object}'},
15868        'wait_on_completion': {'key': 'typeProperties.waitOnCompletion', 'type': 'bool'},
15869    }
15870
15871    def __init__(
15872        self,
15873        *,
15874        name: str,
15875        pipeline: "PipelineReference",
15876        additional_properties: Optional[Dict[str, Any]] = None,
15877        description: Optional[str] = None,
15878        depends_on: Optional[List["ActivityDependency"]] = None,
15879        user_properties: Optional[List["UserProperty"]] = None,
15880        parameters: Optional[Dict[str, Any]] = None,
15881        wait_on_completion: Optional[bool] = None,
15882        **kwargs
15883    ):
15884        super(ExecutePipelineActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
15885        self.type = 'ExecutePipeline'  # type: str
15886        self.pipeline = pipeline
15887        self.parameters = parameters
15888        self.wait_on_completion = wait_on_completion
15889
15890
15891class ExecuteSSISPackageActivity(ExecutionActivity):
15892    """Execute SSIS package activity.
15893
15894    All required parameters must be populated in order to send to Azure.
15895
15896    :param additional_properties: Unmatched properties from the message are deserialized to this
15897     collection.
15898    :type additional_properties: dict[str, any]
15899    :param name: Required. Activity name.
15900    :type name: str
15901    :param type: Required. Type of activity.Constant filled by server.
15902    :type type: str
15903    :param description: Activity description.
15904    :type description: str
15905    :param depends_on: Activity depends on condition.
15906    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
15907    :param user_properties: Activity user properties.
15908    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
15909    :param linked_service_name: Linked service reference.
15910    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
15911    :param policy: Activity policy.
15912    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
15913    :param package_location: Required. SSIS package location.
15914    :type package_location: ~azure.synapse.artifacts.v2020_12_01.models.SSISPackageLocation
15915    :param runtime: Specifies the runtime to execute SSIS package. The value should be "x86" or
15916     "x64". Type: string (or Expression with resultType string).
15917    :type runtime: any
15918    :param logging_level: The logging level of SSIS package execution. Type: string (or Expression
15919     with resultType string).
15920    :type logging_level: any
15921    :param environment_path: The environment path to execute the SSIS package. Type: string (or
15922     Expression with resultType string).
15923    :type environment_path: any
15924    :param execution_credential: The package execution credential.
15925    :type execution_credential: ~azure.synapse.artifacts.v2020_12_01.models.SSISExecutionCredential
15926    :param connect_via: Required. The integration runtime reference.
15927    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
15928    :param project_parameters: The project level parameters to execute the SSIS package.
15929    :type project_parameters: dict[str,
15930     ~azure.synapse.artifacts.v2020_12_01.models.SSISExecutionParameter]
15931    :param package_parameters: The package level parameters to execute the SSIS package.
15932    :type package_parameters: dict[str,
15933     ~azure.synapse.artifacts.v2020_12_01.models.SSISExecutionParameter]
15934    :param project_connection_managers: The project level connection managers to execute the SSIS
15935     package.
15936    :type project_connection_managers: dict[str, dict[str,
15937     ~azure.synapse.artifacts.v2020_12_01.models.SSISExecutionParameter]]
15938    :param package_connection_managers: The package level connection managers to execute the SSIS
15939     package.
15940    :type package_connection_managers: dict[str, dict[str,
15941     ~azure.synapse.artifacts.v2020_12_01.models.SSISExecutionParameter]]
15942    :param property_overrides: The property overrides to execute the SSIS package.
15943    :type property_overrides: dict[str,
15944     ~azure.synapse.artifacts.v2020_12_01.models.SSISPropertyOverride]
15945    :param log_location: SSIS package execution log location.
15946    :type log_location: ~azure.synapse.artifacts.v2020_12_01.models.SSISLogLocation
15947    """
15948
15949    _validation = {
15950        'name': {'required': True},
15951        'type': {'required': True},
15952        'package_location': {'required': True},
15953        'connect_via': {'required': True},
15954    }
15955
15956    _attribute_map = {
15957        'additional_properties': {'key': '', 'type': '{object}'},
15958        'name': {'key': 'name', 'type': 'str'},
15959        'type': {'key': 'type', 'type': 'str'},
15960        'description': {'key': 'description', 'type': 'str'},
15961        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
15962        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
15963        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
15964        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
15965        'package_location': {'key': 'typeProperties.packageLocation', 'type': 'SSISPackageLocation'},
15966        'runtime': {'key': 'typeProperties.runtime', 'type': 'object'},
15967        'logging_level': {'key': 'typeProperties.loggingLevel', 'type': 'object'},
15968        'environment_path': {'key': 'typeProperties.environmentPath', 'type': 'object'},
15969        'execution_credential': {'key': 'typeProperties.executionCredential', 'type': 'SSISExecutionCredential'},
15970        'connect_via': {'key': 'typeProperties.connectVia', 'type': 'IntegrationRuntimeReference'},
15971        'project_parameters': {'key': 'typeProperties.projectParameters', 'type': '{SSISExecutionParameter}'},
15972        'package_parameters': {'key': 'typeProperties.packageParameters', 'type': '{SSISExecutionParameter}'},
15973        'project_connection_managers': {'key': 'typeProperties.projectConnectionManagers', 'type': '{{SSISExecutionParameter}}'},
15974        'package_connection_managers': {'key': 'typeProperties.packageConnectionManagers', 'type': '{{SSISExecutionParameter}}'},
15975        'property_overrides': {'key': 'typeProperties.propertyOverrides', 'type': '{SSISPropertyOverride}'},
15976        'log_location': {'key': 'typeProperties.logLocation', 'type': 'SSISLogLocation'},
15977    }
15978
15979    def __init__(
15980        self,
15981        *,
15982        name: str,
15983        package_location: "SSISPackageLocation",
15984        connect_via: "IntegrationRuntimeReference",
15985        additional_properties: Optional[Dict[str, Any]] = None,
15986        description: Optional[str] = None,
15987        depends_on: Optional[List["ActivityDependency"]] = None,
15988        user_properties: Optional[List["UserProperty"]] = None,
15989        linked_service_name: Optional["LinkedServiceReference"] = None,
15990        policy: Optional["ActivityPolicy"] = None,
15991        runtime: Optional[Any] = None,
15992        logging_level: Optional[Any] = None,
15993        environment_path: Optional[Any] = None,
15994        execution_credential: Optional["SSISExecutionCredential"] = None,
15995        project_parameters: Optional[Dict[str, "SSISExecutionParameter"]] = None,
15996        package_parameters: Optional[Dict[str, "SSISExecutionParameter"]] = None,
15997        project_connection_managers: Optional[Dict[str, Dict[str, "SSISExecutionParameter"]]] = None,
15998        package_connection_managers: Optional[Dict[str, Dict[str, "SSISExecutionParameter"]]] = None,
15999        property_overrides: Optional[Dict[str, "SSISPropertyOverride"]] = None,
16000        log_location: Optional["SSISLogLocation"] = None,
16001        **kwargs
16002    ):
16003        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)
16004        self.type = 'ExecuteSSISPackage'  # type: str
16005        self.package_location = package_location
16006        self.runtime = runtime
16007        self.logging_level = logging_level
16008        self.environment_path = environment_path
16009        self.execution_credential = execution_credential
16010        self.connect_via = connect_via
16011        self.project_parameters = project_parameters
16012        self.package_parameters = package_parameters
16013        self.project_connection_managers = project_connection_managers
16014        self.package_connection_managers = package_connection_managers
16015        self.property_overrides = property_overrides
16016        self.log_location = log_location
16017
16018
16019class ExposureControlRequest(msrest.serialization.Model):
16020    """The exposure control request.
16021
16022    :param feature_name: The feature name.
16023    :type feature_name: str
16024    :param feature_type: The feature type.
16025    :type feature_type: str
16026    """
16027
16028    _attribute_map = {
16029        'feature_name': {'key': 'featureName', 'type': 'str'},
16030        'feature_type': {'key': 'featureType', 'type': 'str'},
16031    }
16032
16033    def __init__(
16034        self,
16035        *,
16036        feature_name: Optional[str] = None,
16037        feature_type: Optional[str] = None,
16038        **kwargs
16039    ):
16040        super(ExposureControlRequest, self).__init__(**kwargs)
16041        self.feature_name = feature_name
16042        self.feature_type = feature_type
16043
16044
16045class ExposureControlResponse(msrest.serialization.Model):
16046    """The exposure control response.
16047
16048    Variables are only populated by the server, and will be ignored when sending a request.
16049
16050    :ivar feature_name: The feature name.
16051    :vartype feature_name: str
16052    :ivar value: The feature value.
16053    :vartype value: str
16054    """
16055
16056    _validation = {
16057        'feature_name': {'readonly': True},
16058        'value': {'readonly': True},
16059    }
16060
16061    _attribute_map = {
16062        'feature_name': {'key': 'featureName', 'type': 'str'},
16063        'value': {'key': 'value', 'type': 'str'},
16064    }
16065
16066    def __init__(
16067        self,
16068        **kwargs
16069    ):
16070        super(ExposureControlResponse, self).__init__(**kwargs)
16071        self.feature_name = None
16072        self.value = None
16073
16074
16075class Expression(msrest.serialization.Model):
16076    """Azure Synapse expression definition.
16077
16078    All required parameters must be populated in order to send to Azure.
16079
16080    :param type: Required. Expression type. Possible values include: "Expression".
16081    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.ExpressionType
16082    :param value: Required. Expression value.
16083    :type value: str
16084    """
16085
16086    _validation = {
16087        'type': {'required': True},
16088        'value': {'required': True},
16089    }
16090
16091    _attribute_map = {
16092        'type': {'key': 'type', 'type': 'str'},
16093        'value': {'key': 'value', 'type': 'str'},
16094    }
16095
16096    def __init__(
16097        self,
16098        *,
16099        type: Union[str, "ExpressionType"],
16100        value: str,
16101        **kwargs
16102    ):
16103        super(Expression, self).__init__(**kwargs)
16104        self.type = type
16105        self.value = value
16106
16107
16108class FileServerLinkedService(LinkedService):
16109    """File system linked service.
16110
16111    All required parameters must be populated in order to send to Azure.
16112
16113    :param additional_properties: Unmatched properties from the message are deserialized to this
16114     collection.
16115    :type additional_properties: dict[str, any]
16116    :param type: Required. Type of linked service.Constant filled by server.
16117    :type type: str
16118    :param connect_via: The integration runtime reference.
16119    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
16120    :param description: Linked service description.
16121    :type description: str
16122    :param parameters: Parameters for linked service.
16123    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
16124    :param annotations: List of tags that can be used for describing the linked service.
16125    :type annotations: list[any]
16126    :param host: Required. Host name of the server. Type: string (or Expression with resultType
16127     string).
16128    :type host: any
16129    :param user_id: User ID to logon the server. Type: string (or Expression with resultType
16130     string).
16131    :type user_id: any
16132    :param password: Password to logon the server.
16133    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
16134    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
16135     encrypted using the integration runtime credential manager. Type: string (or Expression with
16136     resultType string).
16137    :type encrypted_credential: any
16138    """
16139
16140    _validation = {
16141        'type': {'required': True},
16142        'host': {'required': True},
16143    }
16144
16145    _attribute_map = {
16146        'additional_properties': {'key': '', 'type': '{object}'},
16147        'type': {'key': 'type', 'type': 'str'},
16148        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
16149        'description': {'key': 'description', 'type': 'str'},
16150        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
16151        'annotations': {'key': 'annotations', 'type': '[object]'},
16152        'host': {'key': 'typeProperties.host', 'type': 'object'},
16153        'user_id': {'key': 'typeProperties.userId', 'type': 'object'},
16154        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
16155        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
16156    }
16157
16158    def __init__(
16159        self,
16160        *,
16161        host: Any,
16162        additional_properties: Optional[Dict[str, Any]] = None,
16163        connect_via: Optional["IntegrationRuntimeReference"] = None,
16164        description: Optional[str] = None,
16165        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
16166        annotations: Optional[List[Any]] = None,
16167        user_id: Optional[Any] = None,
16168        password: Optional["SecretBase"] = None,
16169        encrypted_credential: Optional[Any] = None,
16170        **kwargs
16171    ):
16172        super(FileServerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
16173        self.type = 'FileServer'  # type: str
16174        self.host = host
16175        self.user_id = user_id
16176        self.password = password
16177        self.encrypted_credential = encrypted_credential
16178
16179
16180class FileServerLocation(DatasetLocation):
16181    """The location of file server dataset.
16182
16183    All required parameters must be populated in order to send to Azure.
16184
16185    :param additional_properties: Unmatched properties from the message are deserialized to this
16186     collection.
16187    :type additional_properties: dict[str, any]
16188    :param type: Required. Type of dataset storage location.Constant filled by server.
16189    :type type: str
16190    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
16191     resultType string).
16192    :type folder_path: any
16193    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
16194     string).
16195    :type file_name: any
16196    """
16197
16198    _validation = {
16199        'type': {'required': True},
16200    }
16201
16202    _attribute_map = {
16203        'additional_properties': {'key': '', 'type': '{object}'},
16204        'type': {'key': 'type', 'type': 'str'},
16205        'folder_path': {'key': 'folderPath', 'type': 'object'},
16206        'file_name': {'key': 'fileName', 'type': 'object'},
16207    }
16208
16209    def __init__(
16210        self,
16211        *,
16212        additional_properties: Optional[Dict[str, Any]] = None,
16213        folder_path: Optional[Any] = None,
16214        file_name: Optional[Any] = None,
16215        **kwargs
16216    ):
16217        super(FileServerLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
16218        self.type = 'FileServerLocation'  # type: str
16219
16220
16221class FileServerReadSettings(StoreReadSettings):
16222    """File server read settings.
16223
16224    All required parameters must be populated in order to send to Azure.
16225
16226    :param additional_properties: Unmatched properties from the message are deserialized to this
16227     collection.
16228    :type additional_properties: dict[str, any]
16229    :param type: Required. The read setting type.Constant filled by server.
16230    :type type: str
16231    :param max_concurrent_connections: The maximum concurrent connection count for the source data
16232     store. Type: integer (or Expression with resultType integer).
16233    :type max_concurrent_connections: any
16234    :param recursive: If true, files under the folder path will be read recursively. Default is
16235     true. Type: boolean (or Expression with resultType boolean).
16236    :type recursive: any
16237    :param wildcard_folder_path: FileServer wildcardFolderPath. Type: string (or Expression with
16238     resultType string).
16239    :type wildcard_folder_path: any
16240    :param wildcard_file_name: FileServer wildcardFileName. Type: string (or Expression with
16241     resultType string).
16242    :type wildcard_file_name: any
16243    :param file_list_path: Point to a text file that lists each file (relative path to the path
16244     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
16245     string).
16246    :type file_list_path: any
16247    :param enable_partition_discovery: Indicates whether to enable partition discovery.
16248    :type enable_partition_discovery: bool
16249    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
16250     string (or Expression with resultType string).
16251    :type partition_root_path: any
16252    :param delete_files_after_completion: Indicates whether the source files need to be deleted
16253     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
16254    :type delete_files_after_completion: any
16255    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
16256     Expression with resultType string).
16257    :type modified_datetime_start: any
16258    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
16259     with resultType string).
16260    :type modified_datetime_end: any
16261    :param file_filter: Specify a filter to be used to select a subset of files in the folderPath
16262     rather than all files. Type: string (or Expression with resultType string).
16263    :type file_filter: any
16264    """
16265
16266    _validation = {
16267        'type': {'required': True},
16268    }
16269
16270    _attribute_map = {
16271        'additional_properties': {'key': '', 'type': '{object}'},
16272        'type': {'key': 'type', 'type': 'str'},
16273        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
16274        'recursive': {'key': 'recursive', 'type': 'object'},
16275        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
16276        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
16277        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
16278        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
16279        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
16280        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
16281        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
16282        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
16283        'file_filter': {'key': 'fileFilter', 'type': 'object'},
16284    }
16285
16286    def __init__(
16287        self,
16288        *,
16289        additional_properties: Optional[Dict[str, Any]] = None,
16290        max_concurrent_connections: Optional[Any] = None,
16291        recursive: Optional[Any] = None,
16292        wildcard_folder_path: Optional[Any] = None,
16293        wildcard_file_name: Optional[Any] = None,
16294        file_list_path: Optional[Any] = None,
16295        enable_partition_discovery: Optional[bool] = None,
16296        partition_root_path: Optional[Any] = None,
16297        delete_files_after_completion: Optional[Any] = None,
16298        modified_datetime_start: Optional[Any] = None,
16299        modified_datetime_end: Optional[Any] = None,
16300        file_filter: Optional[Any] = None,
16301        **kwargs
16302    ):
16303        super(FileServerReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
16304        self.type = 'FileServerReadSettings'  # type: str
16305        self.recursive = recursive
16306        self.wildcard_folder_path = wildcard_folder_path
16307        self.wildcard_file_name = wildcard_file_name
16308        self.file_list_path = file_list_path
16309        self.enable_partition_discovery = enable_partition_discovery
16310        self.partition_root_path = partition_root_path
16311        self.delete_files_after_completion = delete_files_after_completion
16312        self.modified_datetime_start = modified_datetime_start
16313        self.modified_datetime_end = modified_datetime_end
16314        self.file_filter = file_filter
16315
16316
16317class FileServerWriteSettings(StoreWriteSettings):
16318    """File server write settings.
16319
16320    All required parameters must be populated in order to send to Azure.
16321
16322    :param additional_properties: Unmatched properties from the message are deserialized to this
16323     collection.
16324    :type additional_properties: dict[str, any]
16325    :param type: Required. The write setting type.Constant filled by server.
16326    :type type: str
16327    :param max_concurrent_connections: The maximum concurrent connection count for the source data
16328     store. Type: integer (or Expression with resultType integer).
16329    :type max_concurrent_connections: any
16330    :param copy_behavior: The type of copy behavior for copy sink.
16331    :type copy_behavior: any
16332    """
16333
16334    _validation = {
16335        'type': {'required': True},
16336    }
16337
16338    _attribute_map = {
16339        'additional_properties': {'key': '', 'type': '{object}'},
16340        'type': {'key': 'type', 'type': 'str'},
16341        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
16342        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
16343    }
16344
16345    def __init__(
16346        self,
16347        *,
16348        additional_properties: Optional[Dict[str, Any]] = None,
16349        max_concurrent_connections: Optional[Any] = None,
16350        copy_behavior: Optional[Any] = None,
16351        **kwargs
16352    ):
16353        super(FileServerWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs)
16354        self.type = 'FileServerWriteSettings'  # type: str
16355
16356
16357class FileShareDataset(Dataset):
16358    """An on-premises file system dataset.
16359
16360    All required parameters must be populated in order to send to Azure.
16361
16362    :param additional_properties: Unmatched properties from the message are deserialized to this
16363     collection.
16364    :type additional_properties: dict[str, any]
16365    :param type: Required. Type of dataset.Constant filled by server.
16366    :type type: str
16367    :param description: Dataset description.
16368    :type description: str
16369    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
16370     with resultType array), itemType: DatasetDataElement.
16371    :type structure: any
16372    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
16373     Expression with resultType array), itemType: DatasetSchemaDataElement.
16374    :type schema: any
16375    :param linked_service_name: Required. Linked service reference.
16376    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
16377    :param parameters: Parameters for dataset.
16378    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
16379    :param annotations: List of tags that can be used for describing the Dataset.
16380    :type annotations: list[any]
16381    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
16382     root level.
16383    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
16384    :param folder_path: The path of the on-premises file system. Type: string (or Expression with
16385     resultType string).
16386    :type folder_path: any
16387    :param file_name: The name of the on-premises file system. Type: string (or Expression with
16388     resultType string).
16389    :type file_name: any
16390    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
16391     Expression with resultType string).
16392    :type modified_datetime_start: any
16393    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
16394     with resultType string).
16395    :type modified_datetime_end: any
16396    :param format: The format of the files.
16397    :type format: ~azure.synapse.artifacts.v2020_12_01.models.DatasetStorageFormat
16398    :param file_filter: Specify a filter to be used to select a subset of files in the folderPath
16399     rather than all files. Type: string (or Expression with resultType string).
16400    :type file_filter: any
16401    :param compression: The data compression method used for the file system.
16402    :type compression: ~azure.synapse.artifacts.v2020_12_01.models.DatasetCompression
16403    """
16404
16405    _validation = {
16406        'type': {'required': True},
16407        'linked_service_name': {'required': True},
16408    }
16409
16410    _attribute_map = {
16411        'additional_properties': {'key': '', 'type': '{object}'},
16412        'type': {'key': 'type', 'type': 'str'},
16413        'description': {'key': 'description', 'type': 'str'},
16414        'structure': {'key': 'structure', 'type': 'object'},
16415        'schema': {'key': 'schema', 'type': 'object'},
16416        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
16417        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
16418        'annotations': {'key': 'annotations', 'type': '[object]'},
16419        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
16420        'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'},
16421        'file_name': {'key': 'typeProperties.fileName', 'type': 'object'},
16422        'modified_datetime_start': {'key': 'typeProperties.modifiedDatetimeStart', 'type': 'object'},
16423        'modified_datetime_end': {'key': 'typeProperties.modifiedDatetimeEnd', 'type': 'object'},
16424        'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'},
16425        'file_filter': {'key': 'typeProperties.fileFilter', 'type': 'object'},
16426        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
16427    }
16428
16429    def __init__(
16430        self,
16431        *,
16432        linked_service_name: "LinkedServiceReference",
16433        additional_properties: Optional[Dict[str, Any]] = None,
16434        description: Optional[str] = None,
16435        structure: Optional[Any] = None,
16436        schema: Optional[Any] = None,
16437        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
16438        annotations: Optional[List[Any]] = None,
16439        folder: Optional["DatasetFolder"] = None,
16440        folder_path: Optional[Any] = None,
16441        file_name: Optional[Any] = None,
16442        modified_datetime_start: Optional[Any] = None,
16443        modified_datetime_end: Optional[Any] = None,
16444        format: Optional["DatasetStorageFormat"] = None,
16445        file_filter: Optional[Any] = None,
16446        compression: Optional["DatasetCompression"] = None,
16447        **kwargs
16448    ):
16449        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)
16450        self.type = 'FileShare'  # type: str
16451        self.folder_path = folder_path
16452        self.file_name = file_name
16453        self.modified_datetime_start = modified_datetime_start
16454        self.modified_datetime_end = modified_datetime_end
16455        self.format = format
16456        self.file_filter = file_filter
16457        self.compression = compression
16458
16459
16460class FileSystemSink(CopySink):
16461    """A copy activity file system sink.
16462
16463    All required parameters must be populated in order to send to Azure.
16464
16465    :param additional_properties: Unmatched properties from the message are deserialized to this
16466     collection.
16467    :type additional_properties: dict[str, any]
16468    :param type: Required. Copy sink type.Constant filled by server.
16469    :type type: str
16470    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
16471     integer), minimum: 0.
16472    :type write_batch_size: any
16473    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
16474     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
16475    :type write_batch_timeout: any
16476    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
16477     integer).
16478    :type sink_retry_count: any
16479    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
16480     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
16481    :type sink_retry_wait: any
16482    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
16483     store. Type: integer (or Expression with resultType integer).
16484    :type max_concurrent_connections: any
16485    :param copy_behavior: The type of copy behavior for copy sink.
16486    :type copy_behavior: any
16487    """
16488
16489    _validation = {
16490        'type': {'required': True},
16491    }
16492
16493    _attribute_map = {
16494        'additional_properties': {'key': '', 'type': '{object}'},
16495        'type': {'key': 'type', 'type': 'str'},
16496        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
16497        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
16498        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
16499        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
16500        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
16501        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
16502    }
16503
16504    def __init__(
16505        self,
16506        *,
16507        additional_properties: Optional[Dict[str, Any]] = None,
16508        write_batch_size: Optional[Any] = None,
16509        write_batch_timeout: Optional[Any] = None,
16510        sink_retry_count: Optional[Any] = None,
16511        sink_retry_wait: Optional[Any] = None,
16512        max_concurrent_connections: Optional[Any] = None,
16513        copy_behavior: Optional[Any] = None,
16514        **kwargs
16515    ):
16516        super(FileSystemSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
16517        self.type = 'FileSystemSink'  # type: str
16518        self.copy_behavior = copy_behavior
16519
16520
16521class FileSystemSource(CopySource):
16522    """A copy activity file system source.
16523
16524    All required parameters must be populated in order to send to Azure.
16525
16526    :param additional_properties: Unmatched properties from the message are deserialized to this
16527     collection.
16528    :type additional_properties: dict[str, any]
16529    :param type: Required. Copy source type.Constant filled by server.
16530    :type type: str
16531    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
16532     integer).
16533    :type source_retry_count: any
16534    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
16535     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
16536    :type source_retry_wait: any
16537    :param max_concurrent_connections: The maximum concurrent connection count for the source data
16538     store. Type: integer (or Expression with resultType integer).
16539    :type max_concurrent_connections: any
16540    :param recursive: If true, files under the folder path will be read recursively. Default is
16541     true. Type: boolean (or Expression with resultType boolean).
16542    :type recursive: any
16543    :param additional_columns: Specifies the additional columns to be added to source data. Type:
16544     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
16545    :type additional_columns: any
16546    """
16547
16548    _validation = {
16549        'type': {'required': True},
16550    }
16551
16552    _attribute_map = {
16553        'additional_properties': {'key': '', 'type': '{object}'},
16554        'type': {'key': 'type', 'type': 'str'},
16555        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
16556        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
16557        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
16558        'recursive': {'key': 'recursive', 'type': 'object'},
16559        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
16560    }
16561
16562    def __init__(
16563        self,
16564        *,
16565        additional_properties: Optional[Dict[str, Any]] = None,
16566        source_retry_count: Optional[Any] = None,
16567        source_retry_wait: Optional[Any] = None,
16568        max_concurrent_connections: Optional[Any] = None,
16569        recursive: Optional[Any] = None,
16570        additional_columns: Optional[Any] = None,
16571        **kwargs
16572    ):
16573        super(FileSystemSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
16574        self.type = 'FileSystemSource'  # type: str
16575        self.recursive = recursive
16576        self.additional_columns = additional_columns
16577
16578
16579class FilterActivity(ControlActivity):
16580    """Filter and return results from input array based on the conditions.
16581
16582    All required parameters must be populated in order to send to Azure.
16583
16584    :param additional_properties: Unmatched properties from the message are deserialized to this
16585     collection.
16586    :type additional_properties: dict[str, any]
16587    :param name: Required. Activity name.
16588    :type name: str
16589    :param type: Required. Type of activity.Constant filled by server.
16590    :type type: str
16591    :param description: Activity description.
16592    :type description: str
16593    :param depends_on: Activity depends on condition.
16594    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
16595    :param user_properties: Activity user properties.
16596    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
16597    :param items: Required. Input array on which filter should be applied.
16598    :type items: ~azure.synapse.artifacts.v2020_12_01.models.Expression
16599    :param condition: Required. Condition to be used for filtering the input.
16600    :type condition: ~azure.synapse.artifacts.v2020_12_01.models.Expression
16601    """
16602
16603    _validation = {
16604        'name': {'required': True},
16605        'type': {'required': True},
16606        'items': {'required': True},
16607        'condition': {'required': True},
16608    }
16609
16610    _attribute_map = {
16611        'additional_properties': {'key': '', 'type': '{object}'},
16612        'name': {'key': 'name', 'type': 'str'},
16613        'type': {'key': 'type', 'type': 'str'},
16614        'description': {'key': 'description', 'type': 'str'},
16615        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
16616        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
16617        'items': {'key': 'typeProperties.items', 'type': 'Expression'},
16618        'condition': {'key': 'typeProperties.condition', 'type': 'Expression'},
16619    }
16620
16621    def __init__(
16622        self,
16623        *,
16624        name: str,
16625        items: "Expression",
16626        condition: "Expression",
16627        additional_properties: Optional[Dict[str, Any]] = None,
16628        description: Optional[str] = None,
16629        depends_on: Optional[List["ActivityDependency"]] = None,
16630        user_properties: Optional[List["UserProperty"]] = None,
16631        **kwargs
16632    ):
16633        super(FilterActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
16634        self.type = 'Filter'  # type: str
16635        self.items = items
16636        self.condition = condition
16637
16638
16639class ForEachActivity(ControlActivity):
16640    """This activity is used for iterating over a collection and execute given activities.
16641
16642    All required parameters must be populated in order to send to Azure.
16643
16644    :param additional_properties: Unmatched properties from the message are deserialized to this
16645     collection.
16646    :type additional_properties: dict[str, any]
16647    :param name: Required. Activity name.
16648    :type name: str
16649    :param type: Required. Type of activity.Constant filled by server.
16650    :type type: str
16651    :param description: Activity description.
16652    :type description: str
16653    :param depends_on: Activity depends on condition.
16654    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
16655    :param user_properties: Activity user properties.
16656    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
16657    :param is_sequential: Should the loop be executed in sequence or in parallel (max 50).
16658    :type is_sequential: bool
16659    :param batch_count: Batch count to be used for controlling the number of parallel execution
16660     (when isSequential is set to false).
16661    :type batch_count: int
16662    :param items: Required. Collection to iterate.
16663    :type items: ~azure.synapse.artifacts.v2020_12_01.models.Expression
16664    :param activities: Required. List of activities to execute .
16665    :type activities: list[~azure.synapse.artifacts.v2020_12_01.models.Activity]
16666    """
16667
16668    _validation = {
16669        'name': {'required': True},
16670        'type': {'required': True},
16671        'batch_count': {'maximum': 50},
16672        'items': {'required': True},
16673        'activities': {'required': True},
16674    }
16675
16676    _attribute_map = {
16677        'additional_properties': {'key': '', 'type': '{object}'},
16678        'name': {'key': 'name', 'type': 'str'},
16679        'type': {'key': 'type', 'type': 'str'},
16680        'description': {'key': 'description', 'type': 'str'},
16681        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
16682        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
16683        'is_sequential': {'key': 'typeProperties.isSequential', 'type': 'bool'},
16684        'batch_count': {'key': 'typeProperties.batchCount', 'type': 'int'},
16685        'items': {'key': 'typeProperties.items', 'type': 'Expression'},
16686        'activities': {'key': 'typeProperties.activities', 'type': '[Activity]'},
16687    }
16688
16689    def __init__(
16690        self,
16691        *,
16692        name: str,
16693        items: "Expression",
16694        activities: List["Activity"],
16695        additional_properties: Optional[Dict[str, Any]] = None,
16696        description: Optional[str] = None,
16697        depends_on: Optional[List["ActivityDependency"]] = None,
16698        user_properties: Optional[List["UserProperty"]] = None,
16699        is_sequential: Optional[bool] = None,
16700        batch_count: Optional[int] = None,
16701        **kwargs
16702    ):
16703        super(ForEachActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
16704        self.type = 'ForEach'  # type: str
16705        self.is_sequential = is_sequential
16706        self.batch_count = batch_count
16707        self.items = items
16708        self.activities = activities
16709
16710
16711class FtpReadSettings(StoreReadSettings):
16712    """Ftp read settings.
16713
16714    All required parameters must be populated in order to send to Azure.
16715
16716    :param additional_properties: Unmatched properties from the message are deserialized to this
16717     collection.
16718    :type additional_properties: dict[str, any]
16719    :param type: Required. The read setting type.Constant filled by server.
16720    :type type: str
16721    :param max_concurrent_connections: The maximum concurrent connection count for the source data
16722     store. Type: integer (or Expression with resultType integer).
16723    :type max_concurrent_connections: any
16724    :param recursive: If true, files under the folder path will be read recursively. Default is
16725     true. Type: boolean (or Expression with resultType boolean).
16726    :type recursive: any
16727    :param wildcard_folder_path: Ftp wildcardFolderPath. Type: string (or Expression with
16728     resultType string).
16729    :type wildcard_folder_path: any
16730    :param wildcard_file_name: Ftp wildcardFileName. Type: string (or Expression with resultType
16731     string).
16732    :type wildcard_file_name: any
16733    :param enable_partition_discovery: Indicates whether to enable partition discovery.
16734    :type enable_partition_discovery: bool
16735    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
16736     string (or Expression with resultType string).
16737    :type partition_root_path: any
16738    :param delete_files_after_completion: Indicates whether the source files need to be deleted
16739     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
16740    :type delete_files_after_completion: any
16741    :param file_list_path: Point to a text file that lists each file (relative path to the path
16742     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
16743     string).
16744    :type file_list_path: any
16745    :param use_binary_transfer: Specify whether to use binary transfer mode for FTP stores.
16746    :type use_binary_transfer: bool
16747    """
16748
16749    _validation = {
16750        'type': {'required': True},
16751    }
16752
16753    _attribute_map = {
16754        'additional_properties': {'key': '', 'type': '{object}'},
16755        'type': {'key': 'type', 'type': 'str'},
16756        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
16757        'recursive': {'key': 'recursive', 'type': 'object'},
16758        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
16759        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
16760        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
16761        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
16762        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
16763        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
16764        'use_binary_transfer': {'key': 'useBinaryTransfer', 'type': 'bool'},
16765    }
16766
16767    def __init__(
16768        self,
16769        *,
16770        additional_properties: Optional[Dict[str, Any]] = None,
16771        max_concurrent_connections: Optional[Any] = None,
16772        recursive: Optional[Any] = None,
16773        wildcard_folder_path: Optional[Any] = None,
16774        wildcard_file_name: Optional[Any] = None,
16775        enable_partition_discovery: Optional[bool] = None,
16776        partition_root_path: Optional[Any] = None,
16777        delete_files_after_completion: Optional[Any] = None,
16778        file_list_path: Optional[Any] = None,
16779        use_binary_transfer: Optional[bool] = None,
16780        **kwargs
16781    ):
16782        super(FtpReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
16783        self.type = 'FtpReadSettings'  # type: str
16784        self.recursive = recursive
16785        self.wildcard_folder_path = wildcard_folder_path
16786        self.wildcard_file_name = wildcard_file_name
16787        self.enable_partition_discovery = enable_partition_discovery
16788        self.partition_root_path = partition_root_path
16789        self.delete_files_after_completion = delete_files_after_completion
16790        self.file_list_path = file_list_path
16791        self.use_binary_transfer = use_binary_transfer
16792
16793
16794class FtpServerLinkedService(LinkedService):
16795    """A FTP server Linked Service.
16796
16797    All required parameters must be populated in order to send to Azure.
16798
16799    :param additional_properties: Unmatched properties from the message are deserialized to this
16800     collection.
16801    :type additional_properties: dict[str, any]
16802    :param type: Required. Type of linked service.Constant filled by server.
16803    :type type: str
16804    :param connect_via: The integration runtime reference.
16805    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
16806    :param description: Linked service description.
16807    :type description: str
16808    :param parameters: Parameters for linked service.
16809    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
16810    :param annotations: List of tags that can be used for describing the linked service.
16811    :type annotations: list[any]
16812    :param host: Required. Host name of the FTP server. Type: string (or Expression with resultType
16813     string).
16814    :type host: any
16815    :param port: The TCP port number that the FTP server uses to listen for client connections.
16816     Default value is 21. Type: integer (or Expression with resultType integer), minimum: 0.
16817    :type port: any
16818    :param authentication_type: The authentication type to be used to connect to the FTP server.
16819     Possible values include: "Basic", "Anonymous".
16820    :type authentication_type: str or
16821     ~azure.synapse.artifacts.v2020_12_01.models.FtpAuthenticationType
16822    :param user_name: Username to logon the FTP server. Type: string (or Expression with resultType
16823     string).
16824    :type user_name: any
16825    :param password: Password to logon the FTP server.
16826    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
16827    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
16828     encrypted using the integration runtime credential manager. Type: string (or Expression with
16829     resultType string).
16830    :type encrypted_credential: any
16831    :param enable_ssl: If true, connect to the FTP server over SSL/TLS channel. Default value is
16832     true. Type: boolean (or Expression with resultType boolean).
16833    :type enable_ssl: any
16834    :param enable_server_certificate_validation: If true, validate the FTP server SSL certificate
16835     when connect over SSL/TLS channel. Default value is true. Type: boolean (or Expression with
16836     resultType boolean).
16837    :type enable_server_certificate_validation: any
16838    """
16839
16840    _validation = {
16841        'type': {'required': True},
16842        'host': {'required': True},
16843    }
16844
16845    _attribute_map = {
16846        'additional_properties': {'key': '', 'type': '{object}'},
16847        'type': {'key': 'type', 'type': 'str'},
16848        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
16849        'description': {'key': 'description', 'type': 'str'},
16850        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
16851        'annotations': {'key': 'annotations', 'type': '[object]'},
16852        'host': {'key': 'typeProperties.host', 'type': 'object'},
16853        'port': {'key': 'typeProperties.port', 'type': 'object'},
16854        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
16855        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
16856        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
16857        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
16858        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
16859        'enable_server_certificate_validation': {'key': 'typeProperties.enableServerCertificateValidation', 'type': 'object'},
16860    }
16861
16862    def __init__(
16863        self,
16864        *,
16865        host: Any,
16866        additional_properties: Optional[Dict[str, Any]] = None,
16867        connect_via: Optional["IntegrationRuntimeReference"] = None,
16868        description: Optional[str] = None,
16869        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
16870        annotations: Optional[List[Any]] = None,
16871        port: Optional[Any] = None,
16872        authentication_type: Optional[Union[str, "FtpAuthenticationType"]] = None,
16873        user_name: Optional[Any] = None,
16874        password: Optional["SecretBase"] = None,
16875        encrypted_credential: Optional[Any] = None,
16876        enable_ssl: Optional[Any] = None,
16877        enable_server_certificate_validation: Optional[Any] = None,
16878        **kwargs
16879    ):
16880        super(FtpServerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
16881        self.type = 'FtpServer'  # type: str
16882        self.host = host
16883        self.port = port
16884        self.authentication_type = authentication_type
16885        self.user_name = user_name
16886        self.password = password
16887        self.encrypted_credential = encrypted_credential
16888        self.enable_ssl = enable_ssl
16889        self.enable_server_certificate_validation = enable_server_certificate_validation
16890
16891
16892class FtpServerLocation(DatasetLocation):
16893    """The location of ftp server dataset.
16894
16895    All required parameters must be populated in order to send to Azure.
16896
16897    :param additional_properties: Unmatched properties from the message are deserialized to this
16898     collection.
16899    :type additional_properties: dict[str, any]
16900    :param type: Required. Type of dataset storage location.Constant filled by server.
16901    :type type: str
16902    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
16903     resultType string).
16904    :type folder_path: any
16905    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
16906     string).
16907    :type file_name: any
16908    """
16909
16910    _validation = {
16911        'type': {'required': True},
16912    }
16913
16914    _attribute_map = {
16915        'additional_properties': {'key': '', 'type': '{object}'},
16916        'type': {'key': 'type', 'type': 'str'},
16917        'folder_path': {'key': 'folderPath', 'type': 'object'},
16918        'file_name': {'key': 'fileName', 'type': 'object'},
16919    }
16920
16921    def __init__(
16922        self,
16923        *,
16924        additional_properties: Optional[Dict[str, Any]] = None,
16925        folder_path: Optional[Any] = None,
16926        file_name: Optional[Any] = None,
16927        **kwargs
16928    ):
16929        super(FtpServerLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
16930        self.type = 'FtpServerLocation'  # type: str
16931
16932
16933class GetMetadataActivity(ExecutionActivity):
16934    """Activity to get metadata of dataset.
16935
16936    All required parameters must be populated in order to send to Azure.
16937
16938    :param additional_properties: Unmatched properties from the message are deserialized to this
16939     collection.
16940    :type additional_properties: dict[str, any]
16941    :param name: Required. Activity name.
16942    :type name: str
16943    :param type: Required. Type of activity.Constant filled by server.
16944    :type type: str
16945    :param description: Activity description.
16946    :type description: str
16947    :param depends_on: Activity depends on condition.
16948    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
16949    :param user_properties: Activity user properties.
16950    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
16951    :param linked_service_name: Linked service reference.
16952    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
16953    :param policy: Activity policy.
16954    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
16955    :param dataset: Required. GetMetadata activity dataset reference.
16956    :type dataset: ~azure.synapse.artifacts.v2020_12_01.models.DatasetReference
16957    :param field_list: Fields of metadata to get from dataset.
16958    :type field_list: list[any]
16959    :param store_settings: GetMetadata activity store settings.
16960    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreReadSettings
16961    :param format_settings: GetMetadata activity format settings.
16962    :type format_settings: ~azure.synapse.artifacts.v2020_12_01.models.FormatReadSettings
16963    """
16964
16965    _validation = {
16966        'name': {'required': True},
16967        'type': {'required': True},
16968        'dataset': {'required': True},
16969    }
16970
16971    _attribute_map = {
16972        'additional_properties': {'key': '', 'type': '{object}'},
16973        'name': {'key': 'name', 'type': 'str'},
16974        'type': {'key': 'type', 'type': 'str'},
16975        'description': {'key': 'description', 'type': 'str'},
16976        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
16977        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
16978        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
16979        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
16980        'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'},
16981        'field_list': {'key': 'typeProperties.fieldList', 'type': '[object]'},
16982        'store_settings': {'key': 'typeProperties.storeSettings', 'type': 'StoreReadSettings'},
16983        'format_settings': {'key': 'typeProperties.formatSettings', 'type': 'FormatReadSettings'},
16984    }
16985
16986    def __init__(
16987        self,
16988        *,
16989        name: str,
16990        dataset: "DatasetReference",
16991        additional_properties: Optional[Dict[str, Any]] = None,
16992        description: Optional[str] = None,
16993        depends_on: Optional[List["ActivityDependency"]] = None,
16994        user_properties: Optional[List["UserProperty"]] = None,
16995        linked_service_name: Optional["LinkedServiceReference"] = None,
16996        policy: Optional["ActivityPolicy"] = None,
16997        field_list: Optional[List[Any]] = None,
16998        store_settings: Optional["StoreReadSettings"] = None,
16999        format_settings: Optional["FormatReadSettings"] = None,
17000        **kwargs
17001    ):
17002        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)
17003        self.type = 'GetMetadata'  # type: str
17004        self.dataset = dataset
17005        self.field_list = field_list
17006        self.store_settings = store_settings
17007        self.format_settings = format_settings
17008
17009
17010class GetSsisObjectMetadataRequest(msrest.serialization.Model):
17011    """The request payload of get SSIS object metadata.
17012
17013    :param metadata_path: Metadata path.
17014    :type metadata_path: str
17015    """
17016
17017    _attribute_map = {
17018        'metadata_path': {'key': 'metadataPath', 'type': 'str'},
17019    }
17020
17021    def __init__(
17022        self,
17023        *,
17024        metadata_path: Optional[str] = None,
17025        **kwargs
17026    ):
17027        super(GetSsisObjectMetadataRequest, self).__init__(**kwargs)
17028        self.metadata_path = metadata_path
17029
17030
17031class GitHubAccessTokenRequest(msrest.serialization.Model):
17032    """GitHubAccessTokenRequest.
17033
17034    All required parameters must be populated in order to send to Azure.
17035
17036    :param git_hub_client_id: Required. The GitHub Client Id.
17037    :type git_hub_client_id: str
17038    :param git_hub_access_code: Required. The GitHub Access code.
17039    :type git_hub_access_code: str
17040    :param git_hub_access_token_base_url: Required. The GitHub access token base URL.
17041    :type git_hub_access_token_base_url: str
17042    """
17043
17044    _validation = {
17045        'git_hub_client_id': {'required': True},
17046        'git_hub_access_code': {'required': True},
17047        'git_hub_access_token_base_url': {'required': True},
17048    }
17049
17050    _attribute_map = {
17051        'git_hub_client_id': {'key': 'gitHubClientId', 'type': 'str'},
17052        'git_hub_access_code': {'key': 'gitHubAccessCode', 'type': 'str'},
17053        'git_hub_access_token_base_url': {'key': 'gitHubAccessTokenBaseUrl', 'type': 'str'},
17054    }
17055
17056    def __init__(
17057        self,
17058        *,
17059        git_hub_client_id: str,
17060        git_hub_access_code: str,
17061        git_hub_access_token_base_url: str,
17062        **kwargs
17063    ):
17064        super(GitHubAccessTokenRequest, self).__init__(**kwargs)
17065        self.git_hub_client_id = git_hub_client_id
17066        self.git_hub_access_code = git_hub_access_code
17067        self.git_hub_access_token_base_url = git_hub_access_token_base_url
17068
17069
17070class GitHubAccessTokenResponse(msrest.serialization.Model):
17071    """GitHubAccessTokenResponse.
17072
17073    :param git_hub_access_token:
17074    :type git_hub_access_token: str
17075    """
17076
17077    _attribute_map = {
17078        'git_hub_access_token': {'key': 'gitHubAccessToken', 'type': 'str'},
17079    }
17080
17081    def __init__(
17082        self,
17083        *,
17084        git_hub_access_token: Optional[str] = None,
17085        **kwargs
17086    ):
17087        super(GitHubAccessTokenResponse, self).__init__(**kwargs)
17088        self.git_hub_access_token = git_hub_access_token
17089
17090
17091class GitHubClientSecret(msrest.serialization.Model):
17092    """Client secret information for factory's bring your own app repository configuration.
17093
17094    :param byoa_secret_akv_url: Bring your own app client secret AKV URL.
17095    :type byoa_secret_akv_url: str
17096    :param byoa_secret_name: Bring your own app client secret name in AKV.
17097    :type byoa_secret_name: str
17098    """
17099
17100    _attribute_map = {
17101        'byoa_secret_akv_url': {'key': 'byoaSecretAkvUrl', 'type': 'str'},
17102        'byoa_secret_name': {'key': 'byoaSecretName', 'type': 'str'},
17103    }
17104
17105    def __init__(
17106        self,
17107        *,
17108        byoa_secret_akv_url: Optional[str] = None,
17109        byoa_secret_name: Optional[str] = None,
17110        **kwargs
17111    ):
17112        super(GitHubClientSecret, self).__init__(**kwargs)
17113        self.byoa_secret_akv_url = byoa_secret_akv_url
17114        self.byoa_secret_name = byoa_secret_name
17115
17116
17117class GoogleAdWordsLinkedService(LinkedService):
17118    """Google AdWords service linked service.
17119
17120    All required parameters must be populated in order to send to Azure.
17121
17122    :param additional_properties: Unmatched properties from the message are deserialized to this
17123     collection.
17124    :type additional_properties: dict[str, any]
17125    :param type: Required. Type of linked service.Constant filled by server.
17126    :type type: str
17127    :param connect_via: The integration runtime reference.
17128    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
17129    :param description: Linked service description.
17130    :type description: str
17131    :param parameters: Parameters for linked service.
17132    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
17133    :param annotations: List of tags that can be used for describing the linked service.
17134    :type annotations: list[any]
17135    :param client_customer_id: Required. The Client customer ID of the AdWords account that you
17136     want to fetch report data for.
17137    :type client_customer_id: any
17138    :param developer_token: Required. The developer token associated with the manager account that
17139     you use to grant access to the AdWords API.
17140    :type developer_token: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
17141    :param authentication_type: Required. The OAuth 2.0 authentication mechanism used for
17142     authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values
17143     include: "ServiceAuthentication", "UserAuthentication".
17144    :type authentication_type: str or
17145     ~azure.synapse.artifacts.v2020_12_01.models.GoogleAdWordsAuthenticationType
17146    :param refresh_token: The refresh token obtained from Google for authorizing access to AdWords
17147     for UserAuthentication.
17148    :type refresh_token: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
17149    :param client_id: The client id of the google application used to acquire the refresh token.
17150     Type: string (or Expression with resultType string).
17151    :type client_id: any
17152    :param client_secret: The client secret of the google application used to acquire the refresh
17153     token.
17154    :type client_secret: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
17155    :param email: The service account email ID that is used for ServiceAuthentication and can only
17156     be used on self-hosted IR.
17157    :type email: any
17158    :param key_file_path: The full path to the .p12 key file that is used to authenticate the
17159     service account email address and can only be used on self-hosted IR.
17160    :type key_file_path: any
17161    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
17162     verifying the server when connecting over SSL. This property can only be set when using SSL on
17163     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
17164    :type trusted_cert_path: any
17165    :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust
17166     store or from a specified PEM file. The default value is false.
17167    :type use_system_trust_store: any
17168    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
17169     encrypted using the integration runtime credential manager. Type: string (or Expression with
17170     resultType string).
17171    :type encrypted_credential: any
17172    """
17173
17174    _validation = {
17175        'type': {'required': True},
17176        'client_customer_id': {'required': True},
17177        'developer_token': {'required': True},
17178        'authentication_type': {'required': True},
17179    }
17180
17181    _attribute_map = {
17182        'additional_properties': {'key': '', 'type': '{object}'},
17183        'type': {'key': 'type', 'type': 'str'},
17184        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
17185        'description': {'key': 'description', 'type': 'str'},
17186        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
17187        'annotations': {'key': 'annotations', 'type': '[object]'},
17188        'client_customer_id': {'key': 'typeProperties.clientCustomerID', 'type': 'object'},
17189        'developer_token': {'key': 'typeProperties.developerToken', 'type': 'SecretBase'},
17190        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
17191        'refresh_token': {'key': 'typeProperties.refreshToken', 'type': 'SecretBase'},
17192        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
17193        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
17194        'email': {'key': 'typeProperties.email', 'type': 'object'},
17195        'key_file_path': {'key': 'typeProperties.keyFilePath', 'type': 'object'},
17196        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
17197        'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'},
17198        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
17199    }
17200
17201    def __init__(
17202        self,
17203        *,
17204        client_customer_id: Any,
17205        developer_token: "SecretBase",
17206        authentication_type: Union[str, "GoogleAdWordsAuthenticationType"],
17207        additional_properties: Optional[Dict[str, Any]] = None,
17208        connect_via: Optional["IntegrationRuntimeReference"] = None,
17209        description: Optional[str] = None,
17210        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
17211        annotations: Optional[List[Any]] = None,
17212        refresh_token: Optional["SecretBase"] = None,
17213        client_id: Optional[Any] = None,
17214        client_secret: Optional["SecretBase"] = None,
17215        email: Optional[Any] = None,
17216        key_file_path: Optional[Any] = None,
17217        trusted_cert_path: Optional[Any] = None,
17218        use_system_trust_store: Optional[Any] = None,
17219        encrypted_credential: Optional[Any] = None,
17220        **kwargs
17221    ):
17222        super(GoogleAdWordsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
17223        self.type = 'GoogleAdWords'  # type: str
17224        self.client_customer_id = client_customer_id
17225        self.developer_token = developer_token
17226        self.authentication_type = authentication_type
17227        self.refresh_token = refresh_token
17228        self.client_id = client_id
17229        self.client_secret = client_secret
17230        self.email = email
17231        self.key_file_path = key_file_path
17232        self.trusted_cert_path = trusted_cert_path
17233        self.use_system_trust_store = use_system_trust_store
17234        self.encrypted_credential = encrypted_credential
17235
17236
17237class GoogleAdWordsObjectDataset(Dataset):
17238    """Google AdWords service dataset.
17239
17240    All required parameters must be populated in order to send to Azure.
17241
17242    :param additional_properties: Unmatched properties from the message are deserialized to this
17243     collection.
17244    :type additional_properties: dict[str, any]
17245    :param type: Required. Type of dataset.Constant filled by server.
17246    :type type: str
17247    :param description: Dataset description.
17248    :type description: str
17249    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
17250     with resultType array), itemType: DatasetDataElement.
17251    :type structure: any
17252    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
17253     Expression with resultType array), itemType: DatasetSchemaDataElement.
17254    :type schema: any
17255    :param linked_service_name: Required. Linked service reference.
17256    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
17257    :param parameters: Parameters for dataset.
17258    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
17259    :param annotations: List of tags that can be used for describing the Dataset.
17260    :type annotations: list[any]
17261    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
17262     root level.
17263    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
17264    :param table_name: The table name. Type: string (or Expression with resultType string).
17265    :type table_name: any
17266    """
17267
17268    _validation = {
17269        'type': {'required': True},
17270        'linked_service_name': {'required': True},
17271    }
17272
17273    _attribute_map = {
17274        'additional_properties': {'key': '', 'type': '{object}'},
17275        'type': {'key': 'type', 'type': 'str'},
17276        'description': {'key': 'description', 'type': 'str'},
17277        'structure': {'key': 'structure', 'type': 'object'},
17278        'schema': {'key': 'schema', 'type': 'object'},
17279        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
17280        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
17281        'annotations': {'key': 'annotations', 'type': '[object]'},
17282        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
17283        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
17284    }
17285
17286    def __init__(
17287        self,
17288        *,
17289        linked_service_name: "LinkedServiceReference",
17290        additional_properties: Optional[Dict[str, Any]] = None,
17291        description: Optional[str] = None,
17292        structure: Optional[Any] = None,
17293        schema: Optional[Any] = None,
17294        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
17295        annotations: Optional[List[Any]] = None,
17296        folder: Optional["DatasetFolder"] = None,
17297        table_name: Optional[Any] = None,
17298        **kwargs
17299    ):
17300        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)
17301        self.type = 'GoogleAdWordsObject'  # type: str
17302        self.table_name = table_name
17303
17304
17305class GoogleAdWordsSource(TabularSource):
17306    """A copy activity Google AdWords service source.
17307
17308    All required parameters must be populated in order to send to Azure.
17309
17310    :param additional_properties: Unmatched properties from the message are deserialized to this
17311     collection.
17312    :type additional_properties: dict[str, any]
17313    :param type: Required. Copy source type.Constant filled by server.
17314    :type type: str
17315    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
17316     integer).
17317    :type source_retry_count: any
17318    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
17319     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
17320    :type source_retry_wait: any
17321    :param max_concurrent_connections: The maximum concurrent connection count for the source data
17322     store. Type: integer (or Expression with resultType integer).
17323    :type max_concurrent_connections: any
17324    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
17325     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
17326    :type query_timeout: any
17327    :param additional_columns: Specifies the additional columns to be added to source data. Type:
17328     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
17329    :type additional_columns: any
17330    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
17331     string).
17332    :type query: any
17333    """
17334
17335    _validation = {
17336        'type': {'required': True},
17337    }
17338
17339    _attribute_map = {
17340        'additional_properties': {'key': '', 'type': '{object}'},
17341        'type': {'key': 'type', 'type': 'str'},
17342        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
17343        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
17344        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
17345        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
17346        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
17347        'query': {'key': 'query', 'type': 'object'},
17348    }
17349
17350    def __init__(
17351        self,
17352        *,
17353        additional_properties: Optional[Dict[str, Any]] = None,
17354        source_retry_count: Optional[Any] = None,
17355        source_retry_wait: Optional[Any] = None,
17356        max_concurrent_connections: Optional[Any] = None,
17357        query_timeout: Optional[Any] = None,
17358        additional_columns: Optional[Any] = None,
17359        query: Optional[Any] = None,
17360        **kwargs
17361    ):
17362        super(GoogleAdWordsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
17363        self.type = 'GoogleAdWordsSource'  # type: str
17364        self.query = query
17365
17366
17367class GoogleBigQueryLinkedService(LinkedService):
17368    """Google BigQuery service linked service.
17369
17370    All required parameters must be populated in order to send to Azure.
17371
17372    :param additional_properties: Unmatched properties from the message are deserialized to this
17373     collection.
17374    :type additional_properties: dict[str, any]
17375    :param type: Required. Type of linked service.Constant filled by server.
17376    :type type: str
17377    :param connect_via: The integration runtime reference.
17378    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
17379    :param description: Linked service description.
17380    :type description: str
17381    :param parameters: Parameters for linked service.
17382    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
17383    :param annotations: List of tags that can be used for describing the linked service.
17384    :type annotations: list[any]
17385    :param project: Required. The default BigQuery project to query against.
17386    :type project: any
17387    :param additional_projects: A comma-separated list of public BigQuery projects to access.
17388    :type additional_projects: any
17389    :param request_google_drive_scope: Whether to request access to Google Drive. Allowing Google
17390     Drive access enables support for federated tables that combine BigQuery data with data from
17391     Google Drive. The default value is false.
17392    :type request_google_drive_scope: any
17393    :param authentication_type: Required. The OAuth 2.0 authentication mechanism used for
17394     authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values
17395     include: "ServiceAuthentication", "UserAuthentication".
17396    :type authentication_type: str or
17397     ~azure.synapse.artifacts.v2020_12_01.models.GoogleBigQueryAuthenticationType
17398    :param refresh_token: The refresh token obtained from Google for authorizing access to BigQuery
17399     for UserAuthentication.
17400    :type refresh_token: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
17401    :param client_id: The client id of the google application used to acquire the refresh token.
17402     Type: string (or Expression with resultType string).
17403    :type client_id: any
17404    :param client_secret: The client secret of the google application used to acquire the refresh
17405     token.
17406    :type client_secret: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
17407    :param email: The service account email ID that is used for ServiceAuthentication and can only
17408     be used on self-hosted IR.
17409    :type email: any
17410    :param key_file_path: The full path to the .p12 key file that is used to authenticate the
17411     service account email address and can only be used on self-hosted IR.
17412    :type key_file_path: any
17413    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
17414     verifying the server when connecting over SSL. This property can only be set when using SSL on
17415     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
17416    :type trusted_cert_path: any
17417    :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust
17418     store or from a specified PEM file. The default value is false.
17419    :type use_system_trust_store: any
17420    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
17421     encrypted using the integration runtime credential manager. Type: string (or Expression with
17422     resultType string).
17423    :type encrypted_credential: any
17424    """
17425
17426    _validation = {
17427        'type': {'required': True},
17428        'project': {'required': True},
17429        'authentication_type': {'required': True},
17430    }
17431
17432    _attribute_map = {
17433        'additional_properties': {'key': '', 'type': '{object}'},
17434        'type': {'key': 'type', 'type': 'str'},
17435        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
17436        'description': {'key': 'description', 'type': 'str'},
17437        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
17438        'annotations': {'key': 'annotations', 'type': '[object]'},
17439        'project': {'key': 'typeProperties.project', 'type': 'object'},
17440        'additional_projects': {'key': 'typeProperties.additionalProjects', 'type': 'object'},
17441        'request_google_drive_scope': {'key': 'typeProperties.requestGoogleDriveScope', 'type': 'object'},
17442        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
17443        'refresh_token': {'key': 'typeProperties.refreshToken', 'type': 'SecretBase'},
17444        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
17445        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
17446        'email': {'key': 'typeProperties.email', 'type': 'object'},
17447        'key_file_path': {'key': 'typeProperties.keyFilePath', 'type': 'object'},
17448        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
17449        'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'},
17450        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
17451    }
17452
17453    def __init__(
17454        self,
17455        *,
17456        project: Any,
17457        authentication_type: Union[str, "GoogleBigQueryAuthenticationType"],
17458        additional_properties: Optional[Dict[str, Any]] = None,
17459        connect_via: Optional["IntegrationRuntimeReference"] = None,
17460        description: Optional[str] = None,
17461        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
17462        annotations: Optional[List[Any]] = None,
17463        additional_projects: Optional[Any] = None,
17464        request_google_drive_scope: Optional[Any] = None,
17465        refresh_token: Optional["SecretBase"] = None,
17466        client_id: Optional[Any] = None,
17467        client_secret: Optional["SecretBase"] = None,
17468        email: Optional[Any] = None,
17469        key_file_path: Optional[Any] = None,
17470        trusted_cert_path: Optional[Any] = None,
17471        use_system_trust_store: Optional[Any] = None,
17472        encrypted_credential: Optional[Any] = None,
17473        **kwargs
17474    ):
17475        super(GoogleBigQueryLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
17476        self.type = 'GoogleBigQuery'  # type: str
17477        self.project = project
17478        self.additional_projects = additional_projects
17479        self.request_google_drive_scope = request_google_drive_scope
17480        self.authentication_type = authentication_type
17481        self.refresh_token = refresh_token
17482        self.client_id = client_id
17483        self.client_secret = client_secret
17484        self.email = email
17485        self.key_file_path = key_file_path
17486        self.trusted_cert_path = trusted_cert_path
17487        self.use_system_trust_store = use_system_trust_store
17488        self.encrypted_credential = encrypted_credential
17489
17490
17491class GoogleBigQueryObjectDataset(Dataset):
17492    """Google BigQuery service dataset.
17493
17494    All required parameters must be populated in order to send to Azure.
17495
17496    :param additional_properties: Unmatched properties from the message are deserialized to this
17497     collection.
17498    :type additional_properties: dict[str, any]
17499    :param type: Required. Type of dataset.Constant filled by server.
17500    :type type: str
17501    :param description: Dataset description.
17502    :type description: str
17503    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
17504     with resultType array), itemType: DatasetDataElement.
17505    :type structure: any
17506    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
17507     Expression with resultType array), itemType: DatasetSchemaDataElement.
17508    :type schema: any
17509    :param linked_service_name: Required. Linked service reference.
17510    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
17511    :param parameters: Parameters for dataset.
17512    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
17513    :param annotations: List of tags that can be used for describing the Dataset.
17514    :type annotations: list[any]
17515    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
17516     root level.
17517    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
17518    :param table_name: This property will be retired. Please consider using database + table
17519     properties instead.
17520    :type table_name: any
17521    :param table: The table name of the Google BigQuery. Type: string (or Expression with
17522     resultType string).
17523    :type table: any
17524    :param dataset: The database name of the Google BigQuery. Type: string (or Expression with
17525     resultType string).
17526    :type dataset: any
17527    """
17528
17529    _validation = {
17530        'type': {'required': True},
17531        'linked_service_name': {'required': True},
17532    }
17533
17534    _attribute_map = {
17535        'additional_properties': {'key': '', 'type': '{object}'},
17536        'type': {'key': 'type', 'type': 'str'},
17537        'description': {'key': 'description', 'type': 'str'},
17538        'structure': {'key': 'structure', 'type': 'object'},
17539        'schema': {'key': 'schema', 'type': 'object'},
17540        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
17541        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
17542        'annotations': {'key': 'annotations', 'type': '[object]'},
17543        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
17544        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
17545        'table': {'key': 'typeProperties.table', 'type': 'object'},
17546        'dataset': {'key': 'typeProperties.dataset', 'type': 'object'},
17547    }
17548
17549    def __init__(
17550        self,
17551        *,
17552        linked_service_name: "LinkedServiceReference",
17553        additional_properties: Optional[Dict[str, Any]] = None,
17554        description: Optional[str] = None,
17555        structure: Optional[Any] = None,
17556        schema: Optional[Any] = None,
17557        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
17558        annotations: Optional[List[Any]] = None,
17559        folder: Optional["DatasetFolder"] = None,
17560        table_name: Optional[Any] = None,
17561        table: Optional[Any] = None,
17562        dataset: Optional[Any] = None,
17563        **kwargs
17564    ):
17565        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)
17566        self.type = 'GoogleBigQueryObject'  # type: str
17567        self.table_name = table_name
17568        self.table = table
17569        self.dataset = dataset
17570
17571
17572class GoogleBigQuerySource(TabularSource):
17573    """A copy activity Google BigQuery service source.
17574
17575    All required parameters must be populated in order to send to Azure.
17576
17577    :param additional_properties: Unmatched properties from the message are deserialized to this
17578     collection.
17579    :type additional_properties: dict[str, any]
17580    :param type: Required. Copy source type.Constant filled by server.
17581    :type type: str
17582    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
17583     integer).
17584    :type source_retry_count: any
17585    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
17586     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
17587    :type source_retry_wait: any
17588    :param max_concurrent_connections: The maximum concurrent connection count for the source data
17589     store. Type: integer (or Expression with resultType integer).
17590    :type max_concurrent_connections: any
17591    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
17592     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
17593    :type query_timeout: any
17594    :param additional_columns: Specifies the additional columns to be added to source data. Type:
17595     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
17596    :type additional_columns: any
17597    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
17598     string).
17599    :type query: any
17600    """
17601
17602    _validation = {
17603        'type': {'required': True},
17604    }
17605
17606    _attribute_map = {
17607        'additional_properties': {'key': '', 'type': '{object}'},
17608        'type': {'key': 'type', 'type': 'str'},
17609        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
17610        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
17611        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
17612        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
17613        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
17614        'query': {'key': 'query', 'type': 'object'},
17615    }
17616
17617    def __init__(
17618        self,
17619        *,
17620        additional_properties: Optional[Dict[str, Any]] = None,
17621        source_retry_count: Optional[Any] = None,
17622        source_retry_wait: Optional[Any] = None,
17623        max_concurrent_connections: Optional[Any] = None,
17624        query_timeout: Optional[Any] = None,
17625        additional_columns: Optional[Any] = None,
17626        query: Optional[Any] = None,
17627        **kwargs
17628    ):
17629        super(GoogleBigQuerySource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
17630        self.type = 'GoogleBigQuerySource'  # type: str
17631        self.query = query
17632
17633
17634class GoogleCloudStorageLinkedService(LinkedService):
17635    """Linked service for Google Cloud Storage.
17636
17637    All required parameters must be populated in order to send to Azure.
17638
17639    :param additional_properties: Unmatched properties from the message are deserialized to this
17640     collection.
17641    :type additional_properties: dict[str, any]
17642    :param type: Required. Type of linked service.Constant filled by server.
17643    :type type: str
17644    :param connect_via: The integration runtime reference.
17645    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
17646    :param description: Linked service description.
17647    :type description: str
17648    :param parameters: Parameters for linked service.
17649    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
17650    :param annotations: List of tags that can be used for describing the linked service.
17651    :type annotations: list[any]
17652    :param access_key_id: The access key identifier of the Google Cloud Storage Identity and Access
17653     Management (IAM) user. Type: string (or Expression with resultType string).
17654    :type access_key_id: any
17655    :param secret_access_key: The secret access key of the Google Cloud Storage Identity and Access
17656     Management (IAM) user.
17657    :type secret_access_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
17658    :param service_url: This value specifies the endpoint to access with the Google Cloud Storage
17659     Connector. This is an optional property; change it only if you want to try a different service
17660     endpoint or want to switch between https and http. Type: string (or Expression with resultType
17661     string).
17662    :type service_url: any
17663    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
17664     encrypted using the integration runtime credential manager. Type: string (or Expression with
17665     resultType string).
17666    :type encrypted_credential: any
17667    """
17668
17669    _validation = {
17670        'type': {'required': True},
17671    }
17672
17673    _attribute_map = {
17674        'additional_properties': {'key': '', 'type': '{object}'},
17675        'type': {'key': 'type', 'type': 'str'},
17676        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
17677        'description': {'key': 'description', 'type': 'str'},
17678        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
17679        'annotations': {'key': 'annotations', 'type': '[object]'},
17680        'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'},
17681        'secret_access_key': {'key': 'typeProperties.secretAccessKey', 'type': 'SecretBase'},
17682        'service_url': {'key': 'typeProperties.serviceUrl', 'type': 'object'},
17683        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
17684    }
17685
17686    def __init__(
17687        self,
17688        *,
17689        additional_properties: Optional[Dict[str, Any]] = None,
17690        connect_via: Optional["IntegrationRuntimeReference"] = None,
17691        description: Optional[str] = None,
17692        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
17693        annotations: Optional[List[Any]] = None,
17694        access_key_id: Optional[Any] = None,
17695        secret_access_key: Optional["SecretBase"] = None,
17696        service_url: Optional[Any] = None,
17697        encrypted_credential: Optional[Any] = None,
17698        **kwargs
17699    ):
17700        super(GoogleCloudStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
17701        self.type = 'GoogleCloudStorage'  # type: str
17702        self.access_key_id = access_key_id
17703        self.secret_access_key = secret_access_key
17704        self.service_url = service_url
17705        self.encrypted_credential = encrypted_credential
17706
17707
17708class GoogleCloudStorageLocation(DatasetLocation):
17709    """The location of Google Cloud Storage dataset.
17710
17711    All required parameters must be populated in order to send to Azure.
17712
17713    :param additional_properties: Unmatched properties from the message are deserialized to this
17714     collection.
17715    :type additional_properties: dict[str, any]
17716    :param type: Required. Type of dataset storage location.Constant filled by server.
17717    :type type: str
17718    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
17719     resultType string).
17720    :type folder_path: any
17721    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
17722     string).
17723    :type file_name: any
17724    :param bucket_name: Specify the bucketName of Google Cloud Storage. Type: string (or Expression
17725     with resultType string).
17726    :type bucket_name: any
17727    :param version: Specify the version of Google Cloud Storage. Type: string (or Expression with
17728     resultType string).
17729    :type version: any
17730    """
17731
17732    _validation = {
17733        'type': {'required': True},
17734    }
17735
17736    _attribute_map = {
17737        'additional_properties': {'key': '', 'type': '{object}'},
17738        'type': {'key': 'type', 'type': 'str'},
17739        'folder_path': {'key': 'folderPath', 'type': 'object'},
17740        'file_name': {'key': 'fileName', 'type': 'object'},
17741        'bucket_name': {'key': 'bucketName', 'type': 'object'},
17742        'version': {'key': 'version', 'type': 'object'},
17743    }
17744
17745    def __init__(
17746        self,
17747        *,
17748        additional_properties: Optional[Dict[str, Any]] = None,
17749        folder_path: Optional[Any] = None,
17750        file_name: Optional[Any] = None,
17751        bucket_name: Optional[Any] = None,
17752        version: Optional[Any] = None,
17753        **kwargs
17754    ):
17755        super(GoogleCloudStorageLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
17756        self.type = 'GoogleCloudStorageLocation'  # type: str
17757        self.bucket_name = bucket_name
17758        self.version = version
17759
17760
17761class GoogleCloudStorageReadSettings(StoreReadSettings):
17762    """Google Cloud Storage read settings.
17763
17764    All required parameters must be populated in order to send to Azure.
17765
17766    :param additional_properties: Unmatched properties from the message are deserialized to this
17767     collection.
17768    :type additional_properties: dict[str, any]
17769    :param type: Required. The read setting type.Constant filled by server.
17770    :type type: str
17771    :param max_concurrent_connections: The maximum concurrent connection count for the source data
17772     store. Type: integer (or Expression with resultType integer).
17773    :type max_concurrent_connections: any
17774    :param recursive: If true, files under the folder path will be read recursively. Default is
17775     true. Type: boolean (or Expression with resultType boolean).
17776    :type recursive: any
17777    :param wildcard_folder_path: Google Cloud Storage wildcardFolderPath. Type: string (or
17778     Expression with resultType string).
17779    :type wildcard_folder_path: any
17780    :param wildcard_file_name: Google Cloud Storage wildcardFileName. Type: string (or Expression
17781     with resultType string).
17782    :type wildcard_file_name: any
17783    :param prefix: The prefix filter for the Google Cloud Storage object name. Type: string (or
17784     Expression with resultType string).
17785    :type prefix: any
17786    :param file_list_path: Point to a text file that lists each file (relative path to the path
17787     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
17788     string).
17789    :type file_list_path: any
17790    :param enable_partition_discovery: Indicates whether to enable partition discovery.
17791    :type enable_partition_discovery: bool
17792    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
17793     string (or Expression with resultType string).
17794    :type partition_root_path: any
17795    :param delete_files_after_completion: Indicates whether the source files need to be deleted
17796     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
17797    :type delete_files_after_completion: any
17798    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
17799     Expression with resultType string).
17800    :type modified_datetime_start: any
17801    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
17802     with resultType string).
17803    :type modified_datetime_end: any
17804    """
17805
17806    _validation = {
17807        'type': {'required': True},
17808    }
17809
17810    _attribute_map = {
17811        'additional_properties': {'key': '', 'type': '{object}'},
17812        'type': {'key': 'type', 'type': 'str'},
17813        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
17814        'recursive': {'key': 'recursive', 'type': 'object'},
17815        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
17816        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
17817        'prefix': {'key': 'prefix', 'type': 'object'},
17818        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
17819        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
17820        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
17821        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
17822        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
17823        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
17824    }
17825
17826    def __init__(
17827        self,
17828        *,
17829        additional_properties: Optional[Dict[str, Any]] = None,
17830        max_concurrent_connections: Optional[Any] = None,
17831        recursive: Optional[Any] = None,
17832        wildcard_folder_path: Optional[Any] = None,
17833        wildcard_file_name: Optional[Any] = None,
17834        prefix: Optional[Any] = None,
17835        file_list_path: Optional[Any] = None,
17836        enable_partition_discovery: Optional[bool] = None,
17837        partition_root_path: Optional[Any] = None,
17838        delete_files_after_completion: Optional[Any] = None,
17839        modified_datetime_start: Optional[Any] = None,
17840        modified_datetime_end: Optional[Any] = None,
17841        **kwargs
17842    ):
17843        super(GoogleCloudStorageReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
17844        self.type = 'GoogleCloudStorageReadSettings'  # type: str
17845        self.recursive = recursive
17846        self.wildcard_folder_path = wildcard_folder_path
17847        self.wildcard_file_name = wildcard_file_name
17848        self.prefix = prefix
17849        self.file_list_path = file_list_path
17850        self.enable_partition_discovery = enable_partition_discovery
17851        self.partition_root_path = partition_root_path
17852        self.delete_files_after_completion = delete_files_after_completion
17853        self.modified_datetime_start = modified_datetime_start
17854        self.modified_datetime_end = modified_datetime_end
17855
17856
17857class GreenplumLinkedService(LinkedService):
17858    """Greenplum Database linked service.
17859
17860    All required parameters must be populated in order to send to Azure.
17861
17862    :param additional_properties: Unmatched properties from the message are deserialized to this
17863     collection.
17864    :type additional_properties: dict[str, any]
17865    :param type: Required. Type of linked service.Constant filled by server.
17866    :type type: str
17867    :param connect_via: The integration runtime reference.
17868    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
17869    :param description: Linked service description.
17870    :type description: str
17871    :param parameters: Parameters for linked service.
17872    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
17873    :param annotations: List of tags that can be used for describing the linked service.
17874    :type annotations: list[any]
17875    :param connection_string: An ODBC connection string. Type: string, SecureString or
17876     AzureKeyVaultSecretReference.
17877    :type connection_string: any
17878    :param pwd: The Azure key vault secret reference of password in connection string.
17879    :type pwd: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
17880    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
17881     encrypted using the integration runtime credential manager. Type: string (or Expression with
17882     resultType string).
17883    :type encrypted_credential: any
17884    """
17885
17886    _validation = {
17887        'type': {'required': True},
17888    }
17889
17890    _attribute_map = {
17891        'additional_properties': {'key': '', 'type': '{object}'},
17892        'type': {'key': 'type', 'type': 'str'},
17893        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
17894        'description': {'key': 'description', 'type': 'str'},
17895        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
17896        'annotations': {'key': 'annotations', 'type': '[object]'},
17897        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
17898        'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'},
17899        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
17900    }
17901
17902    def __init__(
17903        self,
17904        *,
17905        additional_properties: Optional[Dict[str, Any]] = None,
17906        connect_via: Optional["IntegrationRuntimeReference"] = None,
17907        description: Optional[str] = None,
17908        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
17909        annotations: Optional[List[Any]] = None,
17910        connection_string: Optional[Any] = None,
17911        pwd: Optional["AzureKeyVaultSecretReference"] = None,
17912        encrypted_credential: Optional[Any] = None,
17913        **kwargs
17914    ):
17915        super(GreenplumLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
17916        self.type = 'Greenplum'  # type: str
17917        self.connection_string = connection_string
17918        self.pwd = pwd
17919        self.encrypted_credential = encrypted_credential
17920
17921
17922class GreenplumSource(TabularSource):
17923    """A copy activity Greenplum Database source.
17924
17925    All required parameters must be populated in order to send to Azure.
17926
17927    :param additional_properties: Unmatched properties from the message are deserialized to this
17928     collection.
17929    :type additional_properties: dict[str, any]
17930    :param type: Required. Copy source type.Constant filled by server.
17931    :type type: str
17932    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
17933     integer).
17934    :type source_retry_count: any
17935    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
17936     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
17937    :type source_retry_wait: any
17938    :param max_concurrent_connections: The maximum concurrent connection count for the source data
17939     store. Type: integer (or Expression with resultType integer).
17940    :type max_concurrent_connections: any
17941    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
17942     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
17943    :type query_timeout: any
17944    :param additional_columns: Specifies the additional columns to be added to source data. Type:
17945     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
17946    :type additional_columns: any
17947    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
17948     string).
17949    :type query: any
17950    """
17951
17952    _validation = {
17953        'type': {'required': True},
17954    }
17955
17956    _attribute_map = {
17957        'additional_properties': {'key': '', 'type': '{object}'},
17958        'type': {'key': 'type', 'type': 'str'},
17959        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
17960        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
17961        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
17962        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
17963        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
17964        'query': {'key': 'query', 'type': 'object'},
17965    }
17966
17967    def __init__(
17968        self,
17969        *,
17970        additional_properties: Optional[Dict[str, Any]] = None,
17971        source_retry_count: Optional[Any] = None,
17972        source_retry_wait: Optional[Any] = None,
17973        max_concurrent_connections: Optional[Any] = None,
17974        query_timeout: Optional[Any] = None,
17975        additional_columns: Optional[Any] = None,
17976        query: Optional[Any] = None,
17977        **kwargs
17978    ):
17979        super(GreenplumSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
17980        self.type = 'GreenplumSource'  # type: str
17981        self.query = query
17982
17983
17984class GreenplumTableDataset(Dataset):
17985    """Greenplum Database dataset.
17986
17987    All required parameters must be populated in order to send to Azure.
17988
17989    :param additional_properties: Unmatched properties from the message are deserialized to this
17990     collection.
17991    :type additional_properties: dict[str, any]
17992    :param type: Required. Type of dataset.Constant filled by server.
17993    :type type: str
17994    :param description: Dataset description.
17995    :type description: str
17996    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
17997     with resultType array), itemType: DatasetDataElement.
17998    :type structure: any
17999    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
18000     Expression with resultType array), itemType: DatasetSchemaDataElement.
18001    :type schema: any
18002    :param linked_service_name: Required. Linked service reference.
18003    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
18004    :param parameters: Parameters for dataset.
18005    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
18006    :param annotations: List of tags that can be used for describing the Dataset.
18007    :type annotations: list[any]
18008    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
18009     root level.
18010    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
18011    :param table_name: This property will be retired. Please consider using schema + table
18012     properties instead.
18013    :type table_name: any
18014    :param table: The table name of Greenplum. Type: string (or Expression with resultType string).
18015    :type table: any
18016    :param schema_type_properties_schema: The schema name of Greenplum. Type: string (or Expression
18017     with resultType string).
18018    :type schema_type_properties_schema: any
18019    """
18020
18021    _validation = {
18022        'type': {'required': True},
18023        'linked_service_name': {'required': True},
18024    }
18025
18026    _attribute_map = {
18027        'additional_properties': {'key': '', 'type': '{object}'},
18028        'type': {'key': 'type', 'type': 'str'},
18029        'description': {'key': 'description', 'type': 'str'},
18030        'structure': {'key': 'structure', 'type': 'object'},
18031        'schema': {'key': 'schema', 'type': 'object'},
18032        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
18033        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
18034        'annotations': {'key': 'annotations', 'type': '[object]'},
18035        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
18036        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
18037        'table': {'key': 'typeProperties.table', 'type': 'object'},
18038        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
18039    }
18040
18041    def __init__(
18042        self,
18043        *,
18044        linked_service_name: "LinkedServiceReference",
18045        additional_properties: Optional[Dict[str, Any]] = None,
18046        description: Optional[str] = None,
18047        structure: Optional[Any] = None,
18048        schema: Optional[Any] = None,
18049        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
18050        annotations: Optional[List[Any]] = None,
18051        folder: Optional["DatasetFolder"] = None,
18052        table_name: Optional[Any] = None,
18053        table: Optional[Any] = None,
18054        schema_type_properties_schema: Optional[Any] = None,
18055        **kwargs
18056    ):
18057        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)
18058        self.type = 'GreenplumTable'  # type: str
18059        self.table_name = table_name
18060        self.table = table
18061        self.schema_type_properties_schema = schema_type_properties_schema
18062
18063
18064class HBaseLinkedService(LinkedService):
18065    """HBase server linked service.
18066
18067    All required parameters must be populated in order to send to Azure.
18068
18069    :param additional_properties: Unmatched properties from the message are deserialized to this
18070     collection.
18071    :type additional_properties: dict[str, any]
18072    :param type: Required. Type of linked service.Constant filled by server.
18073    :type type: str
18074    :param connect_via: The integration runtime reference.
18075    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
18076    :param description: Linked service description.
18077    :type description: str
18078    :param parameters: Parameters for linked service.
18079    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
18080    :param annotations: List of tags that can be used for describing the linked service.
18081    :type annotations: list[any]
18082    :param host: Required. The IP address or host name of the HBase server. (i.e. 192.168.222.160).
18083    :type host: any
18084    :param port: The TCP port that the HBase instance uses to listen for client connections. The
18085     default value is 9090.
18086    :type port: any
18087    :param http_path: The partial URL corresponding to the HBase server. (i.e.
18088     /gateway/sandbox/hbase/version).
18089    :type http_path: any
18090    :param authentication_type: Required. The authentication mechanism to use to connect to the
18091     HBase server. Possible values include: "Anonymous", "Basic".
18092    :type authentication_type: str or
18093     ~azure.synapse.artifacts.v2020_12_01.models.HBaseAuthenticationType
18094    :param username: The user name used to connect to the HBase instance.
18095    :type username: any
18096    :param password: The password corresponding to the user name.
18097    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
18098    :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The
18099     default value is false.
18100    :type enable_ssl: any
18101    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
18102     verifying the server when connecting over SSL. This property can only be set when using SSL on
18103     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
18104    :type trusted_cert_path: any
18105    :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate
18106     name to match the host name of the server when connecting over SSL. The default value is false.
18107    :type allow_host_name_cn_mismatch: any
18108    :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from
18109     the server. The default value is false.
18110    :type allow_self_signed_server_cert: any
18111    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
18112     encrypted using the integration runtime credential manager. Type: string (or Expression with
18113     resultType string).
18114    :type encrypted_credential: any
18115    """
18116
18117    _validation = {
18118        'type': {'required': True},
18119        'host': {'required': True},
18120        'authentication_type': {'required': True},
18121    }
18122
18123    _attribute_map = {
18124        'additional_properties': {'key': '', 'type': '{object}'},
18125        'type': {'key': 'type', 'type': 'str'},
18126        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
18127        'description': {'key': 'description', 'type': 'str'},
18128        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
18129        'annotations': {'key': 'annotations', 'type': '[object]'},
18130        'host': {'key': 'typeProperties.host', 'type': 'object'},
18131        'port': {'key': 'typeProperties.port', 'type': 'object'},
18132        'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'},
18133        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
18134        'username': {'key': 'typeProperties.username', 'type': 'object'},
18135        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
18136        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
18137        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
18138        'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'},
18139        'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'},
18140        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
18141    }
18142
18143    def __init__(
18144        self,
18145        *,
18146        host: Any,
18147        authentication_type: Union[str, "HBaseAuthenticationType"],
18148        additional_properties: Optional[Dict[str, Any]] = None,
18149        connect_via: Optional["IntegrationRuntimeReference"] = None,
18150        description: Optional[str] = None,
18151        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
18152        annotations: Optional[List[Any]] = None,
18153        port: Optional[Any] = None,
18154        http_path: Optional[Any] = None,
18155        username: Optional[Any] = None,
18156        password: Optional["SecretBase"] = None,
18157        enable_ssl: Optional[Any] = None,
18158        trusted_cert_path: Optional[Any] = None,
18159        allow_host_name_cn_mismatch: Optional[Any] = None,
18160        allow_self_signed_server_cert: Optional[Any] = None,
18161        encrypted_credential: Optional[Any] = None,
18162        **kwargs
18163    ):
18164        super(HBaseLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
18165        self.type = 'HBase'  # type: str
18166        self.host = host
18167        self.port = port
18168        self.http_path = http_path
18169        self.authentication_type = authentication_type
18170        self.username = username
18171        self.password = password
18172        self.enable_ssl = enable_ssl
18173        self.trusted_cert_path = trusted_cert_path
18174        self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch
18175        self.allow_self_signed_server_cert = allow_self_signed_server_cert
18176        self.encrypted_credential = encrypted_credential
18177
18178
18179class HBaseObjectDataset(Dataset):
18180    """HBase server dataset.
18181
18182    All required parameters must be populated in order to send to Azure.
18183
18184    :param additional_properties: Unmatched properties from the message are deserialized to this
18185     collection.
18186    :type additional_properties: dict[str, any]
18187    :param type: Required. Type of dataset.Constant filled by server.
18188    :type type: str
18189    :param description: Dataset description.
18190    :type description: str
18191    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
18192     with resultType array), itemType: DatasetDataElement.
18193    :type structure: any
18194    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
18195     Expression with resultType array), itemType: DatasetSchemaDataElement.
18196    :type schema: any
18197    :param linked_service_name: Required. Linked service reference.
18198    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
18199    :param parameters: Parameters for dataset.
18200    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
18201    :param annotations: List of tags that can be used for describing the Dataset.
18202    :type annotations: list[any]
18203    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
18204     root level.
18205    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
18206    :param table_name: The table name. Type: string (or Expression with resultType string).
18207    :type table_name: any
18208    """
18209
18210    _validation = {
18211        'type': {'required': True},
18212        'linked_service_name': {'required': True},
18213    }
18214
18215    _attribute_map = {
18216        'additional_properties': {'key': '', 'type': '{object}'},
18217        'type': {'key': 'type', 'type': 'str'},
18218        'description': {'key': 'description', 'type': 'str'},
18219        'structure': {'key': 'structure', 'type': 'object'},
18220        'schema': {'key': 'schema', 'type': 'object'},
18221        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
18222        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
18223        'annotations': {'key': 'annotations', 'type': '[object]'},
18224        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
18225        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
18226    }
18227
18228    def __init__(
18229        self,
18230        *,
18231        linked_service_name: "LinkedServiceReference",
18232        additional_properties: Optional[Dict[str, Any]] = None,
18233        description: Optional[str] = None,
18234        structure: Optional[Any] = None,
18235        schema: Optional[Any] = None,
18236        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
18237        annotations: Optional[List[Any]] = None,
18238        folder: Optional["DatasetFolder"] = None,
18239        table_name: Optional[Any] = None,
18240        **kwargs
18241    ):
18242        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)
18243        self.type = 'HBaseObject'  # type: str
18244        self.table_name = table_name
18245
18246
18247class HBaseSource(TabularSource):
18248    """A copy activity HBase server source.
18249
18250    All required parameters must be populated in order to send to Azure.
18251
18252    :param additional_properties: Unmatched properties from the message are deserialized to this
18253     collection.
18254    :type additional_properties: dict[str, any]
18255    :param type: Required. Copy source type.Constant filled by server.
18256    :type type: str
18257    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
18258     integer).
18259    :type source_retry_count: any
18260    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
18261     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
18262    :type source_retry_wait: any
18263    :param max_concurrent_connections: The maximum concurrent connection count for the source data
18264     store. Type: integer (or Expression with resultType integer).
18265    :type max_concurrent_connections: any
18266    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
18267     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
18268    :type query_timeout: any
18269    :param additional_columns: Specifies the additional columns to be added to source data. Type:
18270     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
18271    :type additional_columns: any
18272    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
18273     string).
18274    :type query: any
18275    """
18276
18277    _validation = {
18278        'type': {'required': True},
18279    }
18280
18281    _attribute_map = {
18282        'additional_properties': {'key': '', 'type': '{object}'},
18283        'type': {'key': 'type', 'type': 'str'},
18284        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
18285        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
18286        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
18287        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
18288        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
18289        'query': {'key': 'query', 'type': 'object'},
18290    }
18291
18292    def __init__(
18293        self,
18294        *,
18295        additional_properties: Optional[Dict[str, Any]] = None,
18296        source_retry_count: Optional[Any] = None,
18297        source_retry_wait: Optional[Any] = None,
18298        max_concurrent_connections: Optional[Any] = None,
18299        query_timeout: Optional[Any] = None,
18300        additional_columns: Optional[Any] = None,
18301        query: Optional[Any] = None,
18302        **kwargs
18303    ):
18304        super(HBaseSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
18305        self.type = 'HBaseSource'  # type: str
18306        self.query = query
18307
18308
18309class HdfsLinkedService(LinkedService):
18310    """Hadoop Distributed File System (HDFS) linked service.
18311
18312    All required parameters must be populated in order to send to Azure.
18313
18314    :param additional_properties: Unmatched properties from the message are deserialized to this
18315     collection.
18316    :type additional_properties: dict[str, any]
18317    :param type: Required. Type of linked service.Constant filled by server.
18318    :type type: str
18319    :param connect_via: The integration runtime reference.
18320    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
18321    :param description: Linked service description.
18322    :type description: str
18323    :param parameters: Parameters for linked service.
18324    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
18325    :param annotations: List of tags that can be used for describing the linked service.
18326    :type annotations: list[any]
18327    :param url: Required. The URL of the HDFS service endpoint, e.g.
18328     http://myhostname:50070/webhdfs/v1 . Type: string (or Expression with resultType string).
18329    :type url: any
18330    :param authentication_type: Type of authentication used to connect to the HDFS. Possible values
18331     are: Anonymous and Windows. Type: string (or Expression with resultType string).
18332    :type authentication_type: any
18333    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
18334     encrypted using the integration runtime credential manager. Type: string (or Expression with
18335     resultType string).
18336    :type encrypted_credential: any
18337    :param user_name: User name for Windows authentication. Type: string (or Expression with
18338     resultType string).
18339    :type user_name: any
18340    :param password: Password for Windows authentication.
18341    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
18342    """
18343
18344    _validation = {
18345        'type': {'required': True},
18346        'url': {'required': True},
18347    }
18348
18349    _attribute_map = {
18350        'additional_properties': {'key': '', 'type': '{object}'},
18351        'type': {'key': 'type', 'type': 'str'},
18352        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
18353        'description': {'key': 'description', 'type': 'str'},
18354        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
18355        'annotations': {'key': 'annotations', 'type': '[object]'},
18356        'url': {'key': 'typeProperties.url', 'type': 'object'},
18357        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'},
18358        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
18359        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
18360        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
18361    }
18362
18363    def __init__(
18364        self,
18365        *,
18366        url: Any,
18367        additional_properties: Optional[Dict[str, Any]] = None,
18368        connect_via: Optional["IntegrationRuntimeReference"] = None,
18369        description: Optional[str] = None,
18370        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
18371        annotations: Optional[List[Any]] = None,
18372        authentication_type: Optional[Any] = None,
18373        encrypted_credential: Optional[Any] = None,
18374        user_name: Optional[Any] = None,
18375        password: Optional["SecretBase"] = None,
18376        **kwargs
18377    ):
18378        super(HdfsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
18379        self.type = 'Hdfs'  # type: str
18380        self.url = url
18381        self.authentication_type = authentication_type
18382        self.encrypted_credential = encrypted_credential
18383        self.user_name = user_name
18384        self.password = password
18385
18386
18387class HdfsLocation(DatasetLocation):
18388    """The location of HDFS.
18389
18390    All required parameters must be populated in order to send to Azure.
18391
18392    :param additional_properties: Unmatched properties from the message are deserialized to this
18393     collection.
18394    :type additional_properties: dict[str, any]
18395    :param type: Required. Type of dataset storage location.Constant filled by server.
18396    :type type: str
18397    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
18398     resultType string).
18399    :type folder_path: any
18400    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
18401     string).
18402    :type file_name: any
18403    """
18404
18405    _validation = {
18406        'type': {'required': True},
18407    }
18408
18409    _attribute_map = {
18410        'additional_properties': {'key': '', 'type': '{object}'},
18411        'type': {'key': 'type', 'type': 'str'},
18412        'folder_path': {'key': 'folderPath', 'type': 'object'},
18413        'file_name': {'key': 'fileName', 'type': 'object'},
18414    }
18415
18416    def __init__(
18417        self,
18418        *,
18419        additional_properties: Optional[Dict[str, Any]] = None,
18420        folder_path: Optional[Any] = None,
18421        file_name: Optional[Any] = None,
18422        **kwargs
18423    ):
18424        super(HdfsLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
18425        self.type = 'HdfsLocation'  # type: str
18426
18427
18428class HdfsReadSettings(StoreReadSettings):
18429    """HDFS read settings.
18430
18431    All required parameters must be populated in order to send to Azure.
18432
18433    :param additional_properties: Unmatched properties from the message are deserialized to this
18434     collection.
18435    :type additional_properties: dict[str, any]
18436    :param type: Required. The read setting type.Constant filled by server.
18437    :type type: str
18438    :param max_concurrent_connections: The maximum concurrent connection count for the source data
18439     store. Type: integer (or Expression with resultType integer).
18440    :type max_concurrent_connections: any
18441    :param recursive: If true, files under the folder path will be read recursively. Default is
18442     true. Type: boolean (or Expression with resultType boolean).
18443    :type recursive: any
18444    :param wildcard_folder_path: HDFS wildcardFolderPath. Type: string (or Expression with
18445     resultType string).
18446    :type wildcard_folder_path: any
18447    :param wildcard_file_name: HDFS wildcardFileName. Type: string (or Expression with resultType
18448     string).
18449    :type wildcard_file_name: any
18450    :param file_list_path: Point to a text file that lists each file (relative path to the path
18451     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
18452     string).
18453    :type file_list_path: any
18454    :param enable_partition_discovery: Indicates whether to enable partition discovery.
18455    :type enable_partition_discovery: bool
18456    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
18457     string (or Expression with resultType string).
18458    :type partition_root_path: any
18459    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
18460     Expression with resultType string).
18461    :type modified_datetime_start: any
18462    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
18463     with resultType string).
18464    :type modified_datetime_end: any
18465    :param distcp_settings: Specifies Distcp-related settings.
18466    :type distcp_settings: ~azure.synapse.artifacts.v2020_12_01.models.DistcpSettings
18467    :param delete_files_after_completion: Indicates whether the source files need to be deleted
18468     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
18469    :type delete_files_after_completion: any
18470    """
18471
18472    _validation = {
18473        'type': {'required': True},
18474    }
18475
18476    _attribute_map = {
18477        'additional_properties': {'key': '', 'type': '{object}'},
18478        'type': {'key': 'type', 'type': 'str'},
18479        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
18480        'recursive': {'key': 'recursive', 'type': 'object'},
18481        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
18482        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
18483        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
18484        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
18485        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
18486        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
18487        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
18488        'distcp_settings': {'key': 'distcpSettings', 'type': 'DistcpSettings'},
18489        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
18490    }
18491
18492    def __init__(
18493        self,
18494        *,
18495        additional_properties: Optional[Dict[str, Any]] = None,
18496        max_concurrent_connections: Optional[Any] = None,
18497        recursive: Optional[Any] = None,
18498        wildcard_folder_path: Optional[Any] = None,
18499        wildcard_file_name: Optional[Any] = None,
18500        file_list_path: Optional[Any] = None,
18501        enable_partition_discovery: Optional[bool] = None,
18502        partition_root_path: Optional[Any] = None,
18503        modified_datetime_start: Optional[Any] = None,
18504        modified_datetime_end: Optional[Any] = None,
18505        distcp_settings: Optional["DistcpSettings"] = None,
18506        delete_files_after_completion: Optional[Any] = None,
18507        **kwargs
18508    ):
18509        super(HdfsReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
18510        self.type = 'HdfsReadSettings'  # type: str
18511        self.recursive = recursive
18512        self.wildcard_folder_path = wildcard_folder_path
18513        self.wildcard_file_name = wildcard_file_name
18514        self.file_list_path = file_list_path
18515        self.enable_partition_discovery = enable_partition_discovery
18516        self.partition_root_path = partition_root_path
18517        self.modified_datetime_start = modified_datetime_start
18518        self.modified_datetime_end = modified_datetime_end
18519        self.distcp_settings = distcp_settings
18520        self.delete_files_after_completion = delete_files_after_completion
18521
18522
18523class HdfsSource(CopySource):
18524    """A copy activity HDFS source.
18525
18526    All required parameters must be populated in order to send to Azure.
18527
18528    :param additional_properties: Unmatched properties from the message are deserialized to this
18529     collection.
18530    :type additional_properties: dict[str, any]
18531    :param type: Required. Copy source type.Constant filled by server.
18532    :type type: str
18533    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
18534     integer).
18535    :type source_retry_count: any
18536    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
18537     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
18538    :type source_retry_wait: any
18539    :param max_concurrent_connections: The maximum concurrent connection count for the source data
18540     store. Type: integer (or Expression with resultType integer).
18541    :type max_concurrent_connections: any
18542    :param recursive: If true, files under the folder path will be read recursively. Default is
18543     true. Type: boolean (or Expression with resultType boolean).
18544    :type recursive: any
18545    :param distcp_settings: Specifies Distcp-related settings.
18546    :type distcp_settings: ~azure.synapse.artifacts.v2020_12_01.models.DistcpSettings
18547    """
18548
18549    _validation = {
18550        'type': {'required': True},
18551    }
18552
18553    _attribute_map = {
18554        'additional_properties': {'key': '', 'type': '{object}'},
18555        'type': {'key': 'type', 'type': 'str'},
18556        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
18557        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
18558        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
18559        'recursive': {'key': 'recursive', 'type': 'object'},
18560        'distcp_settings': {'key': 'distcpSettings', 'type': 'DistcpSettings'},
18561    }
18562
18563    def __init__(
18564        self,
18565        *,
18566        additional_properties: Optional[Dict[str, Any]] = None,
18567        source_retry_count: Optional[Any] = None,
18568        source_retry_wait: Optional[Any] = None,
18569        max_concurrent_connections: Optional[Any] = None,
18570        recursive: Optional[Any] = None,
18571        distcp_settings: Optional["DistcpSettings"] = None,
18572        **kwargs
18573    ):
18574        super(HdfsSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
18575        self.type = 'HdfsSource'  # type: str
18576        self.recursive = recursive
18577        self.distcp_settings = distcp_settings
18578
18579
18580class HDInsightHiveActivity(ExecutionActivity):
18581    """HDInsight Hive activity type.
18582
18583    All required parameters must be populated in order to send to Azure.
18584
18585    :param additional_properties: Unmatched properties from the message are deserialized to this
18586     collection.
18587    :type additional_properties: dict[str, any]
18588    :param name: Required. Activity name.
18589    :type name: str
18590    :param type: Required. Type of activity.Constant filled by server.
18591    :type type: str
18592    :param description: Activity description.
18593    :type description: str
18594    :param depends_on: Activity depends on condition.
18595    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
18596    :param user_properties: Activity user properties.
18597    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
18598    :param linked_service_name: Linked service reference.
18599    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
18600    :param policy: Activity policy.
18601    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
18602    :param storage_linked_services: Storage linked service references.
18603    :type storage_linked_services:
18604     list[~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference]
18605    :param arguments: User specified arguments to HDInsightActivity.
18606    :type arguments: list[any]
18607    :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure".
18608    :type get_debug_info: str or
18609     ~azure.synapse.artifacts.v2020_12_01.models.HDInsightActivityDebugInfoOption
18610    :param script_path: Script path. Type: string (or Expression with resultType string).
18611    :type script_path: any
18612    :param script_linked_service: Script linked service reference.
18613    :type script_linked_service: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
18614    :param defines: Allows user to specify defines for Hive job request.
18615    :type defines: dict[str, any]
18616    :param variables: User specified arguments under hivevar namespace.
18617    :type variables: list[any]
18618    :param query_timeout: Query timeout value (in minutes).  Effective when the HDInsight cluster
18619     is with ESP (Enterprise Security Package).
18620    :type query_timeout: int
18621    """
18622
18623    _validation = {
18624        'name': {'required': True},
18625        'type': {'required': True},
18626    }
18627
18628    _attribute_map = {
18629        'additional_properties': {'key': '', 'type': '{object}'},
18630        'name': {'key': 'name', 'type': 'str'},
18631        'type': {'key': 'type', 'type': 'str'},
18632        'description': {'key': 'description', 'type': 'str'},
18633        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
18634        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
18635        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
18636        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
18637        'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'},
18638        'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'},
18639        'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'},
18640        'script_path': {'key': 'typeProperties.scriptPath', 'type': 'object'},
18641        'script_linked_service': {'key': 'typeProperties.scriptLinkedService', 'type': 'LinkedServiceReference'},
18642        'defines': {'key': 'typeProperties.defines', 'type': '{object}'},
18643        'variables': {'key': 'typeProperties.variables', 'type': '[object]'},
18644        'query_timeout': {'key': 'typeProperties.queryTimeout', 'type': 'int'},
18645    }
18646
18647    def __init__(
18648        self,
18649        *,
18650        name: str,
18651        additional_properties: Optional[Dict[str, Any]] = None,
18652        description: Optional[str] = None,
18653        depends_on: Optional[List["ActivityDependency"]] = None,
18654        user_properties: Optional[List["UserProperty"]] = None,
18655        linked_service_name: Optional["LinkedServiceReference"] = None,
18656        policy: Optional["ActivityPolicy"] = None,
18657        storage_linked_services: Optional[List["LinkedServiceReference"]] = None,
18658        arguments: Optional[List[Any]] = None,
18659        get_debug_info: Optional[Union[str, "HDInsightActivityDebugInfoOption"]] = None,
18660        script_path: Optional[Any] = None,
18661        script_linked_service: Optional["LinkedServiceReference"] = None,
18662        defines: Optional[Dict[str, Any]] = None,
18663        variables: Optional[List[Any]] = None,
18664        query_timeout: Optional[int] = None,
18665        **kwargs
18666    ):
18667        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)
18668        self.type = 'HDInsightHive'  # type: str
18669        self.storage_linked_services = storage_linked_services
18670        self.arguments = arguments
18671        self.get_debug_info = get_debug_info
18672        self.script_path = script_path
18673        self.script_linked_service = script_linked_service
18674        self.defines = defines
18675        self.variables = variables
18676        self.query_timeout = query_timeout
18677
18678
18679class HDInsightLinkedService(LinkedService):
18680    """HDInsight linked service.
18681
18682    All required parameters must be populated in order to send to Azure.
18683
18684    :param additional_properties: Unmatched properties from the message are deserialized to this
18685     collection.
18686    :type additional_properties: dict[str, any]
18687    :param type: Required. Type of linked service.Constant filled by server.
18688    :type type: str
18689    :param connect_via: The integration runtime reference.
18690    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
18691    :param description: Linked service description.
18692    :type description: str
18693    :param parameters: Parameters for linked service.
18694    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
18695    :param annotations: List of tags that can be used for describing the linked service.
18696    :type annotations: list[any]
18697    :param cluster_uri: Required. HDInsight cluster URI. Type: string (or Expression with
18698     resultType string).
18699    :type cluster_uri: any
18700    :param user_name: HDInsight cluster user name. Type: string (or Expression with resultType
18701     string).
18702    :type user_name: any
18703    :param password: HDInsight cluster password.
18704    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
18705    :param linked_service_name: The Azure Storage linked service reference.
18706    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
18707    :param hcatalog_linked_service_name: A reference to the Azure SQL linked service that points to
18708     the HCatalog database.
18709    :type hcatalog_linked_service_name:
18710     ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
18711    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
18712     encrypted using the integration runtime credential manager. Type: string (or Expression with
18713     resultType string).
18714    :type encrypted_credential: any
18715    :param is_esp_enabled: Specify if the HDInsight is created with ESP (Enterprise Security
18716     Package). Type: Boolean.
18717    :type is_esp_enabled: any
18718    :param file_system: Specify the FileSystem if the main storage for the HDInsight is ADLS Gen2.
18719     Type: string (or Expression with resultType string).
18720    :type file_system: any
18721    """
18722
18723    _validation = {
18724        'type': {'required': True},
18725        'cluster_uri': {'required': True},
18726    }
18727
18728    _attribute_map = {
18729        'additional_properties': {'key': '', 'type': '{object}'},
18730        'type': {'key': 'type', 'type': 'str'},
18731        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
18732        'description': {'key': 'description', 'type': 'str'},
18733        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
18734        'annotations': {'key': 'annotations', 'type': '[object]'},
18735        'cluster_uri': {'key': 'typeProperties.clusterUri', 'type': 'object'},
18736        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
18737        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
18738        'linked_service_name': {'key': 'typeProperties.linkedServiceName', 'type': 'LinkedServiceReference'},
18739        'hcatalog_linked_service_name': {'key': 'typeProperties.hcatalogLinkedServiceName', 'type': 'LinkedServiceReference'},
18740        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
18741        'is_esp_enabled': {'key': 'typeProperties.isEspEnabled', 'type': 'object'},
18742        'file_system': {'key': 'typeProperties.fileSystem', 'type': 'object'},
18743    }
18744
18745    def __init__(
18746        self,
18747        *,
18748        cluster_uri: Any,
18749        additional_properties: Optional[Dict[str, Any]] = None,
18750        connect_via: Optional["IntegrationRuntimeReference"] = None,
18751        description: Optional[str] = None,
18752        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
18753        annotations: Optional[List[Any]] = None,
18754        user_name: Optional[Any] = None,
18755        password: Optional["SecretBase"] = None,
18756        linked_service_name: Optional["LinkedServiceReference"] = None,
18757        hcatalog_linked_service_name: Optional["LinkedServiceReference"] = None,
18758        encrypted_credential: Optional[Any] = None,
18759        is_esp_enabled: Optional[Any] = None,
18760        file_system: Optional[Any] = None,
18761        **kwargs
18762    ):
18763        super(HDInsightLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
18764        self.type = 'HDInsight'  # type: str
18765        self.cluster_uri = cluster_uri
18766        self.user_name = user_name
18767        self.password = password
18768        self.linked_service_name = linked_service_name
18769        self.hcatalog_linked_service_name = hcatalog_linked_service_name
18770        self.encrypted_credential = encrypted_credential
18771        self.is_esp_enabled = is_esp_enabled
18772        self.file_system = file_system
18773
18774
18775class HDInsightMapReduceActivity(ExecutionActivity):
18776    """HDInsight MapReduce activity type.
18777
18778    All required parameters must be populated in order to send to Azure.
18779
18780    :param additional_properties: Unmatched properties from the message are deserialized to this
18781     collection.
18782    :type additional_properties: dict[str, any]
18783    :param name: Required. Activity name.
18784    :type name: str
18785    :param type: Required. Type of activity.Constant filled by server.
18786    :type type: str
18787    :param description: Activity description.
18788    :type description: str
18789    :param depends_on: Activity depends on condition.
18790    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
18791    :param user_properties: Activity user properties.
18792    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
18793    :param linked_service_name: Linked service reference.
18794    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
18795    :param policy: Activity policy.
18796    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
18797    :param storage_linked_services: Storage linked service references.
18798    :type storage_linked_services:
18799     list[~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference]
18800    :param arguments: User specified arguments to HDInsightActivity.
18801    :type arguments: list[any]
18802    :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure".
18803    :type get_debug_info: str or
18804     ~azure.synapse.artifacts.v2020_12_01.models.HDInsightActivityDebugInfoOption
18805    :param class_name: Required. Class name. Type: string (or Expression with resultType string).
18806    :type class_name: any
18807    :param jar_file_path: Required. Jar path. Type: string (or Expression with resultType string).
18808    :type jar_file_path: any
18809    :param jar_linked_service: Jar linked service reference.
18810    :type jar_linked_service: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
18811    :param jar_libs: Jar libs.
18812    :type jar_libs: list[any]
18813    :param defines: Allows user to specify defines for the MapReduce job request.
18814    :type defines: dict[str, any]
18815    """
18816
18817    _validation = {
18818        'name': {'required': True},
18819        'type': {'required': True},
18820        'class_name': {'required': True},
18821        'jar_file_path': {'required': True},
18822    }
18823
18824    _attribute_map = {
18825        'additional_properties': {'key': '', 'type': '{object}'},
18826        'name': {'key': 'name', 'type': 'str'},
18827        'type': {'key': 'type', 'type': 'str'},
18828        'description': {'key': 'description', 'type': 'str'},
18829        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
18830        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
18831        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
18832        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
18833        'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'},
18834        'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'},
18835        'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'},
18836        'class_name': {'key': 'typeProperties.className', 'type': 'object'},
18837        'jar_file_path': {'key': 'typeProperties.jarFilePath', 'type': 'object'},
18838        'jar_linked_service': {'key': 'typeProperties.jarLinkedService', 'type': 'LinkedServiceReference'},
18839        'jar_libs': {'key': 'typeProperties.jarLibs', 'type': '[object]'},
18840        'defines': {'key': 'typeProperties.defines', 'type': '{object}'},
18841    }
18842
18843    def __init__(
18844        self,
18845        *,
18846        name: str,
18847        class_name: Any,
18848        jar_file_path: Any,
18849        additional_properties: Optional[Dict[str, Any]] = None,
18850        description: Optional[str] = None,
18851        depends_on: Optional[List["ActivityDependency"]] = None,
18852        user_properties: Optional[List["UserProperty"]] = None,
18853        linked_service_name: Optional["LinkedServiceReference"] = None,
18854        policy: Optional["ActivityPolicy"] = None,
18855        storage_linked_services: Optional[List["LinkedServiceReference"]] = None,
18856        arguments: Optional[List[Any]] = None,
18857        get_debug_info: Optional[Union[str, "HDInsightActivityDebugInfoOption"]] = None,
18858        jar_linked_service: Optional["LinkedServiceReference"] = None,
18859        jar_libs: Optional[List[Any]] = None,
18860        defines: Optional[Dict[str, Any]] = None,
18861        **kwargs
18862    ):
18863        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)
18864        self.type = 'HDInsightMapReduce'  # type: str
18865        self.storage_linked_services = storage_linked_services
18866        self.arguments = arguments
18867        self.get_debug_info = get_debug_info
18868        self.class_name = class_name
18869        self.jar_file_path = jar_file_path
18870        self.jar_linked_service = jar_linked_service
18871        self.jar_libs = jar_libs
18872        self.defines = defines
18873
18874
18875class HDInsightOnDemandLinkedService(LinkedService):
18876    """HDInsight ondemand linked service.
18877
18878    All required parameters must be populated in order to send to Azure.
18879
18880    :param additional_properties: Unmatched properties from the message are deserialized to this
18881     collection.
18882    :type additional_properties: dict[str, any]
18883    :param type: Required. Type of linked service.Constant filled by server.
18884    :type type: str
18885    :param connect_via: The integration runtime reference.
18886    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
18887    :param description: Linked service description.
18888    :type description: str
18889    :param parameters: Parameters for linked service.
18890    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
18891    :param annotations: List of tags that can be used for describing the linked service.
18892    :type annotations: list[any]
18893    :param cluster_size: Required. Number of worker/data nodes in the cluster. Suggestion value: 4.
18894     Type: string (or Expression with resultType string).
18895    :type cluster_size: any
18896    :param time_to_live: Required. The allowed idle time for the on-demand HDInsight cluster.
18897     Specifies how long the on-demand HDInsight cluster stays alive after completion of an activity
18898     run if there are no other active jobs in the cluster. The minimum value is 5 mins. Type: string
18899     (or Expression with resultType string).
18900    :type time_to_live: any
18901    :param version: Required. Version of the HDInsight cluster.  Type: string (or Expression with
18902     resultType string).
18903    :type version: any
18904    :param linked_service_name: Required. Azure Storage linked service to be used by the on-demand
18905     cluster for storing and processing data.
18906    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
18907    :param host_subscription_id: Required. The customer’s subscription to host the cluster. Type:
18908     string (or Expression with resultType string).
18909    :type host_subscription_id: any
18910    :param service_principal_id: The service principal id for the hostSubscriptionId. Type: string
18911     (or Expression with resultType string).
18912    :type service_principal_id: any
18913    :param service_principal_key: The key for the service principal id.
18914    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
18915    :param tenant: Required. The Tenant id/name to which the service principal belongs. Type:
18916     string (or Expression with resultType string).
18917    :type tenant: any
18918    :param cluster_resource_group: Required. The resource group where the cluster belongs. Type:
18919     string (or Expression with resultType string).
18920    :type cluster_resource_group: any
18921    :param cluster_name_prefix: The prefix of cluster name, postfix will be distinct with
18922     timestamp. Type: string (or Expression with resultType string).
18923    :type cluster_name_prefix: any
18924    :param cluster_user_name: The username to access the cluster. Type: string (or Expression with
18925     resultType string).
18926    :type cluster_user_name: any
18927    :param cluster_password: The password to access the cluster.
18928    :type cluster_password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
18929    :param cluster_ssh_user_name: The username to SSH remotely connect to cluster’s node (for
18930     Linux). Type: string (or Expression with resultType string).
18931    :type cluster_ssh_user_name: any
18932    :param cluster_ssh_password: The password to SSH remotely connect cluster’s node (for Linux).
18933    :type cluster_ssh_password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
18934    :param additional_linked_service_names: Specifies additional storage accounts for the HDInsight
18935     linked service so that the Data Factory service can register them on your behalf.
18936    :type additional_linked_service_names:
18937     list[~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference]
18938    :param hcatalog_linked_service_name: The name of Azure SQL linked service that point to the
18939     HCatalog database. The on-demand HDInsight cluster is created by using the Azure SQL database
18940     as the metastore.
18941    :type hcatalog_linked_service_name:
18942     ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
18943    :param cluster_type: The cluster type. Type: string (or Expression with resultType string).
18944    :type cluster_type: any
18945    :param spark_version: The version of spark if the cluster type is 'spark'. Type: string (or
18946     Expression with resultType string).
18947    :type spark_version: any
18948    :param core_configuration: Specifies the core configuration parameters (as in core-site.xml)
18949     for the HDInsight cluster to be created.
18950    :type core_configuration: any
18951    :param h_base_configuration: Specifies the HBase configuration parameters (hbase-site.xml) for
18952     the HDInsight cluster.
18953    :type h_base_configuration: any
18954    :param hdfs_configuration: Specifies the HDFS configuration parameters (hdfs-site.xml) for the
18955     HDInsight cluster.
18956    :type hdfs_configuration: any
18957    :param hive_configuration: Specifies the hive configuration parameters (hive-site.xml) for the
18958     HDInsight cluster.
18959    :type hive_configuration: any
18960    :param map_reduce_configuration: Specifies the MapReduce configuration parameters
18961     (mapred-site.xml) for the HDInsight cluster.
18962    :type map_reduce_configuration: any
18963    :param oozie_configuration: Specifies the Oozie configuration parameters (oozie-site.xml) for
18964     the HDInsight cluster.
18965    :type oozie_configuration: any
18966    :param storm_configuration: Specifies the Storm configuration parameters (storm-site.xml) for
18967     the HDInsight cluster.
18968    :type storm_configuration: any
18969    :param yarn_configuration: Specifies the Yarn configuration parameters (yarn-site.xml) for the
18970     HDInsight cluster.
18971    :type yarn_configuration: any
18972    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
18973     encrypted using the integration runtime credential manager. Type: string (or Expression with
18974     resultType string).
18975    :type encrypted_credential: any
18976    :param head_node_size: Specifies the size of the head node for the HDInsight cluster.
18977    :type head_node_size: any
18978    :param data_node_size: Specifies the size of the data node for the HDInsight cluster.
18979    :type data_node_size: any
18980    :param zookeeper_node_size: Specifies the size of the Zoo Keeper node for the HDInsight
18981     cluster.
18982    :type zookeeper_node_size: any
18983    :param script_actions: Custom script actions to run on HDI ondemand cluster once it's up.
18984     Please refer to
18985     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.
18986    :type script_actions: list[~azure.synapse.artifacts.v2020_12_01.models.ScriptAction]
18987    :param virtual_network_id: The ARM resource ID for the vNet to which the cluster should be
18988     joined after creation. Type: string (or Expression with resultType string).
18989    :type virtual_network_id: any
18990    :param subnet_name: The ARM resource ID for the subnet in the vNet. If virtualNetworkId was
18991     specified, then this property is required. Type: string (or Expression with resultType string).
18992    :type subnet_name: any
18993    """
18994
18995    _validation = {
18996        'type': {'required': True},
18997        'cluster_size': {'required': True},
18998        'time_to_live': {'required': True},
18999        'version': {'required': True},
19000        'linked_service_name': {'required': True},
19001        'host_subscription_id': {'required': True},
19002        'tenant': {'required': True},
19003        'cluster_resource_group': {'required': True},
19004    }
19005
19006    _attribute_map = {
19007        'additional_properties': {'key': '', 'type': '{object}'},
19008        'type': {'key': 'type', 'type': 'str'},
19009        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
19010        'description': {'key': 'description', 'type': 'str'},
19011        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
19012        'annotations': {'key': 'annotations', 'type': '[object]'},
19013        'cluster_size': {'key': 'typeProperties.clusterSize', 'type': 'object'},
19014        'time_to_live': {'key': 'typeProperties.timeToLive', 'type': 'object'},
19015        'version': {'key': 'typeProperties.version', 'type': 'object'},
19016        'linked_service_name': {'key': 'typeProperties.linkedServiceName', 'type': 'LinkedServiceReference'},
19017        'host_subscription_id': {'key': 'typeProperties.hostSubscriptionId', 'type': 'object'},
19018        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
19019        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
19020        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
19021        'cluster_resource_group': {'key': 'typeProperties.clusterResourceGroup', 'type': 'object'},
19022        'cluster_name_prefix': {'key': 'typeProperties.clusterNamePrefix', 'type': 'object'},
19023        'cluster_user_name': {'key': 'typeProperties.clusterUserName', 'type': 'object'},
19024        'cluster_password': {'key': 'typeProperties.clusterPassword', 'type': 'SecretBase'},
19025        'cluster_ssh_user_name': {'key': 'typeProperties.clusterSshUserName', 'type': 'object'},
19026        'cluster_ssh_password': {'key': 'typeProperties.clusterSshPassword', 'type': 'SecretBase'},
19027        'additional_linked_service_names': {'key': 'typeProperties.additionalLinkedServiceNames', 'type': '[LinkedServiceReference]'},
19028        'hcatalog_linked_service_name': {'key': 'typeProperties.hcatalogLinkedServiceName', 'type': 'LinkedServiceReference'},
19029        'cluster_type': {'key': 'typeProperties.clusterType', 'type': 'object'},
19030        'spark_version': {'key': 'typeProperties.sparkVersion', 'type': 'object'},
19031        'core_configuration': {'key': 'typeProperties.coreConfiguration', 'type': 'object'},
19032        'h_base_configuration': {'key': 'typeProperties.hBaseConfiguration', 'type': 'object'},
19033        'hdfs_configuration': {'key': 'typeProperties.hdfsConfiguration', 'type': 'object'},
19034        'hive_configuration': {'key': 'typeProperties.hiveConfiguration', 'type': 'object'},
19035        'map_reduce_configuration': {'key': 'typeProperties.mapReduceConfiguration', 'type': 'object'},
19036        'oozie_configuration': {'key': 'typeProperties.oozieConfiguration', 'type': 'object'},
19037        'storm_configuration': {'key': 'typeProperties.stormConfiguration', 'type': 'object'},
19038        'yarn_configuration': {'key': 'typeProperties.yarnConfiguration', 'type': 'object'},
19039        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
19040        'head_node_size': {'key': 'typeProperties.headNodeSize', 'type': 'object'},
19041        'data_node_size': {'key': 'typeProperties.dataNodeSize', 'type': 'object'},
19042        'zookeeper_node_size': {'key': 'typeProperties.zookeeperNodeSize', 'type': 'object'},
19043        'script_actions': {'key': 'typeProperties.scriptActions', 'type': '[ScriptAction]'},
19044        'virtual_network_id': {'key': 'typeProperties.virtualNetworkId', 'type': 'object'},
19045        'subnet_name': {'key': 'typeProperties.subnetName', 'type': 'object'},
19046    }
19047
19048    def __init__(
19049        self,
19050        *,
19051        cluster_size: Any,
19052        time_to_live: Any,
19053        version: Any,
19054        linked_service_name: "LinkedServiceReference",
19055        host_subscription_id: Any,
19056        tenant: Any,
19057        cluster_resource_group: Any,
19058        additional_properties: Optional[Dict[str, Any]] = None,
19059        connect_via: Optional["IntegrationRuntimeReference"] = None,
19060        description: Optional[str] = None,
19061        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
19062        annotations: Optional[List[Any]] = None,
19063        service_principal_id: Optional[Any] = None,
19064        service_principal_key: Optional["SecretBase"] = None,
19065        cluster_name_prefix: Optional[Any] = None,
19066        cluster_user_name: Optional[Any] = None,
19067        cluster_password: Optional["SecretBase"] = None,
19068        cluster_ssh_user_name: Optional[Any] = None,
19069        cluster_ssh_password: Optional["SecretBase"] = None,
19070        additional_linked_service_names: Optional[List["LinkedServiceReference"]] = None,
19071        hcatalog_linked_service_name: Optional["LinkedServiceReference"] = None,
19072        cluster_type: Optional[Any] = None,
19073        spark_version: Optional[Any] = None,
19074        core_configuration: Optional[Any] = None,
19075        h_base_configuration: Optional[Any] = None,
19076        hdfs_configuration: Optional[Any] = None,
19077        hive_configuration: Optional[Any] = None,
19078        map_reduce_configuration: Optional[Any] = None,
19079        oozie_configuration: Optional[Any] = None,
19080        storm_configuration: Optional[Any] = None,
19081        yarn_configuration: Optional[Any] = None,
19082        encrypted_credential: Optional[Any] = None,
19083        head_node_size: Optional[Any] = None,
19084        data_node_size: Optional[Any] = None,
19085        zookeeper_node_size: Optional[Any] = None,
19086        script_actions: Optional[List["ScriptAction"]] = None,
19087        virtual_network_id: Optional[Any] = None,
19088        subnet_name: Optional[Any] = None,
19089        **kwargs
19090    ):
19091        super(HDInsightOnDemandLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
19092        self.type = 'HDInsightOnDemand'  # type: str
19093        self.cluster_size = cluster_size
19094        self.time_to_live = time_to_live
19095        self.version = version
19096        self.linked_service_name = linked_service_name
19097        self.host_subscription_id = host_subscription_id
19098        self.service_principal_id = service_principal_id
19099        self.service_principal_key = service_principal_key
19100        self.tenant = tenant
19101        self.cluster_resource_group = cluster_resource_group
19102        self.cluster_name_prefix = cluster_name_prefix
19103        self.cluster_user_name = cluster_user_name
19104        self.cluster_password = cluster_password
19105        self.cluster_ssh_user_name = cluster_ssh_user_name
19106        self.cluster_ssh_password = cluster_ssh_password
19107        self.additional_linked_service_names = additional_linked_service_names
19108        self.hcatalog_linked_service_name = hcatalog_linked_service_name
19109        self.cluster_type = cluster_type
19110        self.spark_version = spark_version
19111        self.core_configuration = core_configuration
19112        self.h_base_configuration = h_base_configuration
19113        self.hdfs_configuration = hdfs_configuration
19114        self.hive_configuration = hive_configuration
19115        self.map_reduce_configuration = map_reduce_configuration
19116        self.oozie_configuration = oozie_configuration
19117        self.storm_configuration = storm_configuration
19118        self.yarn_configuration = yarn_configuration
19119        self.encrypted_credential = encrypted_credential
19120        self.head_node_size = head_node_size
19121        self.data_node_size = data_node_size
19122        self.zookeeper_node_size = zookeeper_node_size
19123        self.script_actions = script_actions
19124        self.virtual_network_id = virtual_network_id
19125        self.subnet_name = subnet_name
19126
19127
19128class HDInsightPigActivity(ExecutionActivity):
19129    """HDInsight Pig activity type.
19130
19131    All required parameters must be populated in order to send to Azure.
19132
19133    :param additional_properties: Unmatched properties from the message are deserialized to this
19134     collection.
19135    :type additional_properties: dict[str, any]
19136    :param name: Required. Activity name.
19137    :type name: str
19138    :param type: Required. Type of activity.Constant filled by server.
19139    :type type: str
19140    :param description: Activity description.
19141    :type description: str
19142    :param depends_on: Activity depends on condition.
19143    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
19144    :param user_properties: Activity user properties.
19145    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
19146    :param linked_service_name: Linked service reference.
19147    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
19148    :param policy: Activity policy.
19149    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
19150    :param storage_linked_services: Storage linked service references.
19151    :type storage_linked_services:
19152     list[~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference]
19153    :param arguments: User specified arguments to HDInsightActivity. Type: array (or Expression
19154     with resultType array).
19155    :type arguments: any
19156    :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure".
19157    :type get_debug_info: str or
19158     ~azure.synapse.artifacts.v2020_12_01.models.HDInsightActivityDebugInfoOption
19159    :param script_path: Script path. Type: string (or Expression with resultType string).
19160    :type script_path: any
19161    :param script_linked_service: Script linked service reference.
19162    :type script_linked_service: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
19163    :param defines: Allows user to specify defines for Pig job request.
19164    :type defines: dict[str, any]
19165    """
19166
19167    _validation = {
19168        'name': {'required': True},
19169        'type': {'required': True},
19170    }
19171
19172    _attribute_map = {
19173        'additional_properties': {'key': '', 'type': '{object}'},
19174        'name': {'key': 'name', 'type': 'str'},
19175        'type': {'key': 'type', 'type': 'str'},
19176        'description': {'key': 'description', 'type': 'str'},
19177        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
19178        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
19179        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
19180        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
19181        'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'},
19182        'arguments': {'key': 'typeProperties.arguments', 'type': 'object'},
19183        'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'},
19184        'script_path': {'key': 'typeProperties.scriptPath', 'type': 'object'},
19185        'script_linked_service': {'key': 'typeProperties.scriptLinkedService', 'type': 'LinkedServiceReference'},
19186        'defines': {'key': 'typeProperties.defines', 'type': '{object}'},
19187    }
19188
19189    def __init__(
19190        self,
19191        *,
19192        name: str,
19193        additional_properties: Optional[Dict[str, Any]] = None,
19194        description: Optional[str] = None,
19195        depends_on: Optional[List["ActivityDependency"]] = None,
19196        user_properties: Optional[List["UserProperty"]] = None,
19197        linked_service_name: Optional["LinkedServiceReference"] = None,
19198        policy: Optional["ActivityPolicy"] = None,
19199        storage_linked_services: Optional[List["LinkedServiceReference"]] = None,
19200        arguments: Optional[Any] = None,
19201        get_debug_info: Optional[Union[str, "HDInsightActivityDebugInfoOption"]] = None,
19202        script_path: Optional[Any] = None,
19203        script_linked_service: Optional["LinkedServiceReference"] = None,
19204        defines: Optional[Dict[str, Any]] = None,
19205        **kwargs
19206    ):
19207        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)
19208        self.type = 'HDInsightPig'  # type: str
19209        self.storage_linked_services = storage_linked_services
19210        self.arguments = arguments
19211        self.get_debug_info = get_debug_info
19212        self.script_path = script_path
19213        self.script_linked_service = script_linked_service
19214        self.defines = defines
19215
19216
19217class HDInsightSparkActivity(ExecutionActivity):
19218    """HDInsight Spark activity.
19219
19220    All required parameters must be populated in order to send to Azure.
19221
19222    :param additional_properties: Unmatched properties from the message are deserialized to this
19223     collection.
19224    :type additional_properties: dict[str, any]
19225    :param name: Required. Activity name.
19226    :type name: str
19227    :param type: Required. Type of activity.Constant filled by server.
19228    :type type: str
19229    :param description: Activity description.
19230    :type description: str
19231    :param depends_on: Activity depends on condition.
19232    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
19233    :param user_properties: Activity user properties.
19234    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
19235    :param linked_service_name: Linked service reference.
19236    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
19237    :param policy: Activity policy.
19238    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
19239    :param root_path: Required. The root path in 'sparkJobLinkedService' for all the job’s files.
19240     Type: string (or Expression with resultType string).
19241    :type root_path: any
19242    :param entry_file_path: Required. The relative path to the root folder of the code/package to
19243     be executed. Type: string (or Expression with resultType string).
19244    :type entry_file_path: any
19245    :param arguments: The user-specified arguments to HDInsightSparkActivity.
19246    :type arguments: list[any]
19247    :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure".
19248    :type get_debug_info: str or
19249     ~azure.synapse.artifacts.v2020_12_01.models.HDInsightActivityDebugInfoOption
19250    :param spark_job_linked_service: The storage linked service for uploading the entry file and
19251     dependencies, and for receiving logs.
19252    :type spark_job_linked_service:
19253     ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
19254    :param class_name: The application's Java/Spark main class.
19255    :type class_name: str
19256    :param proxy_user: The user to impersonate that will execute the job. Type: string (or
19257     Expression with resultType string).
19258    :type proxy_user: any
19259    :param spark_config: Spark configuration property.
19260    :type spark_config: dict[str, any]
19261    """
19262
19263    _validation = {
19264        'name': {'required': True},
19265        'type': {'required': True},
19266        'root_path': {'required': True},
19267        'entry_file_path': {'required': True},
19268    }
19269
19270    _attribute_map = {
19271        'additional_properties': {'key': '', 'type': '{object}'},
19272        'name': {'key': 'name', 'type': 'str'},
19273        'type': {'key': 'type', 'type': 'str'},
19274        'description': {'key': 'description', 'type': 'str'},
19275        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
19276        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
19277        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
19278        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
19279        'root_path': {'key': 'typeProperties.rootPath', 'type': 'object'},
19280        'entry_file_path': {'key': 'typeProperties.entryFilePath', 'type': 'object'},
19281        'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'},
19282        'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'},
19283        'spark_job_linked_service': {'key': 'typeProperties.sparkJobLinkedService', 'type': 'LinkedServiceReference'},
19284        'class_name': {'key': 'typeProperties.className', 'type': 'str'},
19285        'proxy_user': {'key': 'typeProperties.proxyUser', 'type': 'object'},
19286        'spark_config': {'key': 'typeProperties.sparkConfig', 'type': '{object}'},
19287    }
19288
19289    def __init__(
19290        self,
19291        *,
19292        name: str,
19293        root_path: Any,
19294        entry_file_path: Any,
19295        additional_properties: Optional[Dict[str, Any]] = None,
19296        description: Optional[str] = None,
19297        depends_on: Optional[List["ActivityDependency"]] = None,
19298        user_properties: Optional[List["UserProperty"]] = None,
19299        linked_service_name: Optional["LinkedServiceReference"] = None,
19300        policy: Optional["ActivityPolicy"] = None,
19301        arguments: Optional[List[Any]] = None,
19302        get_debug_info: Optional[Union[str, "HDInsightActivityDebugInfoOption"]] = None,
19303        spark_job_linked_service: Optional["LinkedServiceReference"] = None,
19304        class_name: Optional[str] = None,
19305        proxy_user: Optional[Any] = None,
19306        spark_config: Optional[Dict[str, Any]] = None,
19307        **kwargs
19308    ):
19309        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)
19310        self.type = 'HDInsightSpark'  # type: str
19311        self.root_path = root_path
19312        self.entry_file_path = entry_file_path
19313        self.arguments = arguments
19314        self.get_debug_info = get_debug_info
19315        self.spark_job_linked_service = spark_job_linked_service
19316        self.class_name = class_name
19317        self.proxy_user = proxy_user
19318        self.spark_config = spark_config
19319
19320
19321class HDInsightStreamingActivity(ExecutionActivity):
19322    """HDInsight streaming activity type.
19323
19324    All required parameters must be populated in order to send to Azure.
19325
19326    :param additional_properties: Unmatched properties from the message are deserialized to this
19327     collection.
19328    :type additional_properties: dict[str, any]
19329    :param name: Required. Activity name.
19330    :type name: str
19331    :param type: Required. Type of activity.Constant filled by server.
19332    :type type: str
19333    :param description: Activity description.
19334    :type description: str
19335    :param depends_on: Activity depends on condition.
19336    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
19337    :param user_properties: Activity user properties.
19338    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
19339    :param linked_service_name: Linked service reference.
19340    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
19341    :param policy: Activity policy.
19342    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
19343    :param storage_linked_services: Storage linked service references.
19344    :type storage_linked_services:
19345     list[~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference]
19346    :param arguments: User specified arguments to HDInsightActivity.
19347    :type arguments: list[any]
19348    :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure".
19349    :type get_debug_info: str or
19350     ~azure.synapse.artifacts.v2020_12_01.models.HDInsightActivityDebugInfoOption
19351    :param mapper: Required. Mapper executable name. Type: string (or Expression with resultType
19352     string).
19353    :type mapper: any
19354    :param reducer: Required. Reducer executable name. Type: string (or Expression with resultType
19355     string).
19356    :type reducer: any
19357    :param input: Required. Input blob path. Type: string (or Expression with resultType string).
19358    :type input: any
19359    :param output: Required. Output blob path. Type: string (or Expression with resultType string).
19360    :type output: any
19361    :param file_paths: Required. Paths to streaming job files. Can be directories.
19362    :type file_paths: list[any]
19363    :param file_linked_service: Linked service reference where the files are located.
19364    :type file_linked_service: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
19365    :param combiner: Combiner executable name. Type: string (or Expression with resultType string).
19366    :type combiner: any
19367    :param command_environment: Command line environment values.
19368    :type command_environment: list[any]
19369    :param defines: Allows user to specify defines for streaming job request.
19370    :type defines: dict[str, any]
19371    """
19372
19373    _validation = {
19374        'name': {'required': True},
19375        'type': {'required': True},
19376        'mapper': {'required': True},
19377        'reducer': {'required': True},
19378        'input': {'required': True},
19379        'output': {'required': True},
19380        'file_paths': {'required': True},
19381    }
19382
19383    _attribute_map = {
19384        'additional_properties': {'key': '', 'type': '{object}'},
19385        'name': {'key': 'name', 'type': 'str'},
19386        'type': {'key': 'type', 'type': 'str'},
19387        'description': {'key': 'description', 'type': 'str'},
19388        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
19389        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
19390        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
19391        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
19392        'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'},
19393        'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'},
19394        'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'},
19395        'mapper': {'key': 'typeProperties.mapper', 'type': 'object'},
19396        'reducer': {'key': 'typeProperties.reducer', 'type': 'object'},
19397        'input': {'key': 'typeProperties.input', 'type': 'object'},
19398        'output': {'key': 'typeProperties.output', 'type': 'object'},
19399        'file_paths': {'key': 'typeProperties.filePaths', 'type': '[object]'},
19400        'file_linked_service': {'key': 'typeProperties.fileLinkedService', 'type': 'LinkedServiceReference'},
19401        'combiner': {'key': 'typeProperties.combiner', 'type': 'object'},
19402        'command_environment': {'key': 'typeProperties.commandEnvironment', 'type': '[object]'},
19403        'defines': {'key': 'typeProperties.defines', 'type': '{object}'},
19404    }
19405
19406    def __init__(
19407        self,
19408        *,
19409        name: str,
19410        mapper: Any,
19411        reducer: Any,
19412        input: Any,
19413        output: Any,
19414        file_paths: List[Any],
19415        additional_properties: Optional[Dict[str, Any]] = None,
19416        description: Optional[str] = None,
19417        depends_on: Optional[List["ActivityDependency"]] = None,
19418        user_properties: Optional[List["UserProperty"]] = None,
19419        linked_service_name: Optional["LinkedServiceReference"] = None,
19420        policy: Optional["ActivityPolicy"] = None,
19421        storage_linked_services: Optional[List["LinkedServiceReference"]] = None,
19422        arguments: Optional[List[Any]] = None,
19423        get_debug_info: Optional[Union[str, "HDInsightActivityDebugInfoOption"]] = None,
19424        file_linked_service: Optional["LinkedServiceReference"] = None,
19425        combiner: Optional[Any] = None,
19426        command_environment: Optional[List[Any]] = None,
19427        defines: Optional[Dict[str, Any]] = None,
19428        **kwargs
19429    ):
19430        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)
19431        self.type = 'HDInsightStreaming'  # type: str
19432        self.storage_linked_services = storage_linked_services
19433        self.arguments = arguments
19434        self.get_debug_info = get_debug_info
19435        self.mapper = mapper
19436        self.reducer = reducer
19437        self.input = input
19438        self.output = output
19439        self.file_paths = file_paths
19440        self.file_linked_service = file_linked_service
19441        self.combiner = combiner
19442        self.command_environment = command_environment
19443        self.defines = defines
19444
19445
19446class HiveLinkedService(LinkedService):
19447    """Hive Server linked service.
19448
19449    All required parameters must be populated in order to send to Azure.
19450
19451    :param additional_properties: Unmatched properties from the message are deserialized to this
19452     collection.
19453    :type additional_properties: dict[str, any]
19454    :param type: Required. Type of linked service.Constant filled by server.
19455    :type type: str
19456    :param connect_via: The integration runtime reference.
19457    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
19458    :param description: Linked service description.
19459    :type description: str
19460    :param parameters: Parameters for linked service.
19461    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
19462    :param annotations: List of tags that can be used for describing the linked service.
19463    :type annotations: list[any]
19464    :param host: Required. IP address or host name of the Hive server, separated by ';' for
19465     multiple hosts (only when serviceDiscoveryMode is enable).
19466    :type host: any
19467    :param port: The TCP port that the Hive server uses to listen for client connections.
19468    :type port: any
19469    :param server_type: The type of Hive server. Possible values include: "HiveServer1",
19470     "HiveServer2", "HiveThriftServer".
19471    :type server_type: str or ~azure.synapse.artifacts.v2020_12_01.models.HiveServerType
19472    :param thrift_transport_protocol: The transport protocol to use in the Thrift layer. Possible
19473     values include: "Binary", "SASL", "HTTP ".
19474    :type thrift_transport_protocol: str or
19475     ~azure.synapse.artifacts.v2020_12_01.models.HiveThriftTransportProtocol
19476    :param authentication_type: Required. The authentication method used to access the Hive server.
19477     Possible values include: "Anonymous", "Username", "UsernameAndPassword",
19478     "WindowsAzureHDInsightService".
19479    :type authentication_type: str or
19480     ~azure.synapse.artifacts.v2020_12_01.models.HiveAuthenticationType
19481    :param service_discovery_mode: true to indicate using the ZooKeeper service, false not.
19482    :type service_discovery_mode: any
19483    :param zoo_keeper_name_space: The namespace on ZooKeeper under which Hive Server 2 nodes are
19484     added.
19485    :type zoo_keeper_name_space: any
19486    :param use_native_query: Specifies whether the driver uses native HiveQL queries,or converts
19487     them into an equivalent form in HiveQL.
19488    :type use_native_query: any
19489    :param username: The user name that you use to access Hive Server.
19490    :type username: any
19491    :param password: The password corresponding to the user name that you provided in the Username
19492     field.
19493    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
19494    :param http_path: The partial URL corresponding to the Hive server.
19495    :type http_path: any
19496    :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The
19497     default value is false.
19498    :type enable_ssl: any
19499    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
19500     verifying the server when connecting over SSL. This property can only be set when using SSL on
19501     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
19502    :type trusted_cert_path: any
19503    :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust
19504     store or from a specified PEM file. The default value is false.
19505    :type use_system_trust_store: any
19506    :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate
19507     name to match the host name of the server when connecting over SSL. The default value is false.
19508    :type allow_host_name_cn_mismatch: any
19509    :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from
19510     the server. The default value is false.
19511    :type allow_self_signed_server_cert: any
19512    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
19513     encrypted using the integration runtime credential manager. Type: string (or Expression with
19514     resultType string).
19515    :type encrypted_credential: any
19516    """
19517
19518    _validation = {
19519        'type': {'required': True},
19520        'host': {'required': True},
19521        'authentication_type': {'required': True},
19522    }
19523
19524    _attribute_map = {
19525        'additional_properties': {'key': '', 'type': '{object}'},
19526        'type': {'key': 'type', 'type': 'str'},
19527        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
19528        'description': {'key': 'description', 'type': 'str'},
19529        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
19530        'annotations': {'key': 'annotations', 'type': '[object]'},
19531        'host': {'key': 'typeProperties.host', 'type': 'object'},
19532        'port': {'key': 'typeProperties.port', 'type': 'object'},
19533        'server_type': {'key': 'typeProperties.serverType', 'type': 'str'},
19534        'thrift_transport_protocol': {'key': 'typeProperties.thriftTransportProtocol', 'type': 'str'},
19535        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
19536        'service_discovery_mode': {'key': 'typeProperties.serviceDiscoveryMode', 'type': 'object'},
19537        'zoo_keeper_name_space': {'key': 'typeProperties.zooKeeperNameSpace', 'type': 'object'},
19538        'use_native_query': {'key': 'typeProperties.useNativeQuery', 'type': 'object'},
19539        'username': {'key': 'typeProperties.username', 'type': 'object'},
19540        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
19541        'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'},
19542        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
19543        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
19544        'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'},
19545        'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'},
19546        'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'},
19547        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
19548    }
19549
19550    def __init__(
19551        self,
19552        *,
19553        host: Any,
19554        authentication_type: Union[str, "HiveAuthenticationType"],
19555        additional_properties: Optional[Dict[str, Any]] = None,
19556        connect_via: Optional["IntegrationRuntimeReference"] = None,
19557        description: Optional[str] = None,
19558        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
19559        annotations: Optional[List[Any]] = None,
19560        port: Optional[Any] = None,
19561        server_type: Optional[Union[str, "HiveServerType"]] = None,
19562        thrift_transport_protocol: Optional[Union[str, "HiveThriftTransportProtocol"]] = None,
19563        service_discovery_mode: Optional[Any] = None,
19564        zoo_keeper_name_space: Optional[Any] = None,
19565        use_native_query: Optional[Any] = None,
19566        username: Optional[Any] = None,
19567        password: Optional["SecretBase"] = None,
19568        http_path: Optional[Any] = None,
19569        enable_ssl: Optional[Any] = None,
19570        trusted_cert_path: Optional[Any] = None,
19571        use_system_trust_store: Optional[Any] = None,
19572        allow_host_name_cn_mismatch: Optional[Any] = None,
19573        allow_self_signed_server_cert: Optional[Any] = None,
19574        encrypted_credential: Optional[Any] = None,
19575        **kwargs
19576    ):
19577        super(HiveLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
19578        self.type = 'Hive'  # type: str
19579        self.host = host
19580        self.port = port
19581        self.server_type = server_type
19582        self.thrift_transport_protocol = thrift_transport_protocol
19583        self.authentication_type = authentication_type
19584        self.service_discovery_mode = service_discovery_mode
19585        self.zoo_keeper_name_space = zoo_keeper_name_space
19586        self.use_native_query = use_native_query
19587        self.username = username
19588        self.password = password
19589        self.http_path = http_path
19590        self.enable_ssl = enable_ssl
19591        self.trusted_cert_path = trusted_cert_path
19592        self.use_system_trust_store = use_system_trust_store
19593        self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch
19594        self.allow_self_signed_server_cert = allow_self_signed_server_cert
19595        self.encrypted_credential = encrypted_credential
19596
19597
19598class HiveObjectDataset(Dataset):
19599    """Hive Server dataset.
19600
19601    All required parameters must be populated in order to send to Azure.
19602
19603    :param additional_properties: Unmatched properties from the message are deserialized to this
19604     collection.
19605    :type additional_properties: dict[str, any]
19606    :param type: Required. Type of dataset.Constant filled by server.
19607    :type type: str
19608    :param description: Dataset description.
19609    :type description: str
19610    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
19611     with resultType array), itemType: DatasetDataElement.
19612    :type structure: any
19613    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
19614     Expression with resultType array), itemType: DatasetSchemaDataElement.
19615    :type schema: any
19616    :param linked_service_name: Required. Linked service reference.
19617    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
19618    :param parameters: Parameters for dataset.
19619    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
19620    :param annotations: List of tags that can be used for describing the Dataset.
19621    :type annotations: list[any]
19622    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
19623     root level.
19624    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
19625    :param table_name: This property will be retired. Please consider using schema + table
19626     properties instead.
19627    :type table_name: any
19628    :param table: The table name of the Hive. Type: string (or Expression with resultType string).
19629    :type table: any
19630    :param schema_type_properties_schema: The schema name of the Hive. Type: string (or Expression
19631     with resultType string).
19632    :type schema_type_properties_schema: any
19633    """
19634
19635    _validation = {
19636        'type': {'required': True},
19637        'linked_service_name': {'required': True},
19638    }
19639
19640    _attribute_map = {
19641        'additional_properties': {'key': '', 'type': '{object}'},
19642        'type': {'key': 'type', 'type': 'str'},
19643        'description': {'key': 'description', 'type': 'str'},
19644        'structure': {'key': 'structure', 'type': 'object'},
19645        'schema': {'key': 'schema', 'type': 'object'},
19646        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
19647        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
19648        'annotations': {'key': 'annotations', 'type': '[object]'},
19649        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
19650        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
19651        'table': {'key': 'typeProperties.table', 'type': 'object'},
19652        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
19653    }
19654
19655    def __init__(
19656        self,
19657        *,
19658        linked_service_name: "LinkedServiceReference",
19659        additional_properties: Optional[Dict[str, Any]] = None,
19660        description: Optional[str] = None,
19661        structure: Optional[Any] = None,
19662        schema: Optional[Any] = None,
19663        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
19664        annotations: Optional[List[Any]] = None,
19665        folder: Optional["DatasetFolder"] = None,
19666        table_name: Optional[Any] = None,
19667        table: Optional[Any] = None,
19668        schema_type_properties_schema: Optional[Any] = None,
19669        **kwargs
19670    ):
19671        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)
19672        self.type = 'HiveObject'  # type: str
19673        self.table_name = table_name
19674        self.table = table
19675        self.schema_type_properties_schema = schema_type_properties_schema
19676
19677
19678class HiveSource(TabularSource):
19679    """A copy activity Hive Server source.
19680
19681    All required parameters must be populated in order to send to Azure.
19682
19683    :param additional_properties: Unmatched properties from the message are deserialized to this
19684     collection.
19685    :type additional_properties: dict[str, any]
19686    :param type: Required. Copy source type.Constant filled by server.
19687    :type type: str
19688    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
19689     integer).
19690    :type source_retry_count: any
19691    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
19692     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
19693    :type source_retry_wait: any
19694    :param max_concurrent_connections: The maximum concurrent connection count for the source data
19695     store. Type: integer (or Expression with resultType integer).
19696    :type max_concurrent_connections: any
19697    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
19698     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
19699    :type query_timeout: any
19700    :param additional_columns: Specifies the additional columns to be added to source data. Type:
19701     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
19702    :type additional_columns: any
19703    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
19704     string).
19705    :type query: any
19706    """
19707
19708    _validation = {
19709        'type': {'required': True},
19710    }
19711
19712    _attribute_map = {
19713        'additional_properties': {'key': '', 'type': '{object}'},
19714        'type': {'key': 'type', 'type': 'str'},
19715        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
19716        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
19717        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
19718        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
19719        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
19720        'query': {'key': 'query', 'type': 'object'},
19721    }
19722
19723    def __init__(
19724        self,
19725        *,
19726        additional_properties: Optional[Dict[str, Any]] = None,
19727        source_retry_count: Optional[Any] = None,
19728        source_retry_wait: Optional[Any] = None,
19729        max_concurrent_connections: Optional[Any] = None,
19730        query_timeout: Optional[Any] = None,
19731        additional_columns: Optional[Any] = None,
19732        query: Optional[Any] = None,
19733        **kwargs
19734    ):
19735        super(HiveSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
19736        self.type = 'HiveSource'  # type: str
19737        self.query = query
19738
19739
19740class HttpDataset(Dataset):
19741    """A file in an HTTP web server.
19742
19743    All required parameters must be populated in order to send to Azure.
19744
19745    :param additional_properties: Unmatched properties from the message are deserialized to this
19746     collection.
19747    :type additional_properties: dict[str, any]
19748    :param type: Required. Type of dataset.Constant filled by server.
19749    :type type: str
19750    :param description: Dataset description.
19751    :type description: str
19752    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
19753     with resultType array), itemType: DatasetDataElement.
19754    :type structure: any
19755    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
19756     Expression with resultType array), itemType: DatasetSchemaDataElement.
19757    :type schema: any
19758    :param linked_service_name: Required. Linked service reference.
19759    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
19760    :param parameters: Parameters for dataset.
19761    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
19762    :param annotations: List of tags that can be used for describing the Dataset.
19763    :type annotations: list[any]
19764    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
19765     root level.
19766    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
19767    :param relative_url: The relative URL based on the URL in the HttpLinkedService refers to an
19768     HTTP file Type: string (or Expression with resultType string).
19769    :type relative_url: any
19770    :param request_method: The HTTP method for the HTTP request. Type: string (or Expression with
19771     resultType string).
19772    :type request_method: any
19773    :param request_body: The body for the HTTP request. Type: string (or Expression with resultType
19774     string).
19775    :type request_body: any
19776    :param additional_headers: The headers for the HTTP Request. e.g.
19777     request-header-name-1:request-header-value-1
19778     ...
19779     request-header-name-n:request-header-value-n Type: string (or Expression with resultType
19780     string).
19781    :type additional_headers: any
19782    :param format: The format of files.
19783    :type format: ~azure.synapse.artifacts.v2020_12_01.models.DatasetStorageFormat
19784    :param compression: The data compression method used on files.
19785    :type compression: ~azure.synapse.artifacts.v2020_12_01.models.DatasetCompression
19786    """
19787
19788    _validation = {
19789        'type': {'required': True},
19790        'linked_service_name': {'required': True},
19791    }
19792
19793    _attribute_map = {
19794        'additional_properties': {'key': '', 'type': '{object}'},
19795        'type': {'key': 'type', 'type': 'str'},
19796        'description': {'key': 'description', 'type': 'str'},
19797        'structure': {'key': 'structure', 'type': 'object'},
19798        'schema': {'key': 'schema', 'type': 'object'},
19799        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
19800        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
19801        'annotations': {'key': 'annotations', 'type': '[object]'},
19802        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
19803        'relative_url': {'key': 'typeProperties.relativeUrl', 'type': 'object'},
19804        'request_method': {'key': 'typeProperties.requestMethod', 'type': 'object'},
19805        'request_body': {'key': 'typeProperties.requestBody', 'type': 'object'},
19806        'additional_headers': {'key': 'typeProperties.additionalHeaders', 'type': 'object'},
19807        'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'},
19808        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
19809    }
19810
19811    def __init__(
19812        self,
19813        *,
19814        linked_service_name: "LinkedServiceReference",
19815        additional_properties: Optional[Dict[str, Any]] = None,
19816        description: Optional[str] = None,
19817        structure: Optional[Any] = None,
19818        schema: Optional[Any] = None,
19819        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
19820        annotations: Optional[List[Any]] = None,
19821        folder: Optional["DatasetFolder"] = None,
19822        relative_url: Optional[Any] = None,
19823        request_method: Optional[Any] = None,
19824        request_body: Optional[Any] = None,
19825        additional_headers: Optional[Any] = None,
19826        format: Optional["DatasetStorageFormat"] = None,
19827        compression: Optional["DatasetCompression"] = None,
19828        **kwargs
19829    ):
19830        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)
19831        self.type = 'HttpFile'  # type: str
19832        self.relative_url = relative_url
19833        self.request_method = request_method
19834        self.request_body = request_body
19835        self.additional_headers = additional_headers
19836        self.format = format
19837        self.compression = compression
19838
19839
19840class HttpLinkedService(LinkedService):
19841    """Linked service for an HTTP source.
19842
19843    All required parameters must be populated in order to send to Azure.
19844
19845    :param additional_properties: Unmatched properties from the message are deserialized to this
19846     collection.
19847    :type additional_properties: dict[str, any]
19848    :param type: Required. Type of linked service.Constant filled by server.
19849    :type type: str
19850    :param connect_via: The integration runtime reference.
19851    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
19852    :param description: Linked service description.
19853    :type description: str
19854    :param parameters: Parameters for linked service.
19855    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
19856    :param annotations: List of tags that can be used for describing the linked service.
19857    :type annotations: list[any]
19858    :param url: Required. The base URL of the HTTP endpoint, e.g. http://www.microsoft.com. Type:
19859     string (or Expression with resultType string).
19860    :type url: any
19861    :param authentication_type: The authentication type to be used to connect to the HTTP server.
19862     Possible values include: "Basic", "Anonymous", "Digest", "Windows", "ClientCertificate".
19863    :type authentication_type: str or
19864     ~azure.synapse.artifacts.v2020_12_01.models.HttpAuthenticationType
19865    :param user_name: User name for Basic, Digest, or Windows authentication. Type: string (or
19866     Expression with resultType string).
19867    :type user_name: any
19868    :param password: Password for Basic, Digest, Windows, or ClientCertificate with
19869     EmbeddedCertData authentication.
19870    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
19871    :param embedded_cert_data: Base64 encoded certificate data for ClientCertificate
19872     authentication. For on-premises copy with ClientCertificate authentication, either
19873     CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression
19874     with resultType string).
19875    :type embedded_cert_data: any
19876    :param cert_thumbprint: Thumbprint of certificate for ClientCertificate authentication. Only
19877     valid for on-premises copy. For on-premises copy with ClientCertificate authentication, either
19878     CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression
19879     with resultType string).
19880    :type cert_thumbprint: any
19881    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
19882     encrypted using the integration runtime credential manager. Type: string (or Expression with
19883     resultType string).
19884    :type encrypted_credential: any
19885    :param enable_server_certificate_validation: If true, validate the HTTPS server SSL
19886     certificate. Default value is true. Type: boolean (or Expression with resultType boolean).
19887    :type enable_server_certificate_validation: any
19888    """
19889
19890    _validation = {
19891        'type': {'required': True},
19892        'url': {'required': True},
19893    }
19894
19895    _attribute_map = {
19896        'additional_properties': {'key': '', 'type': '{object}'},
19897        'type': {'key': 'type', 'type': 'str'},
19898        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
19899        'description': {'key': 'description', 'type': 'str'},
19900        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
19901        'annotations': {'key': 'annotations', 'type': '[object]'},
19902        'url': {'key': 'typeProperties.url', 'type': 'object'},
19903        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
19904        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
19905        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
19906        'embedded_cert_data': {'key': 'typeProperties.embeddedCertData', 'type': 'object'},
19907        'cert_thumbprint': {'key': 'typeProperties.certThumbprint', 'type': 'object'},
19908        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
19909        'enable_server_certificate_validation': {'key': 'typeProperties.enableServerCertificateValidation', 'type': 'object'},
19910    }
19911
19912    def __init__(
19913        self,
19914        *,
19915        url: Any,
19916        additional_properties: Optional[Dict[str, Any]] = None,
19917        connect_via: Optional["IntegrationRuntimeReference"] = None,
19918        description: Optional[str] = None,
19919        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
19920        annotations: Optional[List[Any]] = None,
19921        authentication_type: Optional[Union[str, "HttpAuthenticationType"]] = None,
19922        user_name: Optional[Any] = None,
19923        password: Optional["SecretBase"] = None,
19924        embedded_cert_data: Optional[Any] = None,
19925        cert_thumbprint: Optional[Any] = None,
19926        encrypted_credential: Optional[Any] = None,
19927        enable_server_certificate_validation: Optional[Any] = None,
19928        **kwargs
19929    ):
19930        super(HttpLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
19931        self.type = 'HttpServer'  # type: str
19932        self.url = url
19933        self.authentication_type = authentication_type
19934        self.user_name = user_name
19935        self.password = password
19936        self.embedded_cert_data = embedded_cert_data
19937        self.cert_thumbprint = cert_thumbprint
19938        self.encrypted_credential = encrypted_credential
19939        self.enable_server_certificate_validation = enable_server_certificate_validation
19940
19941
19942class HttpReadSettings(StoreReadSettings):
19943    """Sftp read settings.
19944
19945    All required parameters must be populated in order to send to Azure.
19946
19947    :param additional_properties: Unmatched properties from the message are deserialized to this
19948     collection.
19949    :type additional_properties: dict[str, any]
19950    :param type: Required. The read setting type.Constant filled by server.
19951    :type type: str
19952    :param max_concurrent_connections: The maximum concurrent connection count for the source data
19953     store. Type: integer (or Expression with resultType integer).
19954    :type max_concurrent_connections: any
19955    :param request_method: The HTTP method used to call the RESTful API. The default is GET. Type:
19956     string (or Expression with resultType string).
19957    :type request_method: any
19958    :param request_body: The HTTP request body to the RESTful API if requestMethod is POST. Type:
19959     string (or Expression with resultType string).
19960    :type request_body: any
19961    :param additional_headers: The additional HTTP headers in the request to the RESTful API. Type:
19962     string (or Expression with resultType string).
19963    :type additional_headers: any
19964    :param request_timeout: Specifies the timeout for a HTTP client to get HTTP response from HTTP
19965     server.
19966    :type request_timeout: any
19967    :param enable_partition_discovery: Indicates whether to enable partition discovery.
19968    :type enable_partition_discovery: bool
19969    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
19970     string (or Expression with resultType string).
19971    :type partition_root_path: any
19972    """
19973
19974    _validation = {
19975        'type': {'required': True},
19976    }
19977
19978    _attribute_map = {
19979        'additional_properties': {'key': '', 'type': '{object}'},
19980        'type': {'key': 'type', 'type': 'str'},
19981        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
19982        'request_method': {'key': 'requestMethod', 'type': 'object'},
19983        'request_body': {'key': 'requestBody', 'type': 'object'},
19984        'additional_headers': {'key': 'additionalHeaders', 'type': 'object'},
19985        'request_timeout': {'key': 'requestTimeout', 'type': 'object'},
19986        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
19987        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
19988    }
19989
19990    def __init__(
19991        self,
19992        *,
19993        additional_properties: Optional[Dict[str, Any]] = None,
19994        max_concurrent_connections: Optional[Any] = None,
19995        request_method: Optional[Any] = None,
19996        request_body: Optional[Any] = None,
19997        additional_headers: Optional[Any] = None,
19998        request_timeout: Optional[Any] = None,
19999        enable_partition_discovery: Optional[bool] = None,
20000        partition_root_path: Optional[Any] = None,
20001        **kwargs
20002    ):
20003        super(HttpReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
20004        self.type = 'HttpReadSettings'  # type: str
20005        self.request_method = request_method
20006        self.request_body = request_body
20007        self.additional_headers = additional_headers
20008        self.request_timeout = request_timeout
20009        self.enable_partition_discovery = enable_partition_discovery
20010        self.partition_root_path = partition_root_path
20011
20012
20013class HttpServerLocation(DatasetLocation):
20014    """The location of http server.
20015
20016    All required parameters must be populated in order to send to Azure.
20017
20018    :param additional_properties: Unmatched properties from the message are deserialized to this
20019     collection.
20020    :type additional_properties: dict[str, any]
20021    :param type: Required. Type of dataset storage location.Constant filled by server.
20022    :type type: str
20023    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
20024     resultType string).
20025    :type folder_path: any
20026    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
20027     string).
20028    :type file_name: any
20029    :param relative_url: Specify the relativeUrl of http server. Type: string (or Expression with
20030     resultType string).
20031    :type relative_url: any
20032    """
20033
20034    _validation = {
20035        'type': {'required': True},
20036    }
20037
20038    _attribute_map = {
20039        'additional_properties': {'key': '', 'type': '{object}'},
20040        'type': {'key': 'type', 'type': 'str'},
20041        'folder_path': {'key': 'folderPath', 'type': 'object'},
20042        'file_name': {'key': 'fileName', 'type': 'object'},
20043        'relative_url': {'key': 'relativeUrl', 'type': 'object'},
20044    }
20045
20046    def __init__(
20047        self,
20048        *,
20049        additional_properties: Optional[Dict[str, Any]] = None,
20050        folder_path: Optional[Any] = None,
20051        file_name: Optional[Any] = None,
20052        relative_url: Optional[Any] = None,
20053        **kwargs
20054    ):
20055        super(HttpServerLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
20056        self.type = 'HttpServerLocation'  # type: str
20057        self.relative_url = relative_url
20058
20059
20060class HttpSource(CopySource):
20061    """A copy activity source for an HTTP file.
20062
20063    All required parameters must be populated in order to send to Azure.
20064
20065    :param additional_properties: Unmatched properties from the message are deserialized to this
20066     collection.
20067    :type additional_properties: dict[str, any]
20068    :param type: Required. Copy source type.Constant filled by server.
20069    :type type: str
20070    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
20071     integer).
20072    :type source_retry_count: any
20073    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
20074     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20075    :type source_retry_wait: any
20076    :param max_concurrent_connections: The maximum concurrent connection count for the source data
20077     store. Type: integer (or Expression with resultType integer).
20078    :type max_concurrent_connections: any
20079    :param http_request_timeout: Specifies the timeout for a HTTP client to get HTTP response from
20080     HTTP server. The default value is equivalent to System.Net.HttpWebRequest.Timeout. Type: string
20081     (or Expression with resultType string), pattern:
20082     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20083    :type http_request_timeout: any
20084    """
20085
20086    _validation = {
20087        'type': {'required': True},
20088    }
20089
20090    _attribute_map = {
20091        'additional_properties': {'key': '', 'type': '{object}'},
20092        'type': {'key': 'type', 'type': 'str'},
20093        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
20094        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
20095        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
20096        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
20097    }
20098
20099    def __init__(
20100        self,
20101        *,
20102        additional_properties: Optional[Dict[str, Any]] = None,
20103        source_retry_count: Optional[Any] = None,
20104        source_retry_wait: Optional[Any] = None,
20105        max_concurrent_connections: Optional[Any] = None,
20106        http_request_timeout: Optional[Any] = None,
20107        **kwargs
20108    ):
20109        super(HttpSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
20110        self.type = 'HttpSource'  # type: str
20111        self.http_request_timeout = http_request_timeout
20112
20113
20114class HubspotLinkedService(LinkedService):
20115    """Hubspot Service linked service.
20116
20117    All required parameters must be populated in order to send to Azure.
20118
20119    :param additional_properties: Unmatched properties from the message are deserialized to this
20120     collection.
20121    :type additional_properties: dict[str, any]
20122    :param type: Required. Type of linked service.Constant filled by server.
20123    :type type: str
20124    :param connect_via: The integration runtime reference.
20125    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
20126    :param description: Linked service description.
20127    :type description: str
20128    :param parameters: Parameters for linked service.
20129    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
20130    :param annotations: List of tags that can be used for describing the linked service.
20131    :type annotations: list[any]
20132    :param client_id: Required. The client ID associated with your Hubspot application.
20133    :type client_id: any
20134    :param client_secret: The client secret associated with your Hubspot application.
20135    :type client_secret: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
20136    :param access_token: The access token obtained when initially authenticating your OAuth
20137     integration.
20138    :type access_token: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
20139    :param refresh_token: The refresh token obtained when initially authenticating your OAuth
20140     integration.
20141    :type refresh_token: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
20142    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
20143     HTTPS. The default value is true.
20144    :type use_encrypted_endpoints: any
20145    :param use_host_verification: Specifies whether to require the host name in the server's
20146     certificate to match the host name of the server when connecting over SSL. The default value is
20147     true.
20148    :type use_host_verification: any
20149    :param use_peer_verification: Specifies whether to verify the identity of the server when
20150     connecting over SSL. The default value is true.
20151    :type use_peer_verification: any
20152    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
20153     encrypted using the integration runtime credential manager. Type: string (or Expression with
20154     resultType string).
20155    :type encrypted_credential: any
20156    """
20157
20158    _validation = {
20159        'type': {'required': True},
20160        'client_id': {'required': True},
20161    }
20162
20163    _attribute_map = {
20164        'additional_properties': {'key': '', 'type': '{object}'},
20165        'type': {'key': 'type', 'type': 'str'},
20166        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
20167        'description': {'key': 'description', 'type': 'str'},
20168        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
20169        'annotations': {'key': 'annotations', 'type': '[object]'},
20170        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
20171        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
20172        'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'},
20173        'refresh_token': {'key': 'typeProperties.refreshToken', 'type': 'SecretBase'},
20174        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
20175        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
20176        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
20177        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
20178    }
20179
20180    def __init__(
20181        self,
20182        *,
20183        client_id: Any,
20184        additional_properties: Optional[Dict[str, Any]] = None,
20185        connect_via: Optional["IntegrationRuntimeReference"] = None,
20186        description: Optional[str] = None,
20187        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
20188        annotations: Optional[List[Any]] = None,
20189        client_secret: Optional["SecretBase"] = None,
20190        access_token: Optional["SecretBase"] = None,
20191        refresh_token: Optional["SecretBase"] = None,
20192        use_encrypted_endpoints: Optional[Any] = None,
20193        use_host_verification: Optional[Any] = None,
20194        use_peer_verification: Optional[Any] = None,
20195        encrypted_credential: Optional[Any] = None,
20196        **kwargs
20197    ):
20198        super(HubspotLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
20199        self.type = 'Hubspot'  # type: str
20200        self.client_id = client_id
20201        self.client_secret = client_secret
20202        self.access_token = access_token
20203        self.refresh_token = refresh_token
20204        self.use_encrypted_endpoints = use_encrypted_endpoints
20205        self.use_host_verification = use_host_verification
20206        self.use_peer_verification = use_peer_verification
20207        self.encrypted_credential = encrypted_credential
20208
20209
20210class HubspotObjectDataset(Dataset):
20211    """Hubspot Service dataset.
20212
20213    All required parameters must be populated in order to send to Azure.
20214
20215    :param additional_properties: Unmatched properties from the message are deserialized to this
20216     collection.
20217    :type additional_properties: dict[str, any]
20218    :param type: Required. Type of dataset.Constant filled by server.
20219    :type type: str
20220    :param description: Dataset description.
20221    :type description: str
20222    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
20223     with resultType array), itemType: DatasetDataElement.
20224    :type structure: any
20225    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
20226     Expression with resultType array), itemType: DatasetSchemaDataElement.
20227    :type schema: any
20228    :param linked_service_name: Required. Linked service reference.
20229    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
20230    :param parameters: Parameters for dataset.
20231    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
20232    :param annotations: List of tags that can be used for describing the Dataset.
20233    :type annotations: list[any]
20234    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
20235     root level.
20236    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
20237    :param table_name: The table name. Type: string (or Expression with resultType string).
20238    :type table_name: any
20239    """
20240
20241    _validation = {
20242        'type': {'required': True},
20243        'linked_service_name': {'required': True},
20244    }
20245
20246    _attribute_map = {
20247        'additional_properties': {'key': '', 'type': '{object}'},
20248        'type': {'key': 'type', 'type': 'str'},
20249        'description': {'key': 'description', 'type': 'str'},
20250        'structure': {'key': 'structure', 'type': 'object'},
20251        'schema': {'key': 'schema', 'type': 'object'},
20252        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
20253        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
20254        'annotations': {'key': 'annotations', 'type': '[object]'},
20255        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
20256        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
20257    }
20258
20259    def __init__(
20260        self,
20261        *,
20262        linked_service_name: "LinkedServiceReference",
20263        additional_properties: Optional[Dict[str, Any]] = None,
20264        description: Optional[str] = None,
20265        structure: Optional[Any] = None,
20266        schema: Optional[Any] = None,
20267        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
20268        annotations: Optional[List[Any]] = None,
20269        folder: Optional["DatasetFolder"] = None,
20270        table_name: Optional[Any] = None,
20271        **kwargs
20272    ):
20273        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)
20274        self.type = 'HubspotObject'  # type: str
20275        self.table_name = table_name
20276
20277
20278class HubspotSource(TabularSource):
20279    """A copy activity Hubspot Service source.
20280
20281    All required parameters must be populated in order to send to Azure.
20282
20283    :param additional_properties: Unmatched properties from the message are deserialized to this
20284     collection.
20285    :type additional_properties: dict[str, any]
20286    :param type: Required. Copy source type.Constant filled by server.
20287    :type type: str
20288    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
20289     integer).
20290    :type source_retry_count: any
20291    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
20292     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20293    :type source_retry_wait: any
20294    :param max_concurrent_connections: The maximum concurrent connection count for the source data
20295     store. Type: integer (or Expression with resultType integer).
20296    :type max_concurrent_connections: any
20297    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
20298     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20299    :type query_timeout: any
20300    :param additional_columns: Specifies the additional columns to be added to source data. Type:
20301     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
20302    :type additional_columns: any
20303    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
20304     string).
20305    :type query: any
20306    """
20307
20308    _validation = {
20309        'type': {'required': True},
20310    }
20311
20312    _attribute_map = {
20313        'additional_properties': {'key': '', 'type': '{object}'},
20314        'type': {'key': 'type', 'type': 'str'},
20315        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
20316        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
20317        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
20318        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
20319        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
20320        'query': {'key': 'query', 'type': 'object'},
20321    }
20322
20323    def __init__(
20324        self,
20325        *,
20326        additional_properties: Optional[Dict[str, Any]] = None,
20327        source_retry_count: Optional[Any] = None,
20328        source_retry_wait: Optional[Any] = None,
20329        max_concurrent_connections: Optional[Any] = None,
20330        query_timeout: Optional[Any] = None,
20331        additional_columns: Optional[Any] = None,
20332        query: Optional[Any] = None,
20333        **kwargs
20334    ):
20335        super(HubspotSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
20336        self.type = 'HubspotSource'  # type: str
20337        self.query = query
20338
20339
20340class IfConditionActivity(ControlActivity):
20341    """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.
20342
20343    All required parameters must be populated in order to send to Azure.
20344
20345    :param additional_properties: Unmatched properties from the message are deserialized to this
20346     collection.
20347    :type additional_properties: dict[str, any]
20348    :param name: Required. Activity name.
20349    :type name: str
20350    :param type: Required. Type of activity.Constant filled by server.
20351    :type type: str
20352    :param description: Activity description.
20353    :type description: str
20354    :param depends_on: Activity depends on condition.
20355    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
20356    :param user_properties: Activity user properties.
20357    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
20358    :param expression: Required. An expression that would evaluate to Boolean. This is used to
20359     determine the block of activities (ifTrueActivities or ifFalseActivities) that will be
20360     executed.
20361    :type expression: ~azure.synapse.artifacts.v2020_12_01.models.Expression
20362    :param if_true_activities: List of activities to execute if expression is evaluated to true.
20363     This is an optional property and if not provided, the activity will exit without any action.
20364    :type if_true_activities: list[~azure.synapse.artifacts.v2020_12_01.models.Activity]
20365    :param if_false_activities: List of activities to execute if expression is evaluated to false.
20366     This is an optional property and if not provided, the activity will exit without any action.
20367    :type if_false_activities: list[~azure.synapse.artifacts.v2020_12_01.models.Activity]
20368    """
20369
20370    _validation = {
20371        'name': {'required': True},
20372        'type': {'required': True},
20373        'expression': {'required': True},
20374    }
20375
20376    _attribute_map = {
20377        'additional_properties': {'key': '', 'type': '{object}'},
20378        'name': {'key': 'name', 'type': 'str'},
20379        'type': {'key': 'type', 'type': 'str'},
20380        'description': {'key': 'description', 'type': 'str'},
20381        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
20382        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
20383        'expression': {'key': 'typeProperties.expression', 'type': 'Expression'},
20384        'if_true_activities': {'key': 'typeProperties.ifTrueActivities', 'type': '[Activity]'},
20385        'if_false_activities': {'key': 'typeProperties.ifFalseActivities', 'type': '[Activity]'},
20386    }
20387
20388    def __init__(
20389        self,
20390        *,
20391        name: str,
20392        expression: "Expression",
20393        additional_properties: Optional[Dict[str, Any]] = None,
20394        description: Optional[str] = None,
20395        depends_on: Optional[List["ActivityDependency"]] = None,
20396        user_properties: Optional[List["UserProperty"]] = None,
20397        if_true_activities: Optional[List["Activity"]] = None,
20398        if_false_activities: Optional[List["Activity"]] = None,
20399        **kwargs
20400    ):
20401        super(IfConditionActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
20402        self.type = 'IfCondition'  # type: str
20403        self.expression = expression
20404        self.if_true_activities = if_true_activities
20405        self.if_false_activities = if_false_activities
20406
20407
20408class ImpalaLinkedService(LinkedService):
20409    """Impala server linked service.
20410
20411    All required parameters must be populated in order to send to Azure.
20412
20413    :param additional_properties: Unmatched properties from the message are deserialized to this
20414     collection.
20415    :type additional_properties: dict[str, any]
20416    :param type: Required. Type of linked service.Constant filled by server.
20417    :type type: str
20418    :param connect_via: The integration runtime reference.
20419    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
20420    :param description: Linked service description.
20421    :type description: str
20422    :param parameters: Parameters for linked service.
20423    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
20424    :param annotations: List of tags that can be used for describing the linked service.
20425    :type annotations: list[any]
20426    :param host: Required. The IP address or host name of the Impala server. (i.e.
20427     192.168.222.160).
20428    :type host: any
20429    :param port: The TCP port that the Impala server uses to listen for client connections. The
20430     default value is 21050.
20431    :type port: any
20432    :param authentication_type: Required. The authentication type to use. Possible values include:
20433     "Anonymous", "SASLUsername", "UsernameAndPassword".
20434    :type authentication_type: str or
20435     ~azure.synapse.artifacts.v2020_12_01.models.ImpalaAuthenticationType
20436    :param username: The user name used to access the Impala server. The default value is anonymous
20437     when using SASLUsername.
20438    :type username: any
20439    :param password: The password corresponding to the user name when using UsernameAndPassword.
20440    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
20441    :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The
20442     default value is false.
20443    :type enable_ssl: any
20444    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
20445     verifying the server when connecting over SSL. This property can only be set when using SSL on
20446     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
20447    :type trusted_cert_path: any
20448    :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust
20449     store or from a specified PEM file. The default value is false.
20450    :type use_system_trust_store: any
20451    :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate
20452     name to match the host name of the server when connecting over SSL. The default value is false.
20453    :type allow_host_name_cn_mismatch: any
20454    :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from
20455     the server. The default value is false.
20456    :type allow_self_signed_server_cert: any
20457    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
20458     encrypted using the integration runtime credential manager. Type: string (or Expression with
20459     resultType string).
20460    :type encrypted_credential: any
20461    """
20462
20463    _validation = {
20464        'type': {'required': True},
20465        'host': {'required': True},
20466        'authentication_type': {'required': True},
20467    }
20468
20469    _attribute_map = {
20470        'additional_properties': {'key': '', 'type': '{object}'},
20471        'type': {'key': 'type', 'type': 'str'},
20472        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
20473        'description': {'key': 'description', 'type': 'str'},
20474        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
20475        'annotations': {'key': 'annotations', 'type': '[object]'},
20476        'host': {'key': 'typeProperties.host', 'type': 'object'},
20477        'port': {'key': 'typeProperties.port', 'type': 'object'},
20478        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
20479        'username': {'key': 'typeProperties.username', 'type': 'object'},
20480        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
20481        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
20482        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
20483        'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'},
20484        'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'},
20485        'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'},
20486        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
20487    }
20488
20489    def __init__(
20490        self,
20491        *,
20492        host: Any,
20493        authentication_type: Union[str, "ImpalaAuthenticationType"],
20494        additional_properties: Optional[Dict[str, Any]] = None,
20495        connect_via: Optional["IntegrationRuntimeReference"] = None,
20496        description: Optional[str] = None,
20497        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
20498        annotations: Optional[List[Any]] = None,
20499        port: Optional[Any] = None,
20500        username: Optional[Any] = None,
20501        password: Optional["SecretBase"] = None,
20502        enable_ssl: Optional[Any] = None,
20503        trusted_cert_path: Optional[Any] = None,
20504        use_system_trust_store: Optional[Any] = None,
20505        allow_host_name_cn_mismatch: Optional[Any] = None,
20506        allow_self_signed_server_cert: Optional[Any] = None,
20507        encrypted_credential: Optional[Any] = None,
20508        **kwargs
20509    ):
20510        super(ImpalaLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
20511        self.type = 'Impala'  # type: str
20512        self.host = host
20513        self.port = port
20514        self.authentication_type = authentication_type
20515        self.username = username
20516        self.password = password
20517        self.enable_ssl = enable_ssl
20518        self.trusted_cert_path = trusted_cert_path
20519        self.use_system_trust_store = use_system_trust_store
20520        self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch
20521        self.allow_self_signed_server_cert = allow_self_signed_server_cert
20522        self.encrypted_credential = encrypted_credential
20523
20524
20525class ImpalaObjectDataset(Dataset):
20526    """Impala server dataset.
20527
20528    All required parameters must be populated in order to send to Azure.
20529
20530    :param additional_properties: Unmatched properties from the message are deserialized to this
20531     collection.
20532    :type additional_properties: dict[str, any]
20533    :param type: Required. Type of dataset.Constant filled by server.
20534    :type type: str
20535    :param description: Dataset description.
20536    :type description: str
20537    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
20538     with resultType array), itemType: DatasetDataElement.
20539    :type structure: any
20540    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
20541     Expression with resultType array), itemType: DatasetSchemaDataElement.
20542    :type schema: any
20543    :param linked_service_name: Required. Linked service reference.
20544    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
20545    :param parameters: Parameters for dataset.
20546    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
20547    :param annotations: List of tags that can be used for describing the Dataset.
20548    :type annotations: list[any]
20549    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
20550     root level.
20551    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
20552    :param table_name: This property will be retired. Please consider using schema + table
20553     properties instead.
20554    :type table_name: any
20555    :param table: The table name of the Impala. Type: string (or Expression with resultType
20556     string).
20557    :type table: any
20558    :param schema_type_properties_schema: The schema name of the Impala. Type: string (or
20559     Expression with resultType string).
20560    :type schema_type_properties_schema: any
20561    """
20562
20563    _validation = {
20564        'type': {'required': True},
20565        'linked_service_name': {'required': True},
20566    }
20567
20568    _attribute_map = {
20569        'additional_properties': {'key': '', 'type': '{object}'},
20570        'type': {'key': 'type', 'type': 'str'},
20571        'description': {'key': 'description', 'type': 'str'},
20572        'structure': {'key': 'structure', 'type': 'object'},
20573        'schema': {'key': 'schema', 'type': 'object'},
20574        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
20575        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
20576        'annotations': {'key': 'annotations', 'type': '[object]'},
20577        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
20578        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
20579        'table': {'key': 'typeProperties.table', 'type': 'object'},
20580        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
20581    }
20582
20583    def __init__(
20584        self,
20585        *,
20586        linked_service_name: "LinkedServiceReference",
20587        additional_properties: Optional[Dict[str, Any]] = None,
20588        description: Optional[str] = None,
20589        structure: Optional[Any] = None,
20590        schema: Optional[Any] = None,
20591        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
20592        annotations: Optional[List[Any]] = None,
20593        folder: Optional["DatasetFolder"] = None,
20594        table_name: Optional[Any] = None,
20595        table: Optional[Any] = None,
20596        schema_type_properties_schema: Optional[Any] = None,
20597        **kwargs
20598    ):
20599        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)
20600        self.type = 'ImpalaObject'  # type: str
20601        self.table_name = table_name
20602        self.table = table
20603        self.schema_type_properties_schema = schema_type_properties_schema
20604
20605
20606class ImpalaSource(TabularSource):
20607    """A copy activity Impala server source.
20608
20609    All required parameters must be populated in order to send to Azure.
20610
20611    :param additional_properties: Unmatched properties from the message are deserialized to this
20612     collection.
20613    :type additional_properties: dict[str, any]
20614    :param type: Required. Copy source type.Constant filled by server.
20615    :type type: str
20616    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
20617     integer).
20618    :type source_retry_count: any
20619    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
20620     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20621    :type source_retry_wait: any
20622    :param max_concurrent_connections: The maximum concurrent connection count for the source data
20623     store. Type: integer (or Expression with resultType integer).
20624    :type max_concurrent_connections: any
20625    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
20626     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20627    :type query_timeout: any
20628    :param additional_columns: Specifies the additional columns to be added to source data. Type:
20629     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
20630    :type additional_columns: any
20631    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
20632     string).
20633    :type query: any
20634    """
20635
20636    _validation = {
20637        'type': {'required': True},
20638    }
20639
20640    _attribute_map = {
20641        'additional_properties': {'key': '', 'type': '{object}'},
20642        'type': {'key': 'type', 'type': 'str'},
20643        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
20644        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
20645        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
20646        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
20647        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
20648        'query': {'key': 'query', 'type': 'object'},
20649    }
20650
20651    def __init__(
20652        self,
20653        *,
20654        additional_properties: Optional[Dict[str, Any]] = None,
20655        source_retry_count: Optional[Any] = None,
20656        source_retry_wait: Optional[Any] = None,
20657        max_concurrent_connections: Optional[Any] = None,
20658        query_timeout: Optional[Any] = None,
20659        additional_columns: Optional[Any] = None,
20660        query: Optional[Any] = None,
20661        **kwargs
20662    ):
20663        super(ImpalaSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
20664        self.type = 'ImpalaSource'  # type: str
20665        self.query = query
20666
20667
20668class InformixLinkedService(LinkedService):
20669    """Informix linked service.
20670
20671    All required parameters must be populated in order to send to Azure.
20672
20673    :param additional_properties: Unmatched properties from the message are deserialized to this
20674     collection.
20675    :type additional_properties: dict[str, any]
20676    :param type: Required. Type of linked service.Constant filled by server.
20677    :type type: str
20678    :param connect_via: The integration runtime reference.
20679    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
20680    :param description: Linked service description.
20681    :type description: str
20682    :param parameters: Parameters for linked service.
20683    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
20684    :param annotations: List of tags that can be used for describing the linked service.
20685    :type annotations: list[any]
20686    :param connection_string: Required. The non-access credential portion of the connection string
20687     as well as an optional encrypted credential. Type: string, SecureString or
20688     AzureKeyVaultSecretReference.
20689    :type connection_string: any
20690    :param authentication_type: Type of authentication used to connect to the Informix as ODBC data
20691     store. Possible values are: Anonymous and Basic. Type: string (or Expression with resultType
20692     string).
20693    :type authentication_type: any
20694    :param credential: The access credential portion of the connection string specified in
20695     driver-specific property-value format.
20696    :type credential: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
20697    :param user_name: User name for Basic authentication. Type: string (or Expression with
20698     resultType string).
20699    :type user_name: any
20700    :param password: Password for Basic authentication.
20701    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
20702    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
20703     encrypted using the integration runtime credential manager. Type: string (or Expression with
20704     resultType string).
20705    :type encrypted_credential: any
20706    """
20707
20708    _validation = {
20709        'type': {'required': True},
20710        'connection_string': {'required': True},
20711    }
20712
20713    _attribute_map = {
20714        'additional_properties': {'key': '', 'type': '{object}'},
20715        'type': {'key': 'type', 'type': 'str'},
20716        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
20717        'description': {'key': 'description', 'type': 'str'},
20718        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
20719        'annotations': {'key': 'annotations', 'type': '[object]'},
20720        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
20721        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'},
20722        'credential': {'key': 'typeProperties.credential', 'type': 'SecretBase'},
20723        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
20724        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
20725        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
20726    }
20727
20728    def __init__(
20729        self,
20730        *,
20731        connection_string: Any,
20732        additional_properties: Optional[Dict[str, Any]] = None,
20733        connect_via: Optional["IntegrationRuntimeReference"] = None,
20734        description: Optional[str] = None,
20735        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
20736        annotations: Optional[List[Any]] = None,
20737        authentication_type: Optional[Any] = None,
20738        credential: Optional["SecretBase"] = None,
20739        user_name: Optional[Any] = None,
20740        password: Optional["SecretBase"] = None,
20741        encrypted_credential: Optional[Any] = None,
20742        **kwargs
20743    ):
20744        super(InformixLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
20745        self.type = 'Informix'  # type: str
20746        self.connection_string = connection_string
20747        self.authentication_type = authentication_type
20748        self.credential = credential
20749        self.user_name = user_name
20750        self.password = password
20751        self.encrypted_credential = encrypted_credential
20752
20753
20754class InformixSink(CopySink):
20755    """A copy activity Informix sink.
20756
20757    All required parameters must be populated in order to send to Azure.
20758
20759    :param additional_properties: Unmatched properties from the message are deserialized to this
20760     collection.
20761    :type additional_properties: dict[str, any]
20762    :param type: Required. Copy sink type.Constant filled by server.
20763    :type type: str
20764    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
20765     integer), minimum: 0.
20766    :type write_batch_size: any
20767    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
20768     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20769    :type write_batch_timeout: any
20770    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
20771     integer).
20772    :type sink_retry_count: any
20773    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
20774     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20775    :type sink_retry_wait: any
20776    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
20777     store. Type: integer (or Expression with resultType integer).
20778    :type max_concurrent_connections: any
20779    :param pre_copy_script: A query to execute before starting the copy. Type: string (or
20780     Expression with resultType string).
20781    :type pre_copy_script: any
20782    """
20783
20784    _validation = {
20785        'type': {'required': True},
20786    }
20787
20788    _attribute_map = {
20789        'additional_properties': {'key': '', 'type': '{object}'},
20790        'type': {'key': 'type', 'type': 'str'},
20791        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
20792        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
20793        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
20794        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
20795        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
20796        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
20797    }
20798
20799    def __init__(
20800        self,
20801        *,
20802        additional_properties: Optional[Dict[str, Any]] = None,
20803        write_batch_size: Optional[Any] = None,
20804        write_batch_timeout: Optional[Any] = None,
20805        sink_retry_count: Optional[Any] = None,
20806        sink_retry_wait: Optional[Any] = None,
20807        max_concurrent_connections: Optional[Any] = None,
20808        pre_copy_script: Optional[Any] = None,
20809        **kwargs
20810    ):
20811        super(InformixSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
20812        self.type = 'InformixSink'  # type: str
20813        self.pre_copy_script = pre_copy_script
20814
20815
20816class InformixSource(TabularSource):
20817    """A copy activity source for Informix.
20818
20819    All required parameters must be populated in order to send to Azure.
20820
20821    :param additional_properties: Unmatched properties from the message are deserialized to this
20822     collection.
20823    :type additional_properties: dict[str, any]
20824    :param type: Required. Copy source type.Constant filled by server.
20825    :type type: str
20826    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
20827     integer).
20828    :type source_retry_count: any
20829    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
20830     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20831    :type source_retry_wait: any
20832    :param max_concurrent_connections: The maximum concurrent connection count for the source data
20833     store. Type: integer (or Expression with resultType integer).
20834    :type max_concurrent_connections: any
20835    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
20836     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20837    :type query_timeout: any
20838    :param additional_columns: Specifies the additional columns to be added to source data. Type:
20839     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
20840    :type additional_columns: any
20841    :param query: Database query. Type: string (or Expression with resultType string).
20842    :type query: any
20843    """
20844
20845    _validation = {
20846        'type': {'required': True},
20847    }
20848
20849    _attribute_map = {
20850        'additional_properties': {'key': '', 'type': '{object}'},
20851        'type': {'key': 'type', 'type': 'str'},
20852        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
20853        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
20854        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
20855        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
20856        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
20857        'query': {'key': 'query', 'type': 'object'},
20858    }
20859
20860    def __init__(
20861        self,
20862        *,
20863        additional_properties: Optional[Dict[str, Any]] = None,
20864        source_retry_count: Optional[Any] = None,
20865        source_retry_wait: Optional[Any] = None,
20866        max_concurrent_connections: Optional[Any] = None,
20867        query_timeout: Optional[Any] = None,
20868        additional_columns: Optional[Any] = None,
20869        query: Optional[Any] = None,
20870        **kwargs
20871    ):
20872        super(InformixSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
20873        self.type = 'InformixSource'  # type: str
20874        self.query = query
20875
20876
20877class InformixTableDataset(Dataset):
20878    """The Informix table dataset.
20879
20880    All required parameters must be populated in order to send to Azure.
20881
20882    :param additional_properties: Unmatched properties from the message are deserialized to this
20883     collection.
20884    :type additional_properties: dict[str, any]
20885    :param type: Required. Type of dataset.Constant filled by server.
20886    :type type: str
20887    :param description: Dataset description.
20888    :type description: str
20889    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
20890     with resultType array), itemType: DatasetDataElement.
20891    :type structure: any
20892    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
20893     Expression with resultType array), itemType: DatasetSchemaDataElement.
20894    :type schema: any
20895    :param linked_service_name: Required. Linked service reference.
20896    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
20897    :param parameters: Parameters for dataset.
20898    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
20899    :param annotations: List of tags that can be used for describing the Dataset.
20900    :type annotations: list[any]
20901    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
20902     root level.
20903    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
20904    :param table_name: The Informix table name. Type: string (or Expression with resultType
20905     string).
20906    :type table_name: any
20907    """
20908
20909    _validation = {
20910        'type': {'required': True},
20911        'linked_service_name': {'required': True},
20912    }
20913
20914    _attribute_map = {
20915        'additional_properties': {'key': '', 'type': '{object}'},
20916        'type': {'key': 'type', 'type': 'str'},
20917        'description': {'key': 'description', 'type': 'str'},
20918        'structure': {'key': 'structure', 'type': 'object'},
20919        'schema': {'key': 'schema', 'type': 'object'},
20920        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
20921        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
20922        'annotations': {'key': 'annotations', 'type': '[object]'},
20923        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
20924        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
20925    }
20926
20927    def __init__(
20928        self,
20929        *,
20930        linked_service_name: "LinkedServiceReference",
20931        additional_properties: Optional[Dict[str, Any]] = None,
20932        description: Optional[str] = None,
20933        structure: Optional[Any] = None,
20934        schema: Optional[Any] = None,
20935        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
20936        annotations: Optional[List[Any]] = None,
20937        folder: Optional["DatasetFolder"] = None,
20938        table_name: Optional[Any] = None,
20939        **kwargs
20940    ):
20941        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)
20942        self.type = 'InformixTable'  # type: str
20943        self.table_name = table_name
20944
20945
20946class IntegrationRuntime(msrest.serialization.Model):
20947    """Azure Synapse nested object which serves as a compute resource for activities.
20948
20949    You probably want to use the sub-classes and not this class directly. Known
20950    sub-classes are: ManagedIntegrationRuntime, SelfHostedIntegrationRuntime.
20951
20952    All required parameters must be populated in order to send to Azure.
20953
20954    :param additional_properties: Unmatched properties from the message are deserialized to this
20955     collection.
20956    :type additional_properties: dict[str, any]
20957    :param type: Required. Type of integration runtime.Constant filled by server.  Possible values
20958     include: "Managed", "SelfHosted".
20959    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeType
20960    :param description: Integration runtime description.
20961    :type description: str
20962    """
20963
20964    _validation = {
20965        'type': {'required': True},
20966    }
20967
20968    _attribute_map = {
20969        'additional_properties': {'key': '', 'type': '{object}'},
20970        'type': {'key': 'type', 'type': 'str'},
20971        'description': {'key': 'description', 'type': 'str'},
20972    }
20973
20974    _subtype_map = {
20975        'type': {'Managed': 'ManagedIntegrationRuntime', 'SelfHosted': 'SelfHostedIntegrationRuntime'}
20976    }
20977
20978    def __init__(
20979        self,
20980        *,
20981        additional_properties: Optional[Dict[str, Any]] = None,
20982        description: Optional[str] = None,
20983        **kwargs
20984    ):
20985        super(IntegrationRuntime, self).__init__(**kwargs)
20986        self.additional_properties = additional_properties
20987        self.type = 'IntegrationRuntime'  # type: str
20988        self.description = description
20989
20990
20991class IntegrationRuntimeComputeProperties(msrest.serialization.Model):
20992    """The compute resource properties for managed integration runtime.
20993
20994    :param additional_properties: Unmatched properties from the message are deserialized to this
20995     collection.
20996    :type additional_properties: dict[str, any]
20997    :param location: The location for managed integration runtime. The supported regions could be
20998     found on
20999     https://docs.microsoft.com/en-us/azure/data-factory/data-factory-data-movement-activities.
21000    :type location: str
21001    :param node_size: The node size requirement to managed integration runtime.
21002    :type node_size: str
21003    :param number_of_nodes: The required number of nodes for managed integration runtime.
21004    :type number_of_nodes: int
21005    :param max_parallel_executions_per_node: Maximum parallel executions count per node for managed
21006     integration runtime.
21007    :type max_parallel_executions_per_node: int
21008    :param data_flow_properties: Data flow properties for managed integration runtime.
21009    :type data_flow_properties:
21010     ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeDataFlowProperties
21011    :param v_net_properties: VNet properties for managed integration runtime.
21012    :type v_net_properties:
21013     ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeVNetProperties
21014    """
21015
21016    _validation = {
21017        'number_of_nodes': {'minimum': 1},
21018        'max_parallel_executions_per_node': {'minimum': 1},
21019    }
21020
21021    _attribute_map = {
21022        'additional_properties': {'key': '', 'type': '{object}'},
21023        'location': {'key': 'location', 'type': 'str'},
21024        'node_size': {'key': 'nodeSize', 'type': 'str'},
21025        'number_of_nodes': {'key': 'numberOfNodes', 'type': 'int'},
21026        'max_parallel_executions_per_node': {'key': 'maxParallelExecutionsPerNode', 'type': 'int'},
21027        'data_flow_properties': {'key': 'dataFlowProperties', 'type': 'IntegrationRuntimeDataFlowProperties'},
21028        'v_net_properties': {'key': 'vNetProperties', 'type': 'IntegrationRuntimeVNetProperties'},
21029    }
21030
21031    def __init__(
21032        self,
21033        *,
21034        additional_properties: Optional[Dict[str, Any]] = None,
21035        location: Optional[str] = None,
21036        node_size: Optional[str] = None,
21037        number_of_nodes: Optional[int] = None,
21038        max_parallel_executions_per_node: Optional[int] = None,
21039        data_flow_properties: Optional["IntegrationRuntimeDataFlowProperties"] = None,
21040        v_net_properties: Optional["IntegrationRuntimeVNetProperties"] = None,
21041        **kwargs
21042    ):
21043        super(IntegrationRuntimeComputeProperties, self).__init__(**kwargs)
21044        self.additional_properties = additional_properties
21045        self.location = location
21046        self.node_size = node_size
21047        self.number_of_nodes = number_of_nodes
21048        self.max_parallel_executions_per_node = max_parallel_executions_per_node
21049        self.data_flow_properties = data_flow_properties
21050        self.v_net_properties = v_net_properties
21051
21052
21053class IntegrationRuntimeCustomSetupScriptProperties(msrest.serialization.Model):
21054    """Custom setup script properties for a managed dedicated integration runtime.
21055
21056    :param blob_container_uri: The URI of the Azure blob container that contains the custom setup
21057     script.
21058    :type blob_container_uri: str
21059    :param sas_token: The SAS token of the Azure blob container.
21060    :type sas_token: ~azure.synapse.artifacts.v2020_12_01.models.SecureString
21061    """
21062
21063    _attribute_map = {
21064        'blob_container_uri': {'key': 'blobContainerUri', 'type': 'str'},
21065        'sas_token': {'key': 'sasToken', 'type': 'SecureString'},
21066    }
21067
21068    def __init__(
21069        self,
21070        *,
21071        blob_container_uri: Optional[str] = None,
21072        sas_token: Optional["SecureString"] = None,
21073        **kwargs
21074    ):
21075        super(IntegrationRuntimeCustomSetupScriptProperties, self).__init__(**kwargs)
21076        self.blob_container_uri = blob_container_uri
21077        self.sas_token = sas_token
21078
21079
21080class IntegrationRuntimeDataFlowProperties(msrest.serialization.Model):
21081    """Data flow properties for managed integration runtime.
21082
21083    :param additional_properties: Unmatched properties from the message are deserialized to this
21084     collection.
21085    :type additional_properties: dict[str, any]
21086    :param compute_type: Compute type of the cluster which will execute data flow job. Possible
21087     values include: "General", "MemoryOptimized", "ComputeOptimized".
21088    :type compute_type: str or ~azure.synapse.artifacts.v2020_12_01.models.DataFlowComputeType
21089    :param core_count: Core count of the cluster which will execute data flow job. Supported values
21090     are: 8, 16, 32, 48, 80, 144 and 272.
21091    :type core_count: int
21092    :param time_to_live: Time to live (in minutes) setting of the cluster which will execute data
21093     flow job.
21094    :type time_to_live: int
21095    """
21096
21097    _validation = {
21098        'time_to_live': {'minimum': 0},
21099    }
21100
21101    _attribute_map = {
21102        'additional_properties': {'key': '', 'type': '{object}'},
21103        'compute_type': {'key': 'computeType', 'type': 'str'},
21104        'core_count': {'key': 'coreCount', 'type': 'int'},
21105        'time_to_live': {'key': 'timeToLive', 'type': 'int'},
21106    }
21107
21108    def __init__(
21109        self,
21110        *,
21111        additional_properties: Optional[Dict[str, Any]] = None,
21112        compute_type: Optional[Union[str, "DataFlowComputeType"]] = None,
21113        core_count: Optional[int] = None,
21114        time_to_live: Optional[int] = None,
21115        **kwargs
21116    ):
21117        super(IntegrationRuntimeDataFlowProperties, self).__init__(**kwargs)
21118        self.additional_properties = additional_properties
21119        self.compute_type = compute_type
21120        self.core_count = core_count
21121        self.time_to_live = time_to_live
21122
21123
21124class IntegrationRuntimeDataProxyProperties(msrest.serialization.Model):
21125    """Data proxy properties for a managed dedicated integration runtime.
21126
21127    :param connect_via: The self-hosted integration runtime reference.
21128    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.EntityReference
21129    :param staging_linked_service: The staging linked service reference.
21130    :type staging_linked_service: ~azure.synapse.artifacts.v2020_12_01.models.EntityReference
21131    :param path: The path to contain the staged data in the Blob storage.
21132    :type path: str
21133    """
21134
21135    _attribute_map = {
21136        'connect_via': {'key': 'connectVia', 'type': 'EntityReference'},
21137        'staging_linked_service': {'key': 'stagingLinkedService', 'type': 'EntityReference'},
21138        'path': {'key': 'path', 'type': 'str'},
21139    }
21140
21141    def __init__(
21142        self,
21143        *,
21144        connect_via: Optional["EntityReference"] = None,
21145        staging_linked_service: Optional["EntityReference"] = None,
21146        path: Optional[str] = None,
21147        **kwargs
21148    ):
21149        super(IntegrationRuntimeDataProxyProperties, self).__init__(**kwargs)
21150        self.connect_via = connect_via
21151        self.staging_linked_service = staging_linked_service
21152        self.path = path
21153
21154
21155class IntegrationRuntimeListResponse(msrest.serialization.Model):
21156    """A list of integration runtime resources.
21157
21158    All required parameters must be populated in order to send to Azure.
21159
21160    :param value: Required. List of integration runtimes.
21161    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeResource]
21162    :param next_link: The link to the next page of results, if any remaining results exist.
21163    :type next_link: str
21164    """
21165
21166    _validation = {
21167        'value': {'required': True},
21168    }
21169
21170    _attribute_map = {
21171        'value': {'key': 'value', 'type': '[IntegrationRuntimeResource]'},
21172        'next_link': {'key': 'nextLink', 'type': 'str'},
21173    }
21174
21175    def __init__(
21176        self,
21177        *,
21178        value: List["IntegrationRuntimeResource"],
21179        next_link: Optional[str] = None,
21180        **kwargs
21181    ):
21182        super(IntegrationRuntimeListResponse, self).__init__(**kwargs)
21183        self.value = value
21184        self.next_link = next_link
21185
21186
21187class IntegrationRuntimeReference(msrest.serialization.Model):
21188    """Integration runtime reference type.
21189
21190    All required parameters must be populated in order to send to Azure.
21191
21192    :param type: Required. Type of integration runtime. Possible values include:
21193     "IntegrationRuntimeReference".
21194    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReferenceType
21195    :param reference_name: Required. Reference integration runtime name.
21196    :type reference_name: str
21197    :param parameters: Arguments for integration runtime.
21198    :type parameters: dict[str, any]
21199    """
21200
21201    _validation = {
21202        'type': {'required': True},
21203        'reference_name': {'required': True},
21204    }
21205
21206    _attribute_map = {
21207        'type': {'key': 'type', 'type': 'str'},
21208        'reference_name': {'key': 'referenceName', 'type': 'str'},
21209        'parameters': {'key': 'parameters', 'type': '{object}'},
21210    }
21211
21212    def __init__(
21213        self,
21214        *,
21215        type: Union[str, "IntegrationRuntimeReferenceType"],
21216        reference_name: str,
21217        parameters: Optional[Dict[str, Any]] = None,
21218        **kwargs
21219    ):
21220        super(IntegrationRuntimeReference, self).__init__(**kwargs)
21221        self.type = type
21222        self.reference_name = reference_name
21223        self.parameters = parameters
21224
21225
21226class IntegrationRuntimeResource(SubResource):
21227    """Integration runtime resource type.
21228
21229    Variables are only populated by the server, and will be ignored when sending a request.
21230
21231    All required parameters must be populated in order to send to Azure.
21232
21233    :ivar id: Fully qualified resource ID for the resource. Ex -
21234     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
21235    :vartype id: str
21236    :ivar name: The name of the resource.
21237    :vartype name: str
21238    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
21239     "Microsoft.Storage/storageAccounts".
21240    :vartype type: str
21241    :ivar etag: Resource Etag.
21242    :vartype etag: str
21243    :param properties: Required. Integration runtime properties.
21244    :type properties: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntime
21245    """
21246
21247    _validation = {
21248        'id': {'readonly': True},
21249        'name': {'readonly': True},
21250        'type': {'readonly': True},
21251        'etag': {'readonly': True},
21252        'properties': {'required': True},
21253    }
21254
21255    _attribute_map = {
21256        'id': {'key': 'id', 'type': 'str'},
21257        'name': {'key': 'name', 'type': 'str'},
21258        'type': {'key': 'type', 'type': 'str'},
21259        'etag': {'key': 'etag', 'type': 'str'},
21260        'properties': {'key': 'properties', 'type': 'IntegrationRuntime'},
21261    }
21262
21263    def __init__(
21264        self,
21265        *,
21266        properties: "IntegrationRuntime",
21267        **kwargs
21268    ):
21269        super(IntegrationRuntimeResource, self).__init__(**kwargs)
21270        self.properties = properties
21271
21272
21273class IntegrationRuntimeSsisCatalogInfo(msrest.serialization.Model):
21274    """Catalog information for managed dedicated integration runtime.
21275
21276    :param additional_properties: Unmatched properties from the message are deserialized to this
21277     collection.
21278    :type additional_properties: dict[str, any]
21279    :param catalog_server_endpoint: The catalog database server URL.
21280    :type catalog_server_endpoint: str
21281    :param catalog_admin_user_name: The administrator user name of catalog database.
21282    :type catalog_admin_user_name: str
21283    :param catalog_admin_password: The password of the administrator user account of the catalog
21284     database.
21285    :type catalog_admin_password: ~azure.synapse.artifacts.v2020_12_01.models.SecureString
21286    :param catalog_pricing_tier: The pricing tier for the catalog database. The valid values could
21287     be found in https://azure.microsoft.com/en-us/pricing/details/sql-database/. Possible values
21288     include: "Basic", "Standard", "Premium", "PremiumRS".
21289    :type catalog_pricing_tier: str or
21290     ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeSsisCatalogPricingTier
21291    """
21292
21293    _validation = {
21294        'catalog_admin_user_name': {'max_length': 128, 'min_length': 1},
21295    }
21296
21297    _attribute_map = {
21298        'additional_properties': {'key': '', 'type': '{object}'},
21299        'catalog_server_endpoint': {'key': 'catalogServerEndpoint', 'type': 'str'},
21300        'catalog_admin_user_name': {'key': 'catalogAdminUserName', 'type': 'str'},
21301        'catalog_admin_password': {'key': 'catalogAdminPassword', 'type': 'SecureString'},
21302        'catalog_pricing_tier': {'key': 'catalogPricingTier', 'type': 'str'},
21303    }
21304
21305    def __init__(
21306        self,
21307        *,
21308        additional_properties: Optional[Dict[str, Any]] = None,
21309        catalog_server_endpoint: Optional[str] = None,
21310        catalog_admin_user_name: Optional[str] = None,
21311        catalog_admin_password: Optional["SecureString"] = None,
21312        catalog_pricing_tier: Optional[Union[str, "IntegrationRuntimeSsisCatalogPricingTier"]] = None,
21313        **kwargs
21314    ):
21315        super(IntegrationRuntimeSsisCatalogInfo, self).__init__(**kwargs)
21316        self.additional_properties = additional_properties
21317        self.catalog_server_endpoint = catalog_server_endpoint
21318        self.catalog_admin_user_name = catalog_admin_user_name
21319        self.catalog_admin_password = catalog_admin_password
21320        self.catalog_pricing_tier = catalog_pricing_tier
21321
21322
21323class IntegrationRuntimeSsisProperties(msrest.serialization.Model):
21324    """SSIS properties for managed integration runtime.
21325
21326    :param additional_properties: Unmatched properties from the message are deserialized to this
21327     collection.
21328    :type additional_properties: dict[str, any]
21329    :param catalog_info: Catalog information for managed dedicated integration runtime.
21330    :type catalog_info:
21331     ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeSsisCatalogInfo
21332    :param license_type: License type for bringing your own license scenario. Possible values
21333     include: "BasePrice", "LicenseIncluded".
21334    :type license_type: str or
21335     ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeLicenseType
21336    :param custom_setup_script_properties: Custom setup script properties for a managed dedicated
21337     integration runtime.
21338    :type custom_setup_script_properties:
21339     ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeCustomSetupScriptProperties
21340    :param data_proxy_properties: Data proxy properties for a managed dedicated integration
21341     runtime.
21342    :type data_proxy_properties:
21343     ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeDataProxyProperties
21344    :param edition: The edition for the SSIS Integration Runtime. Possible values include:
21345     "Standard", "Enterprise".
21346    :type edition: str or ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeEdition
21347    :param express_custom_setup_properties: Custom setup without script properties for a SSIS
21348     integration runtime.
21349    :type express_custom_setup_properties:
21350     list[~azure.synapse.artifacts.v2020_12_01.models.CustomSetupBase]
21351    """
21352
21353    _attribute_map = {
21354        'additional_properties': {'key': '', 'type': '{object}'},
21355        'catalog_info': {'key': 'catalogInfo', 'type': 'IntegrationRuntimeSsisCatalogInfo'},
21356        'license_type': {'key': 'licenseType', 'type': 'str'},
21357        'custom_setup_script_properties': {'key': 'customSetupScriptProperties', 'type': 'IntegrationRuntimeCustomSetupScriptProperties'},
21358        'data_proxy_properties': {'key': 'dataProxyProperties', 'type': 'IntegrationRuntimeDataProxyProperties'},
21359        'edition': {'key': 'edition', 'type': 'str'},
21360        'express_custom_setup_properties': {'key': 'expressCustomSetupProperties', 'type': '[CustomSetupBase]'},
21361    }
21362
21363    def __init__(
21364        self,
21365        *,
21366        additional_properties: Optional[Dict[str, Any]] = None,
21367        catalog_info: Optional["IntegrationRuntimeSsisCatalogInfo"] = None,
21368        license_type: Optional[Union[str, "IntegrationRuntimeLicenseType"]] = None,
21369        custom_setup_script_properties: Optional["IntegrationRuntimeCustomSetupScriptProperties"] = None,
21370        data_proxy_properties: Optional["IntegrationRuntimeDataProxyProperties"] = None,
21371        edition: Optional[Union[str, "IntegrationRuntimeEdition"]] = None,
21372        express_custom_setup_properties: Optional[List["CustomSetupBase"]] = None,
21373        **kwargs
21374    ):
21375        super(IntegrationRuntimeSsisProperties, self).__init__(**kwargs)
21376        self.additional_properties = additional_properties
21377        self.catalog_info = catalog_info
21378        self.license_type = license_type
21379        self.custom_setup_script_properties = custom_setup_script_properties
21380        self.data_proxy_properties = data_proxy_properties
21381        self.edition = edition
21382        self.express_custom_setup_properties = express_custom_setup_properties
21383
21384
21385class IntegrationRuntimeVNetProperties(msrest.serialization.Model):
21386    """VNet properties for managed integration runtime.
21387
21388    :param additional_properties: Unmatched properties from the message are deserialized to this
21389     collection.
21390    :type additional_properties: dict[str, any]
21391    :param v_net_id: The ID of the VNet that this integration runtime will join.
21392    :type v_net_id: str
21393    :param subnet: The name of the subnet this integration runtime will join.
21394    :type subnet: str
21395    :param public_i_ps: Resource IDs of the public IP addresses that this integration runtime will
21396     use.
21397    :type public_i_ps: list[str]
21398    """
21399
21400    _attribute_map = {
21401        'additional_properties': {'key': '', 'type': '{object}'},
21402        'v_net_id': {'key': 'vNetId', 'type': 'str'},
21403        'subnet': {'key': 'subnet', 'type': 'str'},
21404        'public_i_ps': {'key': 'publicIPs', 'type': '[str]'},
21405    }
21406
21407    def __init__(
21408        self,
21409        *,
21410        additional_properties: Optional[Dict[str, Any]] = None,
21411        v_net_id: Optional[str] = None,
21412        subnet: Optional[str] = None,
21413        public_i_ps: Optional[List[str]] = None,
21414        **kwargs
21415    ):
21416        super(IntegrationRuntimeVNetProperties, self).__init__(**kwargs)
21417        self.additional_properties = additional_properties
21418        self.v_net_id = v_net_id
21419        self.subnet = subnet
21420        self.public_i_ps = public_i_ps
21421
21422
21423class JiraLinkedService(LinkedService):
21424    """Jira Service linked service.
21425
21426    All required parameters must be populated in order to send to Azure.
21427
21428    :param additional_properties: Unmatched properties from the message are deserialized to this
21429     collection.
21430    :type additional_properties: dict[str, any]
21431    :param type: Required. Type of linked service.Constant filled by server.
21432    :type type: str
21433    :param connect_via: The integration runtime reference.
21434    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
21435    :param description: Linked service description.
21436    :type description: str
21437    :param parameters: Parameters for linked service.
21438    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
21439    :param annotations: List of tags that can be used for describing the linked service.
21440    :type annotations: list[any]
21441    :param host: Required. The IP address or host name of the Jira service. (e.g.
21442     jira.example.com).
21443    :type host: any
21444    :param port: The TCP port that the Jira server uses to listen for client connections. The
21445     default value is 443 if connecting through HTTPS, or 8080 if connecting through HTTP.
21446    :type port: any
21447    :param username: Required. The user name that you use to access Jira Service.
21448    :type username: any
21449    :param password: The password corresponding to the user name that you provided in the username
21450     field.
21451    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
21452    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
21453     HTTPS. The default value is true.
21454    :type use_encrypted_endpoints: any
21455    :param use_host_verification: Specifies whether to require the host name in the server's
21456     certificate to match the host name of the server when connecting over SSL. The default value is
21457     true.
21458    :type use_host_verification: any
21459    :param use_peer_verification: Specifies whether to verify the identity of the server when
21460     connecting over SSL. The default value is true.
21461    :type use_peer_verification: any
21462    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
21463     encrypted using the integration runtime credential manager. Type: string (or Expression with
21464     resultType string).
21465    :type encrypted_credential: any
21466    """
21467
21468    _validation = {
21469        'type': {'required': True},
21470        'host': {'required': True},
21471        'username': {'required': True},
21472    }
21473
21474    _attribute_map = {
21475        'additional_properties': {'key': '', 'type': '{object}'},
21476        'type': {'key': 'type', 'type': 'str'},
21477        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
21478        'description': {'key': 'description', 'type': 'str'},
21479        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
21480        'annotations': {'key': 'annotations', 'type': '[object]'},
21481        'host': {'key': 'typeProperties.host', 'type': 'object'},
21482        'port': {'key': 'typeProperties.port', 'type': 'object'},
21483        'username': {'key': 'typeProperties.username', 'type': 'object'},
21484        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
21485        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
21486        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
21487        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
21488        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
21489    }
21490
21491    def __init__(
21492        self,
21493        *,
21494        host: Any,
21495        username: Any,
21496        additional_properties: Optional[Dict[str, Any]] = None,
21497        connect_via: Optional["IntegrationRuntimeReference"] = None,
21498        description: Optional[str] = None,
21499        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
21500        annotations: Optional[List[Any]] = None,
21501        port: Optional[Any] = None,
21502        password: Optional["SecretBase"] = None,
21503        use_encrypted_endpoints: Optional[Any] = None,
21504        use_host_verification: Optional[Any] = None,
21505        use_peer_verification: Optional[Any] = None,
21506        encrypted_credential: Optional[Any] = None,
21507        **kwargs
21508    ):
21509        super(JiraLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
21510        self.type = 'Jira'  # type: str
21511        self.host = host
21512        self.port = port
21513        self.username = username
21514        self.password = password
21515        self.use_encrypted_endpoints = use_encrypted_endpoints
21516        self.use_host_verification = use_host_verification
21517        self.use_peer_verification = use_peer_verification
21518        self.encrypted_credential = encrypted_credential
21519
21520
21521class JiraObjectDataset(Dataset):
21522    """Jira Service dataset.
21523
21524    All required parameters must be populated in order to send to Azure.
21525
21526    :param additional_properties: Unmatched properties from the message are deserialized to this
21527     collection.
21528    :type additional_properties: dict[str, any]
21529    :param type: Required. Type of dataset.Constant filled by server.
21530    :type type: str
21531    :param description: Dataset description.
21532    :type description: str
21533    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
21534     with resultType array), itemType: DatasetDataElement.
21535    :type structure: any
21536    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
21537     Expression with resultType array), itemType: DatasetSchemaDataElement.
21538    :type schema: any
21539    :param linked_service_name: Required. Linked service reference.
21540    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
21541    :param parameters: Parameters for dataset.
21542    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
21543    :param annotations: List of tags that can be used for describing the Dataset.
21544    :type annotations: list[any]
21545    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
21546     root level.
21547    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
21548    :param table_name: The table name. Type: string (or Expression with resultType string).
21549    :type table_name: any
21550    """
21551
21552    _validation = {
21553        'type': {'required': True},
21554        'linked_service_name': {'required': True},
21555    }
21556
21557    _attribute_map = {
21558        'additional_properties': {'key': '', 'type': '{object}'},
21559        'type': {'key': 'type', 'type': 'str'},
21560        'description': {'key': 'description', 'type': 'str'},
21561        'structure': {'key': 'structure', 'type': 'object'},
21562        'schema': {'key': 'schema', 'type': 'object'},
21563        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
21564        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
21565        'annotations': {'key': 'annotations', 'type': '[object]'},
21566        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
21567        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
21568    }
21569
21570    def __init__(
21571        self,
21572        *,
21573        linked_service_name: "LinkedServiceReference",
21574        additional_properties: Optional[Dict[str, Any]] = None,
21575        description: Optional[str] = None,
21576        structure: Optional[Any] = None,
21577        schema: Optional[Any] = None,
21578        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
21579        annotations: Optional[List[Any]] = None,
21580        folder: Optional["DatasetFolder"] = None,
21581        table_name: Optional[Any] = None,
21582        **kwargs
21583    ):
21584        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)
21585        self.type = 'JiraObject'  # type: str
21586        self.table_name = table_name
21587
21588
21589class JiraSource(TabularSource):
21590    """A copy activity Jira Service source.
21591
21592    All required parameters must be populated in order to send to Azure.
21593
21594    :param additional_properties: Unmatched properties from the message are deserialized to this
21595     collection.
21596    :type additional_properties: dict[str, any]
21597    :param type: Required. Copy source type.Constant filled by server.
21598    :type type: str
21599    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
21600     integer).
21601    :type source_retry_count: any
21602    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
21603     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
21604    :type source_retry_wait: any
21605    :param max_concurrent_connections: The maximum concurrent connection count for the source data
21606     store. Type: integer (or Expression with resultType integer).
21607    :type max_concurrent_connections: any
21608    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
21609     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
21610    :type query_timeout: any
21611    :param additional_columns: Specifies the additional columns to be added to source data. Type:
21612     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
21613    :type additional_columns: any
21614    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
21615     string).
21616    :type query: any
21617    """
21618
21619    _validation = {
21620        'type': {'required': True},
21621    }
21622
21623    _attribute_map = {
21624        'additional_properties': {'key': '', 'type': '{object}'},
21625        'type': {'key': 'type', 'type': 'str'},
21626        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
21627        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
21628        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
21629        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
21630        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
21631        'query': {'key': 'query', 'type': 'object'},
21632    }
21633
21634    def __init__(
21635        self,
21636        *,
21637        additional_properties: Optional[Dict[str, Any]] = None,
21638        source_retry_count: Optional[Any] = None,
21639        source_retry_wait: Optional[Any] = None,
21640        max_concurrent_connections: Optional[Any] = None,
21641        query_timeout: Optional[Any] = None,
21642        additional_columns: Optional[Any] = None,
21643        query: Optional[Any] = None,
21644        **kwargs
21645    ):
21646        super(JiraSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
21647        self.type = 'JiraSource'  # type: str
21648        self.query = query
21649
21650
21651class JsonDataset(Dataset):
21652    """Json dataset.
21653
21654    All required parameters must be populated in order to send to Azure.
21655
21656    :param additional_properties: Unmatched properties from the message are deserialized to this
21657     collection.
21658    :type additional_properties: dict[str, any]
21659    :param type: Required. Type of dataset.Constant filled by server.
21660    :type type: str
21661    :param description: Dataset description.
21662    :type description: str
21663    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
21664     with resultType array), itemType: DatasetDataElement.
21665    :type structure: any
21666    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
21667     Expression with resultType array), itemType: DatasetSchemaDataElement.
21668    :type schema: any
21669    :param linked_service_name: Required. Linked service reference.
21670    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
21671    :param parameters: Parameters for dataset.
21672    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
21673    :param annotations: List of tags that can be used for describing the Dataset.
21674    :type annotations: list[any]
21675    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
21676     root level.
21677    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
21678    :param location: The location of the json data storage.
21679    :type location: ~azure.synapse.artifacts.v2020_12_01.models.DatasetLocation
21680    :param encoding_name: The code page name of the preferred encoding. If not specified, the
21681     default value is UTF-8, unless BOM denotes another Unicode encoding. Refer to the name column
21682     of the table in the following link to set supported values:
21683     https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with
21684     resultType string).
21685    :type encoding_name: any
21686    :param compression: The data compression method used for the json dataset.
21687    :type compression: ~azure.synapse.artifacts.v2020_12_01.models.DatasetCompression
21688    """
21689
21690    _validation = {
21691        'type': {'required': True},
21692        'linked_service_name': {'required': True},
21693    }
21694
21695    _attribute_map = {
21696        'additional_properties': {'key': '', 'type': '{object}'},
21697        'type': {'key': 'type', 'type': 'str'},
21698        'description': {'key': 'description', 'type': 'str'},
21699        'structure': {'key': 'structure', 'type': 'object'},
21700        'schema': {'key': 'schema', 'type': 'object'},
21701        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
21702        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
21703        'annotations': {'key': 'annotations', 'type': '[object]'},
21704        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
21705        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
21706        'encoding_name': {'key': 'typeProperties.encodingName', 'type': 'object'},
21707        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
21708    }
21709
21710    def __init__(
21711        self,
21712        *,
21713        linked_service_name: "LinkedServiceReference",
21714        additional_properties: Optional[Dict[str, Any]] = None,
21715        description: Optional[str] = None,
21716        structure: Optional[Any] = None,
21717        schema: Optional[Any] = None,
21718        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
21719        annotations: Optional[List[Any]] = None,
21720        folder: Optional["DatasetFolder"] = None,
21721        location: Optional["DatasetLocation"] = None,
21722        encoding_name: Optional[Any] = None,
21723        compression: Optional["DatasetCompression"] = None,
21724        **kwargs
21725    ):
21726        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)
21727        self.type = 'Json'  # type: str
21728        self.location = location
21729        self.encoding_name = encoding_name
21730        self.compression = compression
21731
21732
21733class JsonFormat(DatasetStorageFormat):
21734    """The data stored in JSON format.
21735
21736    All required parameters must be populated in order to send to Azure.
21737
21738    :param additional_properties: Unmatched properties from the message are deserialized to this
21739     collection.
21740    :type additional_properties: dict[str, any]
21741    :param type: Required. Type of dataset storage format.Constant filled by server.
21742    :type type: str
21743    :param serializer: Serializer. Type: string (or Expression with resultType string).
21744    :type serializer: any
21745    :param deserializer: Deserializer. Type: string (or Expression with resultType string).
21746    :type deserializer: any
21747    :param file_pattern: File pattern of JSON. To be more specific, the way of separating a
21748     collection of JSON objects. The default value is 'setOfObjects'. It is case-sensitive. Possible
21749     values include: "setOfObjects", "arrayOfObjects".
21750    :type file_pattern: str or ~azure.synapse.artifacts.v2020_12_01.models.JsonFormatFilePattern
21751    :param nesting_separator: The character used to separate nesting levels. Default value is '.'
21752     (dot). Type: string (or Expression with resultType string).
21753    :type nesting_separator: any
21754    :param encoding_name: The code page name of the preferred encoding. If not provided, the
21755     default value is 'utf-8', unless the byte order mark (BOM) denotes another Unicode encoding.
21756     The full list of supported values can be found in the 'Name' column of the table of encodings
21757     in the following reference: https://go.microsoft.com/fwlink/?linkid=861078. Type: string (or
21758     Expression with resultType string).
21759    :type encoding_name: any
21760    :param json_node_reference: The JSONPath of the JSON array element to be flattened. Example:
21761     "$.ArrayPath". Type: string (or Expression with resultType string).
21762    :type json_node_reference: any
21763    :param json_path_definition: The JSONPath definition for each column mapping with a customized
21764     column name to extract data from JSON file. For fields under root object, start with "$"; for
21765     fields inside the array chosen by jsonNodeReference property, start from the array element.
21766     Example: {"Column1": "$.Column1Path", "Column2": "Column2PathInArray"}. Type: object (or
21767     Expression with resultType object).
21768    :type json_path_definition: any
21769    """
21770
21771    _validation = {
21772        'type': {'required': True},
21773    }
21774
21775    _attribute_map = {
21776        'additional_properties': {'key': '', 'type': '{object}'},
21777        'type': {'key': 'type', 'type': 'str'},
21778        'serializer': {'key': 'serializer', 'type': 'object'},
21779        'deserializer': {'key': 'deserializer', 'type': 'object'},
21780        'file_pattern': {'key': 'filePattern', 'type': 'str'},
21781        'nesting_separator': {'key': 'nestingSeparator', 'type': 'object'},
21782        'encoding_name': {'key': 'encodingName', 'type': 'object'},
21783        'json_node_reference': {'key': 'jsonNodeReference', 'type': 'object'},
21784        'json_path_definition': {'key': 'jsonPathDefinition', 'type': 'object'},
21785    }
21786
21787    def __init__(
21788        self,
21789        *,
21790        additional_properties: Optional[Dict[str, Any]] = None,
21791        serializer: Optional[Any] = None,
21792        deserializer: Optional[Any] = None,
21793        file_pattern: Optional[Union[str, "JsonFormatFilePattern"]] = None,
21794        nesting_separator: Optional[Any] = None,
21795        encoding_name: Optional[Any] = None,
21796        json_node_reference: Optional[Any] = None,
21797        json_path_definition: Optional[Any] = None,
21798        **kwargs
21799    ):
21800        super(JsonFormat, self).__init__(additional_properties=additional_properties, serializer=serializer, deserializer=deserializer, **kwargs)
21801        self.type = 'JsonFormat'  # type: str
21802        self.file_pattern = file_pattern
21803        self.nesting_separator = nesting_separator
21804        self.encoding_name = encoding_name
21805        self.json_node_reference = json_node_reference
21806        self.json_path_definition = json_path_definition
21807
21808
21809class JsonReadSettings(FormatReadSettings):
21810    """Json read settings.
21811
21812    All required parameters must be populated in order to send to Azure.
21813
21814    :param additional_properties: Unmatched properties from the message are deserialized to this
21815     collection.
21816    :type additional_properties: dict[str, any]
21817    :param type: Required. The read setting type.Constant filled by server.
21818    :type type: str
21819    :param compression_properties: Compression settings.
21820    :type compression_properties:
21821     ~azure.synapse.artifacts.v2020_12_01.models.CompressionReadSettings
21822    """
21823
21824    _validation = {
21825        'type': {'required': True},
21826    }
21827
21828    _attribute_map = {
21829        'additional_properties': {'key': '', 'type': '{object}'},
21830        'type': {'key': 'type', 'type': 'str'},
21831        'compression_properties': {'key': 'compressionProperties', 'type': 'CompressionReadSettings'},
21832    }
21833
21834    def __init__(
21835        self,
21836        *,
21837        additional_properties: Optional[Dict[str, Any]] = None,
21838        compression_properties: Optional["CompressionReadSettings"] = None,
21839        **kwargs
21840    ):
21841        super(JsonReadSettings, self).__init__(additional_properties=additional_properties, **kwargs)
21842        self.type = 'JsonReadSettings'  # type: str
21843        self.compression_properties = compression_properties
21844
21845
21846class JsonSink(CopySink):
21847    """A copy activity Json sink.
21848
21849    All required parameters must be populated in order to send to Azure.
21850
21851    :param additional_properties: Unmatched properties from the message are deserialized to this
21852     collection.
21853    :type additional_properties: dict[str, any]
21854    :param type: Required. Copy sink type.Constant filled by server.
21855    :type type: str
21856    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
21857     integer), minimum: 0.
21858    :type write_batch_size: any
21859    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
21860     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
21861    :type write_batch_timeout: any
21862    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
21863     integer).
21864    :type sink_retry_count: any
21865    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
21866     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
21867    :type sink_retry_wait: any
21868    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
21869     store. Type: integer (or Expression with resultType integer).
21870    :type max_concurrent_connections: any
21871    :param store_settings: Json store settings.
21872    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreWriteSettings
21873    :param format_settings: Json format settings.
21874    :type format_settings: ~azure.synapse.artifacts.v2020_12_01.models.JsonWriteSettings
21875    """
21876
21877    _validation = {
21878        'type': {'required': True},
21879    }
21880
21881    _attribute_map = {
21882        'additional_properties': {'key': '', 'type': '{object}'},
21883        'type': {'key': 'type', 'type': 'str'},
21884        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
21885        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
21886        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
21887        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
21888        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
21889        'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'},
21890        'format_settings': {'key': 'formatSettings', 'type': 'JsonWriteSettings'},
21891    }
21892
21893    def __init__(
21894        self,
21895        *,
21896        additional_properties: Optional[Dict[str, Any]] = None,
21897        write_batch_size: Optional[Any] = None,
21898        write_batch_timeout: Optional[Any] = None,
21899        sink_retry_count: Optional[Any] = None,
21900        sink_retry_wait: Optional[Any] = None,
21901        max_concurrent_connections: Optional[Any] = None,
21902        store_settings: Optional["StoreWriteSettings"] = None,
21903        format_settings: Optional["JsonWriteSettings"] = None,
21904        **kwargs
21905    ):
21906        super(JsonSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
21907        self.type = 'JsonSink'  # type: str
21908        self.store_settings = store_settings
21909        self.format_settings = format_settings
21910
21911
21912class JsonSource(CopySource):
21913    """A copy activity Json source.
21914
21915    All required parameters must be populated in order to send to Azure.
21916
21917    :param additional_properties: Unmatched properties from the message are deserialized to this
21918     collection.
21919    :type additional_properties: dict[str, any]
21920    :param type: Required. Copy source type.Constant filled by server.
21921    :type type: str
21922    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
21923     integer).
21924    :type source_retry_count: any
21925    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
21926     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
21927    :type source_retry_wait: any
21928    :param max_concurrent_connections: The maximum concurrent connection count for the source data
21929     store. Type: integer (or Expression with resultType integer).
21930    :type max_concurrent_connections: any
21931    :param store_settings: Json store settings.
21932    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreReadSettings
21933    :param format_settings: Json format settings.
21934    :type format_settings: ~azure.synapse.artifacts.v2020_12_01.models.JsonReadSettings
21935    :param additional_columns: Specifies the additional columns to be added to source data. Type:
21936     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
21937    :type additional_columns: any
21938    """
21939
21940    _validation = {
21941        'type': {'required': True},
21942    }
21943
21944    _attribute_map = {
21945        'additional_properties': {'key': '', 'type': '{object}'},
21946        'type': {'key': 'type', 'type': 'str'},
21947        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
21948        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
21949        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
21950        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
21951        'format_settings': {'key': 'formatSettings', 'type': 'JsonReadSettings'},
21952        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
21953    }
21954
21955    def __init__(
21956        self,
21957        *,
21958        additional_properties: Optional[Dict[str, Any]] = None,
21959        source_retry_count: Optional[Any] = None,
21960        source_retry_wait: Optional[Any] = None,
21961        max_concurrent_connections: Optional[Any] = None,
21962        store_settings: Optional["StoreReadSettings"] = None,
21963        format_settings: Optional["JsonReadSettings"] = None,
21964        additional_columns: Optional[Any] = None,
21965        **kwargs
21966    ):
21967        super(JsonSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
21968        self.type = 'JsonSource'  # type: str
21969        self.store_settings = store_settings
21970        self.format_settings = format_settings
21971        self.additional_columns = additional_columns
21972
21973
21974class JsonWriteSettings(FormatWriteSettings):
21975    """Json write settings.
21976
21977    All required parameters must be populated in order to send to Azure.
21978
21979    :param additional_properties: Unmatched properties from the message are deserialized to this
21980     collection.
21981    :type additional_properties: dict[str, any]
21982    :param type: Required. The write setting type.Constant filled by server.
21983    :type type: str
21984    :param file_pattern: File pattern of JSON. This setting controls the way a collection of JSON
21985     objects will be treated. The default value is 'setOfObjects'. It is case-sensitive. Possible
21986     values include: "setOfObjects", "arrayOfObjects".
21987    :type file_pattern: str or ~azure.synapse.artifacts.v2020_12_01.models.JsonWriteFilePattern
21988    """
21989
21990    _validation = {
21991        'type': {'required': True},
21992    }
21993
21994    _attribute_map = {
21995        'additional_properties': {'key': '', 'type': '{object}'},
21996        'type': {'key': 'type', 'type': 'str'},
21997        'file_pattern': {'key': 'filePattern', 'type': 'str'},
21998    }
21999
22000    def __init__(
22001        self,
22002        *,
22003        additional_properties: Optional[Dict[str, Any]] = None,
22004        file_pattern: Optional[Union[str, "JsonWriteFilePattern"]] = None,
22005        **kwargs
22006    ):
22007        super(JsonWriteSettings, self).__init__(additional_properties=additional_properties, **kwargs)
22008        self.type = 'JsonWriteSettings'  # type: str
22009        self.file_pattern = file_pattern
22010
22011
22012class LibraryInfo(msrest.serialization.Model):
22013    """Library/package information of a Big Data pool powered by Apache Spark.
22014
22015    Variables are only populated by the server, and will be ignored when sending a request.
22016
22017    :param name: Name of the library.
22018    :type name: str
22019    :param path: Storage blob path of library.
22020    :type path: str
22021    :param container_name: Storage blob container name.
22022    :type container_name: str
22023    :ivar uploaded_timestamp: The last update time of the library.
22024    :vartype uploaded_timestamp: ~datetime.datetime
22025    :param type: Type of the library.
22026    :type type: str
22027    :ivar provisioning_status: Provisioning status of the library/package.
22028    :vartype provisioning_status: str
22029    :ivar creator_id: Creator Id of the library/package.
22030    :vartype creator_id: str
22031    """
22032
22033    _validation = {
22034        'uploaded_timestamp': {'readonly': True},
22035        'provisioning_status': {'readonly': True},
22036        'creator_id': {'readonly': True},
22037    }
22038
22039    _attribute_map = {
22040        'name': {'key': 'name', 'type': 'str'},
22041        'path': {'key': 'path', 'type': 'str'},
22042        'container_name': {'key': 'containerName', 'type': 'str'},
22043        'uploaded_timestamp': {'key': 'uploadedTimestamp', 'type': 'iso-8601'},
22044        'type': {'key': 'type', 'type': 'str'},
22045        'provisioning_status': {'key': 'provisioningStatus', 'type': 'str'},
22046        'creator_id': {'key': 'creatorId', 'type': 'str'},
22047    }
22048
22049    def __init__(
22050        self,
22051        *,
22052        name: Optional[str] = None,
22053        path: Optional[str] = None,
22054        container_name: Optional[str] = None,
22055        type: Optional[str] = None,
22056        **kwargs
22057    ):
22058        super(LibraryInfo, self).__init__(**kwargs)
22059        self.name = name
22060        self.path = path
22061        self.container_name = container_name
22062        self.uploaded_timestamp = None
22063        self.type = type
22064        self.provisioning_status = None
22065        self.creator_id = None
22066
22067
22068class LibraryListResponse(msrest.serialization.Model):
22069    """A list of Library resources.
22070
22071    All required parameters must be populated in order to send to Azure.
22072
22073    :param value: Required. List of Library.
22074    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.LibraryResource]
22075    :param next_link: The link to the next page of results, if any remaining results exist.
22076    :type next_link: str
22077    """
22078
22079    _validation = {
22080        'value': {'required': True},
22081    }
22082
22083    _attribute_map = {
22084        'value': {'key': 'value', 'type': '[LibraryResource]'},
22085        'next_link': {'key': 'nextLink', 'type': 'str'},
22086    }
22087
22088    def __init__(
22089        self,
22090        *,
22091        value: List["LibraryResource"],
22092        next_link: Optional[str] = None,
22093        **kwargs
22094    ):
22095        super(LibraryListResponse, self).__init__(**kwargs)
22096        self.value = value
22097        self.next_link = next_link
22098
22099
22100class LibraryRequirements(msrest.serialization.Model):
22101    """Library requirements for a Big Data pool powered by Apache Spark.
22102
22103    Variables are only populated by the server, and will be ignored when sending a request.
22104
22105    :ivar time: The last update time of the library requirements file.
22106    :vartype time: ~datetime.datetime
22107    :param content: The library requirements.
22108    :type content: str
22109    :param filename: The filename of the library requirements file.
22110    :type filename: str
22111    """
22112
22113    _validation = {
22114        'time': {'readonly': True},
22115    }
22116
22117    _attribute_map = {
22118        'time': {'key': 'time', 'type': 'iso-8601'},
22119        'content': {'key': 'content', 'type': 'str'},
22120        'filename': {'key': 'filename', 'type': 'str'},
22121    }
22122
22123    def __init__(
22124        self,
22125        *,
22126        content: Optional[str] = None,
22127        filename: Optional[str] = None,
22128        **kwargs
22129    ):
22130        super(LibraryRequirements, self).__init__(**kwargs)
22131        self.time = None
22132        self.content = content
22133        self.filename = filename
22134
22135
22136class LibraryResource(SubResource):
22137    """Library response details.
22138
22139    Variables are only populated by the server, and will be ignored when sending a request.
22140
22141    All required parameters must be populated in order to send to Azure.
22142
22143    :ivar id: Fully qualified resource ID for the resource. Ex -
22144     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
22145    :vartype id: str
22146    :ivar name: The name of the resource.
22147    :vartype name: str
22148    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
22149     "Microsoft.Storage/storageAccounts".
22150    :vartype type: str
22151    :ivar etag: Resource Etag.
22152    :vartype etag: str
22153    :param properties: Required. Library/package properties.
22154    :type properties: ~azure.synapse.artifacts.v2020_12_01.models.LibraryResourceProperties
22155    """
22156
22157    _validation = {
22158        'id': {'readonly': True},
22159        'name': {'readonly': True},
22160        'type': {'readonly': True},
22161        'etag': {'readonly': True},
22162        'properties': {'required': True},
22163    }
22164
22165    _attribute_map = {
22166        'id': {'key': 'id', 'type': 'str'},
22167        'name': {'key': 'name', 'type': 'str'},
22168        'type': {'key': 'type', 'type': 'str'},
22169        'etag': {'key': 'etag', 'type': 'str'},
22170        'properties': {'key': 'properties', 'type': 'LibraryResourceProperties'},
22171    }
22172
22173    def __init__(
22174        self,
22175        *,
22176        properties: "LibraryResourceProperties",
22177        **kwargs
22178    ):
22179        super(LibraryResource, self).__init__(**kwargs)
22180        self.properties = properties
22181
22182
22183class LibraryResourceInfo(msrest.serialization.Model):
22184    """Library resource info.
22185
22186    Variables are only populated by the server, and will be ignored when sending a request.
22187
22188    :ivar id: Fully qualified resource ID for the resource. Ex -
22189     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
22190    :vartype id: str
22191    :ivar record_id: record Id of the library/package.
22192    :vartype record_id: int
22193    :ivar state: Provisioning status of the library/package.
22194    :vartype state: str
22195    :ivar created: The creation time of the library/package.
22196    :vartype created: str
22197    :ivar changed: The last updated time of the library/package.
22198    :vartype changed: str
22199    :ivar type: The type of the resource. E.g. LibraryArtifact.
22200    :vartype type: str
22201    :ivar name: Name of the library/package.
22202    :vartype name: str
22203    :ivar operation_id: Operation Id of the operation performed on library/package.
22204    :vartype operation_id: str
22205    :ivar artifact_id: artifact Id of the library/package.
22206    :vartype artifact_id: str
22207    """
22208
22209    _validation = {
22210        'id': {'readonly': True},
22211        'record_id': {'readonly': True},
22212        'state': {'readonly': True},
22213        'created': {'readonly': True},
22214        'changed': {'readonly': True},
22215        'type': {'readonly': True},
22216        'name': {'readonly': True},
22217        'operation_id': {'readonly': True},
22218        'artifact_id': {'readonly': True},
22219    }
22220
22221    _attribute_map = {
22222        'id': {'key': 'id', 'type': 'str'},
22223        'record_id': {'key': 'recordId', 'type': 'int'},
22224        'state': {'key': 'state', 'type': 'str'},
22225        'created': {'key': 'created', 'type': 'str'},
22226        'changed': {'key': 'changed', 'type': 'str'},
22227        'type': {'key': 'type', 'type': 'str'},
22228        'name': {'key': 'name', 'type': 'str'},
22229        'operation_id': {'key': 'operationId', 'type': 'str'},
22230        'artifact_id': {'key': 'artifactId', 'type': 'str'},
22231    }
22232
22233    def __init__(
22234        self,
22235        **kwargs
22236    ):
22237        super(LibraryResourceInfo, self).__init__(**kwargs)
22238        self.id = None
22239        self.record_id = None
22240        self.state = None
22241        self.created = None
22242        self.changed = None
22243        self.type = None
22244        self.name = None
22245        self.operation_id = None
22246        self.artifact_id = None
22247
22248
22249class LibraryResourceProperties(msrest.serialization.Model):
22250    """Library/package properties.
22251
22252    Variables are only populated by the server, and will be ignored when sending a request.
22253
22254    :ivar name: Name of the library/package.
22255    :vartype name: str
22256    :ivar path: Location of library/package in storage account.
22257    :vartype path: str
22258    :ivar container_name: Container name of the library/package.
22259    :vartype container_name: str
22260    :ivar uploaded_timestamp: The last update time of the library/package.
22261    :vartype uploaded_timestamp: str
22262    :ivar type: Type of the library/package.
22263    :vartype type: str
22264    :ivar provisioning_status: Provisioning status of the library/package.
22265    :vartype provisioning_status: str
22266    :ivar creator_id: Creator Id of the library/package.
22267    :vartype creator_id: str
22268    """
22269
22270    _validation = {
22271        'name': {'readonly': True},
22272        'path': {'readonly': True},
22273        'container_name': {'readonly': True},
22274        'uploaded_timestamp': {'readonly': True},
22275        'type': {'readonly': True},
22276        'provisioning_status': {'readonly': True},
22277        'creator_id': {'readonly': True},
22278    }
22279
22280    _attribute_map = {
22281        'name': {'key': 'name', 'type': 'str'},
22282        'path': {'key': 'path', 'type': 'str'},
22283        'container_name': {'key': 'containerName', 'type': 'str'},
22284        'uploaded_timestamp': {'key': 'uploadedTimestamp', 'type': 'str'},
22285        'type': {'key': 'type', 'type': 'str'},
22286        'provisioning_status': {'key': 'provisioningStatus', 'type': 'str'},
22287        'creator_id': {'key': 'creatorId', 'type': 'str'},
22288    }
22289
22290    def __init__(
22291        self,
22292        **kwargs
22293    ):
22294        super(LibraryResourceProperties, self).__init__(**kwargs)
22295        self.name = None
22296        self.path = None
22297        self.container_name = None
22298        self.uploaded_timestamp = None
22299        self.type = None
22300        self.provisioning_status = None
22301        self.creator_id = None
22302
22303
22304class LinkedIntegrationRuntimeType(msrest.serialization.Model):
22305    """The base definition of a linked integration runtime.
22306
22307    You probably want to use the sub-classes and not this class directly. Known
22308    sub-classes are: LinkedIntegrationRuntimeKeyAuthorization, LinkedIntegrationRuntimeRbacAuthorization.
22309
22310    All required parameters must be populated in order to send to Azure.
22311
22312    :param authorization_type: Required. The authorization type for integration runtime
22313     sharing.Constant filled by server.
22314    :type authorization_type: str
22315    """
22316
22317    _validation = {
22318        'authorization_type': {'required': True},
22319    }
22320
22321    _attribute_map = {
22322        'authorization_type': {'key': 'authorizationType', 'type': 'str'},
22323    }
22324
22325    _subtype_map = {
22326        'authorization_type': {'Key': 'LinkedIntegrationRuntimeKeyAuthorization', 'RBAC': 'LinkedIntegrationRuntimeRbacAuthorization'}
22327    }
22328
22329    def __init__(
22330        self,
22331        **kwargs
22332    ):
22333        super(LinkedIntegrationRuntimeType, self).__init__(**kwargs)
22334        self.authorization_type = None  # type: Optional[str]
22335
22336
22337class LinkedIntegrationRuntimeKeyAuthorization(LinkedIntegrationRuntimeType):
22338    """The key authorization type integration runtime.
22339
22340    All required parameters must be populated in order to send to Azure.
22341
22342    :param authorization_type: Required. The authorization type for integration runtime
22343     sharing.Constant filled by server.
22344    :type authorization_type: str
22345    :param key: Required. The key used for authorization.
22346    :type key: ~azure.synapse.artifacts.v2020_12_01.models.SecureString
22347    """
22348
22349    _validation = {
22350        'authorization_type': {'required': True},
22351        'key': {'required': True},
22352    }
22353
22354    _attribute_map = {
22355        'authorization_type': {'key': 'authorizationType', 'type': 'str'},
22356        'key': {'key': 'key', 'type': 'SecureString'},
22357    }
22358
22359    def __init__(
22360        self,
22361        *,
22362        key: "SecureString",
22363        **kwargs
22364    ):
22365        super(LinkedIntegrationRuntimeKeyAuthorization, self).__init__(**kwargs)
22366        self.authorization_type = 'Key'  # type: str
22367        self.key = key
22368
22369
22370class LinkedIntegrationRuntimeRbacAuthorization(LinkedIntegrationRuntimeType):
22371    """The role based access control (RBAC) authorization type integration runtime.
22372
22373    All required parameters must be populated in order to send to Azure.
22374
22375    :param authorization_type: Required. The authorization type for integration runtime
22376     sharing.Constant filled by server.
22377    :type authorization_type: str
22378    :param resource_id: Required. The resource identifier of the integration runtime to be shared.
22379    :type resource_id: str
22380    """
22381
22382    _validation = {
22383        'authorization_type': {'required': True},
22384        'resource_id': {'required': True},
22385    }
22386
22387    _attribute_map = {
22388        'authorization_type': {'key': 'authorizationType', 'type': 'str'},
22389        'resource_id': {'key': 'resourceId', 'type': 'str'},
22390    }
22391
22392    def __init__(
22393        self,
22394        *,
22395        resource_id: str,
22396        **kwargs
22397    ):
22398        super(LinkedIntegrationRuntimeRbacAuthorization, self).__init__(**kwargs)
22399        self.authorization_type = 'RBAC'  # type: str
22400        self.resource_id = resource_id
22401
22402
22403class LinkedServiceDebugResource(SubResourceDebugResource):
22404    """Linked service debug resource.
22405
22406    All required parameters must be populated in order to send to Azure.
22407
22408    :param name: The resource name.
22409    :type name: str
22410    :param properties: Required. Properties of linked service.
22411    :type properties: ~azure.synapse.artifacts.v2020_12_01.models.LinkedService
22412    """
22413
22414    _validation = {
22415        'properties': {'required': True},
22416    }
22417
22418    _attribute_map = {
22419        'name': {'key': 'name', 'type': 'str'},
22420        'properties': {'key': 'properties', 'type': 'LinkedService'},
22421    }
22422
22423    def __init__(
22424        self,
22425        *,
22426        properties: "LinkedService",
22427        name: Optional[str] = None,
22428        **kwargs
22429    ):
22430        super(LinkedServiceDebugResource, self).__init__(name=name, **kwargs)
22431        self.properties = properties
22432
22433
22434class LinkedServiceListResponse(msrest.serialization.Model):
22435    """A list of linked service resources.
22436
22437    All required parameters must be populated in order to send to Azure.
22438
22439    :param value: Required. List of linked services.
22440    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceResource]
22441    :param next_link: The link to the next page of results, if any remaining results exist.
22442    :type next_link: str
22443    """
22444
22445    _validation = {
22446        'value': {'required': True},
22447    }
22448
22449    _attribute_map = {
22450        'value': {'key': 'value', 'type': '[LinkedServiceResource]'},
22451        'next_link': {'key': 'nextLink', 'type': 'str'},
22452    }
22453
22454    def __init__(
22455        self,
22456        *,
22457        value: List["LinkedServiceResource"],
22458        next_link: Optional[str] = None,
22459        **kwargs
22460    ):
22461        super(LinkedServiceListResponse, self).__init__(**kwargs)
22462        self.value = value
22463        self.next_link = next_link
22464
22465
22466class LinkedServiceReference(msrest.serialization.Model):
22467    """Linked service reference type.
22468
22469    All required parameters must be populated in order to send to Azure.
22470
22471    :param type: Required. Linked service reference type. Possible values include:
22472     "LinkedServiceReference".
22473    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.Type
22474    :param reference_name: Required. Reference LinkedService name.
22475    :type reference_name: str
22476    :param parameters: Arguments for LinkedService.
22477    :type parameters: dict[str, any]
22478    """
22479
22480    _validation = {
22481        'type': {'required': True},
22482        'reference_name': {'required': True},
22483    }
22484
22485    _attribute_map = {
22486        'type': {'key': 'type', 'type': 'str'},
22487        'reference_name': {'key': 'referenceName', 'type': 'str'},
22488        'parameters': {'key': 'parameters', 'type': '{object}'},
22489    }
22490
22491    def __init__(
22492        self,
22493        *,
22494        type: Union[str, "Type"],
22495        reference_name: str,
22496        parameters: Optional[Dict[str, Any]] = None,
22497        **kwargs
22498    ):
22499        super(LinkedServiceReference, self).__init__(**kwargs)
22500        self.type = type
22501        self.reference_name = reference_name
22502        self.parameters = parameters
22503
22504
22505class LinkedServiceResource(SubResource):
22506    """Linked service resource type.
22507
22508    Variables are only populated by the server, and will be ignored when sending a request.
22509
22510    All required parameters must be populated in order to send to Azure.
22511
22512    :ivar id: Fully qualified resource ID for the resource. Ex -
22513     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
22514    :vartype id: str
22515    :ivar name: The name of the resource.
22516    :vartype name: str
22517    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
22518     "Microsoft.Storage/storageAccounts".
22519    :vartype type: str
22520    :ivar etag: Resource Etag.
22521    :vartype etag: str
22522    :param properties: Required. Properties of linked service.
22523    :type properties: ~azure.synapse.artifacts.v2020_12_01.models.LinkedService
22524    """
22525
22526    _validation = {
22527        'id': {'readonly': True},
22528        'name': {'readonly': True},
22529        'type': {'readonly': True},
22530        'etag': {'readonly': True},
22531        'properties': {'required': True},
22532    }
22533
22534    _attribute_map = {
22535        'id': {'key': 'id', 'type': 'str'},
22536        'name': {'key': 'name', 'type': 'str'},
22537        'type': {'key': 'type', 'type': 'str'},
22538        'etag': {'key': 'etag', 'type': 'str'},
22539        'properties': {'key': 'properties', 'type': 'LinkedService'},
22540    }
22541
22542    def __init__(
22543        self,
22544        *,
22545        properties: "LinkedService",
22546        **kwargs
22547    ):
22548        super(LinkedServiceResource, self).__init__(**kwargs)
22549        self.properties = properties
22550
22551
22552class LogLocationSettings(msrest.serialization.Model):
22553    """Log location settings.
22554
22555    All required parameters must be populated in order to send to Azure.
22556
22557    :param linked_service_name: Required. Log storage linked service reference.
22558    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
22559    :param path: The path to storage for storing detailed logs of activity execution. Type: string
22560     (or Expression with resultType string).
22561    :type path: any
22562    """
22563
22564    _validation = {
22565        'linked_service_name': {'required': True},
22566    }
22567
22568    _attribute_map = {
22569        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
22570        'path': {'key': 'path', 'type': 'object'},
22571    }
22572
22573    def __init__(
22574        self,
22575        *,
22576        linked_service_name: "LinkedServiceReference",
22577        path: Optional[Any] = None,
22578        **kwargs
22579    ):
22580        super(LogLocationSettings, self).__init__(**kwargs)
22581        self.linked_service_name = linked_service_name
22582        self.path = path
22583
22584
22585class LogSettings(msrest.serialization.Model):
22586    """Log settings.
22587
22588    All required parameters must be populated in order to send to Azure.
22589
22590    :param enable_copy_activity_log: Specifies whether to enable copy activity log. Type: boolean
22591     (or Expression with resultType boolean).
22592    :type enable_copy_activity_log: any
22593    :param copy_activity_log_settings: Specifies settings for copy activity log.
22594    :type copy_activity_log_settings:
22595     ~azure.synapse.artifacts.v2020_12_01.models.CopyActivityLogSettings
22596    :param log_location_settings: Required. Log location settings customer needs to provide when
22597     enabling log.
22598    :type log_location_settings: ~azure.synapse.artifacts.v2020_12_01.models.LogLocationSettings
22599    """
22600
22601    _validation = {
22602        'log_location_settings': {'required': True},
22603    }
22604
22605    _attribute_map = {
22606        'enable_copy_activity_log': {'key': 'enableCopyActivityLog', 'type': 'object'},
22607        'copy_activity_log_settings': {'key': 'copyActivityLogSettings', 'type': 'CopyActivityLogSettings'},
22608        'log_location_settings': {'key': 'logLocationSettings', 'type': 'LogLocationSettings'},
22609    }
22610
22611    def __init__(
22612        self,
22613        *,
22614        log_location_settings: "LogLocationSettings",
22615        enable_copy_activity_log: Optional[Any] = None,
22616        copy_activity_log_settings: Optional["CopyActivityLogSettings"] = None,
22617        **kwargs
22618    ):
22619        super(LogSettings, self).__init__(**kwargs)
22620        self.enable_copy_activity_log = enable_copy_activity_log
22621        self.copy_activity_log_settings = copy_activity_log_settings
22622        self.log_location_settings = log_location_settings
22623
22624
22625class LogStorageSettings(msrest.serialization.Model):
22626    """(Deprecated. Please use LogSettings) Log storage settings.
22627
22628    All required parameters must be populated in order to send to Azure.
22629
22630    :param additional_properties: Unmatched properties from the message are deserialized to this
22631     collection.
22632    :type additional_properties: dict[str, any]
22633    :param linked_service_name: Required. Log storage linked service reference.
22634    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
22635    :param path: The path to storage for storing detailed logs of activity execution. Type: string
22636     (or Expression with resultType string).
22637    :type path: any
22638    :param log_level: Gets or sets the log level, support: Info, Warning. Type: string (or
22639     Expression with resultType string).
22640    :type log_level: any
22641    :param enable_reliable_logging: Specifies whether to enable reliable logging. Type: boolean (or
22642     Expression with resultType boolean).
22643    :type enable_reliable_logging: any
22644    """
22645
22646    _validation = {
22647        'linked_service_name': {'required': True},
22648    }
22649
22650    _attribute_map = {
22651        'additional_properties': {'key': '', 'type': '{object}'},
22652        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
22653        'path': {'key': 'path', 'type': 'object'},
22654        'log_level': {'key': 'logLevel', 'type': 'object'},
22655        'enable_reliable_logging': {'key': 'enableReliableLogging', 'type': 'object'},
22656    }
22657
22658    def __init__(
22659        self,
22660        *,
22661        linked_service_name: "LinkedServiceReference",
22662        additional_properties: Optional[Dict[str, Any]] = None,
22663        path: Optional[Any] = None,
22664        log_level: Optional[Any] = None,
22665        enable_reliable_logging: Optional[Any] = None,
22666        **kwargs
22667    ):
22668        super(LogStorageSettings, self).__init__(**kwargs)
22669        self.additional_properties = additional_properties
22670        self.linked_service_name = linked_service_name
22671        self.path = path
22672        self.log_level = log_level
22673        self.enable_reliable_logging = enable_reliable_logging
22674
22675
22676class LookupActivity(ExecutionActivity):
22677    """Lookup activity.
22678
22679    All required parameters must be populated in order to send to Azure.
22680
22681    :param additional_properties: Unmatched properties from the message are deserialized to this
22682     collection.
22683    :type additional_properties: dict[str, any]
22684    :param name: Required. Activity name.
22685    :type name: str
22686    :param type: Required. Type of activity.Constant filled by server.
22687    :type type: str
22688    :param description: Activity description.
22689    :type description: str
22690    :param depends_on: Activity depends on condition.
22691    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
22692    :param user_properties: Activity user properties.
22693    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
22694    :param linked_service_name: Linked service reference.
22695    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
22696    :param policy: Activity policy.
22697    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
22698    :param source: Required. Dataset-specific source properties, same as copy activity source.
22699    :type source: ~azure.synapse.artifacts.v2020_12_01.models.CopySource
22700    :param dataset: Required. Lookup activity dataset reference.
22701    :type dataset: ~azure.synapse.artifacts.v2020_12_01.models.DatasetReference
22702    :param first_row_only: Whether to return first row or all rows. Default value is true. Type:
22703     boolean (or Expression with resultType boolean).
22704    :type first_row_only: any
22705    """
22706
22707    _validation = {
22708        'name': {'required': True},
22709        'type': {'required': True},
22710        'source': {'required': True},
22711        'dataset': {'required': True},
22712    }
22713
22714    _attribute_map = {
22715        'additional_properties': {'key': '', 'type': '{object}'},
22716        'name': {'key': 'name', 'type': 'str'},
22717        'type': {'key': 'type', 'type': 'str'},
22718        'description': {'key': 'description', 'type': 'str'},
22719        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
22720        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
22721        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
22722        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
22723        'source': {'key': 'typeProperties.source', 'type': 'CopySource'},
22724        'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'},
22725        'first_row_only': {'key': 'typeProperties.firstRowOnly', 'type': 'object'},
22726    }
22727
22728    def __init__(
22729        self,
22730        *,
22731        name: str,
22732        source: "CopySource",
22733        dataset: "DatasetReference",
22734        additional_properties: Optional[Dict[str, Any]] = None,
22735        description: Optional[str] = None,
22736        depends_on: Optional[List["ActivityDependency"]] = None,
22737        user_properties: Optional[List["UserProperty"]] = None,
22738        linked_service_name: Optional["LinkedServiceReference"] = None,
22739        policy: Optional["ActivityPolicy"] = None,
22740        first_row_only: Optional[Any] = None,
22741        **kwargs
22742    ):
22743        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)
22744        self.type = 'Lookup'  # type: str
22745        self.source = source
22746        self.dataset = dataset
22747        self.first_row_only = first_row_only
22748
22749
22750class MagentoLinkedService(LinkedService):
22751    """Magento server linked service.
22752
22753    All required parameters must be populated in order to send to Azure.
22754
22755    :param additional_properties: Unmatched properties from the message are deserialized to this
22756     collection.
22757    :type additional_properties: dict[str, any]
22758    :param type: Required. Type of linked service.Constant filled by server.
22759    :type type: str
22760    :param connect_via: The integration runtime reference.
22761    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
22762    :param description: Linked service description.
22763    :type description: str
22764    :param parameters: Parameters for linked service.
22765    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
22766    :param annotations: List of tags that can be used for describing the linked service.
22767    :type annotations: list[any]
22768    :param host: Required. The URL of the Magento instance. (i.e. 192.168.222.110/magento3).
22769    :type host: any
22770    :param access_token: The access token from Magento.
22771    :type access_token: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
22772    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
22773     HTTPS. The default value is true.
22774    :type use_encrypted_endpoints: any
22775    :param use_host_verification: Specifies whether to require the host name in the server's
22776     certificate to match the host name of the server when connecting over SSL. The default value is
22777     true.
22778    :type use_host_verification: any
22779    :param use_peer_verification: Specifies whether to verify the identity of the server when
22780     connecting over SSL. The default value is true.
22781    :type use_peer_verification: any
22782    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
22783     encrypted using the integration runtime credential manager. Type: string (or Expression with
22784     resultType string).
22785    :type encrypted_credential: any
22786    """
22787
22788    _validation = {
22789        'type': {'required': True},
22790        'host': {'required': True},
22791    }
22792
22793    _attribute_map = {
22794        'additional_properties': {'key': '', 'type': '{object}'},
22795        'type': {'key': 'type', 'type': 'str'},
22796        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
22797        'description': {'key': 'description', 'type': 'str'},
22798        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
22799        'annotations': {'key': 'annotations', 'type': '[object]'},
22800        'host': {'key': 'typeProperties.host', 'type': 'object'},
22801        'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'},
22802        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
22803        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
22804        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
22805        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
22806    }
22807
22808    def __init__(
22809        self,
22810        *,
22811        host: Any,
22812        additional_properties: Optional[Dict[str, Any]] = None,
22813        connect_via: Optional["IntegrationRuntimeReference"] = None,
22814        description: Optional[str] = None,
22815        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
22816        annotations: Optional[List[Any]] = None,
22817        access_token: Optional["SecretBase"] = None,
22818        use_encrypted_endpoints: Optional[Any] = None,
22819        use_host_verification: Optional[Any] = None,
22820        use_peer_verification: Optional[Any] = None,
22821        encrypted_credential: Optional[Any] = None,
22822        **kwargs
22823    ):
22824        super(MagentoLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
22825        self.type = 'Magento'  # type: str
22826        self.host = host
22827        self.access_token = access_token
22828        self.use_encrypted_endpoints = use_encrypted_endpoints
22829        self.use_host_verification = use_host_verification
22830        self.use_peer_verification = use_peer_verification
22831        self.encrypted_credential = encrypted_credential
22832
22833
22834class MagentoObjectDataset(Dataset):
22835    """Magento server dataset.
22836
22837    All required parameters must be populated in order to send to Azure.
22838
22839    :param additional_properties: Unmatched properties from the message are deserialized to this
22840     collection.
22841    :type additional_properties: dict[str, any]
22842    :param type: Required. Type of dataset.Constant filled by server.
22843    :type type: str
22844    :param description: Dataset description.
22845    :type description: str
22846    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
22847     with resultType array), itemType: DatasetDataElement.
22848    :type structure: any
22849    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
22850     Expression with resultType array), itemType: DatasetSchemaDataElement.
22851    :type schema: any
22852    :param linked_service_name: Required. Linked service reference.
22853    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
22854    :param parameters: Parameters for dataset.
22855    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
22856    :param annotations: List of tags that can be used for describing the Dataset.
22857    :type annotations: list[any]
22858    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
22859     root level.
22860    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
22861    :param table_name: The table name. Type: string (or Expression with resultType string).
22862    :type table_name: any
22863    """
22864
22865    _validation = {
22866        'type': {'required': True},
22867        'linked_service_name': {'required': True},
22868    }
22869
22870    _attribute_map = {
22871        'additional_properties': {'key': '', 'type': '{object}'},
22872        'type': {'key': 'type', 'type': 'str'},
22873        'description': {'key': 'description', 'type': 'str'},
22874        'structure': {'key': 'structure', 'type': 'object'},
22875        'schema': {'key': 'schema', 'type': 'object'},
22876        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
22877        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
22878        'annotations': {'key': 'annotations', 'type': '[object]'},
22879        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
22880        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
22881    }
22882
22883    def __init__(
22884        self,
22885        *,
22886        linked_service_name: "LinkedServiceReference",
22887        additional_properties: Optional[Dict[str, Any]] = None,
22888        description: Optional[str] = None,
22889        structure: Optional[Any] = None,
22890        schema: Optional[Any] = None,
22891        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
22892        annotations: Optional[List[Any]] = None,
22893        folder: Optional["DatasetFolder"] = None,
22894        table_name: Optional[Any] = None,
22895        **kwargs
22896    ):
22897        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)
22898        self.type = 'MagentoObject'  # type: str
22899        self.table_name = table_name
22900
22901
22902class MagentoSource(TabularSource):
22903    """A copy activity Magento server source.
22904
22905    All required parameters must be populated in order to send to Azure.
22906
22907    :param additional_properties: Unmatched properties from the message are deserialized to this
22908     collection.
22909    :type additional_properties: dict[str, any]
22910    :param type: Required. Copy source type.Constant filled by server.
22911    :type type: str
22912    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
22913     integer).
22914    :type source_retry_count: any
22915    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
22916     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
22917    :type source_retry_wait: any
22918    :param max_concurrent_connections: The maximum concurrent connection count for the source data
22919     store. Type: integer (or Expression with resultType integer).
22920    :type max_concurrent_connections: any
22921    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
22922     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
22923    :type query_timeout: any
22924    :param additional_columns: Specifies the additional columns to be added to source data. Type:
22925     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
22926    :type additional_columns: any
22927    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
22928     string).
22929    :type query: any
22930    """
22931
22932    _validation = {
22933        'type': {'required': True},
22934    }
22935
22936    _attribute_map = {
22937        'additional_properties': {'key': '', 'type': '{object}'},
22938        'type': {'key': 'type', 'type': 'str'},
22939        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
22940        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
22941        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
22942        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
22943        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
22944        'query': {'key': 'query', 'type': 'object'},
22945    }
22946
22947    def __init__(
22948        self,
22949        *,
22950        additional_properties: Optional[Dict[str, Any]] = None,
22951        source_retry_count: Optional[Any] = None,
22952        source_retry_wait: Optional[Any] = None,
22953        max_concurrent_connections: Optional[Any] = None,
22954        query_timeout: Optional[Any] = None,
22955        additional_columns: Optional[Any] = None,
22956        query: Optional[Any] = None,
22957        **kwargs
22958    ):
22959        super(MagentoSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
22960        self.type = 'MagentoSource'  # type: str
22961        self.query = query
22962
22963
22964class ManagedIdentity(msrest.serialization.Model):
22965    """The workspace managed identity.
22966
22967    Variables are only populated by the server, and will be ignored when sending a request.
22968
22969    :ivar principal_id: The principal ID of the workspace managed identity.
22970    :vartype principal_id: str
22971    :ivar tenant_id: The tenant ID of the workspace managed identity.
22972    :vartype tenant_id: str
22973    :param type: The type of managed identity for the workspace. Possible values include: "None",
22974     "SystemAssigned".
22975    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.ResourceIdentityType
22976    """
22977
22978    _validation = {
22979        'principal_id': {'readonly': True},
22980        'tenant_id': {'readonly': True},
22981    }
22982
22983    _attribute_map = {
22984        'principal_id': {'key': 'principalId', 'type': 'str'},
22985        'tenant_id': {'key': 'tenantId', 'type': 'str'},
22986        'type': {'key': 'type', 'type': 'str'},
22987    }
22988
22989    def __init__(
22990        self,
22991        *,
22992        type: Optional[Union[str, "ResourceIdentityType"]] = None,
22993        **kwargs
22994    ):
22995        super(ManagedIdentity, self).__init__(**kwargs)
22996        self.principal_id = None
22997        self.tenant_id = None
22998        self.type = type
22999
23000
23001class ManagedIntegrationRuntime(IntegrationRuntime):
23002    """Managed integration runtime, including managed elastic and managed dedicated integration runtimes.
23003
23004    Variables are only populated by the server, and will be ignored when sending a request.
23005
23006    All required parameters must be populated in order to send to Azure.
23007
23008    :param additional_properties: Unmatched properties from the message are deserialized to this
23009     collection.
23010    :type additional_properties: dict[str, any]
23011    :param type: Required. Type of integration runtime.Constant filled by server.  Possible values
23012     include: "Managed", "SelfHosted".
23013    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeType
23014    :param description: Integration runtime description.
23015    :type description: str
23016    :ivar state: Integration runtime state, only valid for managed dedicated integration runtime.
23017     Possible values include: "Initial", "Stopped", "Started", "Starting", "Stopping",
23018     "NeedRegistration", "Online", "Limited", "Offline", "AccessDenied".
23019    :vartype state: str or ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeState
23020    :param managed_virtual_network: Managed Virtual Network reference.
23021    :type managed_virtual_network:
23022     ~azure.synapse.artifacts.v2020_12_01.models.ManagedVirtualNetworkReference
23023    :param compute_properties: The compute resource for managed integration runtime.
23024    :type compute_properties:
23025     ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeComputeProperties
23026    :param ssis_properties: SSIS properties for managed integration runtime.
23027    :type ssis_properties:
23028     ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeSsisProperties
23029    """
23030
23031    _validation = {
23032        'type': {'required': True},
23033        'state': {'readonly': True},
23034    }
23035
23036    _attribute_map = {
23037        'additional_properties': {'key': '', 'type': '{object}'},
23038        'type': {'key': 'type', 'type': 'str'},
23039        'description': {'key': 'description', 'type': 'str'},
23040        'state': {'key': 'state', 'type': 'str'},
23041        'managed_virtual_network': {'key': 'managedVirtualNetwork', 'type': 'ManagedVirtualNetworkReference'},
23042        'compute_properties': {'key': 'typeProperties.computeProperties', 'type': 'IntegrationRuntimeComputeProperties'},
23043        'ssis_properties': {'key': 'typeProperties.ssisProperties', 'type': 'IntegrationRuntimeSsisProperties'},
23044    }
23045
23046    def __init__(
23047        self,
23048        *,
23049        additional_properties: Optional[Dict[str, Any]] = None,
23050        description: Optional[str] = None,
23051        managed_virtual_network: Optional["ManagedVirtualNetworkReference"] = None,
23052        compute_properties: Optional["IntegrationRuntimeComputeProperties"] = None,
23053        ssis_properties: Optional["IntegrationRuntimeSsisProperties"] = None,
23054        **kwargs
23055    ):
23056        super(ManagedIntegrationRuntime, self).__init__(additional_properties=additional_properties, description=description, **kwargs)
23057        self.type = 'Managed'  # type: str
23058        self.state = None
23059        self.managed_virtual_network = managed_virtual_network
23060        self.compute_properties = compute_properties
23061        self.ssis_properties = ssis_properties
23062
23063
23064class ManagedVirtualNetworkReference(msrest.serialization.Model):
23065    """Managed Virtual Network reference type.
23066
23067    Variables are only populated by the server, and will be ignored when sending a request.
23068
23069    All required parameters must be populated in order to send to Azure.
23070
23071    :ivar type: Managed Virtual Network reference type. Has constant value:
23072     "ManagedVirtualNetworkReference".
23073    :vartype type: str
23074    :param reference_name: Required. Reference ManagedVirtualNetwork name.
23075    :type reference_name: str
23076    """
23077
23078    _validation = {
23079        'type': {'required': True, 'constant': True},
23080        'reference_name': {'required': True},
23081    }
23082
23083    _attribute_map = {
23084        'type': {'key': 'type', 'type': 'str'},
23085        'reference_name': {'key': 'referenceName', 'type': 'str'},
23086    }
23087
23088    type = "ManagedVirtualNetworkReference"
23089
23090    def __init__(
23091        self,
23092        *,
23093        reference_name: str,
23094        **kwargs
23095    ):
23096        super(ManagedVirtualNetworkReference, self).__init__(**kwargs)
23097        self.reference_name = reference_name
23098
23099
23100class ManagedVirtualNetworkSettings(msrest.serialization.Model):
23101    """Managed Virtual Network Settings.
23102
23103    :param prevent_data_exfiltration: Prevent Data Exfiltration.
23104    :type prevent_data_exfiltration: bool
23105    :param linked_access_check_on_target_resource: Linked Access Check On Target Resource.
23106    :type linked_access_check_on_target_resource: bool
23107    :param allowed_aad_tenant_ids_for_linking: Allowed Aad Tenant Ids For Linking.
23108    :type allowed_aad_tenant_ids_for_linking: list[str]
23109    """
23110
23111    _attribute_map = {
23112        'prevent_data_exfiltration': {'key': 'preventDataExfiltration', 'type': 'bool'},
23113        'linked_access_check_on_target_resource': {'key': 'linkedAccessCheckOnTargetResource', 'type': 'bool'},
23114        'allowed_aad_tenant_ids_for_linking': {'key': 'allowedAadTenantIdsForLinking', 'type': '[str]'},
23115    }
23116
23117    def __init__(
23118        self,
23119        *,
23120        prevent_data_exfiltration: Optional[bool] = None,
23121        linked_access_check_on_target_resource: Optional[bool] = None,
23122        allowed_aad_tenant_ids_for_linking: Optional[List[str]] = None,
23123        **kwargs
23124    ):
23125        super(ManagedVirtualNetworkSettings, self).__init__(**kwargs)
23126        self.prevent_data_exfiltration = prevent_data_exfiltration
23127        self.linked_access_check_on_target_resource = linked_access_check_on_target_resource
23128        self.allowed_aad_tenant_ids_for_linking = allowed_aad_tenant_ids_for_linking
23129
23130
23131class MappingDataFlow(DataFlow):
23132    """Mapping data flow.
23133
23134    All required parameters must be populated in order to send to Azure.
23135
23136    :param type: Required. Type of data flow.Constant filled by server.
23137    :type type: str
23138    :param description: The description of the data flow.
23139    :type description: str
23140    :param annotations: List of tags that can be used for describing the data flow.
23141    :type annotations: list[any]
23142    :param folder: The folder that this data flow is in. If not specified, Data flow will appear at
23143     the root level.
23144    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DataFlowFolder
23145    :param sources: List of sources in data flow.
23146    :type sources: list[~azure.synapse.artifacts.v2020_12_01.models.DataFlowSource]
23147    :param sinks: List of sinks in data flow.
23148    :type sinks: list[~azure.synapse.artifacts.v2020_12_01.models.DataFlowSink]
23149    :param transformations: List of transformations in data flow.
23150    :type transformations: list[~azure.synapse.artifacts.v2020_12_01.models.Transformation]
23151    :param script: DataFlow script.
23152    :type script: str
23153    """
23154
23155    _validation = {
23156        'type': {'required': True},
23157    }
23158
23159    _attribute_map = {
23160        'type': {'key': 'type', 'type': 'str'},
23161        'description': {'key': 'description', 'type': 'str'},
23162        'annotations': {'key': 'annotations', 'type': '[object]'},
23163        'folder': {'key': 'folder', 'type': 'DataFlowFolder'},
23164        'sources': {'key': 'typeProperties.sources', 'type': '[DataFlowSource]'},
23165        'sinks': {'key': 'typeProperties.sinks', 'type': '[DataFlowSink]'},
23166        'transformations': {'key': 'typeProperties.transformations', 'type': '[Transformation]'},
23167        'script': {'key': 'typeProperties.script', 'type': 'str'},
23168    }
23169
23170    def __init__(
23171        self,
23172        *,
23173        description: Optional[str] = None,
23174        annotations: Optional[List[Any]] = None,
23175        folder: Optional["DataFlowFolder"] = None,
23176        sources: Optional[List["DataFlowSource"]] = None,
23177        sinks: Optional[List["DataFlowSink"]] = None,
23178        transformations: Optional[List["Transformation"]] = None,
23179        script: Optional[str] = None,
23180        **kwargs
23181    ):
23182        super(MappingDataFlow, self).__init__(description=description, annotations=annotations, folder=folder, **kwargs)
23183        self.type = 'MappingDataFlow'  # type: str
23184        self.sources = sources
23185        self.sinks = sinks
23186        self.transformations = transformations
23187        self.script = script
23188
23189
23190class MariaDBLinkedService(LinkedService):
23191    """MariaDB server linked service.
23192
23193    All required parameters must be populated in order to send to Azure.
23194
23195    :param additional_properties: Unmatched properties from the message are deserialized to this
23196     collection.
23197    :type additional_properties: dict[str, any]
23198    :param type: Required. Type of linked service.Constant filled by server.
23199    :type type: str
23200    :param connect_via: The integration runtime reference.
23201    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
23202    :param description: Linked service description.
23203    :type description: str
23204    :param parameters: Parameters for linked service.
23205    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
23206    :param annotations: List of tags that can be used for describing the linked service.
23207    :type annotations: list[any]
23208    :param connection_string: An ODBC connection string. Type: string, SecureString or
23209     AzureKeyVaultSecretReference.
23210    :type connection_string: any
23211    :param pwd: The Azure key vault secret reference of password in connection string.
23212    :type pwd: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
23213    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
23214     encrypted using the integration runtime credential manager. Type: string (or Expression with
23215     resultType string).
23216    :type encrypted_credential: any
23217    """
23218
23219    _validation = {
23220        'type': {'required': True},
23221    }
23222
23223    _attribute_map = {
23224        'additional_properties': {'key': '', 'type': '{object}'},
23225        'type': {'key': 'type', 'type': 'str'},
23226        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
23227        'description': {'key': 'description', 'type': 'str'},
23228        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
23229        'annotations': {'key': 'annotations', 'type': '[object]'},
23230        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
23231        'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'},
23232        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
23233    }
23234
23235    def __init__(
23236        self,
23237        *,
23238        additional_properties: Optional[Dict[str, Any]] = None,
23239        connect_via: Optional["IntegrationRuntimeReference"] = None,
23240        description: Optional[str] = None,
23241        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
23242        annotations: Optional[List[Any]] = None,
23243        connection_string: Optional[Any] = None,
23244        pwd: Optional["AzureKeyVaultSecretReference"] = None,
23245        encrypted_credential: Optional[Any] = None,
23246        **kwargs
23247    ):
23248        super(MariaDBLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
23249        self.type = 'MariaDB'  # type: str
23250        self.connection_string = connection_string
23251        self.pwd = pwd
23252        self.encrypted_credential = encrypted_credential
23253
23254
23255class MariaDBSource(TabularSource):
23256    """A copy activity MariaDB server source.
23257
23258    All required parameters must be populated in order to send to Azure.
23259
23260    :param additional_properties: Unmatched properties from the message are deserialized to this
23261     collection.
23262    :type additional_properties: dict[str, any]
23263    :param type: Required. Copy source type.Constant filled by server.
23264    :type type: str
23265    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
23266     integer).
23267    :type source_retry_count: any
23268    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
23269     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
23270    :type source_retry_wait: any
23271    :param max_concurrent_connections: The maximum concurrent connection count for the source data
23272     store. Type: integer (or Expression with resultType integer).
23273    :type max_concurrent_connections: any
23274    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
23275     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
23276    :type query_timeout: any
23277    :param additional_columns: Specifies the additional columns to be added to source data. Type:
23278     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
23279    :type additional_columns: any
23280    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
23281     string).
23282    :type query: any
23283    """
23284
23285    _validation = {
23286        'type': {'required': True},
23287    }
23288
23289    _attribute_map = {
23290        'additional_properties': {'key': '', 'type': '{object}'},
23291        'type': {'key': 'type', 'type': 'str'},
23292        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
23293        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
23294        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
23295        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
23296        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
23297        'query': {'key': 'query', 'type': 'object'},
23298    }
23299
23300    def __init__(
23301        self,
23302        *,
23303        additional_properties: Optional[Dict[str, Any]] = None,
23304        source_retry_count: Optional[Any] = None,
23305        source_retry_wait: Optional[Any] = None,
23306        max_concurrent_connections: Optional[Any] = None,
23307        query_timeout: Optional[Any] = None,
23308        additional_columns: Optional[Any] = None,
23309        query: Optional[Any] = None,
23310        **kwargs
23311    ):
23312        super(MariaDBSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
23313        self.type = 'MariaDBSource'  # type: str
23314        self.query = query
23315
23316
23317class MariaDBTableDataset(Dataset):
23318    """MariaDB server dataset.
23319
23320    All required parameters must be populated in order to send to Azure.
23321
23322    :param additional_properties: Unmatched properties from the message are deserialized to this
23323     collection.
23324    :type additional_properties: dict[str, any]
23325    :param type: Required. Type of dataset.Constant filled by server.
23326    :type type: str
23327    :param description: Dataset description.
23328    :type description: str
23329    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
23330     with resultType array), itemType: DatasetDataElement.
23331    :type structure: any
23332    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
23333     Expression with resultType array), itemType: DatasetSchemaDataElement.
23334    :type schema: any
23335    :param linked_service_name: Required. Linked service reference.
23336    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
23337    :param parameters: Parameters for dataset.
23338    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
23339    :param annotations: List of tags that can be used for describing the Dataset.
23340    :type annotations: list[any]
23341    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
23342     root level.
23343    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
23344    :param table_name: The table name. Type: string (or Expression with resultType string).
23345    :type table_name: any
23346    """
23347
23348    _validation = {
23349        'type': {'required': True},
23350        'linked_service_name': {'required': True},
23351    }
23352
23353    _attribute_map = {
23354        'additional_properties': {'key': '', 'type': '{object}'},
23355        'type': {'key': 'type', 'type': 'str'},
23356        'description': {'key': 'description', 'type': 'str'},
23357        'structure': {'key': 'structure', 'type': 'object'},
23358        'schema': {'key': 'schema', 'type': 'object'},
23359        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
23360        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
23361        'annotations': {'key': 'annotations', 'type': '[object]'},
23362        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
23363        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
23364    }
23365
23366    def __init__(
23367        self,
23368        *,
23369        linked_service_name: "LinkedServiceReference",
23370        additional_properties: Optional[Dict[str, Any]] = None,
23371        description: Optional[str] = None,
23372        structure: Optional[Any] = None,
23373        schema: Optional[Any] = None,
23374        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
23375        annotations: Optional[List[Any]] = None,
23376        folder: Optional["DatasetFolder"] = None,
23377        table_name: Optional[Any] = None,
23378        **kwargs
23379    ):
23380        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)
23381        self.type = 'MariaDBTable'  # type: str
23382        self.table_name = table_name
23383
23384
23385class MarketoLinkedService(LinkedService):
23386    """Marketo server linked service.
23387
23388    All required parameters must be populated in order to send to Azure.
23389
23390    :param additional_properties: Unmatched properties from the message are deserialized to this
23391     collection.
23392    :type additional_properties: dict[str, any]
23393    :param type: Required. Type of linked service.Constant filled by server.
23394    :type type: str
23395    :param connect_via: The integration runtime reference.
23396    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
23397    :param description: Linked service description.
23398    :type description: str
23399    :param parameters: Parameters for linked service.
23400    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
23401    :param annotations: List of tags that can be used for describing the linked service.
23402    :type annotations: list[any]
23403    :param endpoint: Required. The endpoint of the Marketo server. (i.e. 123-ABC-321.mktorest.com).
23404    :type endpoint: any
23405    :param client_id: Required. The client Id of your Marketo service.
23406    :type client_id: any
23407    :param client_secret: The client secret of your Marketo service.
23408    :type client_secret: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
23409    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
23410     HTTPS. The default value is true.
23411    :type use_encrypted_endpoints: any
23412    :param use_host_verification: Specifies whether to require the host name in the server's
23413     certificate to match the host name of the server when connecting over SSL. The default value is
23414     true.
23415    :type use_host_verification: any
23416    :param use_peer_verification: Specifies whether to verify the identity of the server when
23417     connecting over SSL. The default value is true.
23418    :type use_peer_verification: any
23419    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
23420     encrypted using the integration runtime credential manager. Type: string (or Expression with
23421     resultType string).
23422    :type encrypted_credential: any
23423    """
23424
23425    _validation = {
23426        'type': {'required': True},
23427        'endpoint': {'required': True},
23428        'client_id': {'required': True},
23429    }
23430
23431    _attribute_map = {
23432        'additional_properties': {'key': '', 'type': '{object}'},
23433        'type': {'key': 'type', 'type': 'str'},
23434        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
23435        'description': {'key': 'description', 'type': 'str'},
23436        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
23437        'annotations': {'key': 'annotations', 'type': '[object]'},
23438        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
23439        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
23440        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
23441        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
23442        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
23443        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
23444        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
23445    }
23446
23447    def __init__(
23448        self,
23449        *,
23450        endpoint: Any,
23451        client_id: Any,
23452        additional_properties: Optional[Dict[str, Any]] = None,
23453        connect_via: Optional["IntegrationRuntimeReference"] = None,
23454        description: Optional[str] = None,
23455        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
23456        annotations: Optional[List[Any]] = None,
23457        client_secret: Optional["SecretBase"] = None,
23458        use_encrypted_endpoints: Optional[Any] = None,
23459        use_host_verification: Optional[Any] = None,
23460        use_peer_verification: Optional[Any] = None,
23461        encrypted_credential: Optional[Any] = None,
23462        **kwargs
23463    ):
23464        super(MarketoLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
23465        self.type = 'Marketo'  # type: str
23466        self.endpoint = endpoint
23467        self.client_id = client_id
23468        self.client_secret = client_secret
23469        self.use_encrypted_endpoints = use_encrypted_endpoints
23470        self.use_host_verification = use_host_verification
23471        self.use_peer_verification = use_peer_verification
23472        self.encrypted_credential = encrypted_credential
23473
23474
23475class MarketoObjectDataset(Dataset):
23476    """Marketo server dataset.
23477
23478    All required parameters must be populated in order to send to Azure.
23479
23480    :param additional_properties: Unmatched properties from the message are deserialized to this
23481     collection.
23482    :type additional_properties: dict[str, any]
23483    :param type: Required. Type of dataset.Constant filled by server.
23484    :type type: str
23485    :param description: Dataset description.
23486    :type description: str
23487    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
23488     with resultType array), itemType: DatasetDataElement.
23489    :type structure: any
23490    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
23491     Expression with resultType array), itemType: DatasetSchemaDataElement.
23492    :type schema: any
23493    :param linked_service_name: Required. Linked service reference.
23494    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
23495    :param parameters: Parameters for dataset.
23496    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
23497    :param annotations: List of tags that can be used for describing the Dataset.
23498    :type annotations: list[any]
23499    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
23500     root level.
23501    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
23502    :param table_name: The table name. Type: string (or Expression with resultType string).
23503    :type table_name: any
23504    """
23505
23506    _validation = {
23507        'type': {'required': True},
23508        'linked_service_name': {'required': True},
23509    }
23510
23511    _attribute_map = {
23512        'additional_properties': {'key': '', 'type': '{object}'},
23513        'type': {'key': 'type', 'type': 'str'},
23514        'description': {'key': 'description', 'type': 'str'},
23515        'structure': {'key': 'structure', 'type': 'object'},
23516        'schema': {'key': 'schema', 'type': 'object'},
23517        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
23518        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
23519        'annotations': {'key': 'annotations', 'type': '[object]'},
23520        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
23521        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
23522    }
23523
23524    def __init__(
23525        self,
23526        *,
23527        linked_service_name: "LinkedServiceReference",
23528        additional_properties: Optional[Dict[str, Any]] = None,
23529        description: Optional[str] = None,
23530        structure: Optional[Any] = None,
23531        schema: Optional[Any] = None,
23532        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
23533        annotations: Optional[List[Any]] = None,
23534        folder: Optional["DatasetFolder"] = None,
23535        table_name: Optional[Any] = None,
23536        **kwargs
23537    ):
23538        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)
23539        self.type = 'MarketoObject'  # type: str
23540        self.table_name = table_name
23541
23542
23543class MarketoSource(TabularSource):
23544    """A copy activity Marketo server source.
23545
23546    All required parameters must be populated in order to send to Azure.
23547
23548    :param additional_properties: Unmatched properties from the message are deserialized to this
23549     collection.
23550    :type additional_properties: dict[str, any]
23551    :param type: Required. Copy source type.Constant filled by server.
23552    :type type: str
23553    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
23554     integer).
23555    :type source_retry_count: any
23556    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
23557     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
23558    :type source_retry_wait: any
23559    :param max_concurrent_connections: The maximum concurrent connection count for the source data
23560     store. Type: integer (or Expression with resultType integer).
23561    :type max_concurrent_connections: any
23562    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
23563     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
23564    :type query_timeout: any
23565    :param additional_columns: Specifies the additional columns to be added to source data. Type:
23566     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
23567    :type additional_columns: any
23568    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
23569     string).
23570    :type query: any
23571    """
23572
23573    _validation = {
23574        'type': {'required': True},
23575    }
23576
23577    _attribute_map = {
23578        'additional_properties': {'key': '', 'type': '{object}'},
23579        'type': {'key': 'type', 'type': 'str'},
23580        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
23581        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
23582        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
23583        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
23584        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
23585        'query': {'key': 'query', 'type': 'object'},
23586    }
23587
23588    def __init__(
23589        self,
23590        *,
23591        additional_properties: Optional[Dict[str, Any]] = None,
23592        source_retry_count: Optional[Any] = None,
23593        source_retry_wait: Optional[Any] = None,
23594        max_concurrent_connections: Optional[Any] = None,
23595        query_timeout: Optional[Any] = None,
23596        additional_columns: Optional[Any] = None,
23597        query: Optional[Any] = None,
23598        **kwargs
23599    ):
23600        super(MarketoSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
23601        self.type = 'MarketoSource'  # type: str
23602        self.query = query
23603
23604
23605class MicrosoftAccessLinkedService(LinkedService):
23606    """Microsoft Access linked service.
23607
23608    All required parameters must be populated in order to send to Azure.
23609
23610    :param additional_properties: Unmatched properties from the message are deserialized to this
23611     collection.
23612    :type additional_properties: dict[str, any]
23613    :param type: Required. Type of linked service.Constant filled by server.
23614    :type type: str
23615    :param connect_via: The integration runtime reference.
23616    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
23617    :param description: Linked service description.
23618    :type description: str
23619    :param parameters: Parameters for linked service.
23620    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
23621    :param annotations: List of tags that can be used for describing the linked service.
23622    :type annotations: list[any]
23623    :param connection_string: Required. The non-access credential portion of the connection string
23624     as well as an optional encrypted credential. Type: string, SecureString or
23625     AzureKeyVaultSecretReference.
23626    :type connection_string: any
23627    :param authentication_type: Type of authentication used to connect to the Microsoft Access as
23628     ODBC data store. Possible values are: Anonymous and Basic. Type: string (or Expression with
23629     resultType string).
23630    :type authentication_type: any
23631    :param credential: The access credential portion of the connection string specified in
23632     driver-specific property-value format.
23633    :type credential: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
23634    :param user_name: User name for Basic authentication. Type: string (or Expression with
23635     resultType string).
23636    :type user_name: any
23637    :param password: Password for Basic authentication.
23638    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
23639    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
23640     encrypted using the integration runtime credential manager. Type: string (or Expression with
23641     resultType string).
23642    :type encrypted_credential: any
23643    """
23644
23645    _validation = {
23646        'type': {'required': True},
23647        'connection_string': {'required': True},
23648    }
23649
23650    _attribute_map = {
23651        'additional_properties': {'key': '', 'type': '{object}'},
23652        'type': {'key': 'type', 'type': 'str'},
23653        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
23654        'description': {'key': 'description', 'type': 'str'},
23655        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
23656        'annotations': {'key': 'annotations', 'type': '[object]'},
23657        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
23658        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'},
23659        'credential': {'key': 'typeProperties.credential', 'type': 'SecretBase'},
23660        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
23661        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
23662        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
23663    }
23664
23665    def __init__(
23666        self,
23667        *,
23668        connection_string: Any,
23669        additional_properties: Optional[Dict[str, Any]] = None,
23670        connect_via: Optional["IntegrationRuntimeReference"] = None,
23671        description: Optional[str] = None,
23672        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
23673        annotations: Optional[List[Any]] = None,
23674        authentication_type: Optional[Any] = None,
23675        credential: Optional["SecretBase"] = None,
23676        user_name: Optional[Any] = None,
23677        password: Optional["SecretBase"] = None,
23678        encrypted_credential: Optional[Any] = None,
23679        **kwargs
23680    ):
23681        super(MicrosoftAccessLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
23682        self.type = 'MicrosoftAccess'  # type: str
23683        self.connection_string = connection_string
23684        self.authentication_type = authentication_type
23685        self.credential = credential
23686        self.user_name = user_name
23687        self.password = password
23688        self.encrypted_credential = encrypted_credential
23689
23690
23691class MicrosoftAccessSink(CopySink):
23692    """A copy activity Microsoft Access sink.
23693
23694    All required parameters must be populated in order to send to Azure.
23695
23696    :param additional_properties: Unmatched properties from the message are deserialized to this
23697     collection.
23698    :type additional_properties: dict[str, any]
23699    :param type: Required. Copy sink type.Constant filled by server.
23700    :type type: str
23701    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
23702     integer), minimum: 0.
23703    :type write_batch_size: any
23704    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
23705     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
23706    :type write_batch_timeout: any
23707    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
23708     integer).
23709    :type sink_retry_count: any
23710    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
23711     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
23712    :type sink_retry_wait: any
23713    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
23714     store. Type: integer (or Expression with resultType integer).
23715    :type max_concurrent_connections: any
23716    :param pre_copy_script: A query to execute before starting the copy. Type: string (or
23717     Expression with resultType string).
23718    :type pre_copy_script: any
23719    """
23720
23721    _validation = {
23722        'type': {'required': True},
23723    }
23724
23725    _attribute_map = {
23726        'additional_properties': {'key': '', 'type': '{object}'},
23727        'type': {'key': 'type', 'type': 'str'},
23728        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
23729        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
23730        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
23731        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
23732        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
23733        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
23734    }
23735
23736    def __init__(
23737        self,
23738        *,
23739        additional_properties: Optional[Dict[str, Any]] = None,
23740        write_batch_size: Optional[Any] = None,
23741        write_batch_timeout: Optional[Any] = None,
23742        sink_retry_count: Optional[Any] = None,
23743        sink_retry_wait: Optional[Any] = None,
23744        max_concurrent_connections: Optional[Any] = None,
23745        pre_copy_script: Optional[Any] = None,
23746        **kwargs
23747    ):
23748        super(MicrosoftAccessSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
23749        self.type = 'MicrosoftAccessSink'  # type: str
23750        self.pre_copy_script = pre_copy_script
23751
23752
23753class MicrosoftAccessSource(CopySource):
23754    """A copy activity source for Microsoft Access.
23755
23756    All required parameters must be populated in order to send to Azure.
23757
23758    :param additional_properties: Unmatched properties from the message are deserialized to this
23759     collection.
23760    :type additional_properties: dict[str, any]
23761    :param type: Required. Copy source type.Constant filled by server.
23762    :type type: str
23763    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
23764     integer).
23765    :type source_retry_count: any
23766    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
23767     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
23768    :type source_retry_wait: any
23769    :param max_concurrent_connections: The maximum concurrent connection count for the source data
23770     store. Type: integer (or Expression with resultType integer).
23771    :type max_concurrent_connections: any
23772    :param query: Database query. Type: string (or Expression with resultType string).
23773    :type query: any
23774    :param additional_columns: Specifies the additional columns to be added to source data. Type:
23775     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
23776    :type additional_columns: any
23777    """
23778
23779    _validation = {
23780        'type': {'required': True},
23781    }
23782
23783    _attribute_map = {
23784        'additional_properties': {'key': '', 'type': '{object}'},
23785        'type': {'key': 'type', 'type': 'str'},
23786        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
23787        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
23788        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
23789        'query': {'key': 'query', 'type': 'object'},
23790        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
23791    }
23792
23793    def __init__(
23794        self,
23795        *,
23796        additional_properties: Optional[Dict[str, Any]] = None,
23797        source_retry_count: Optional[Any] = None,
23798        source_retry_wait: Optional[Any] = None,
23799        max_concurrent_connections: Optional[Any] = None,
23800        query: Optional[Any] = None,
23801        additional_columns: Optional[Any] = None,
23802        **kwargs
23803    ):
23804        super(MicrosoftAccessSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
23805        self.type = 'MicrosoftAccessSource'  # type: str
23806        self.query = query
23807        self.additional_columns = additional_columns
23808
23809
23810class MicrosoftAccessTableDataset(Dataset):
23811    """The Microsoft Access table dataset.
23812
23813    All required parameters must be populated in order to send to Azure.
23814
23815    :param additional_properties: Unmatched properties from the message are deserialized to this
23816     collection.
23817    :type additional_properties: dict[str, any]
23818    :param type: Required. Type of dataset.Constant filled by server.
23819    :type type: str
23820    :param description: Dataset description.
23821    :type description: str
23822    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
23823     with resultType array), itemType: DatasetDataElement.
23824    :type structure: any
23825    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
23826     Expression with resultType array), itemType: DatasetSchemaDataElement.
23827    :type schema: any
23828    :param linked_service_name: Required. Linked service reference.
23829    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
23830    :param parameters: Parameters for dataset.
23831    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
23832    :param annotations: List of tags that can be used for describing the Dataset.
23833    :type annotations: list[any]
23834    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
23835     root level.
23836    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
23837    :param table_name: The Microsoft Access table name. Type: string (or Expression with resultType
23838     string).
23839    :type table_name: any
23840    """
23841
23842    _validation = {
23843        'type': {'required': True},
23844        'linked_service_name': {'required': True},
23845    }
23846
23847    _attribute_map = {
23848        'additional_properties': {'key': '', 'type': '{object}'},
23849        'type': {'key': 'type', 'type': 'str'},
23850        'description': {'key': 'description', 'type': 'str'},
23851        'structure': {'key': 'structure', 'type': 'object'},
23852        'schema': {'key': 'schema', 'type': 'object'},
23853        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
23854        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
23855        'annotations': {'key': 'annotations', 'type': '[object]'},
23856        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
23857        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
23858    }
23859
23860    def __init__(
23861        self,
23862        *,
23863        linked_service_name: "LinkedServiceReference",
23864        additional_properties: Optional[Dict[str, Any]] = None,
23865        description: Optional[str] = None,
23866        structure: Optional[Any] = None,
23867        schema: Optional[Any] = None,
23868        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
23869        annotations: Optional[List[Any]] = None,
23870        folder: Optional["DatasetFolder"] = None,
23871        table_name: Optional[Any] = None,
23872        **kwargs
23873    ):
23874        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)
23875        self.type = 'MicrosoftAccessTable'  # type: str
23876        self.table_name = table_name
23877
23878
23879class MongoDbAtlasCollectionDataset(Dataset):
23880    """The MongoDB Atlas database dataset.
23881
23882    All required parameters must be populated in order to send to Azure.
23883
23884    :param additional_properties: Unmatched properties from the message are deserialized to this
23885     collection.
23886    :type additional_properties: dict[str, any]
23887    :param type: Required. Type of dataset.Constant filled by server.
23888    :type type: str
23889    :param description: Dataset description.
23890    :type description: str
23891    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
23892     with resultType array), itemType: DatasetDataElement.
23893    :type structure: any
23894    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
23895     Expression with resultType array), itemType: DatasetSchemaDataElement.
23896    :type schema: any
23897    :param linked_service_name: Required. Linked service reference.
23898    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
23899    :param parameters: Parameters for dataset.
23900    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
23901    :param annotations: List of tags that can be used for describing the Dataset.
23902    :type annotations: list[any]
23903    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
23904     root level.
23905    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
23906    :param collection: Required. The collection name of the MongoDB Atlas database. Type: string
23907     (or Expression with resultType string).
23908    :type collection: any
23909    """
23910
23911    _validation = {
23912        'type': {'required': True},
23913        'linked_service_name': {'required': True},
23914        'collection': {'required': True},
23915    }
23916
23917    _attribute_map = {
23918        'additional_properties': {'key': '', 'type': '{object}'},
23919        'type': {'key': 'type', 'type': 'str'},
23920        'description': {'key': 'description', 'type': 'str'},
23921        'structure': {'key': 'structure', 'type': 'object'},
23922        'schema': {'key': 'schema', 'type': 'object'},
23923        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
23924        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
23925        'annotations': {'key': 'annotations', 'type': '[object]'},
23926        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
23927        'collection': {'key': 'typeProperties.collection', 'type': 'object'},
23928    }
23929
23930    def __init__(
23931        self,
23932        *,
23933        linked_service_name: "LinkedServiceReference",
23934        collection: Any,
23935        additional_properties: Optional[Dict[str, Any]] = None,
23936        description: Optional[str] = None,
23937        structure: Optional[Any] = None,
23938        schema: Optional[Any] = None,
23939        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
23940        annotations: Optional[List[Any]] = None,
23941        folder: Optional["DatasetFolder"] = None,
23942        **kwargs
23943    ):
23944        super(MongoDbAtlasCollectionDataset, 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)
23945        self.type = 'MongoDbAtlasCollection'  # type: str
23946        self.collection = collection
23947
23948
23949class MongoDbAtlasLinkedService(LinkedService):
23950    """Linked service for MongoDB Atlas data source.
23951
23952    All required parameters must be populated in order to send to Azure.
23953
23954    :param additional_properties: Unmatched properties from the message are deserialized to this
23955     collection.
23956    :type additional_properties: dict[str, any]
23957    :param type: Required. Type of linked service.Constant filled by server.
23958    :type type: str
23959    :param connect_via: The integration runtime reference.
23960    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
23961    :param description: Linked service description.
23962    :type description: str
23963    :param parameters: Parameters for linked service.
23964    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
23965    :param annotations: List of tags that can be used for describing the linked service.
23966    :type annotations: list[any]
23967    :param connection_string: Required. The MongoDB Atlas connection string. Type: string,
23968     SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or
23969     AzureKeyVaultSecretReference.
23970    :type connection_string: any
23971    :param database: Required. The name of the MongoDB Atlas database that you want to access.
23972     Type: string (or Expression with resultType string).
23973    :type database: any
23974    """
23975
23976    _validation = {
23977        'type': {'required': True},
23978        'connection_string': {'required': True},
23979        'database': {'required': True},
23980    }
23981
23982    _attribute_map = {
23983        'additional_properties': {'key': '', 'type': '{object}'},
23984        'type': {'key': 'type', 'type': 'str'},
23985        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
23986        'description': {'key': 'description', 'type': 'str'},
23987        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
23988        'annotations': {'key': 'annotations', 'type': '[object]'},
23989        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
23990        'database': {'key': 'typeProperties.database', 'type': 'object'},
23991    }
23992
23993    def __init__(
23994        self,
23995        *,
23996        connection_string: Any,
23997        database: Any,
23998        additional_properties: Optional[Dict[str, Any]] = None,
23999        connect_via: Optional["IntegrationRuntimeReference"] = None,
24000        description: Optional[str] = None,
24001        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24002        annotations: Optional[List[Any]] = None,
24003        **kwargs
24004    ):
24005        super(MongoDbAtlasLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
24006        self.type = 'MongoDbAtlas'  # type: str
24007        self.connection_string = connection_string
24008        self.database = database
24009
24010
24011class MongoDbAtlasSource(CopySource):
24012    """A copy activity source for a MongoDB Atlas database.
24013
24014    All required parameters must be populated in order to send to Azure.
24015
24016    :param additional_properties: Unmatched properties from the message are deserialized to this
24017     collection.
24018    :type additional_properties: dict[str, any]
24019    :param type: Required. Copy source type.Constant filled by server.
24020    :type type: str
24021    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
24022     integer).
24023    :type source_retry_count: any
24024    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
24025     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24026    :type source_retry_wait: any
24027    :param max_concurrent_connections: The maximum concurrent connection count for the source data
24028     store. Type: integer (or Expression with resultType integer).
24029    :type max_concurrent_connections: any
24030    :param filter: Specifies selection filter using query operators. To return all documents in a
24031     collection, omit this parameter or pass an empty document ({}). Type: string (or Expression
24032     with resultType string).
24033    :type filter: any
24034    :param cursor_methods: Cursor methods for Mongodb query.
24035    :type cursor_methods:
24036     ~azure.synapse.artifacts.v2020_12_01.models.MongoDbCursorMethodsProperties
24037    :param batch_size: Specifies the number of documents to return in each batch of the response
24038     from MongoDB Atlas instance. In most cases, modifying the batch size will not affect the user
24039     or the application. This property's main purpose is to avoid hit the limitation of response
24040     size. Type: integer (or Expression with resultType integer).
24041    :type batch_size: any
24042    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
24043     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24044    :type query_timeout: any
24045    :param additional_columns: Specifies the additional columns to be added to source data. Type:
24046     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
24047    :type additional_columns: any
24048    """
24049
24050    _validation = {
24051        'type': {'required': True},
24052    }
24053
24054    _attribute_map = {
24055        'additional_properties': {'key': '', 'type': '{object}'},
24056        'type': {'key': 'type', 'type': 'str'},
24057        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
24058        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
24059        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
24060        'filter': {'key': 'filter', 'type': 'object'},
24061        'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'},
24062        'batch_size': {'key': 'batchSize', 'type': 'object'},
24063        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
24064        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
24065    }
24066
24067    def __init__(
24068        self,
24069        *,
24070        additional_properties: Optional[Dict[str, Any]] = None,
24071        source_retry_count: Optional[Any] = None,
24072        source_retry_wait: Optional[Any] = None,
24073        max_concurrent_connections: Optional[Any] = None,
24074        filter: Optional[Any] = None,
24075        cursor_methods: Optional["MongoDbCursorMethodsProperties"] = None,
24076        batch_size: Optional[Any] = None,
24077        query_timeout: Optional[Any] = None,
24078        additional_columns: Optional[Any] = None,
24079        **kwargs
24080    ):
24081        super(MongoDbAtlasSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
24082        self.type = 'MongoDbAtlasSource'  # type: str
24083        self.filter = filter
24084        self.cursor_methods = cursor_methods
24085        self.batch_size = batch_size
24086        self.query_timeout = query_timeout
24087        self.additional_columns = additional_columns
24088
24089
24090class MongoDbCollectionDataset(Dataset):
24091    """The MongoDB database dataset.
24092
24093    All required parameters must be populated in order to send to Azure.
24094
24095    :param additional_properties: Unmatched properties from the message are deserialized to this
24096     collection.
24097    :type additional_properties: dict[str, any]
24098    :param type: Required. Type of dataset.Constant filled by server.
24099    :type type: str
24100    :param description: Dataset description.
24101    :type description: str
24102    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
24103     with resultType array), itemType: DatasetDataElement.
24104    :type structure: any
24105    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
24106     Expression with resultType array), itemType: DatasetSchemaDataElement.
24107    :type schema: any
24108    :param linked_service_name: Required. Linked service reference.
24109    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
24110    :param parameters: Parameters for dataset.
24111    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
24112    :param annotations: List of tags that can be used for describing the Dataset.
24113    :type annotations: list[any]
24114    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
24115     root level.
24116    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
24117    :param collection_name: Required. The table name of the MongoDB database. Type: string (or
24118     Expression with resultType string).
24119    :type collection_name: any
24120    """
24121
24122    _validation = {
24123        'type': {'required': True},
24124        'linked_service_name': {'required': True},
24125        'collection_name': {'required': True},
24126    }
24127
24128    _attribute_map = {
24129        'additional_properties': {'key': '', 'type': '{object}'},
24130        'type': {'key': 'type', 'type': 'str'},
24131        'description': {'key': 'description', 'type': 'str'},
24132        'structure': {'key': 'structure', 'type': 'object'},
24133        'schema': {'key': 'schema', 'type': 'object'},
24134        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
24135        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
24136        'annotations': {'key': 'annotations', 'type': '[object]'},
24137        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
24138        'collection_name': {'key': 'typeProperties.collectionName', 'type': 'object'},
24139    }
24140
24141    def __init__(
24142        self,
24143        *,
24144        linked_service_name: "LinkedServiceReference",
24145        collection_name: Any,
24146        additional_properties: Optional[Dict[str, Any]] = None,
24147        description: Optional[str] = None,
24148        structure: Optional[Any] = None,
24149        schema: Optional[Any] = None,
24150        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24151        annotations: Optional[List[Any]] = None,
24152        folder: Optional["DatasetFolder"] = None,
24153        **kwargs
24154    ):
24155        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)
24156        self.type = 'MongoDbCollection'  # type: str
24157        self.collection_name = collection_name
24158
24159
24160class MongoDbCursorMethodsProperties(msrest.serialization.Model):
24161    """Cursor methods for Mongodb query.
24162
24163    :param additional_properties: Unmatched properties from the message are deserialized to this
24164     collection.
24165    :type additional_properties: dict[str, any]
24166    :param project: Specifies the fields to return in the documents that match the query filter. To
24167     return all fields in the matching documents, omit this parameter. Type: string (or Expression
24168     with resultType string).
24169    :type project: any
24170    :param sort: Specifies the order in which the query returns matching documents. Type: string
24171     (or Expression with resultType string). Type: string (or Expression with resultType string).
24172    :type sort: any
24173    :param skip: Specifies the how many documents skipped and where MongoDB begins returning
24174     results. This approach may be useful in implementing paginated results. Type: integer (or
24175     Expression with resultType integer).
24176    :type skip: any
24177    :param limit: Specifies the maximum number of documents the server returns. limit() is
24178     analogous to the LIMIT statement in a SQL database. Type: integer (or Expression with
24179     resultType integer).
24180    :type limit: any
24181    """
24182
24183    _attribute_map = {
24184        'additional_properties': {'key': '', 'type': '{object}'},
24185        'project': {'key': 'project', 'type': 'object'},
24186        'sort': {'key': 'sort', 'type': 'object'},
24187        'skip': {'key': 'skip', 'type': 'object'},
24188        'limit': {'key': 'limit', 'type': 'object'},
24189    }
24190
24191    def __init__(
24192        self,
24193        *,
24194        additional_properties: Optional[Dict[str, Any]] = None,
24195        project: Optional[Any] = None,
24196        sort: Optional[Any] = None,
24197        skip: Optional[Any] = None,
24198        limit: Optional[Any] = None,
24199        **kwargs
24200    ):
24201        super(MongoDbCursorMethodsProperties, self).__init__(**kwargs)
24202        self.additional_properties = additional_properties
24203        self.project = project
24204        self.sort = sort
24205        self.skip = skip
24206        self.limit = limit
24207
24208
24209class MongoDbLinkedService(LinkedService):
24210    """Linked service for MongoDb data source.
24211
24212    All required parameters must be populated in order to send to Azure.
24213
24214    :param additional_properties: Unmatched properties from the message are deserialized to this
24215     collection.
24216    :type additional_properties: dict[str, any]
24217    :param type: Required. Type of linked service.Constant filled by server.
24218    :type type: str
24219    :param connect_via: The integration runtime reference.
24220    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
24221    :param description: Linked service description.
24222    :type description: str
24223    :param parameters: Parameters for linked service.
24224    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
24225    :param annotations: List of tags that can be used for describing the linked service.
24226    :type annotations: list[any]
24227    :param server: Required. The IP address or server name of the MongoDB server. Type: string (or
24228     Expression with resultType string).
24229    :type server: any
24230    :param authentication_type: The authentication type to be used to connect to the MongoDB
24231     database. Possible values include: "Basic", "Anonymous".
24232    :type authentication_type: str or
24233     ~azure.synapse.artifacts.v2020_12_01.models.MongoDbAuthenticationType
24234    :param database_name: Required. The name of the MongoDB database that you want to access. Type:
24235     string (or Expression with resultType string).
24236    :type database_name: any
24237    :param username: Username for authentication. Type: string (or Expression with resultType
24238     string).
24239    :type username: any
24240    :param password: Password for authentication.
24241    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
24242    :param auth_source: Database to verify the username and password. Type: string (or Expression
24243     with resultType string).
24244    :type auth_source: any
24245    :param port: The TCP port number that the MongoDB server uses to listen for client connections.
24246     The default value is 27017. Type: integer (or Expression with resultType integer), minimum: 0.
24247    :type port: any
24248    :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The
24249     default value is false. Type: boolean (or Expression with resultType boolean).
24250    :type enable_ssl: any
24251    :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from
24252     the server. The default value is false. Type: boolean (or Expression with resultType boolean).
24253    :type allow_self_signed_server_cert: any
24254    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
24255     encrypted using the integration runtime credential manager. Type: string (or Expression with
24256     resultType string).
24257    :type encrypted_credential: any
24258    """
24259
24260    _validation = {
24261        'type': {'required': True},
24262        'server': {'required': True},
24263        'database_name': {'required': True},
24264    }
24265
24266    _attribute_map = {
24267        'additional_properties': {'key': '', 'type': '{object}'},
24268        'type': {'key': 'type', 'type': 'str'},
24269        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
24270        'description': {'key': 'description', 'type': 'str'},
24271        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
24272        'annotations': {'key': 'annotations', 'type': '[object]'},
24273        'server': {'key': 'typeProperties.server', 'type': 'object'},
24274        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
24275        'database_name': {'key': 'typeProperties.databaseName', 'type': 'object'},
24276        'username': {'key': 'typeProperties.username', 'type': 'object'},
24277        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
24278        'auth_source': {'key': 'typeProperties.authSource', 'type': 'object'},
24279        'port': {'key': 'typeProperties.port', 'type': 'object'},
24280        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
24281        'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'},
24282        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
24283    }
24284
24285    def __init__(
24286        self,
24287        *,
24288        server: Any,
24289        database_name: Any,
24290        additional_properties: Optional[Dict[str, Any]] = None,
24291        connect_via: Optional["IntegrationRuntimeReference"] = None,
24292        description: Optional[str] = None,
24293        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24294        annotations: Optional[List[Any]] = None,
24295        authentication_type: Optional[Union[str, "MongoDbAuthenticationType"]] = None,
24296        username: Optional[Any] = None,
24297        password: Optional["SecretBase"] = None,
24298        auth_source: Optional[Any] = None,
24299        port: Optional[Any] = None,
24300        enable_ssl: Optional[Any] = None,
24301        allow_self_signed_server_cert: Optional[Any] = None,
24302        encrypted_credential: Optional[Any] = None,
24303        **kwargs
24304    ):
24305        super(MongoDbLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
24306        self.type = 'MongoDb'  # type: str
24307        self.server = server
24308        self.authentication_type = authentication_type
24309        self.database_name = database_name
24310        self.username = username
24311        self.password = password
24312        self.auth_source = auth_source
24313        self.port = port
24314        self.enable_ssl = enable_ssl
24315        self.allow_self_signed_server_cert = allow_self_signed_server_cert
24316        self.encrypted_credential = encrypted_credential
24317
24318
24319class MongoDbSource(CopySource):
24320    """A copy activity source for a MongoDB database.
24321
24322    All required parameters must be populated in order to send to Azure.
24323
24324    :param additional_properties: Unmatched properties from the message are deserialized to this
24325     collection.
24326    :type additional_properties: dict[str, any]
24327    :param type: Required. Copy source type.Constant filled by server.
24328    :type type: str
24329    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
24330     integer).
24331    :type source_retry_count: any
24332    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
24333     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24334    :type source_retry_wait: any
24335    :param max_concurrent_connections: The maximum concurrent connection count for the source data
24336     store. Type: integer (or Expression with resultType integer).
24337    :type max_concurrent_connections: any
24338    :param query: Database query. Should be a SQL-92 query expression. Type: string (or Expression
24339     with resultType string).
24340    :type query: any
24341    :param additional_columns: Specifies the additional columns to be added to source data. Type:
24342     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
24343    :type additional_columns: any
24344    """
24345
24346    _validation = {
24347        'type': {'required': True},
24348    }
24349
24350    _attribute_map = {
24351        'additional_properties': {'key': '', 'type': '{object}'},
24352        'type': {'key': 'type', 'type': 'str'},
24353        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
24354        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
24355        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
24356        'query': {'key': 'query', 'type': 'object'},
24357        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
24358    }
24359
24360    def __init__(
24361        self,
24362        *,
24363        additional_properties: Optional[Dict[str, Any]] = None,
24364        source_retry_count: Optional[Any] = None,
24365        source_retry_wait: Optional[Any] = None,
24366        max_concurrent_connections: Optional[Any] = None,
24367        query: Optional[Any] = None,
24368        additional_columns: Optional[Any] = None,
24369        **kwargs
24370    ):
24371        super(MongoDbSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
24372        self.type = 'MongoDbSource'  # type: str
24373        self.query = query
24374        self.additional_columns = additional_columns
24375
24376
24377class MongoDbV2CollectionDataset(Dataset):
24378    """The MongoDB database dataset.
24379
24380    All required parameters must be populated in order to send to Azure.
24381
24382    :param additional_properties: Unmatched properties from the message are deserialized to this
24383     collection.
24384    :type additional_properties: dict[str, any]
24385    :param type: Required. Type of dataset.Constant filled by server.
24386    :type type: str
24387    :param description: Dataset description.
24388    :type description: str
24389    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
24390     with resultType array), itemType: DatasetDataElement.
24391    :type structure: any
24392    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
24393     Expression with resultType array), itemType: DatasetSchemaDataElement.
24394    :type schema: any
24395    :param linked_service_name: Required. Linked service reference.
24396    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
24397    :param parameters: Parameters for dataset.
24398    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
24399    :param annotations: List of tags that can be used for describing the Dataset.
24400    :type annotations: list[any]
24401    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
24402     root level.
24403    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
24404    :param collection: Required. The collection name of the MongoDB database. Type: string (or
24405     Expression with resultType string).
24406    :type collection: any
24407    """
24408
24409    _validation = {
24410        'type': {'required': True},
24411        'linked_service_name': {'required': True},
24412        'collection': {'required': True},
24413    }
24414
24415    _attribute_map = {
24416        'additional_properties': {'key': '', 'type': '{object}'},
24417        'type': {'key': 'type', 'type': 'str'},
24418        'description': {'key': 'description', 'type': 'str'},
24419        'structure': {'key': 'structure', 'type': 'object'},
24420        'schema': {'key': 'schema', 'type': 'object'},
24421        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
24422        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
24423        'annotations': {'key': 'annotations', 'type': '[object]'},
24424        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
24425        'collection': {'key': 'typeProperties.collection', 'type': 'object'},
24426    }
24427
24428    def __init__(
24429        self,
24430        *,
24431        linked_service_name: "LinkedServiceReference",
24432        collection: Any,
24433        additional_properties: Optional[Dict[str, Any]] = None,
24434        description: Optional[str] = None,
24435        structure: Optional[Any] = None,
24436        schema: Optional[Any] = None,
24437        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24438        annotations: Optional[List[Any]] = None,
24439        folder: Optional["DatasetFolder"] = None,
24440        **kwargs
24441    ):
24442        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)
24443        self.type = 'MongoDbV2Collection'  # type: str
24444        self.collection = collection
24445
24446
24447class MongoDbV2LinkedService(LinkedService):
24448    """Linked service for MongoDB data source.
24449
24450    All required parameters must be populated in order to send to Azure.
24451
24452    :param additional_properties: Unmatched properties from the message are deserialized to this
24453     collection.
24454    :type additional_properties: dict[str, any]
24455    :param type: Required. Type of linked service.Constant filled by server.
24456    :type type: str
24457    :param connect_via: The integration runtime reference.
24458    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
24459    :param description: Linked service description.
24460    :type description: str
24461    :param parameters: Parameters for linked service.
24462    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
24463    :param annotations: List of tags that can be used for describing the linked service.
24464    :type annotations: list[any]
24465    :param connection_string: Required. The MongoDB connection string. Type: string, SecureString
24466     or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.
24467    :type connection_string: any
24468    :param database: Required. The name of the MongoDB database that you want to access. Type:
24469     string (or Expression with resultType string).
24470    :type database: any
24471    """
24472
24473    _validation = {
24474        'type': {'required': True},
24475        'connection_string': {'required': True},
24476        'database': {'required': True},
24477    }
24478
24479    _attribute_map = {
24480        'additional_properties': {'key': '', 'type': '{object}'},
24481        'type': {'key': 'type', 'type': 'str'},
24482        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
24483        'description': {'key': 'description', 'type': 'str'},
24484        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
24485        'annotations': {'key': 'annotations', 'type': '[object]'},
24486        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
24487        'database': {'key': 'typeProperties.database', 'type': 'object'},
24488    }
24489
24490    def __init__(
24491        self,
24492        *,
24493        connection_string: Any,
24494        database: Any,
24495        additional_properties: Optional[Dict[str, Any]] = None,
24496        connect_via: Optional["IntegrationRuntimeReference"] = None,
24497        description: Optional[str] = None,
24498        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24499        annotations: Optional[List[Any]] = None,
24500        **kwargs
24501    ):
24502        super(MongoDbV2LinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
24503        self.type = 'MongoDbV2'  # type: str
24504        self.connection_string = connection_string
24505        self.database = database
24506
24507
24508class MongoDbV2Source(CopySource):
24509    """A copy activity source for a MongoDB database.
24510
24511    All required parameters must be populated in order to send to Azure.
24512
24513    :param additional_properties: Unmatched properties from the message are deserialized to this
24514     collection.
24515    :type additional_properties: dict[str, any]
24516    :param type: Required. Copy source type.Constant filled by server.
24517    :type type: str
24518    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
24519     integer).
24520    :type source_retry_count: any
24521    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
24522     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24523    :type source_retry_wait: any
24524    :param max_concurrent_connections: The maximum concurrent connection count for the source data
24525     store. Type: integer (or Expression with resultType integer).
24526    :type max_concurrent_connections: any
24527    :param filter: Specifies selection filter using query operators. To return all documents in a
24528     collection, omit this parameter or pass an empty document ({}). Type: string (or Expression
24529     with resultType string).
24530    :type filter: any
24531    :param cursor_methods: Cursor methods for Mongodb query.
24532    :type cursor_methods:
24533     ~azure.synapse.artifacts.v2020_12_01.models.MongoDbCursorMethodsProperties
24534    :param batch_size: Specifies the number of documents to return in each batch of the response
24535     from MongoDB instance. In most cases, modifying the batch size will not affect the user or the
24536     application. This property's main purpose is to avoid hit the limitation of response size.
24537     Type: integer (or Expression with resultType integer).
24538    :type batch_size: any
24539    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
24540     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24541    :type query_timeout: any
24542    :param additional_columns: Specifies the additional columns to be added to source data. Type:
24543     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
24544    :type additional_columns: any
24545    """
24546
24547    _validation = {
24548        'type': {'required': True},
24549    }
24550
24551    _attribute_map = {
24552        'additional_properties': {'key': '', 'type': '{object}'},
24553        'type': {'key': 'type', 'type': 'str'},
24554        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
24555        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
24556        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
24557        'filter': {'key': 'filter', 'type': 'object'},
24558        'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'},
24559        'batch_size': {'key': 'batchSize', 'type': 'object'},
24560        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
24561        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
24562    }
24563
24564    def __init__(
24565        self,
24566        *,
24567        additional_properties: Optional[Dict[str, Any]] = None,
24568        source_retry_count: Optional[Any] = None,
24569        source_retry_wait: Optional[Any] = None,
24570        max_concurrent_connections: Optional[Any] = None,
24571        filter: Optional[Any] = None,
24572        cursor_methods: Optional["MongoDbCursorMethodsProperties"] = None,
24573        batch_size: Optional[Any] = None,
24574        query_timeout: Optional[Any] = None,
24575        additional_columns: Optional[Any] = None,
24576        **kwargs
24577    ):
24578        super(MongoDbV2Source, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
24579        self.type = 'MongoDbV2Source'  # type: str
24580        self.filter = filter
24581        self.cursor_methods = cursor_methods
24582        self.batch_size = batch_size
24583        self.query_timeout = query_timeout
24584        self.additional_columns = additional_columns
24585
24586
24587class MySqlLinkedService(LinkedService):
24588    """Linked service for MySQL data source.
24589
24590    All required parameters must be populated in order to send to Azure.
24591
24592    :param additional_properties: Unmatched properties from the message are deserialized to this
24593     collection.
24594    :type additional_properties: dict[str, any]
24595    :param type: Required. Type of linked service.Constant filled by server.
24596    :type type: str
24597    :param connect_via: The integration runtime reference.
24598    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
24599    :param description: Linked service description.
24600    :type description: str
24601    :param parameters: Parameters for linked service.
24602    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
24603    :param annotations: List of tags that can be used for describing the linked service.
24604    :type annotations: list[any]
24605    :param connection_string: Required. The connection string.
24606    :type connection_string: any
24607    :param password: The Azure key vault secret reference of password in connection string.
24608    :type password: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
24609    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
24610     encrypted using the integration runtime credential manager. Type: string (or Expression with
24611     resultType string).
24612    :type encrypted_credential: any
24613    """
24614
24615    _validation = {
24616        'type': {'required': True},
24617        'connection_string': {'required': True},
24618    }
24619
24620    _attribute_map = {
24621        'additional_properties': {'key': '', 'type': '{object}'},
24622        'type': {'key': 'type', 'type': 'str'},
24623        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
24624        'description': {'key': 'description', 'type': 'str'},
24625        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
24626        'annotations': {'key': 'annotations', 'type': '[object]'},
24627        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
24628        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
24629        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
24630    }
24631
24632    def __init__(
24633        self,
24634        *,
24635        connection_string: Any,
24636        additional_properties: Optional[Dict[str, Any]] = None,
24637        connect_via: Optional["IntegrationRuntimeReference"] = None,
24638        description: Optional[str] = None,
24639        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24640        annotations: Optional[List[Any]] = None,
24641        password: Optional["AzureKeyVaultSecretReference"] = None,
24642        encrypted_credential: Optional[Any] = None,
24643        **kwargs
24644    ):
24645        super(MySqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
24646        self.type = 'MySql'  # type: str
24647        self.connection_string = connection_string
24648        self.password = password
24649        self.encrypted_credential = encrypted_credential
24650
24651
24652class MySqlSource(TabularSource):
24653    """A copy activity source for MySQL databases.
24654
24655    All required parameters must be populated in order to send to Azure.
24656
24657    :param additional_properties: Unmatched properties from the message are deserialized to this
24658     collection.
24659    :type additional_properties: dict[str, any]
24660    :param type: Required. Copy source type.Constant filled by server.
24661    :type type: str
24662    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
24663     integer).
24664    :type source_retry_count: any
24665    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
24666     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24667    :type source_retry_wait: any
24668    :param max_concurrent_connections: The maximum concurrent connection count for the source data
24669     store. Type: integer (or Expression with resultType integer).
24670    :type max_concurrent_connections: any
24671    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
24672     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24673    :type query_timeout: any
24674    :param additional_columns: Specifies the additional columns to be added to source data. Type:
24675     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
24676    :type additional_columns: any
24677    :param query: Database query. Type: string (or Expression with resultType string).
24678    :type query: any
24679    """
24680
24681    _validation = {
24682        'type': {'required': True},
24683    }
24684
24685    _attribute_map = {
24686        'additional_properties': {'key': '', 'type': '{object}'},
24687        'type': {'key': 'type', 'type': 'str'},
24688        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
24689        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
24690        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
24691        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
24692        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
24693        'query': {'key': 'query', 'type': 'object'},
24694    }
24695
24696    def __init__(
24697        self,
24698        *,
24699        additional_properties: Optional[Dict[str, Any]] = None,
24700        source_retry_count: Optional[Any] = None,
24701        source_retry_wait: Optional[Any] = None,
24702        max_concurrent_connections: Optional[Any] = None,
24703        query_timeout: Optional[Any] = None,
24704        additional_columns: Optional[Any] = None,
24705        query: Optional[Any] = None,
24706        **kwargs
24707    ):
24708        super(MySqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
24709        self.type = 'MySqlSource'  # type: str
24710        self.query = query
24711
24712
24713class MySqlTableDataset(Dataset):
24714    """The MySQL table dataset.
24715
24716    All required parameters must be populated in order to send to Azure.
24717
24718    :param additional_properties: Unmatched properties from the message are deserialized to this
24719     collection.
24720    :type additional_properties: dict[str, any]
24721    :param type: Required. Type of dataset.Constant filled by server.
24722    :type type: str
24723    :param description: Dataset description.
24724    :type description: str
24725    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
24726     with resultType array), itemType: DatasetDataElement.
24727    :type structure: any
24728    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
24729     Expression with resultType array), itemType: DatasetSchemaDataElement.
24730    :type schema: any
24731    :param linked_service_name: Required. Linked service reference.
24732    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
24733    :param parameters: Parameters for dataset.
24734    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
24735    :param annotations: List of tags that can be used for describing the Dataset.
24736    :type annotations: list[any]
24737    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
24738     root level.
24739    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
24740    :param table_name: The MySQL table name. Type: string (or Expression with resultType string).
24741    :type table_name: any
24742    """
24743
24744    _validation = {
24745        'type': {'required': True},
24746        'linked_service_name': {'required': True},
24747    }
24748
24749    _attribute_map = {
24750        'additional_properties': {'key': '', 'type': '{object}'},
24751        'type': {'key': 'type', 'type': 'str'},
24752        'description': {'key': 'description', 'type': 'str'},
24753        'structure': {'key': 'structure', 'type': 'object'},
24754        'schema': {'key': 'schema', 'type': 'object'},
24755        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
24756        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
24757        'annotations': {'key': 'annotations', 'type': '[object]'},
24758        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
24759        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
24760    }
24761
24762    def __init__(
24763        self,
24764        *,
24765        linked_service_name: "LinkedServiceReference",
24766        additional_properties: Optional[Dict[str, Any]] = None,
24767        description: Optional[str] = None,
24768        structure: Optional[Any] = None,
24769        schema: Optional[Any] = None,
24770        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24771        annotations: Optional[List[Any]] = None,
24772        folder: Optional["DatasetFolder"] = None,
24773        table_name: Optional[Any] = None,
24774        **kwargs
24775    ):
24776        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)
24777        self.type = 'MySqlTable'  # type: str
24778        self.table_name = table_name
24779
24780
24781class NetezzaLinkedService(LinkedService):
24782    """Netezza linked service.
24783
24784    All required parameters must be populated in order to send to Azure.
24785
24786    :param additional_properties: Unmatched properties from the message are deserialized to this
24787     collection.
24788    :type additional_properties: dict[str, any]
24789    :param type: Required. Type of linked service.Constant filled by server.
24790    :type type: str
24791    :param connect_via: The integration runtime reference.
24792    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
24793    :param description: Linked service description.
24794    :type description: str
24795    :param parameters: Parameters for linked service.
24796    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
24797    :param annotations: List of tags that can be used for describing the linked service.
24798    :type annotations: list[any]
24799    :param connection_string: An ODBC connection string. Type: string, SecureString or
24800     AzureKeyVaultSecretReference.
24801    :type connection_string: any
24802    :param pwd: The Azure key vault secret reference of password in connection string.
24803    :type pwd: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
24804    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
24805     encrypted using the integration runtime credential manager. Type: string (or Expression with
24806     resultType string).
24807    :type encrypted_credential: any
24808    """
24809
24810    _validation = {
24811        'type': {'required': True},
24812    }
24813
24814    _attribute_map = {
24815        'additional_properties': {'key': '', 'type': '{object}'},
24816        'type': {'key': 'type', 'type': 'str'},
24817        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
24818        'description': {'key': 'description', 'type': 'str'},
24819        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
24820        'annotations': {'key': 'annotations', 'type': '[object]'},
24821        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
24822        'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'},
24823        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
24824    }
24825
24826    def __init__(
24827        self,
24828        *,
24829        additional_properties: Optional[Dict[str, Any]] = None,
24830        connect_via: Optional["IntegrationRuntimeReference"] = None,
24831        description: Optional[str] = None,
24832        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24833        annotations: Optional[List[Any]] = None,
24834        connection_string: Optional[Any] = None,
24835        pwd: Optional["AzureKeyVaultSecretReference"] = None,
24836        encrypted_credential: Optional[Any] = None,
24837        **kwargs
24838    ):
24839        super(NetezzaLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
24840        self.type = 'Netezza'  # type: str
24841        self.connection_string = connection_string
24842        self.pwd = pwd
24843        self.encrypted_credential = encrypted_credential
24844
24845
24846class NetezzaPartitionSettings(msrest.serialization.Model):
24847    """The settings that will be leveraged for Netezza source partitioning.
24848
24849    :param partition_column_name: The name of the column in integer type that will be used for
24850     proceeding range partitioning. Type: string (or Expression with resultType string).
24851    :type partition_column_name: any
24852    :param partition_upper_bound: The maximum value of column specified in partitionColumnName that
24853     will be used for proceeding range partitioning. Type: string (or Expression with resultType
24854     string).
24855    :type partition_upper_bound: any
24856    :param partition_lower_bound: The minimum value of column specified in partitionColumnName that
24857     will be used for proceeding range partitioning. Type: string (or Expression with resultType
24858     string).
24859    :type partition_lower_bound: any
24860    """
24861
24862    _attribute_map = {
24863        'partition_column_name': {'key': 'partitionColumnName', 'type': 'object'},
24864        'partition_upper_bound': {'key': 'partitionUpperBound', 'type': 'object'},
24865        'partition_lower_bound': {'key': 'partitionLowerBound', 'type': 'object'},
24866    }
24867
24868    def __init__(
24869        self,
24870        *,
24871        partition_column_name: Optional[Any] = None,
24872        partition_upper_bound: Optional[Any] = None,
24873        partition_lower_bound: Optional[Any] = None,
24874        **kwargs
24875    ):
24876        super(NetezzaPartitionSettings, self).__init__(**kwargs)
24877        self.partition_column_name = partition_column_name
24878        self.partition_upper_bound = partition_upper_bound
24879        self.partition_lower_bound = partition_lower_bound
24880
24881
24882class NetezzaSource(TabularSource):
24883    """A copy activity Netezza source.
24884
24885    All required parameters must be populated in order to send to Azure.
24886
24887    :param additional_properties: Unmatched properties from the message are deserialized to this
24888     collection.
24889    :type additional_properties: dict[str, any]
24890    :param type: Required. Copy source type.Constant filled by server.
24891    :type type: str
24892    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
24893     integer).
24894    :type source_retry_count: any
24895    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
24896     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24897    :type source_retry_wait: any
24898    :param max_concurrent_connections: The maximum concurrent connection count for the source data
24899     store. Type: integer (or Expression with resultType integer).
24900    :type max_concurrent_connections: any
24901    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
24902     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24903    :type query_timeout: any
24904    :param additional_columns: Specifies the additional columns to be added to source data. Type:
24905     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
24906    :type additional_columns: any
24907    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
24908     string).
24909    :type query: any
24910    :param partition_option: The partition mechanism that will be used for Netezza read in
24911     parallel. Possible values include: "None", "DataSlice", "DynamicRange".
24912    :type partition_option: str or
24913     ~azure.synapse.artifacts.v2020_12_01.models.NetezzaPartitionOption
24914    :param partition_settings: The settings that will be leveraged for Netezza source partitioning.
24915    :type partition_settings: ~azure.synapse.artifacts.v2020_12_01.models.NetezzaPartitionSettings
24916    """
24917
24918    _validation = {
24919        'type': {'required': True},
24920    }
24921
24922    _attribute_map = {
24923        'additional_properties': {'key': '', 'type': '{object}'},
24924        'type': {'key': 'type', 'type': 'str'},
24925        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
24926        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
24927        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
24928        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
24929        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
24930        'query': {'key': 'query', 'type': 'object'},
24931        'partition_option': {'key': 'partitionOption', 'type': 'str'},
24932        'partition_settings': {'key': 'partitionSettings', 'type': 'NetezzaPartitionSettings'},
24933    }
24934
24935    def __init__(
24936        self,
24937        *,
24938        additional_properties: Optional[Dict[str, Any]] = None,
24939        source_retry_count: Optional[Any] = None,
24940        source_retry_wait: Optional[Any] = None,
24941        max_concurrent_connections: Optional[Any] = None,
24942        query_timeout: Optional[Any] = None,
24943        additional_columns: Optional[Any] = None,
24944        query: Optional[Any] = None,
24945        partition_option: Optional[Union[str, "NetezzaPartitionOption"]] = None,
24946        partition_settings: Optional["NetezzaPartitionSettings"] = None,
24947        **kwargs
24948    ):
24949        super(NetezzaSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
24950        self.type = 'NetezzaSource'  # type: str
24951        self.query = query
24952        self.partition_option = partition_option
24953        self.partition_settings = partition_settings
24954
24955
24956class NetezzaTableDataset(Dataset):
24957    """Netezza dataset.
24958
24959    All required parameters must be populated in order to send to Azure.
24960
24961    :param additional_properties: Unmatched properties from the message are deserialized to this
24962     collection.
24963    :type additional_properties: dict[str, any]
24964    :param type: Required. Type of dataset.Constant filled by server.
24965    :type type: str
24966    :param description: Dataset description.
24967    :type description: str
24968    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
24969     with resultType array), itemType: DatasetDataElement.
24970    :type structure: any
24971    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
24972     Expression with resultType array), itemType: DatasetSchemaDataElement.
24973    :type schema: any
24974    :param linked_service_name: Required. Linked service reference.
24975    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
24976    :param parameters: Parameters for dataset.
24977    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
24978    :param annotations: List of tags that can be used for describing the Dataset.
24979    :type annotations: list[any]
24980    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
24981     root level.
24982    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
24983    :param table_name: This property will be retired. Please consider using schema + table
24984     properties instead.
24985    :type table_name: any
24986    :param table: The table name of the Netezza. Type: string (or Expression with resultType
24987     string).
24988    :type table: any
24989    :param schema_type_properties_schema: The schema name of the Netezza. Type: string (or
24990     Expression with resultType string).
24991    :type schema_type_properties_schema: any
24992    """
24993
24994    _validation = {
24995        'type': {'required': True},
24996        'linked_service_name': {'required': True},
24997    }
24998
24999    _attribute_map = {
25000        'additional_properties': {'key': '', 'type': '{object}'},
25001        'type': {'key': 'type', 'type': 'str'},
25002        'description': {'key': 'description', 'type': 'str'},
25003        'structure': {'key': 'structure', 'type': 'object'},
25004        'schema': {'key': 'schema', 'type': 'object'},
25005        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
25006        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
25007        'annotations': {'key': 'annotations', 'type': '[object]'},
25008        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
25009        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
25010        'table': {'key': 'typeProperties.table', 'type': 'object'},
25011        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
25012    }
25013
25014    def __init__(
25015        self,
25016        *,
25017        linked_service_name: "LinkedServiceReference",
25018        additional_properties: Optional[Dict[str, Any]] = None,
25019        description: Optional[str] = None,
25020        structure: Optional[Any] = None,
25021        schema: Optional[Any] = None,
25022        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
25023        annotations: Optional[List[Any]] = None,
25024        folder: Optional["DatasetFolder"] = None,
25025        table_name: Optional[Any] = None,
25026        table: Optional[Any] = None,
25027        schema_type_properties_schema: Optional[Any] = None,
25028        **kwargs
25029    ):
25030        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)
25031        self.type = 'NetezzaTable'  # type: str
25032        self.table_name = table_name
25033        self.table = table
25034        self.schema_type_properties_schema = schema_type_properties_schema
25035
25036
25037class Notebook(msrest.serialization.Model):
25038    """Notebook.
25039
25040    All required parameters must be populated in order to send to Azure.
25041
25042    :param additional_properties: Unmatched properties from the message are deserialized to this
25043     collection.
25044    :type additional_properties: dict[str, any]
25045    :param description: The description of the notebook.
25046    :type description: str
25047    :param big_data_pool: Big data pool reference.
25048    :type big_data_pool: ~azure.synapse.artifacts.v2020_12_01.models.BigDataPoolReference
25049    :param session_properties: Session properties.
25050    :type session_properties: ~azure.synapse.artifacts.v2020_12_01.models.NotebookSessionProperties
25051    :param metadata: Required. Notebook root-level metadata.
25052    :type metadata: ~azure.synapse.artifacts.v2020_12_01.models.NotebookMetadata
25053    :param nbformat: Required. Notebook format (major number). Incremented between backwards
25054     incompatible changes to the notebook format.
25055    :type nbformat: int
25056    :param nbformat_minor: Required. Notebook format (minor number). Incremented for backward
25057     compatible changes to the notebook format.
25058    :type nbformat_minor: int
25059    :param cells: Required. Array of cells of the current notebook.
25060    :type cells: list[~azure.synapse.artifacts.v2020_12_01.models.NotebookCell]
25061    """
25062
25063    _validation = {
25064        'metadata': {'required': True},
25065        'nbformat': {'required': True},
25066        'nbformat_minor': {'required': True},
25067        'cells': {'required': True},
25068    }
25069
25070    _attribute_map = {
25071        'additional_properties': {'key': '', 'type': '{object}'},
25072        'description': {'key': 'description', 'type': 'str'},
25073        'big_data_pool': {'key': 'bigDataPool', 'type': 'BigDataPoolReference'},
25074        'session_properties': {'key': 'sessionProperties', 'type': 'NotebookSessionProperties'},
25075        'metadata': {'key': 'metadata', 'type': 'NotebookMetadata'},
25076        'nbformat': {'key': 'nbformat', 'type': 'int'},
25077        'nbformat_minor': {'key': 'nbformat_minor', 'type': 'int'},
25078        'cells': {'key': 'cells', 'type': '[NotebookCell]'},
25079    }
25080
25081    def __init__(
25082        self,
25083        *,
25084        metadata: "NotebookMetadata",
25085        nbformat: int,
25086        nbformat_minor: int,
25087        cells: List["NotebookCell"],
25088        additional_properties: Optional[Dict[str, Any]] = None,
25089        description: Optional[str] = None,
25090        big_data_pool: Optional["BigDataPoolReference"] = None,
25091        session_properties: Optional["NotebookSessionProperties"] = None,
25092        **kwargs
25093    ):
25094        super(Notebook, self).__init__(**kwargs)
25095        self.additional_properties = additional_properties
25096        self.description = description
25097        self.big_data_pool = big_data_pool
25098        self.session_properties = session_properties
25099        self.metadata = metadata
25100        self.nbformat = nbformat
25101        self.nbformat_minor = nbformat_minor
25102        self.cells = cells
25103
25104
25105class NotebookCell(msrest.serialization.Model):
25106    """Notebook cell.
25107
25108    All required parameters must be populated in order to send to Azure.
25109
25110    :param additional_properties: Unmatched properties from the message are deserialized to this
25111     collection.
25112    :type additional_properties: dict[str, any]
25113    :param cell_type: Required. String identifying the type of cell.
25114    :type cell_type: str
25115    :param metadata: Required. Cell-level metadata.
25116    :type metadata: any
25117    :param source: Required. Contents of the cell, represented as an array of lines.
25118    :type source: list[str]
25119    :param attachments: Attachments associated with the cell.
25120    :type attachments: any
25121    :param outputs: Cell-level output items.
25122    :type outputs: list[~azure.synapse.artifacts.v2020_12_01.models.NotebookCellOutputItem]
25123    """
25124
25125    _validation = {
25126        'cell_type': {'required': True},
25127        'metadata': {'required': True},
25128        'source': {'required': True},
25129    }
25130
25131    _attribute_map = {
25132        'additional_properties': {'key': '', 'type': '{object}'},
25133        'cell_type': {'key': 'cell_type', 'type': 'str'},
25134        'metadata': {'key': 'metadata', 'type': 'object'},
25135        'source': {'key': 'source', 'type': '[str]'},
25136        'attachments': {'key': 'attachments', 'type': 'object'},
25137        'outputs': {'key': 'outputs', 'type': '[NotebookCellOutputItem]'},
25138    }
25139
25140    def __init__(
25141        self,
25142        *,
25143        cell_type: str,
25144        metadata: Any,
25145        source: List[str],
25146        additional_properties: Optional[Dict[str, Any]] = None,
25147        attachments: Optional[Any] = None,
25148        outputs: Optional[List["NotebookCellOutputItem"]] = None,
25149        **kwargs
25150    ):
25151        super(NotebookCell, self).__init__(**kwargs)
25152        self.additional_properties = additional_properties
25153        self.cell_type = cell_type
25154        self.metadata = metadata
25155        self.source = source
25156        self.attachments = attachments
25157        self.outputs = outputs
25158
25159
25160class NotebookCellOutputItem(msrest.serialization.Model):
25161    """An item of the notebook cell execution output.
25162
25163    All required parameters must be populated in order to send to Azure.
25164
25165    :param name: For output_type=stream, determines the name of stream (stdout / stderr).
25166    :type name: str
25167    :param execution_count: Execution sequence number.
25168    :type execution_count: int
25169    :param output_type: Required. Execution, display, or stream outputs. Possible values include:
25170     "execute_result", "display_data", "stream", "error".
25171    :type output_type: str or ~azure.synapse.artifacts.v2020_12_01.models.CellOutputType
25172    :param text: For output_type=stream, the stream's text output, represented as a string or an
25173     array of strings.
25174    :type text: any
25175    :param data: Output data. Use MIME type as key, and content as value.
25176    :type data: any
25177    :param metadata: Metadata for the output item.
25178    :type metadata: any
25179    """
25180
25181    _validation = {
25182        'output_type': {'required': True},
25183    }
25184
25185    _attribute_map = {
25186        'name': {'key': 'name', 'type': 'str'},
25187        'execution_count': {'key': 'execution_count', 'type': 'int'},
25188        'output_type': {'key': 'output_type', 'type': 'str'},
25189        'text': {'key': 'text', 'type': 'object'},
25190        'data': {'key': 'data', 'type': 'object'},
25191        'metadata': {'key': 'metadata', 'type': 'object'},
25192    }
25193
25194    def __init__(
25195        self,
25196        *,
25197        output_type: Union[str, "CellOutputType"],
25198        name: Optional[str] = None,
25199        execution_count: Optional[int] = None,
25200        text: Optional[Any] = None,
25201        data: Optional[Any] = None,
25202        metadata: Optional[Any] = None,
25203        **kwargs
25204    ):
25205        super(NotebookCellOutputItem, self).__init__(**kwargs)
25206        self.name = name
25207        self.execution_count = execution_count
25208        self.output_type = output_type
25209        self.text = text
25210        self.data = data
25211        self.metadata = metadata
25212
25213
25214class NotebookKernelSpec(msrest.serialization.Model):
25215    """Kernel information.
25216
25217    All required parameters must be populated in order to send to Azure.
25218
25219    :param additional_properties: Unmatched properties from the message are deserialized to this
25220     collection.
25221    :type additional_properties: dict[str, any]
25222    :param name: Required. Name of the kernel specification.
25223    :type name: str
25224    :param display_name: Required. Name to display in UI.
25225    :type display_name: str
25226    """
25227
25228    _validation = {
25229        'name': {'required': True},
25230        'display_name': {'required': True},
25231    }
25232
25233    _attribute_map = {
25234        'additional_properties': {'key': '', 'type': '{object}'},
25235        'name': {'key': 'name', 'type': 'str'},
25236        'display_name': {'key': 'display_name', 'type': 'str'},
25237    }
25238
25239    def __init__(
25240        self,
25241        *,
25242        name: str,
25243        display_name: str,
25244        additional_properties: Optional[Dict[str, Any]] = None,
25245        **kwargs
25246    ):
25247        super(NotebookKernelSpec, self).__init__(**kwargs)
25248        self.additional_properties = additional_properties
25249        self.name = name
25250        self.display_name = display_name
25251
25252
25253class NotebookLanguageInfo(msrest.serialization.Model):
25254    """Language info.
25255
25256    All required parameters must be populated in order to send to Azure.
25257
25258    :param additional_properties: Unmatched properties from the message are deserialized to this
25259     collection.
25260    :type additional_properties: dict[str, any]
25261    :param name: Required. The programming language which this kernel runs.
25262    :type name: str
25263    :param codemirror_mode: The codemirror mode to use for code in this language.
25264    :type codemirror_mode: str
25265    """
25266
25267    _validation = {
25268        'name': {'required': True},
25269    }
25270
25271    _attribute_map = {
25272        'additional_properties': {'key': '', 'type': '{object}'},
25273        'name': {'key': 'name', 'type': 'str'},
25274        'codemirror_mode': {'key': 'codemirror_mode', 'type': 'str'},
25275    }
25276
25277    def __init__(
25278        self,
25279        *,
25280        name: str,
25281        additional_properties: Optional[Dict[str, Any]] = None,
25282        codemirror_mode: Optional[str] = None,
25283        **kwargs
25284    ):
25285        super(NotebookLanguageInfo, self).__init__(**kwargs)
25286        self.additional_properties = additional_properties
25287        self.name = name
25288        self.codemirror_mode = codemirror_mode
25289
25290
25291class NotebookListResponse(msrest.serialization.Model):
25292    """A list of Notebook resources.
25293
25294    All required parameters must be populated in order to send to Azure.
25295
25296    :param value: Required. List of Notebooks.
25297    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.NotebookResource]
25298    :param next_link: The link to the next page of results, if any remaining results exist.
25299    :type next_link: str
25300    """
25301
25302    _validation = {
25303        'value': {'required': True},
25304    }
25305
25306    _attribute_map = {
25307        'value': {'key': 'value', 'type': '[NotebookResource]'},
25308        'next_link': {'key': 'nextLink', 'type': 'str'},
25309    }
25310
25311    def __init__(
25312        self,
25313        *,
25314        value: List["NotebookResource"],
25315        next_link: Optional[str] = None,
25316        **kwargs
25317    ):
25318        super(NotebookListResponse, self).__init__(**kwargs)
25319        self.value = value
25320        self.next_link = next_link
25321
25322
25323class NotebookMetadata(msrest.serialization.Model):
25324    """Notebook root-level metadata.
25325
25326    :param additional_properties: Unmatched properties from the message are deserialized to this
25327     collection.
25328    :type additional_properties: dict[str, any]
25329    :param kernelspec: Kernel information.
25330    :type kernelspec: ~azure.synapse.artifacts.v2020_12_01.models.NotebookKernelSpec
25331    :param language_info: Language info.
25332    :type language_info: ~azure.synapse.artifacts.v2020_12_01.models.NotebookLanguageInfo
25333    """
25334
25335    _attribute_map = {
25336        'additional_properties': {'key': '', 'type': '{object}'},
25337        'kernelspec': {'key': 'kernelspec', 'type': 'NotebookKernelSpec'},
25338        'language_info': {'key': 'language_info', 'type': 'NotebookLanguageInfo'},
25339    }
25340
25341    def __init__(
25342        self,
25343        *,
25344        additional_properties: Optional[Dict[str, Any]] = None,
25345        kernelspec: Optional["NotebookKernelSpec"] = None,
25346        language_info: Optional["NotebookLanguageInfo"] = None,
25347        **kwargs
25348    ):
25349        super(NotebookMetadata, self).__init__(**kwargs)
25350        self.additional_properties = additional_properties
25351        self.kernelspec = kernelspec
25352        self.language_info = language_info
25353
25354
25355class NotebookResource(msrest.serialization.Model):
25356    """Notebook resource type.
25357
25358    Variables are only populated by the server, and will be ignored when sending a request.
25359
25360    All required parameters must be populated in order to send to Azure.
25361
25362    :ivar id: Fully qualified resource Id for the resource. Ex -
25363     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
25364    :vartype id: str
25365    :param name: Required. The name of the resource.
25366    :type name: str
25367    :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or
25368     Microsoft.Storage/storageAccounts.
25369    :vartype type: str
25370    :ivar etag: Resource Etag.
25371    :vartype etag: str
25372    :param properties: Required. Properties of Notebook.
25373    :type properties: ~azure.synapse.artifacts.v2020_12_01.models.Notebook
25374    """
25375
25376    _validation = {
25377        'id': {'readonly': True},
25378        'name': {'required': True},
25379        'type': {'readonly': True},
25380        'etag': {'readonly': True},
25381        'properties': {'required': True},
25382    }
25383
25384    _attribute_map = {
25385        'id': {'key': 'id', 'type': 'str'},
25386        'name': {'key': 'name', 'type': 'str'},
25387        'type': {'key': 'type', 'type': 'str'},
25388        'etag': {'key': 'etag', 'type': 'str'},
25389        'properties': {'key': 'properties', 'type': 'Notebook'},
25390    }
25391
25392    def __init__(
25393        self,
25394        *,
25395        name: str,
25396        properties: "Notebook",
25397        **kwargs
25398    ):
25399        super(NotebookResource, self).__init__(**kwargs)
25400        self.id = None
25401        self.name = name
25402        self.type = None
25403        self.etag = None
25404        self.properties = properties
25405
25406
25407class NotebookSessionProperties(msrest.serialization.Model):
25408    """Session properties.
25409
25410    All required parameters must be populated in order to send to Azure.
25411
25412    :param driver_memory: Required. Amount of memory to use for the driver process.
25413    :type driver_memory: str
25414    :param driver_cores: Required. Number of cores to use for the driver.
25415    :type driver_cores: int
25416    :param executor_memory: Required. Amount of memory to use per executor process.
25417    :type executor_memory: str
25418    :param executor_cores: Required. Number of cores to use for each executor.
25419    :type executor_cores: int
25420    :param num_executors: Required. Number of executors to launch for this session.
25421    :type num_executors: int
25422    """
25423
25424    _validation = {
25425        'driver_memory': {'required': True},
25426        'driver_cores': {'required': True},
25427        'executor_memory': {'required': True},
25428        'executor_cores': {'required': True},
25429        'num_executors': {'required': True},
25430    }
25431
25432    _attribute_map = {
25433        'driver_memory': {'key': 'driverMemory', 'type': 'str'},
25434        'driver_cores': {'key': 'driverCores', 'type': 'int'},
25435        'executor_memory': {'key': 'executorMemory', 'type': 'str'},
25436        'executor_cores': {'key': 'executorCores', 'type': 'int'},
25437        'num_executors': {'key': 'numExecutors', 'type': 'int'},
25438    }
25439
25440    def __init__(
25441        self,
25442        *,
25443        driver_memory: str,
25444        driver_cores: int,
25445        executor_memory: str,
25446        executor_cores: int,
25447        num_executors: int,
25448        **kwargs
25449    ):
25450        super(NotebookSessionProperties, self).__init__(**kwargs)
25451        self.driver_memory = driver_memory
25452        self.driver_cores = driver_cores
25453        self.executor_memory = executor_memory
25454        self.executor_cores = executor_cores
25455        self.num_executors = num_executors
25456
25457
25458class ODataLinkedService(LinkedService):
25459    """Open Data Protocol (OData) linked service.
25460
25461    All required parameters must be populated in order to send to Azure.
25462
25463    :param additional_properties: Unmatched properties from the message are deserialized to this
25464     collection.
25465    :type additional_properties: dict[str, any]
25466    :param type: Required. Type of linked service.Constant filled by server.
25467    :type type: str
25468    :param connect_via: The integration runtime reference.
25469    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
25470    :param description: Linked service description.
25471    :type description: str
25472    :param parameters: Parameters for linked service.
25473    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
25474    :param annotations: List of tags that can be used for describing the linked service.
25475    :type annotations: list[any]
25476    :param url: Required. The URL of the OData service endpoint. Type: string (or Expression with
25477     resultType string).
25478    :type url: any
25479    :param authentication_type: Type of authentication used to connect to the OData service.
25480     Possible values include: "Basic", "Anonymous", "Windows", "AadServicePrincipal",
25481     "ManagedServiceIdentity".
25482    :type authentication_type: str or
25483     ~azure.synapse.artifacts.v2020_12_01.models.ODataAuthenticationType
25484    :param user_name: User name of the OData service. Type: string (or Expression with resultType
25485     string).
25486    :type user_name: any
25487    :param password: Password of the OData service.
25488    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
25489    :param tenant: Specify the tenant information (domain name or tenant ID) under which your
25490     application resides. Type: string (or Expression with resultType string).
25491    :type tenant: any
25492    :param service_principal_id: Specify the application id of your application registered in Azure
25493     Active Directory. Type: string (or Expression with resultType string).
25494    :type service_principal_id: any
25495    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
25496     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
25497     factory regions’ cloud type. Type: string (or Expression with resultType string).
25498    :type azure_cloud_type: any
25499    :param aad_resource_id: Specify the resource you are requesting authorization to use Directory.
25500     Type: string (or Expression with resultType string).
25501    :type aad_resource_id: any
25502    :param aad_service_principal_credential_type: Specify the credential type (key or cert) is used
25503     for service principal. Possible values include: "ServicePrincipalKey", "ServicePrincipalCert".
25504    :type aad_service_principal_credential_type: str or
25505     ~azure.synapse.artifacts.v2020_12_01.models.ODataAadServicePrincipalCredentialType
25506    :param service_principal_key: Specify the secret of your application registered in Azure Active
25507     Directory. Type: string (or Expression with resultType string).
25508    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
25509    :param service_principal_embedded_cert: Specify the base64 encoded certificate of your
25510     application registered in Azure Active Directory. Type: string (or Expression with resultType
25511     string).
25512    :type service_principal_embedded_cert: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
25513    :param service_principal_embedded_cert_password: Specify the password of your certificate if
25514     your certificate has a password and you are using AadServicePrincipal authentication. Type:
25515     string (or Expression with resultType string).
25516    :type service_principal_embedded_cert_password:
25517     ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
25518    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
25519     encrypted using the integration runtime credential manager. Type: string (or Expression with
25520     resultType string).
25521    :type encrypted_credential: any
25522    """
25523
25524    _validation = {
25525        'type': {'required': True},
25526        'url': {'required': True},
25527    }
25528
25529    _attribute_map = {
25530        'additional_properties': {'key': '', 'type': '{object}'},
25531        'type': {'key': 'type', 'type': 'str'},
25532        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
25533        'description': {'key': 'description', 'type': 'str'},
25534        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
25535        'annotations': {'key': 'annotations', 'type': '[object]'},
25536        'url': {'key': 'typeProperties.url', 'type': 'object'},
25537        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
25538        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
25539        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
25540        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
25541        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
25542        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
25543        'aad_resource_id': {'key': 'typeProperties.aadResourceId', 'type': 'object'},
25544        'aad_service_principal_credential_type': {'key': 'typeProperties.aadServicePrincipalCredentialType', 'type': 'str'},
25545        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
25546        'service_principal_embedded_cert': {'key': 'typeProperties.servicePrincipalEmbeddedCert', 'type': 'SecretBase'},
25547        'service_principal_embedded_cert_password': {'key': 'typeProperties.servicePrincipalEmbeddedCertPassword', 'type': 'SecretBase'},
25548        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
25549    }
25550
25551    def __init__(
25552        self,
25553        *,
25554        url: Any,
25555        additional_properties: Optional[Dict[str, Any]] = None,
25556        connect_via: Optional["IntegrationRuntimeReference"] = None,
25557        description: Optional[str] = None,
25558        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
25559        annotations: Optional[List[Any]] = None,
25560        authentication_type: Optional[Union[str, "ODataAuthenticationType"]] = None,
25561        user_name: Optional[Any] = None,
25562        password: Optional["SecretBase"] = None,
25563        tenant: Optional[Any] = None,
25564        service_principal_id: Optional[Any] = None,
25565        azure_cloud_type: Optional[Any] = None,
25566        aad_resource_id: Optional[Any] = None,
25567        aad_service_principal_credential_type: Optional[Union[str, "ODataAadServicePrincipalCredentialType"]] = None,
25568        service_principal_key: Optional["SecretBase"] = None,
25569        service_principal_embedded_cert: Optional["SecretBase"] = None,
25570        service_principal_embedded_cert_password: Optional["SecretBase"] = None,
25571        encrypted_credential: Optional[Any] = None,
25572        **kwargs
25573    ):
25574        super(ODataLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
25575        self.type = 'OData'  # type: str
25576        self.url = url
25577        self.authentication_type = authentication_type
25578        self.user_name = user_name
25579        self.password = password
25580        self.tenant = tenant
25581        self.service_principal_id = service_principal_id
25582        self.azure_cloud_type = azure_cloud_type
25583        self.aad_resource_id = aad_resource_id
25584        self.aad_service_principal_credential_type = aad_service_principal_credential_type
25585        self.service_principal_key = service_principal_key
25586        self.service_principal_embedded_cert = service_principal_embedded_cert
25587        self.service_principal_embedded_cert_password = service_principal_embedded_cert_password
25588        self.encrypted_credential = encrypted_credential
25589
25590
25591class ODataResourceDataset(Dataset):
25592    """The Open Data Protocol (OData) resource dataset.
25593
25594    All required parameters must be populated in order to send to Azure.
25595
25596    :param additional_properties: Unmatched properties from the message are deserialized to this
25597     collection.
25598    :type additional_properties: dict[str, any]
25599    :param type: Required. Type of dataset.Constant filled by server.
25600    :type type: str
25601    :param description: Dataset description.
25602    :type description: str
25603    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
25604     with resultType array), itemType: DatasetDataElement.
25605    :type structure: any
25606    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
25607     Expression with resultType array), itemType: DatasetSchemaDataElement.
25608    :type schema: any
25609    :param linked_service_name: Required. Linked service reference.
25610    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
25611    :param parameters: Parameters for dataset.
25612    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
25613    :param annotations: List of tags that can be used for describing the Dataset.
25614    :type annotations: list[any]
25615    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
25616     root level.
25617    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
25618    :param path: The OData resource path. Type: string (or Expression with resultType string).
25619    :type path: any
25620    """
25621
25622    _validation = {
25623        'type': {'required': True},
25624        'linked_service_name': {'required': True},
25625    }
25626
25627    _attribute_map = {
25628        'additional_properties': {'key': '', 'type': '{object}'},
25629        'type': {'key': 'type', 'type': 'str'},
25630        'description': {'key': 'description', 'type': 'str'},
25631        'structure': {'key': 'structure', 'type': 'object'},
25632        'schema': {'key': 'schema', 'type': 'object'},
25633        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
25634        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
25635        'annotations': {'key': 'annotations', 'type': '[object]'},
25636        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
25637        'path': {'key': 'typeProperties.path', 'type': 'object'},
25638    }
25639
25640    def __init__(
25641        self,
25642        *,
25643        linked_service_name: "LinkedServiceReference",
25644        additional_properties: Optional[Dict[str, Any]] = None,
25645        description: Optional[str] = None,
25646        structure: Optional[Any] = None,
25647        schema: Optional[Any] = None,
25648        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
25649        annotations: Optional[List[Any]] = None,
25650        folder: Optional["DatasetFolder"] = None,
25651        path: Optional[Any] = None,
25652        **kwargs
25653    ):
25654        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)
25655        self.type = 'ODataResource'  # type: str
25656        self.path = path
25657
25658
25659class ODataSource(CopySource):
25660    """A copy activity source for OData source.
25661
25662    All required parameters must be populated in order to send to Azure.
25663
25664    :param additional_properties: Unmatched properties from the message are deserialized to this
25665     collection.
25666    :type additional_properties: dict[str, any]
25667    :param type: Required. Copy source type.Constant filled by server.
25668    :type type: str
25669    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
25670     integer).
25671    :type source_retry_count: any
25672    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
25673     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
25674    :type source_retry_wait: any
25675    :param max_concurrent_connections: The maximum concurrent connection count for the source data
25676     store. Type: integer (or Expression with resultType integer).
25677    :type max_concurrent_connections: any
25678    :param query: OData query. For example, "$top=1". Type: string (or Expression with resultType
25679     string).
25680    :type query: any
25681    :param http_request_timeout: The timeout (TimeSpan) to get an HTTP response. It is the timeout
25682     to get a response, not the timeout to read response data. Default value: 00:05:00. Type: string
25683     (or Expression with resultType string), pattern:
25684     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
25685    :type http_request_timeout: any
25686    :param additional_columns: Specifies the additional columns to be added to source data. Type:
25687     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
25688    :type additional_columns: any
25689    """
25690
25691    _validation = {
25692        'type': {'required': True},
25693    }
25694
25695    _attribute_map = {
25696        'additional_properties': {'key': '', 'type': '{object}'},
25697        'type': {'key': 'type', 'type': 'str'},
25698        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
25699        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
25700        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
25701        'query': {'key': 'query', 'type': 'object'},
25702        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
25703        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
25704    }
25705
25706    def __init__(
25707        self,
25708        *,
25709        additional_properties: Optional[Dict[str, Any]] = None,
25710        source_retry_count: Optional[Any] = None,
25711        source_retry_wait: Optional[Any] = None,
25712        max_concurrent_connections: Optional[Any] = None,
25713        query: Optional[Any] = None,
25714        http_request_timeout: Optional[Any] = None,
25715        additional_columns: Optional[Any] = None,
25716        **kwargs
25717    ):
25718        super(ODataSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
25719        self.type = 'ODataSource'  # type: str
25720        self.query = query
25721        self.http_request_timeout = http_request_timeout
25722        self.additional_columns = additional_columns
25723
25724
25725class OdbcLinkedService(LinkedService):
25726    """Open Database Connectivity (ODBC) linked service.
25727
25728    All required parameters must be populated in order to send to Azure.
25729
25730    :param additional_properties: Unmatched properties from the message are deserialized to this
25731     collection.
25732    :type additional_properties: dict[str, any]
25733    :param type: Required. Type of linked service.Constant filled by server.
25734    :type type: str
25735    :param connect_via: The integration runtime reference.
25736    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
25737    :param description: Linked service description.
25738    :type description: str
25739    :param parameters: Parameters for linked service.
25740    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
25741    :param annotations: List of tags that can be used for describing the linked service.
25742    :type annotations: list[any]
25743    :param connection_string: Required. The non-access credential portion of the connection string
25744     as well as an optional encrypted credential. Type: string, SecureString or
25745     AzureKeyVaultSecretReference.
25746    :type connection_string: any
25747    :param authentication_type: Type of authentication used to connect to the ODBC data store.
25748     Possible values are: Anonymous and Basic. Type: string (or Expression with resultType string).
25749    :type authentication_type: any
25750    :param credential: The access credential portion of the connection string specified in
25751     driver-specific property-value format.
25752    :type credential: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
25753    :param user_name: User name for Basic authentication. Type: string (or Expression with
25754     resultType string).
25755    :type user_name: any
25756    :param password: Password for Basic authentication.
25757    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
25758    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
25759     encrypted using the integration runtime credential manager. Type: string (or Expression with
25760     resultType string).
25761    :type encrypted_credential: any
25762    """
25763
25764    _validation = {
25765        'type': {'required': True},
25766        'connection_string': {'required': True},
25767    }
25768
25769    _attribute_map = {
25770        'additional_properties': {'key': '', 'type': '{object}'},
25771        'type': {'key': 'type', 'type': 'str'},
25772        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
25773        'description': {'key': 'description', 'type': 'str'},
25774        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
25775        'annotations': {'key': 'annotations', 'type': '[object]'},
25776        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
25777        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'},
25778        'credential': {'key': 'typeProperties.credential', 'type': 'SecretBase'},
25779        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
25780        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
25781        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
25782    }
25783
25784    def __init__(
25785        self,
25786        *,
25787        connection_string: Any,
25788        additional_properties: Optional[Dict[str, Any]] = None,
25789        connect_via: Optional["IntegrationRuntimeReference"] = None,
25790        description: Optional[str] = None,
25791        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
25792        annotations: Optional[List[Any]] = None,
25793        authentication_type: Optional[Any] = None,
25794        credential: Optional["SecretBase"] = None,
25795        user_name: Optional[Any] = None,
25796        password: Optional["SecretBase"] = None,
25797        encrypted_credential: Optional[Any] = None,
25798        **kwargs
25799    ):
25800        super(OdbcLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
25801        self.type = 'Odbc'  # type: str
25802        self.connection_string = connection_string
25803        self.authentication_type = authentication_type
25804        self.credential = credential
25805        self.user_name = user_name
25806        self.password = password
25807        self.encrypted_credential = encrypted_credential
25808
25809
25810class OdbcSink(CopySink):
25811    """A copy activity ODBC sink.
25812
25813    All required parameters must be populated in order to send to Azure.
25814
25815    :param additional_properties: Unmatched properties from the message are deserialized to this
25816     collection.
25817    :type additional_properties: dict[str, any]
25818    :param type: Required. Copy sink type.Constant filled by server.
25819    :type type: str
25820    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
25821     integer), minimum: 0.
25822    :type write_batch_size: any
25823    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
25824     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
25825    :type write_batch_timeout: any
25826    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
25827     integer).
25828    :type sink_retry_count: any
25829    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
25830     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
25831    :type sink_retry_wait: any
25832    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
25833     store. Type: integer (or Expression with resultType integer).
25834    :type max_concurrent_connections: any
25835    :param pre_copy_script: A query to execute before starting the copy. Type: string (or
25836     Expression with resultType string).
25837    :type pre_copy_script: any
25838    """
25839
25840    _validation = {
25841        'type': {'required': True},
25842    }
25843
25844    _attribute_map = {
25845        'additional_properties': {'key': '', 'type': '{object}'},
25846        'type': {'key': 'type', 'type': 'str'},
25847        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
25848        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
25849        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
25850        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
25851        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
25852        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
25853    }
25854
25855    def __init__(
25856        self,
25857        *,
25858        additional_properties: Optional[Dict[str, Any]] = None,
25859        write_batch_size: Optional[Any] = None,
25860        write_batch_timeout: Optional[Any] = None,
25861        sink_retry_count: Optional[Any] = None,
25862        sink_retry_wait: Optional[Any] = None,
25863        max_concurrent_connections: Optional[Any] = None,
25864        pre_copy_script: Optional[Any] = None,
25865        **kwargs
25866    ):
25867        super(OdbcSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
25868        self.type = 'OdbcSink'  # type: str
25869        self.pre_copy_script = pre_copy_script
25870
25871
25872class OdbcSource(TabularSource):
25873    """A copy activity source for ODBC databases.
25874
25875    All required parameters must be populated in order to send to Azure.
25876
25877    :param additional_properties: Unmatched properties from the message are deserialized to this
25878     collection.
25879    :type additional_properties: dict[str, any]
25880    :param type: Required. Copy source type.Constant filled by server.
25881    :type type: str
25882    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
25883     integer).
25884    :type source_retry_count: any
25885    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
25886     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
25887    :type source_retry_wait: any
25888    :param max_concurrent_connections: The maximum concurrent connection count for the source data
25889     store. Type: integer (or Expression with resultType integer).
25890    :type max_concurrent_connections: any
25891    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
25892     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
25893    :type query_timeout: any
25894    :param additional_columns: Specifies the additional columns to be added to source data. Type:
25895     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
25896    :type additional_columns: any
25897    :param query: Database query. Type: string (or Expression with resultType string).
25898    :type query: any
25899    """
25900
25901    _validation = {
25902        'type': {'required': True},
25903    }
25904
25905    _attribute_map = {
25906        'additional_properties': {'key': '', 'type': '{object}'},
25907        'type': {'key': 'type', 'type': 'str'},
25908        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
25909        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
25910        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
25911        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
25912        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
25913        'query': {'key': 'query', 'type': 'object'},
25914    }
25915
25916    def __init__(
25917        self,
25918        *,
25919        additional_properties: Optional[Dict[str, Any]] = None,
25920        source_retry_count: Optional[Any] = None,
25921        source_retry_wait: Optional[Any] = None,
25922        max_concurrent_connections: Optional[Any] = None,
25923        query_timeout: Optional[Any] = None,
25924        additional_columns: Optional[Any] = None,
25925        query: Optional[Any] = None,
25926        **kwargs
25927    ):
25928        super(OdbcSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
25929        self.type = 'OdbcSource'  # type: str
25930        self.query = query
25931
25932
25933class OdbcTableDataset(Dataset):
25934    """The ODBC table dataset.
25935
25936    All required parameters must be populated in order to send to Azure.
25937
25938    :param additional_properties: Unmatched properties from the message are deserialized to this
25939     collection.
25940    :type additional_properties: dict[str, any]
25941    :param type: Required. Type of dataset.Constant filled by server.
25942    :type type: str
25943    :param description: Dataset description.
25944    :type description: str
25945    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
25946     with resultType array), itemType: DatasetDataElement.
25947    :type structure: any
25948    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
25949     Expression with resultType array), itemType: DatasetSchemaDataElement.
25950    :type schema: any
25951    :param linked_service_name: Required. Linked service reference.
25952    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
25953    :param parameters: Parameters for dataset.
25954    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
25955    :param annotations: List of tags that can be used for describing the Dataset.
25956    :type annotations: list[any]
25957    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
25958     root level.
25959    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
25960    :param table_name: The ODBC table name. Type: string (or Expression with resultType string).
25961    :type table_name: any
25962    """
25963
25964    _validation = {
25965        'type': {'required': True},
25966        'linked_service_name': {'required': True},
25967    }
25968
25969    _attribute_map = {
25970        'additional_properties': {'key': '', 'type': '{object}'},
25971        'type': {'key': 'type', 'type': 'str'},
25972        'description': {'key': 'description', 'type': 'str'},
25973        'structure': {'key': 'structure', 'type': 'object'},
25974        'schema': {'key': 'schema', 'type': 'object'},
25975        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
25976        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
25977        'annotations': {'key': 'annotations', 'type': '[object]'},
25978        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
25979        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
25980    }
25981
25982    def __init__(
25983        self,
25984        *,
25985        linked_service_name: "LinkedServiceReference",
25986        additional_properties: Optional[Dict[str, Any]] = None,
25987        description: Optional[str] = None,
25988        structure: Optional[Any] = None,
25989        schema: Optional[Any] = None,
25990        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
25991        annotations: Optional[List[Any]] = None,
25992        folder: Optional["DatasetFolder"] = None,
25993        table_name: Optional[Any] = None,
25994        **kwargs
25995    ):
25996        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)
25997        self.type = 'OdbcTable'  # type: str
25998        self.table_name = table_name
25999
26000
26001class Office365Dataset(Dataset):
26002    """The Office365 account.
26003
26004    All required parameters must be populated in order to send to Azure.
26005
26006    :param additional_properties: Unmatched properties from the message are deserialized to this
26007     collection.
26008    :type additional_properties: dict[str, any]
26009    :param type: Required. Type of dataset.Constant filled by server.
26010    :type type: str
26011    :param description: Dataset description.
26012    :type description: str
26013    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
26014     with resultType array), itemType: DatasetDataElement.
26015    :type structure: any
26016    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
26017     Expression with resultType array), itemType: DatasetSchemaDataElement.
26018    :type schema: any
26019    :param linked_service_name: Required. Linked service reference.
26020    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
26021    :param parameters: Parameters for dataset.
26022    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
26023    :param annotations: List of tags that can be used for describing the Dataset.
26024    :type annotations: list[any]
26025    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
26026     root level.
26027    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
26028    :param table_name: Required. Name of the dataset to extract from Office 365. Type: string (or
26029     Expression with resultType string).
26030    :type table_name: any
26031    :param predicate: A predicate expression that can be used to filter the specific rows to
26032     extract from Office 365. Type: string (or Expression with resultType string).
26033    :type predicate: any
26034    """
26035
26036    _validation = {
26037        'type': {'required': True},
26038        'linked_service_name': {'required': True},
26039        'table_name': {'required': True},
26040    }
26041
26042    _attribute_map = {
26043        'additional_properties': {'key': '', 'type': '{object}'},
26044        'type': {'key': 'type', 'type': 'str'},
26045        'description': {'key': 'description', 'type': 'str'},
26046        'structure': {'key': 'structure', 'type': 'object'},
26047        'schema': {'key': 'schema', 'type': 'object'},
26048        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
26049        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
26050        'annotations': {'key': 'annotations', 'type': '[object]'},
26051        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
26052        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
26053        'predicate': {'key': 'typeProperties.predicate', 'type': 'object'},
26054    }
26055
26056    def __init__(
26057        self,
26058        *,
26059        linked_service_name: "LinkedServiceReference",
26060        table_name: Any,
26061        additional_properties: Optional[Dict[str, Any]] = None,
26062        description: Optional[str] = None,
26063        structure: Optional[Any] = None,
26064        schema: Optional[Any] = None,
26065        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
26066        annotations: Optional[List[Any]] = None,
26067        folder: Optional["DatasetFolder"] = None,
26068        predicate: Optional[Any] = None,
26069        **kwargs
26070    ):
26071        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)
26072        self.type = 'Office365Table'  # type: str
26073        self.table_name = table_name
26074        self.predicate = predicate
26075
26076
26077class Office365LinkedService(LinkedService):
26078    """Office365 linked service.
26079
26080    All required parameters must be populated in order to send to Azure.
26081
26082    :param additional_properties: Unmatched properties from the message are deserialized to this
26083     collection.
26084    :type additional_properties: dict[str, any]
26085    :param type: Required. Type of linked service.Constant filled by server.
26086    :type type: str
26087    :param connect_via: The integration runtime reference.
26088    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
26089    :param description: Linked service description.
26090    :type description: str
26091    :param parameters: Parameters for linked service.
26092    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
26093    :param annotations: List of tags that can be used for describing the linked service.
26094    :type annotations: list[any]
26095    :param office365_tenant_id: Required. Azure tenant ID to which the Office 365 account belongs.
26096     Type: string (or Expression with resultType string).
26097    :type office365_tenant_id: any
26098    :param service_principal_tenant_id: Required. Specify the tenant information under which your
26099     Azure AD web application resides. Type: string (or Expression with resultType string).
26100    :type service_principal_tenant_id: any
26101    :param service_principal_id: Required. Specify the application's client ID. Type: string (or
26102     Expression with resultType string).
26103    :type service_principal_id: any
26104    :param service_principal_key: Required. Specify the application's key.
26105    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
26106    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
26107     encrypted using the integration runtime credential manager. Type: string (or Expression with
26108     resultType string).
26109    :type encrypted_credential: any
26110    """
26111
26112    _validation = {
26113        'type': {'required': True},
26114        'office365_tenant_id': {'required': True},
26115        'service_principal_tenant_id': {'required': True},
26116        'service_principal_id': {'required': True},
26117        'service_principal_key': {'required': True},
26118    }
26119
26120    _attribute_map = {
26121        'additional_properties': {'key': '', 'type': '{object}'},
26122        'type': {'key': 'type', 'type': 'str'},
26123        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
26124        'description': {'key': 'description', 'type': 'str'},
26125        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
26126        'annotations': {'key': 'annotations', 'type': '[object]'},
26127        'office365_tenant_id': {'key': 'typeProperties.office365TenantId', 'type': 'object'},
26128        'service_principal_tenant_id': {'key': 'typeProperties.servicePrincipalTenantId', 'type': 'object'},
26129        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
26130        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
26131        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
26132    }
26133
26134    def __init__(
26135        self,
26136        *,
26137        office365_tenant_id: Any,
26138        service_principal_tenant_id: Any,
26139        service_principal_id: Any,
26140        service_principal_key: "SecretBase",
26141        additional_properties: Optional[Dict[str, Any]] = None,
26142        connect_via: Optional["IntegrationRuntimeReference"] = None,
26143        description: Optional[str] = None,
26144        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
26145        annotations: Optional[List[Any]] = None,
26146        encrypted_credential: Optional[Any] = None,
26147        **kwargs
26148    ):
26149        super(Office365LinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
26150        self.type = 'Office365'  # type: str
26151        self.office365_tenant_id = office365_tenant_id
26152        self.service_principal_tenant_id = service_principal_tenant_id
26153        self.service_principal_id = service_principal_id
26154        self.service_principal_key = service_principal_key
26155        self.encrypted_credential = encrypted_credential
26156
26157
26158class Office365Source(CopySource):
26159    """A copy activity source for an Office 365 service.
26160
26161    All required parameters must be populated in order to send to Azure.
26162
26163    :param additional_properties: Unmatched properties from the message are deserialized to this
26164     collection.
26165    :type additional_properties: dict[str, any]
26166    :param type: Required. Copy source type.Constant filled by server.
26167    :type type: str
26168    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
26169     integer).
26170    :type source_retry_count: any
26171    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
26172     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26173    :type source_retry_wait: any
26174    :param max_concurrent_connections: The maximum concurrent connection count for the source data
26175     store. Type: integer (or Expression with resultType integer).
26176    :type max_concurrent_connections: any
26177    :param allowed_groups: The groups containing all the users. Type: array of strings (or
26178     Expression with resultType array of strings).
26179    :type allowed_groups: any
26180    :param user_scope_filter_uri: The user scope uri. Type: string (or Expression with resultType
26181     string).
26182    :type user_scope_filter_uri: any
26183    :param date_filter_column: The Column to apply the :code:`<paramref name="StartTime"/>` and
26184     :code:`<paramref name="EndTime"/>`. Type: string (or Expression with resultType string).
26185    :type date_filter_column: any
26186    :param start_time: Start time of the requested range for this dataset. Type: string (or
26187     Expression with resultType string).
26188    :type start_time: any
26189    :param end_time: End time of the requested range for this dataset. Type: string (or Expression
26190     with resultType string).
26191    :type end_time: any
26192    :param output_columns: The columns to be read out from the Office 365 table. Type: array of
26193     objects (or Expression with resultType array of objects). Example: [ { "name": "Id" }, {
26194     "name": "CreatedDateTime" } ].
26195    :type output_columns: any
26196    """
26197
26198    _validation = {
26199        'type': {'required': True},
26200    }
26201
26202    _attribute_map = {
26203        'additional_properties': {'key': '', 'type': '{object}'},
26204        'type': {'key': 'type', 'type': 'str'},
26205        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
26206        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
26207        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
26208        'allowed_groups': {'key': 'allowedGroups', 'type': 'object'},
26209        'user_scope_filter_uri': {'key': 'userScopeFilterUri', 'type': 'object'},
26210        'date_filter_column': {'key': 'dateFilterColumn', 'type': 'object'},
26211        'start_time': {'key': 'startTime', 'type': 'object'},
26212        'end_time': {'key': 'endTime', 'type': 'object'},
26213        'output_columns': {'key': 'outputColumns', 'type': 'object'},
26214    }
26215
26216    def __init__(
26217        self,
26218        *,
26219        additional_properties: Optional[Dict[str, Any]] = None,
26220        source_retry_count: Optional[Any] = None,
26221        source_retry_wait: Optional[Any] = None,
26222        max_concurrent_connections: Optional[Any] = None,
26223        allowed_groups: Optional[Any] = None,
26224        user_scope_filter_uri: Optional[Any] = None,
26225        date_filter_column: Optional[Any] = None,
26226        start_time: Optional[Any] = None,
26227        end_time: Optional[Any] = None,
26228        output_columns: Optional[Any] = None,
26229        **kwargs
26230    ):
26231        super(Office365Source, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
26232        self.type = 'Office365Source'  # type: str
26233        self.allowed_groups = allowed_groups
26234        self.user_scope_filter_uri = user_scope_filter_uri
26235        self.date_filter_column = date_filter_column
26236        self.start_time = start_time
26237        self.end_time = end_time
26238        self.output_columns = output_columns
26239
26240
26241class OperationResult(msrest.serialization.Model):
26242    """Operation status for the operation.
26243
26244    Variables are only populated by the server, and will be ignored when sending a request.
26245
26246    :ivar status: Operation status.
26247    :vartype status: str
26248    :param code: Error code.
26249    :type code: str
26250    :param message: Error message.
26251    :type message: str
26252    :param target: Property name/path in request associated with error.
26253    :type target: str
26254    :param details: Array with additional error details.
26255    :type details: list[~azure.synapse.artifacts.v2020_12_01.models.CloudError]
26256    """
26257
26258    _validation = {
26259        'status': {'readonly': True},
26260    }
26261
26262    _attribute_map = {
26263        'status': {'key': 'status', 'type': 'str'},
26264        'code': {'key': 'error.code', 'type': 'str'},
26265        'message': {'key': 'error.message', 'type': 'str'},
26266        'target': {'key': 'error.target', 'type': 'str'},
26267        'details': {'key': 'error.details', 'type': '[CloudError]'},
26268    }
26269
26270    def __init__(
26271        self,
26272        *,
26273        code: Optional[str] = None,
26274        message: Optional[str] = None,
26275        target: Optional[str] = None,
26276        details: Optional[List["CloudError"]] = None,
26277        **kwargs
26278    ):
26279        super(OperationResult, self).__init__(**kwargs)
26280        self.status = None
26281        self.code = code
26282        self.message = message
26283        self.target = target
26284        self.details = details
26285
26286
26287class OracleLinkedService(LinkedService):
26288    """Oracle database.
26289
26290    All required parameters must be populated in order to send to Azure.
26291
26292    :param additional_properties: Unmatched properties from the message are deserialized to this
26293     collection.
26294    :type additional_properties: dict[str, any]
26295    :param type: Required. Type of linked service.Constant filled by server.
26296    :type type: str
26297    :param connect_via: The integration runtime reference.
26298    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
26299    :param description: Linked service description.
26300    :type description: str
26301    :param parameters: Parameters for linked service.
26302    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
26303    :param annotations: List of tags that can be used for describing the linked service.
26304    :type annotations: list[any]
26305    :param connection_string: Required. The connection string. Type: string, SecureString or
26306     AzureKeyVaultSecretReference.
26307    :type connection_string: any
26308    :param password: The Azure key vault secret reference of password in connection string.
26309    :type password: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
26310    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
26311     encrypted using the integration runtime credential manager. Type: string (or Expression with
26312     resultType string).
26313    :type encrypted_credential: any
26314    """
26315
26316    _validation = {
26317        'type': {'required': True},
26318        'connection_string': {'required': True},
26319    }
26320
26321    _attribute_map = {
26322        'additional_properties': {'key': '', 'type': '{object}'},
26323        'type': {'key': 'type', 'type': 'str'},
26324        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
26325        'description': {'key': 'description', 'type': 'str'},
26326        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
26327        'annotations': {'key': 'annotations', 'type': '[object]'},
26328        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
26329        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
26330        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
26331    }
26332
26333    def __init__(
26334        self,
26335        *,
26336        connection_string: Any,
26337        additional_properties: Optional[Dict[str, Any]] = None,
26338        connect_via: Optional["IntegrationRuntimeReference"] = None,
26339        description: Optional[str] = None,
26340        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
26341        annotations: Optional[List[Any]] = None,
26342        password: Optional["AzureKeyVaultSecretReference"] = None,
26343        encrypted_credential: Optional[Any] = None,
26344        **kwargs
26345    ):
26346        super(OracleLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
26347        self.type = 'Oracle'  # type: str
26348        self.connection_string = connection_string
26349        self.password = password
26350        self.encrypted_credential = encrypted_credential
26351
26352
26353class OraclePartitionSettings(msrest.serialization.Model):
26354    """The settings that will be leveraged for Oracle source partitioning.
26355
26356    :param partition_names: Names of the physical partitions of Oracle table.
26357    :type partition_names: any
26358    :param partition_column_name: The name of the column in integer type that will be used for
26359     proceeding range partitioning. Type: string (or Expression with resultType string).
26360    :type partition_column_name: any
26361    :param partition_upper_bound: The maximum value of column specified in partitionColumnName that
26362     will be used for proceeding range partitioning. Type: string (or Expression with resultType
26363     string).
26364    :type partition_upper_bound: any
26365    :param partition_lower_bound: The minimum value of column specified in partitionColumnName that
26366     will be used for proceeding range partitioning. Type: string (or Expression with resultType
26367     string).
26368    :type partition_lower_bound: any
26369    """
26370
26371    _attribute_map = {
26372        'partition_names': {'key': 'partitionNames', 'type': 'object'},
26373        'partition_column_name': {'key': 'partitionColumnName', 'type': 'object'},
26374        'partition_upper_bound': {'key': 'partitionUpperBound', 'type': 'object'},
26375        'partition_lower_bound': {'key': 'partitionLowerBound', 'type': 'object'},
26376    }
26377
26378    def __init__(
26379        self,
26380        *,
26381        partition_names: Optional[Any] = None,
26382        partition_column_name: Optional[Any] = None,
26383        partition_upper_bound: Optional[Any] = None,
26384        partition_lower_bound: Optional[Any] = None,
26385        **kwargs
26386    ):
26387        super(OraclePartitionSettings, self).__init__(**kwargs)
26388        self.partition_names = partition_names
26389        self.partition_column_name = partition_column_name
26390        self.partition_upper_bound = partition_upper_bound
26391        self.partition_lower_bound = partition_lower_bound
26392
26393
26394class OracleServiceCloudLinkedService(LinkedService):
26395    """Oracle Service Cloud linked service.
26396
26397    All required parameters must be populated in order to send to Azure.
26398
26399    :param additional_properties: Unmatched properties from the message are deserialized to this
26400     collection.
26401    :type additional_properties: dict[str, any]
26402    :param type: Required. Type of linked service.Constant filled by server.
26403    :type type: str
26404    :param connect_via: The integration runtime reference.
26405    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
26406    :param description: Linked service description.
26407    :type description: str
26408    :param parameters: Parameters for linked service.
26409    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
26410    :param annotations: List of tags that can be used for describing the linked service.
26411    :type annotations: list[any]
26412    :param host: Required. The URL of the Oracle Service Cloud instance.
26413    :type host: any
26414    :param username: Required. The user name that you use to access Oracle Service Cloud server.
26415    :type username: any
26416    :param password: Required. The password corresponding to the user name that you provided in the
26417     username key.
26418    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
26419    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
26420     HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
26421    :type use_encrypted_endpoints: any
26422    :param use_host_verification: Specifies whether to require the host name in the server's
26423     certificate to match the host name of the server when connecting over SSL. The default value is
26424     true. Type: boolean (or Expression with resultType boolean).
26425    :type use_host_verification: any
26426    :param use_peer_verification: Specifies whether to verify the identity of the server when
26427     connecting over SSL. The default value is true. Type: boolean (or Expression with resultType
26428     boolean).
26429    :type use_peer_verification: any
26430    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
26431     encrypted using the integration runtime credential manager. Type: string (or Expression with
26432     resultType string).
26433    :type encrypted_credential: any
26434    """
26435
26436    _validation = {
26437        'type': {'required': True},
26438        'host': {'required': True},
26439        'username': {'required': True},
26440        'password': {'required': True},
26441    }
26442
26443    _attribute_map = {
26444        'additional_properties': {'key': '', 'type': '{object}'},
26445        'type': {'key': 'type', 'type': 'str'},
26446        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
26447        'description': {'key': 'description', 'type': 'str'},
26448        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
26449        'annotations': {'key': 'annotations', 'type': '[object]'},
26450        'host': {'key': 'typeProperties.host', 'type': 'object'},
26451        'username': {'key': 'typeProperties.username', 'type': 'object'},
26452        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
26453        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
26454        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
26455        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
26456        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
26457    }
26458
26459    def __init__(
26460        self,
26461        *,
26462        host: Any,
26463        username: Any,
26464        password: "SecretBase",
26465        additional_properties: Optional[Dict[str, Any]] = None,
26466        connect_via: Optional["IntegrationRuntimeReference"] = None,
26467        description: Optional[str] = None,
26468        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
26469        annotations: Optional[List[Any]] = None,
26470        use_encrypted_endpoints: Optional[Any] = None,
26471        use_host_verification: Optional[Any] = None,
26472        use_peer_verification: Optional[Any] = None,
26473        encrypted_credential: Optional[Any] = None,
26474        **kwargs
26475    ):
26476        super(OracleServiceCloudLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
26477        self.type = 'OracleServiceCloud'  # type: str
26478        self.host = host
26479        self.username = username
26480        self.password = password
26481        self.use_encrypted_endpoints = use_encrypted_endpoints
26482        self.use_host_verification = use_host_verification
26483        self.use_peer_verification = use_peer_verification
26484        self.encrypted_credential = encrypted_credential
26485
26486
26487class OracleServiceCloudObjectDataset(Dataset):
26488    """Oracle Service Cloud dataset.
26489
26490    All required parameters must be populated in order to send to Azure.
26491
26492    :param additional_properties: Unmatched properties from the message are deserialized to this
26493     collection.
26494    :type additional_properties: dict[str, any]
26495    :param type: Required. Type of dataset.Constant filled by server.
26496    :type type: str
26497    :param description: Dataset description.
26498    :type description: str
26499    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
26500     with resultType array), itemType: DatasetDataElement.
26501    :type structure: any
26502    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
26503     Expression with resultType array), itemType: DatasetSchemaDataElement.
26504    :type schema: any
26505    :param linked_service_name: Required. Linked service reference.
26506    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
26507    :param parameters: Parameters for dataset.
26508    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
26509    :param annotations: List of tags that can be used for describing the Dataset.
26510    :type annotations: list[any]
26511    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
26512     root level.
26513    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
26514    :param table_name: The table name. Type: string (or Expression with resultType string).
26515    :type table_name: any
26516    """
26517
26518    _validation = {
26519        'type': {'required': True},
26520        'linked_service_name': {'required': True},
26521    }
26522
26523    _attribute_map = {
26524        'additional_properties': {'key': '', 'type': '{object}'},
26525        'type': {'key': 'type', 'type': 'str'},
26526        'description': {'key': 'description', 'type': 'str'},
26527        'structure': {'key': 'structure', 'type': 'object'},
26528        'schema': {'key': 'schema', 'type': 'object'},
26529        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
26530        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
26531        'annotations': {'key': 'annotations', 'type': '[object]'},
26532        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
26533        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
26534    }
26535
26536    def __init__(
26537        self,
26538        *,
26539        linked_service_name: "LinkedServiceReference",
26540        additional_properties: Optional[Dict[str, Any]] = None,
26541        description: Optional[str] = None,
26542        structure: Optional[Any] = None,
26543        schema: Optional[Any] = None,
26544        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
26545        annotations: Optional[List[Any]] = None,
26546        folder: Optional["DatasetFolder"] = None,
26547        table_name: Optional[Any] = None,
26548        **kwargs
26549    ):
26550        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)
26551        self.type = 'OracleServiceCloudObject'  # type: str
26552        self.table_name = table_name
26553
26554
26555class OracleServiceCloudSource(TabularSource):
26556    """A copy activity Oracle Service Cloud source.
26557
26558    All required parameters must be populated in order to send to Azure.
26559
26560    :param additional_properties: Unmatched properties from the message are deserialized to this
26561     collection.
26562    :type additional_properties: dict[str, any]
26563    :param type: Required. Copy source type.Constant filled by server.
26564    :type type: str
26565    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
26566     integer).
26567    :type source_retry_count: any
26568    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
26569     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26570    :type source_retry_wait: any
26571    :param max_concurrent_connections: The maximum concurrent connection count for the source data
26572     store. Type: integer (or Expression with resultType integer).
26573    :type max_concurrent_connections: any
26574    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
26575     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26576    :type query_timeout: any
26577    :param additional_columns: Specifies the additional columns to be added to source data. Type:
26578     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
26579    :type additional_columns: any
26580    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
26581     string).
26582    :type query: any
26583    """
26584
26585    _validation = {
26586        'type': {'required': True},
26587    }
26588
26589    _attribute_map = {
26590        'additional_properties': {'key': '', 'type': '{object}'},
26591        'type': {'key': 'type', 'type': 'str'},
26592        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
26593        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
26594        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
26595        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
26596        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
26597        'query': {'key': 'query', 'type': 'object'},
26598    }
26599
26600    def __init__(
26601        self,
26602        *,
26603        additional_properties: Optional[Dict[str, Any]] = None,
26604        source_retry_count: Optional[Any] = None,
26605        source_retry_wait: Optional[Any] = None,
26606        max_concurrent_connections: Optional[Any] = None,
26607        query_timeout: Optional[Any] = None,
26608        additional_columns: Optional[Any] = None,
26609        query: Optional[Any] = None,
26610        **kwargs
26611    ):
26612        super(OracleServiceCloudSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
26613        self.type = 'OracleServiceCloudSource'  # type: str
26614        self.query = query
26615
26616
26617class OracleSink(CopySink):
26618    """A copy activity Oracle sink.
26619
26620    All required parameters must be populated in order to send to Azure.
26621
26622    :param additional_properties: Unmatched properties from the message are deserialized to this
26623     collection.
26624    :type additional_properties: dict[str, any]
26625    :param type: Required. Copy sink type.Constant filled by server.
26626    :type type: str
26627    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
26628     integer), minimum: 0.
26629    :type write_batch_size: any
26630    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
26631     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26632    :type write_batch_timeout: any
26633    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
26634     integer).
26635    :type sink_retry_count: any
26636    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
26637     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26638    :type sink_retry_wait: any
26639    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
26640     store. Type: integer (or Expression with resultType integer).
26641    :type max_concurrent_connections: any
26642    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
26643     string).
26644    :type pre_copy_script: any
26645    """
26646
26647    _validation = {
26648        'type': {'required': True},
26649    }
26650
26651    _attribute_map = {
26652        'additional_properties': {'key': '', 'type': '{object}'},
26653        'type': {'key': 'type', 'type': 'str'},
26654        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
26655        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
26656        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
26657        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
26658        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
26659        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
26660    }
26661
26662    def __init__(
26663        self,
26664        *,
26665        additional_properties: Optional[Dict[str, Any]] = None,
26666        write_batch_size: Optional[Any] = None,
26667        write_batch_timeout: Optional[Any] = None,
26668        sink_retry_count: Optional[Any] = None,
26669        sink_retry_wait: Optional[Any] = None,
26670        max_concurrent_connections: Optional[Any] = None,
26671        pre_copy_script: Optional[Any] = None,
26672        **kwargs
26673    ):
26674        super(OracleSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
26675        self.type = 'OracleSink'  # type: str
26676        self.pre_copy_script = pre_copy_script
26677
26678
26679class OracleSource(CopySource):
26680    """A copy activity Oracle source.
26681
26682    All required parameters must be populated in order to send to Azure.
26683
26684    :param additional_properties: Unmatched properties from the message are deserialized to this
26685     collection.
26686    :type additional_properties: dict[str, any]
26687    :param type: Required. Copy source type.Constant filled by server.
26688    :type type: str
26689    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
26690     integer).
26691    :type source_retry_count: any
26692    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
26693     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26694    :type source_retry_wait: any
26695    :param max_concurrent_connections: The maximum concurrent connection count for the source data
26696     store. Type: integer (or Expression with resultType integer).
26697    :type max_concurrent_connections: any
26698    :param oracle_reader_query: Oracle reader query. Type: string (or Expression with resultType
26699     string).
26700    :type oracle_reader_query: any
26701    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
26702     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26703    :type query_timeout: any
26704    :param partition_option: The partition mechanism that will be used for Oracle read in parallel.
26705     Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange".
26706    :type partition_option: str or
26707     ~azure.synapse.artifacts.v2020_12_01.models.OraclePartitionOption
26708    :param partition_settings: The settings that will be leveraged for Oracle source partitioning.
26709    :type partition_settings: ~azure.synapse.artifacts.v2020_12_01.models.OraclePartitionSettings
26710    :param additional_columns: Specifies the additional columns to be added to source data. Type:
26711     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
26712    :type additional_columns: any
26713    """
26714
26715    _validation = {
26716        'type': {'required': True},
26717    }
26718
26719    _attribute_map = {
26720        'additional_properties': {'key': '', 'type': '{object}'},
26721        'type': {'key': 'type', 'type': 'str'},
26722        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
26723        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
26724        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
26725        'oracle_reader_query': {'key': 'oracleReaderQuery', 'type': 'object'},
26726        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
26727        'partition_option': {'key': 'partitionOption', 'type': 'str'},
26728        'partition_settings': {'key': 'partitionSettings', 'type': 'OraclePartitionSettings'},
26729        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
26730    }
26731
26732    def __init__(
26733        self,
26734        *,
26735        additional_properties: Optional[Dict[str, Any]] = None,
26736        source_retry_count: Optional[Any] = None,
26737        source_retry_wait: Optional[Any] = None,
26738        max_concurrent_connections: Optional[Any] = None,
26739        oracle_reader_query: Optional[Any] = None,
26740        query_timeout: Optional[Any] = None,
26741        partition_option: Optional[Union[str, "OraclePartitionOption"]] = None,
26742        partition_settings: Optional["OraclePartitionSettings"] = None,
26743        additional_columns: Optional[Any] = None,
26744        **kwargs
26745    ):
26746        super(OracleSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
26747        self.type = 'OracleSource'  # type: str
26748        self.oracle_reader_query = oracle_reader_query
26749        self.query_timeout = query_timeout
26750        self.partition_option = partition_option
26751        self.partition_settings = partition_settings
26752        self.additional_columns = additional_columns
26753
26754
26755class OracleTableDataset(Dataset):
26756    """The on-premises Oracle database dataset.
26757
26758    All required parameters must be populated in order to send to Azure.
26759
26760    :param additional_properties: Unmatched properties from the message are deserialized to this
26761     collection.
26762    :type additional_properties: dict[str, any]
26763    :param type: Required. Type of dataset.Constant filled by server.
26764    :type type: str
26765    :param description: Dataset description.
26766    :type description: str
26767    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
26768     with resultType array), itemType: DatasetDataElement.
26769    :type structure: any
26770    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
26771     Expression with resultType array), itemType: DatasetSchemaDataElement.
26772    :type schema: any
26773    :param linked_service_name: Required. Linked service reference.
26774    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
26775    :param parameters: Parameters for dataset.
26776    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
26777    :param annotations: List of tags that can be used for describing the Dataset.
26778    :type annotations: list[any]
26779    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
26780     root level.
26781    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
26782    :param table_name: This property will be retired. Please consider using schema + table
26783     properties instead.
26784    :type table_name: any
26785    :param schema_type_properties_schema: The schema name of the on-premises Oracle database. Type:
26786     string (or Expression with resultType string).
26787    :type schema_type_properties_schema: any
26788    :param table: The table name of the on-premises Oracle database. Type: string (or Expression
26789     with resultType string).
26790    :type table: any
26791    """
26792
26793    _validation = {
26794        'type': {'required': True},
26795        'linked_service_name': {'required': True},
26796    }
26797
26798    _attribute_map = {
26799        'additional_properties': {'key': '', 'type': '{object}'},
26800        'type': {'key': 'type', 'type': 'str'},
26801        'description': {'key': 'description', 'type': 'str'},
26802        'structure': {'key': 'structure', 'type': 'object'},
26803        'schema': {'key': 'schema', 'type': 'object'},
26804        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
26805        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
26806        'annotations': {'key': 'annotations', 'type': '[object]'},
26807        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
26808        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
26809        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
26810        'table': {'key': 'typeProperties.table', 'type': 'object'},
26811    }
26812
26813    def __init__(
26814        self,
26815        *,
26816        linked_service_name: "LinkedServiceReference",
26817        additional_properties: Optional[Dict[str, Any]] = None,
26818        description: Optional[str] = None,
26819        structure: Optional[Any] = None,
26820        schema: Optional[Any] = None,
26821        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
26822        annotations: Optional[List[Any]] = None,
26823        folder: Optional["DatasetFolder"] = None,
26824        table_name: Optional[Any] = None,
26825        schema_type_properties_schema: Optional[Any] = None,
26826        table: Optional[Any] = None,
26827        **kwargs
26828    ):
26829        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)
26830        self.type = 'OracleTable'  # type: str
26831        self.table_name = table_name
26832        self.schema_type_properties_schema = schema_type_properties_schema
26833        self.table = table
26834
26835
26836class OrcDataset(Dataset):
26837    """ORC dataset.
26838
26839    All required parameters must be populated in order to send to Azure.
26840
26841    :param additional_properties: Unmatched properties from the message are deserialized to this
26842     collection.
26843    :type additional_properties: dict[str, any]
26844    :param type: Required. Type of dataset.Constant filled by server.
26845    :type type: str
26846    :param description: Dataset description.
26847    :type description: str
26848    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
26849     with resultType array), itemType: DatasetDataElement.
26850    :type structure: any
26851    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
26852     Expression with resultType array), itemType: DatasetSchemaDataElement.
26853    :type schema: any
26854    :param linked_service_name: Required. Linked service reference.
26855    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
26856    :param parameters: Parameters for dataset.
26857    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
26858    :param annotations: List of tags that can be used for describing the Dataset.
26859    :type annotations: list[any]
26860    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
26861     root level.
26862    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
26863    :param location: The location of the ORC data storage.
26864    :type location: ~azure.synapse.artifacts.v2020_12_01.models.DatasetLocation
26865    :param orc_compression_codec:  Possible values include: "none", "zlib", "snappy", "lzo".
26866    :type orc_compression_codec: str or
26867     ~azure.synapse.artifacts.v2020_12_01.models.OrcCompressionCodec
26868    """
26869
26870    _validation = {
26871        'type': {'required': True},
26872        'linked_service_name': {'required': True},
26873    }
26874
26875    _attribute_map = {
26876        'additional_properties': {'key': '', 'type': '{object}'},
26877        'type': {'key': 'type', 'type': 'str'},
26878        'description': {'key': 'description', 'type': 'str'},
26879        'structure': {'key': 'structure', 'type': 'object'},
26880        'schema': {'key': 'schema', 'type': 'object'},
26881        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
26882        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
26883        'annotations': {'key': 'annotations', 'type': '[object]'},
26884        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
26885        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
26886        'orc_compression_codec': {'key': 'typeProperties.orcCompressionCodec', 'type': 'str'},
26887    }
26888
26889    def __init__(
26890        self,
26891        *,
26892        linked_service_name: "LinkedServiceReference",
26893        additional_properties: Optional[Dict[str, Any]] = None,
26894        description: Optional[str] = None,
26895        structure: Optional[Any] = None,
26896        schema: Optional[Any] = None,
26897        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
26898        annotations: Optional[List[Any]] = None,
26899        folder: Optional["DatasetFolder"] = None,
26900        location: Optional["DatasetLocation"] = None,
26901        orc_compression_codec: Optional[Union[str, "OrcCompressionCodec"]] = None,
26902        **kwargs
26903    ):
26904        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)
26905        self.type = 'Orc'  # type: str
26906        self.location = location
26907        self.orc_compression_codec = orc_compression_codec
26908
26909
26910class OrcFormat(DatasetStorageFormat):
26911    """The data stored in Optimized Row Columnar (ORC) format.
26912
26913    All required parameters must be populated in order to send to Azure.
26914
26915    :param additional_properties: Unmatched properties from the message are deserialized to this
26916     collection.
26917    :type additional_properties: dict[str, any]
26918    :param type: Required. Type of dataset storage format.Constant filled by server.
26919    :type type: str
26920    :param serializer: Serializer. Type: string (or Expression with resultType string).
26921    :type serializer: any
26922    :param deserializer: Deserializer. Type: string (or Expression with resultType string).
26923    :type deserializer: any
26924    """
26925
26926    _validation = {
26927        'type': {'required': True},
26928    }
26929
26930    _attribute_map = {
26931        'additional_properties': {'key': '', 'type': '{object}'},
26932        'type': {'key': 'type', 'type': 'str'},
26933        'serializer': {'key': 'serializer', 'type': 'object'},
26934        'deserializer': {'key': 'deserializer', 'type': 'object'},
26935    }
26936
26937    def __init__(
26938        self,
26939        *,
26940        additional_properties: Optional[Dict[str, Any]] = None,
26941        serializer: Optional[Any] = None,
26942        deserializer: Optional[Any] = None,
26943        **kwargs
26944    ):
26945        super(OrcFormat, self).__init__(additional_properties=additional_properties, serializer=serializer, deserializer=deserializer, **kwargs)
26946        self.type = 'OrcFormat'  # type: str
26947
26948
26949class OrcSink(CopySink):
26950    """A copy activity ORC sink.
26951
26952    All required parameters must be populated in order to send to Azure.
26953
26954    :param additional_properties: Unmatched properties from the message are deserialized to this
26955     collection.
26956    :type additional_properties: dict[str, any]
26957    :param type: Required. Copy sink type.Constant filled by server.
26958    :type type: str
26959    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
26960     integer), minimum: 0.
26961    :type write_batch_size: any
26962    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
26963     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26964    :type write_batch_timeout: any
26965    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
26966     integer).
26967    :type sink_retry_count: any
26968    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
26969     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26970    :type sink_retry_wait: any
26971    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
26972     store. Type: integer (or Expression with resultType integer).
26973    :type max_concurrent_connections: any
26974    :param store_settings: ORC store settings.
26975    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreWriteSettings
26976    :param format_settings: ORC format settings.
26977    :type format_settings: ~azure.synapse.artifacts.v2020_12_01.models.OrcWriteSettings
26978    """
26979
26980    _validation = {
26981        'type': {'required': True},
26982    }
26983
26984    _attribute_map = {
26985        'additional_properties': {'key': '', 'type': '{object}'},
26986        'type': {'key': 'type', 'type': 'str'},
26987        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
26988        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
26989        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
26990        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
26991        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
26992        'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'},
26993        'format_settings': {'key': 'formatSettings', 'type': 'OrcWriteSettings'},
26994    }
26995
26996    def __init__(
26997        self,
26998        *,
26999        additional_properties: Optional[Dict[str, Any]] = None,
27000        write_batch_size: Optional[Any] = None,
27001        write_batch_timeout: Optional[Any] = None,
27002        sink_retry_count: Optional[Any] = None,
27003        sink_retry_wait: Optional[Any] = None,
27004        max_concurrent_connections: Optional[Any] = None,
27005        store_settings: Optional["StoreWriteSettings"] = None,
27006        format_settings: Optional["OrcWriteSettings"] = None,
27007        **kwargs
27008    ):
27009        super(OrcSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
27010        self.type = 'OrcSink'  # type: str
27011        self.store_settings = store_settings
27012        self.format_settings = format_settings
27013
27014
27015class OrcSource(CopySource):
27016    """A copy activity ORC source.
27017
27018    All required parameters must be populated in order to send to Azure.
27019
27020    :param additional_properties: Unmatched properties from the message are deserialized to this
27021     collection.
27022    :type additional_properties: dict[str, any]
27023    :param type: Required. Copy source type.Constant filled by server.
27024    :type type: str
27025    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
27026     integer).
27027    :type source_retry_count: any
27028    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
27029     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27030    :type source_retry_wait: any
27031    :param max_concurrent_connections: The maximum concurrent connection count for the source data
27032     store. Type: integer (or Expression with resultType integer).
27033    :type max_concurrent_connections: any
27034    :param store_settings: ORC store settings.
27035    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreReadSettings
27036    :param additional_columns: Specifies the additional columns to be added to source data. Type:
27037     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
27038    :type additional_columns: any
27039    """
27040
27041    _validation = {
27042        'type': {'required': True},
27043    }
27044
27045    _attribute_map = {
27046        'additional_properties': {'key': '', 'type': '{object}'},
27047        'type': {'key': 'type', 'type': 'str'},
27048        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
27049        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
27050        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
27051        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
27052        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
27053    }
27054
27055    def __init__(
27056        self,
27057        *,
27058        additional_properties: Optional[Dict[str, Any]] = None,
27059        source_retry_count: Optional[Any] = None,
27060        source_retry_wait: Optional[Any] = None,
27061        max_concurrent_connections: Optional[Any] = None,
27062        store_settings: Optional["StoreReadSettings"] = None,
27063        additional_columns: Optional[Any] = None,
27064        **kwargs
27065    ):
27066        super(OrcSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
27067        self.type = 'OrcSource'  # type: str
27068        self.store_settings = store_settings
27069        self.additional_columns = additional_columns
27070
27071
27072class OrcWriteSettings(FormatWriteSettings):
27073    """Orc write settings.
27074
27075    All required parameters must be populated in order to send to Azure.
27076
27077    :param additional_properties: Unmatched properties from the message are deserialized to this
27078     collection.
27079    :type additional_properties: dict[str, any]
27080    :param type: Required. The write setting type.Constant filled by server.
27081    :type type: str
27082    :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the
27083     specified count. Type: integer (or Expression with resultType integer).
27084    :type max_rows_per_file: any
27085    :param file_name_prefix: Specifies the file name pattern
27086     :code:`<fileNamePrefix>`_:code:`<fileIndex>`.:code:`<fileExtension>` when copy from non-file
27087     based store without partitionOptions. Type: string (or Expression with resultType string).
27088    :type file_name_prefix: any
27089    """
27090
27091    _validation = {
27092        'type': {'required': True},
27093    }
27094
27095    _attribute_map = {
27096        'additional_properties': {'key': '', 'type': '{object}'},
27097        'type': {'key': 'type', 'type': 'str'},
27098        'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'},
27099        'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'},
27100    }
27101
27102    def __init__(
27103        self,
27104        *,
27105        additional_properties: Optional[Dict[str, Any]] = None,
27106        max_rows_per_file: Optional[Any] = None,
27107        file_name_prefix: Optional[Any] = None,
27108        **kwargs
27109    ):
27110        super(OrcWriteSettings, self).__init__(additional_properties=additional_properties, **kwargs)
27111        self.type = 'OrcWriteSettings'  # type: str
27112        self.max_rows_per_file = max_rows_per_file
27113        self.file_name_prefix = file_name_prefix
27114
27115
27116class ParameterSpecification(msrest.serialization.Model):
27117    """Definition of a single parameter for an entity.
27118
27119    All required parameters must be populated in order to send to Azure.
27120
27121    :param type: Required. Parameter type. Possible values include: "Object", "String", "Int",
27122     "Float", "Bool", "Array", "SecureString".
27123    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.ParameterType
27124    :param default_value: Default value of parameter.
27125    :type default_value: any
27126    """
27127
27128    _validation = {
27129        'type': {'required': True},
27130    }
27131
27132    _attribute_map = {
27133        'type': {'key': 'type', 'type': 'str'},
27134        'default_value': {'key': 'defaultValue', 'type': 'object'},
27135    }
27136
27137    def __init__(
27138        self,
27139        *,
27140        type: Union[str, "ParameterType"],
27141        default_value: Optional[Any] = None,
27142        **kwargs
27143    ):
27144        super(ParameterSpecification, self).__init__(**kwargs)
27145        self.type = type
27146        self.default_value = default_value
27147
27148
27149class ParquetDataset(Dataset):
27150    """Parquet dataset.
27151
27152    All required parameters must be populated in order to send to Azure.
27153
27154    :param additional_properties: Unmatched properties from the message are deserialized to this
27155     collection.
27156    :type additional_properties: dict[str, any]
27157    :param type: Required. Type of dataset.Constant filled by server.
27158    :type type: str
27159    :param description: Dataset description.
27160    :type description: str
27161    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
27162     with resultType array), itemType: DatasetDataElement.
27163    :type structure: any
27164    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
27165     Expression with resultType array), itemType: DatasetSchemaDataElement.
27166    :type schema: any
27167    :param linked_service_name: Required. Linked service reference.
27168    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
27169    :param parameters: Parameters for dataset.
27170    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
27171    :param annotations: List of tags that can be used for describing the Dataset.
27172    :type annotations: list[any]
27173    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
27174     root level.
27175    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
27176    :param location: The location of the parquet storage.
27177    :type location: ~azure.synapse.artifacts.v2020_12_01.models.DatasetLocation
27178    :param compression_codec: A string from ParquetCompressionCodecEnum or an expression.
27179    :type compression_codec: any
27180    """
27181
27182    _validation = {
27183        'type': {'required': True},
27184        'linked_service_name': {'required': True},
27185    }
27186
27187    _attribute_map = {
27188        'additional_properties': {'key': '', 'type': '{object}'},
27189        'type': {'key': 'type', 'type': 'str'},
27190        'description': {'key': 'description', 'type': 'str'},
27191        'structure': {'key': 'structure', 'type': 'object'},
27192        'schema': {'key': 'schema', 'type': 'object'},
27193        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
27194        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
27195        'annotations': {'key': 'annotations', 'type': '[object]'},
27196        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
27197        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
27198        'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'object'},
27199    }
27200
27201    def __init__(
27202        self,
27203        *,
27204        linked_service_name: "LinkedServiceReference",
27205        additional_properties: Optional[Dict[str, Any]] = None,
27206        description: Optional[str] = None,
27207        structure: Optional[Any] = None,
27208        schema: Optional[Any] = None,
27209        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
27210        annotations: Optional[List[Any]] = None,
27211        folder: Optional["DatasetFolder"] = None,
27212        location: Optional["DatasetLocation"] = None,
27213        compression_codec: Optional[Any] = None,
27214        **kwargs
27215    ):
27216        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)
27217        self.type = 'Parquet'  # type: str
27218        self.location = location
27219        self.compression_codec = compression_codec
27220
27221
27222class ParquetFormat(DatasetStorageFormat):
27223    """The data stored in Parquet format.
27224
27225    All required parameters must be populated in order to send to Azure.
27226
27227    :param additional_properties: Unmatched properties from the message are deserialized to this
27228     collection.
27229    :type additional_properties: dict[str, any]
27230    :param type: Required. Type of dataset storage format.Constant filled by server.
27231    :type type: str
27232    :param serializer: Serializer. Type: string (or Expression with resultType string).
27233    :type serializer: any
27234    :param deserializer: Deserializer. Type: string (or Expression with resultType string).
27235    :type deserializer: any
27236    """
27237
27238    _validation = {
27239        'type': {'required': True},
27240    }
27241
27242    _attribute_map = {
27243        'additional_properties': {'key': '', 'type': '{object}'},
27244        'type': {'key': 'type', 'type': 'str'},
27245        'serializer': {'key': 'serializer', 'type': 'object'},
27246        'deserializer': {'key': 'deserializer', 'type': 'object'},
27247    }
27248
27249    def __init__(
27250        self,
27251        *,
27252        additional_properties: Optional[Dict[str, Any]] = None,
27253        serializer: Optional[Any] = None,
27254        deserializer: Optional[Any] = None,
27255        **kwargs
27256    ):
27257        super(ParquetFormat, self).__init__(additional_properties=additional_properties, serializer=serializer, deserializer=deserializer, **kwargs)
27258        self.type = 'ParquetFormat'  # type: str
27259
27260
27261class ParquetSink(CopySink):
27262    """A copy activity Parquet sink.
27263
27264    All required parameters must be populated in order to send to Azure.
27265
27266    :param additional_properties: Unmatched properties from the message are deserialized to this
27267     collection.
27268    :type additional_properties: dict[str, any]
27269    :param type: Required. Copy sink type.Constant filled by server.
27270    :type type: str
27271    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
27272     integer), minimum: 0.
27273    :type write_batch_size: any
27274    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
27275     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27276    :type write_batch_timeout: any
27277    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
27278     integer).
27279    :type sink_retry_count: any
27280    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
27281     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27282    :type sink_retry_wait: any
27283    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
27284     store. Type: integer (or Expression with resultType integer).
27285    :type max_concurrent_connections: any
27286    :param store_settings: Parquet store settings.
27287    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreWriteSettings
27288    :param format_settings: Parquet format settings.
27289    :type format_settings: ~azure.synapse.artifacts.v2020_12_01.models.ParquetWriteSettings
27290    """
27291
27292    _validation = {
27293        'type': {'required': True},
27294    }
27295
27296    _attribute_map = {
27297        'additional_properties': {'key': '', 'type': '{object}'},
27298        'type': {'key': 'type', 'type': 'str'},
27299        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
27300        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
27301        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
27302        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
27303        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
27304        'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'},
27305        'format_settings': {'key': 'formatSettings', 'type': 'ParquetWriteSettings'},
27306    }
27307
27308    def __init__(
27309        self,
27310        *,
27311        additional_properties: Optional[Dict[str, Any]] = None,
27312        write_batch_size: Optional[Any] = None,
27313        write_batch_timeout: Optional[Any] = None,
27314        sink_retry_count: Optional[Any] = None,
27315        sink_retry_wait: Optional[Any] = None,
27316        max_concurrent_connections: Optional[Any] = None,
27317        store_settings: Optional["StoreWriteSettings"] = None,
27318        format_settings: Optional["ParquetWriteSettings"] = None,
27319        **kwargs
27320    ):
27321        super(ParquetSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
27322        self.type = 'ParquetSink'  # type: str
27323        self.store_settings = store_settings
27324        self.format_settings = format_settings
27325
27326
27327class ParquetSource(CopySource):
27328    """A copy activity Parquet source.
27329
27330    All required parameters must be populated in order to send to Azure.
27331
27332    :param additional_properties: Unmatched properties from the message are deserialized to this
27333     collection.
27334    :type additional_properties: dict[str, any]
27335    :param type: Required. Copy source type.Constant filled by server.
27336    :type type: str
27337    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
27338     integer).
27339    :type source_retry_count: any
27340    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
27341     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27342    :type source_retry_wait: any
27343    :param max_concurrent_connections: The maximum concurrent connection count for the source data
27344     store. Type: integer (or Expression with resultType integer).
27345    :type max_concurrent_connections: any
27346    :param store_settings: Parquet store settings.
27347    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreReadSettings
27348    :param additional_columns: Specifies the additional columns to be added to source data. Type:
27349     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
27350    :type additional_columns: any
27351    """
27352
27353    _validation = {
27354        'type': {'required': True},
27355    }
27356
27357    _attribute_map = {
27358        'additional_properties': {'key': '', 'type': '{object}'},
27359        'type': {'key': 'type', 'type': 'str'},
27360        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
27361        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
27362        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
27363        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
27364        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
27365    }
27366
27367    def __init__(
27368        self,
27369        *,
27370        additional_properties: Optional[Dict[str, Any]] = None,
27371        source_retry_count: Optional[Any] = None,
27372        source_retry_wait: Optional[Any] = None,
27373        max_concurrent_connections: Optional[Any] = None,
27374        store_settings: Optional["StoreReadSettings"] = None,
27375        additional_columns: Optional[Any] = None,
27376        **kwargs
27377    ):
27378        super(ParquetSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
27379        self.type = 'ParquetSource'  # type: str
27380        self.store_settings = store_settings
27381        self.additional_columns = additional_columns
27382
27383
27384class ParquetWriteSettings(FormatWriteSettings):
27385    """Parquet write settings.
27386
27387    All required parameters must be populated in order to send to Azure.
27388
27389    :param additional_properties: Unmatched properties from the message are deserialized to this
27390     collection.
27391    :type additional_properties: dict[str, any]
27392    :param type: Required. The write setting type.Constant filled by server.
27393    :type type: str
27394    :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the
27395     specified count. Type: integer (or Expression with resultType integer).
27396    :type max_rows_per_file: any
27397    :param file_name_prefix: Specifies the file name pattern
27398     :code:`<fileNamePrefix>`_:code:`<fileIndex>`.:code:`<fileExtension>` when copy from non-file
27399     based store without partitionOptions. Type: string (or Expression with resultType string).
27400    :type file_name_prefix: any
27401    """
27402
27403    _validation = {
27404        'type': {'required': True},
27405    }
27406
27407    _attribute_map = {
27408        'additional_properties': {'key': '', 'type': '{object}'},
27409        'type': {'key': 'type', 'type': 'str'},
27410        'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'},
27411        'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'},
27412    }
27413
27414    def __init__(
27415        self,
27416        *,
27417        additional_properties: Optional[Dict[str, Any]] = None,
27418        max_rows_per_file: Optional[Any] = None,
27419        file_name_prefix: Optional[Any] = None,
27420        **kwargs
27421    ):
27422        super(ParquetWriteSettings, self).__init__(additional_properties=additional_properties, **kwargs)
27423        self.type = 'ParquetWriteSettings'  # type: str
27424        self.max_rows_per_file = max_rows_per_file
27425        self.file_name_prefix = file_name_prefix
27426
27427
27428class PaypalLinkedService(LinkedService):
27429    """Paypal Service linked service.
27430
27431    All required parameters must be populated in order to send to Azure.
27432
27433    :param additional_properties: Unmatched properties from the message are deserialized to this
27434     collection.
27435    :type additional_properties: dict[str, any]
27436    :param type: Required. Type of linked service.Constant filled by server.
27437    :type type: str
27438    :param connect_via: The integration runtime reference.
27439    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
27440    :param description: Linked service description.
27441    :type description: str
27442    :param parameters: Parameters for linked service.
27443    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
27444    :param annotations: List of tags that can be used for describing the linked service.
27445    :type annotations: list[any]
27446    :param host: Required. The URL of the PayPal instance. (i.e. api.sandbox.paypal.com).
27447    :type host: any
27448    :param client_id: Required. The client ID associated with your PayPal application.
27449    :type client_id: any
27450    :param client_secret: The client secret associated with your PayPal application.
27451    :type client_secret: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
27452    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
27453     HTTPS. The default value is true.
27454    :type use_encrypted_endpoints: any
27455    :param use_host_verification: Specifies whether to require the host name in the server's
27456     certificate to match the host name of the server when connecting over SSL. The default value is
27457     true.
27458    :type use_host_verification: any
27459    :param use_peer_verification: Specifies whether to verify the identity of the server when
27460     connecting over SSL. The default value is true.
27461    :type use_peer_verification: any
27462    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
27463     encrypted using the integration runtime credential manager. Type: string (or Expression with
27464     resultType string).
27465    :type encrypted_credential: any
27466    """
27467
27468    _validation = {
27469        'type': {'required': True},
27470        'host': {'required': True},
27471        'client_id': {'required': True},
27472    }
27473
27474    _attribute_map = {
27475        'additional_properties': {'key': '', 'type': '{object}'},
27476        'type': {'key': 'type', 'type': 'str'},
27477        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
27478        'description': {'key': 'description', 'type': 'str'},
27479        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
27480        'annotations': {'key': 'annotations', 'type': '[object]'},
27481        'host': {'key': 'typeProperties.host', 'type': 'object'},
27482        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
27483        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
27484        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
27485        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
27486        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
27487        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
27488    }
27489
27490    def __init__(
27491        self,
27492        *,
27493        host: Any,
27494        client_id: Any,
27495        additional_properties: Optional[Dict[str, Any]] = None,
27496        connect_via: Optional["IntegrationRuntimeReference"] = None,
27497        description: Optional[str] = None,
27498        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
27499        annotations: Optional[List[Any]] = None,
27500        client_secret: Optional["SecretBase"] = None,
27501        use_encrypted_endpoints: Optional[Any] = None,
27502        use_host_verification: Optional[Any] = None,
27503        use_peer_verification: Optional[Any] = None,
27504        encrypted_credential: Optional[Any] = None,
27505        **kwargs
27506    ):
27507        super(PaypalLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
27508        self.type = 'Paypal'  # type: str
27509        self.host = host
27510        self.client_id = client_id
27511        self.client_secret = client_secret
27512        self.use_encrypted_endpoints = use_encrypted_endpoints
27513        self.use_host_verification = use_host_verification
27514        self.use_peer_verification = use_peer_verification
27515        self.encrypted_credential = encrypted_credential
27516
27517
27518class PaypalObjectDataset(Dataset):
27519    """Paypal Service dataset.
27520
27521    All required parameters must be populated in order to send to Azure.
27522
27523    :param additional_properties: Unmatched properties from the message are deserialized to this
27524     collection.
27525    :type additional_properties: dict[str, any]
27526    :param type: Required. Type of dataset.Constant filled by server.
27527    :type type: str
27528    :param description: Dataset description.
27529    :type description: str
27530    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
27531     with resultType array), itemType: DatasetDataElement.
27532    :type structure: any
27533    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
27534     Expression with resultType array), itemType: DatasetSchemaDataElement.
27535    :type schema: any
27536    :param linked_service_name: Required. Linked service reference.
27537    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
27538    :param parameters: Parameters for dataset.
27539    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
27540    :param annotations: List of tags that can be used for describing the Dataset.
27541    :type annotations: list[any]
27542    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
27543     root level.
27544    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
27545    :param table_name: The table name. Type: string (or Expression with resultType string).
27546    :type table_name: any
27547    """
27548
27549    _validation = {
27550        'type': {'required': True},
27551        'linked_service_name': {'required': True},
27552    }
27553
27554    _attribute_map = {
27555        'additional_properties': {'key': '', 'type': '{object}'},
27556        'type': {'key': 'type', 'type': 'str'},
27557        'description': {'key': 'description', 'type': 'str'},
27558        'structure': {'key': 'structure', 'type': 'object'},
27559        'schema': {'key': 'schema', 'type': 'object'},
27560        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
27561        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
27562        'annotations': {'key': 'annotations', 'type': '[object]'},
27563        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
27564        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
27565    }
27566
27567    def __init__(
27568        self,
27569        *,
27570        linked_service_name: "LinkedServiceReference",
27571        additional_properties: Optional[Dict[str, Any]] = None,
27572        description: Optional[str] = None,
27573        structure: Optional[Any] = None,
27574        schema: Optional[Any] = None,
27575        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
27576        annotations: Optional[List[Any]] = None,
27577        folder: Optional["DatasetFolder"] = None,
27578        table_name: Optional[Any] = None,
27579        **kwargs
27580    ):
27581        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)
27582        self.type = 'PaypalObject'  # type: str
27583        self.table_name = table_name
27584
27585
27586class PaypalSource(TabularSource):
27587    """A copy activity Paypal Service source.
27588
27589    All required parameters must be populated in order to send to Azure.
27590
27591    :param additional_properties: Unmatched properties from the message are deserialized to this
27592     collection.
27593    :type additional_properties: dict[str, any]
27594    :param type: Required. Copy source type.Constant filled by server.
27595    :type type: str
27596    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
27597     integer).
27598    :type source_retry_count: any
27599    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
27600     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27601    :type source_retry_wait: any
27602    :param max_concurrent_connections: The maximum concurrent connection count for the source data
27603     store. Type: integer (or Expression with resultType integer).
27604    :type max_concurrent_connections: any
27605    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
27606     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27607    :type query_timeout: any
27608    :param additional_columns: Specifies the additional columns to be added to source data. Type:
27609     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
27610    :type additional_columns: any
27611    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
27612     string).
27613    :type query: any
27614    """
27615
27616    _validation = {
27617        'type': {'required': True},
27618    }
27619
27620    _attribute_map = {
27621        'additional_properties': {'key': '', 'type': '{object}'},
27622        'type': {'key': 'type', 'type': 'str'},
27623        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
27624        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
27625        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
27626        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
27627        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
27628        'query': {'key': 'query', 'type': 'object'},
27629    }
27630
27631    def __init__(
27632        self,
27633        *,
27634        additional_properties: Optional[Dict[str, Any]] = None,
27635        source_retry_count: Optional[Any] = None,
27636        source_retry_wait: Optional[Any] = None,
27637        max_concurrent_connections: Optional[Any] = None,
27638        query_timeout: Optional[Any] = None,
27639        additional_columns: Optional[Any] = None,
27640        query: Optional[Any] = None,
27641        **kwargs
27642    ):
27643        super(PaypalSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
27644        self.type = 'PaypalSource'  # type: str
27645        self.query = query
27646
27647
27648class PhoenixLinkedService(LinkedService):
27649    """Phoenix server linked service.
27650
27651    All required parameters must be populated in order to send to Azure.
27652
27653    :param additional_properties: Unmatched properties from the message are deserialized to this
27654     collection.
27655    :type additional_properties: dict[str, any]
27656    :param type: Required. Type of linked service.Constant filled by server.
27657    :type type: str
27658    :param connect_via: The integration runtime reference.
27659    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
27660    :param description: Linked service description.
27661    :type description: str
27662    :param parameters: Parameters for linked service.
27663    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
27664    :param annotations: List of tags that can be used for describing the linked service.
27665    :type annotations: list[any]
27666    :param host: Required. The IP address or host name of the Phoenix server. (i.e.
27667     192.168.222.160).
27668    :type host: any
27669    :param port: The TCP port that the Phoenix server uses to listen for client connections. The
27670     default value is 8765.
27671    :type port: any
27672    :param http_path: The partial URL corresponding to the Phoenix server. (i.e.
27673     /gateway/sandbox/phoenix/version). The default value is hbasephoenix if using
27674     WindowsAzureHDInsightService.
27675    :type http_path: any
27676    :param authentication_type: Required. The authentication mechanism used to connect to the
27677     Phoenix server. Possible values include: "Anonymous", "UsernameAndPassword",
27678     "WindowsAzureHDInsightService".
27679    :type authentication_type: str or
27680     ~azure.synapse.artifacts.v2020_12_01.models.PhoenixAuthenticationType
27681    :param username: The user name used to connect to the Phoenix server.
27682    :type username: any
27683    :param password: The password corresponding to the user name.
27684    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
27685    :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The
27686     default value is false.
27687    :type enable_ssl: any
27688    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
27689     verifying the server when connecting over SSL. This property can only be set when using SSL on
27690     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
27691    :type trusted_cert_path: any
27692    :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust
27693     store or from a specified PEM file. The default value is false.
27694    :type use_system_trust_store: any
27695    :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate
27696     name to match the host name of the server when connecting over SSL. The default value is false.
27697    :type allow_host_name_cn_mismatch: any
27698    :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from
27699     the server. The default value is false.
27700    :type allow_self_signed_server_cert: any
27701    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
27702     encrypted using the integration runtime credential manager. Type: string (or Expression with
27703     resultType string).
27704    :type encrypted_credential: any
27705    """
27706
27707    _validation = {
27708        'type': {'required': True},
27709        'host': {'required': True},
27710        'authentication_type': {'required': True},
27711    }
27712
27713    _attribute_map = {
27714        'additional_properties': {'key': '', 'type': '{object}'},
27715        'type': {'key': 'type', 'type': 'str'},
27716        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
27717        'description': {'key': 'description', 'type': 'str'},
27718        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
27719        'annotations': {'key': 'annotations', 'type': '[object]'},
27720        'host': {'key': 'typeProperties.host', 'type': 'object'},
27721        'port': {'key': 'typeProperties.port', 'type': 'object'},
27722        'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'},
27723        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
27724        'username': {'key': 'typeProperties.username', 'type': 'object'},
27725        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
27726        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
27727        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
27728        'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'},
27729        'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'},
27730        'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'},
27731        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
27732    }
27733
27734    def __init__(
27735        self,
27736        *,
27737        host: Any,
27738        authentication_type: Union[str, "PhoenixAuthenticationType"],
27739        additional_properties: Optional[Dict[str, Any]] = None,
27740        connect_via: Optional["IntegrationRuntimeReference"] = None,
27741        description: Optional[str] = None,
27742        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
27743        annotations: Optional[List[Any]] = None,
27744        port: Optional[Any] = None,
27745        http_path: Optional[Any] = None,
27746        username: Optional[Any] = None,
27747        password: Optional["SecretBase"] = None,
27748        enable_ssl: Optional[Any] = None,
27749        trusted_cert_path: Optional[Any] = None,
27750        use_system_trust_store: Optional[Any] = None,
27751        allow_host_name_cn_mismatch: Optional[Any] = None,
27752        allow_self_signed_server_cert: Optional[Any] = None,
27753        encrypted_credential: Optional[Any] = None,
27754        **kwargs
27755    ):
27756        super(PhoenixLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
27757        self.type = 'Phoenix'  # type: str
27758        self.host = host
27759        self.port = port
27760        self.http_path = http_path
27761        self.authentication_type = authentication_type
27762        self.username = username
27763        self.password = password
27764        self.enable_ssl = enable_ssl
27765        self.trusted_cert_path = trusted_cert_path
27766        self.use_system_trust_store = use_system_trust_store
27767        self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch
27768        self.allow_self_signed_server_cert = allow_self_signed_server_cert
27769        self.encrypted_credential = encrypted_credential
27770
27771
27772class PhoenixObjectDataset(Dataset):
27773    """Phoenix server dataset.
27774
27775    All required parameters must be populated in order to send to Azure.
27776
27777    :param additional_properties: Unmatched properties from the message are deserialized to this
27778     collection.
27779    :type additional_properties: dict[str, any]
27780    :param type: Required. Type of dataset.Constant filled by server.
27781    :type type: str
27782    :param description: Dataset description.
27783    :type description: str
27784    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
27785     with resultType array), itemType: DatasetDataElement.
27786    :type structure: any
27787    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
27788     Expression with resultType array), itemType: DatasetSchemaDataElement.
27789    :type schema: any
27790    :param linked_service_name: Required. Linked service reference.
27791    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
27792    :param parameters: Parameters for dataset.
27793    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
27794    :param annotations: List of tags that can be used for describing the Dataset.
27795    :type annotations: list[any]
27796    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
27797     root level.
27798    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
27799    :param table_name: This property will be retired. Please consider using schema + table
27800     properties instead.
27801    :type table_name: any
27802    :param table: The table name of the Phoenix. Type: string (or Expression with resultType
27803     string).
27804    :type table: any
27805    :param schema_type_properties_schema: The schema name of the Phoenix. Type: string (or
27806     Expression with resultType string).
27807    :type schema_type_properties_schema: any
27808    """
27809
27810    _validation = {
27811        'type': {'required': True},
27812        'linked_service_name': {'required': True},
27813    }
27814
27815    _attribute_map = {
27816        'additional_properties': {'key': '', 'type': '{object}'},
27817        'type': {'key': 'type', 'type': 'str'},
27818        'description': {'key': 'description', 'type': 'str'},
27819        'structure': {'key': 'structure', 'type': 'object'},
27820        'schema': {'key': 'schema', 'type': 'object'},
27821        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
27822        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
27823        'annotations': {'key': 'annotations', 'type': '[object]'},
27824        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
27825        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
27826        'table': {'key': 'typeProperties.table', 'type': 'object'},
27827        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
27828    }
27829
27830    def __init__(
27831        self,
27832        *,
27833        linked_service_name: "LinkedServiceReference",
27834        additional_properties: Optional[Dict[str, Any]] = None,
27835        description: Optional[str] = None,
27836        structure: Optional[Any] = None,
27837        schema: Optional[Any] = None,
27838        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
27839        annotations: Optional[List[Any]] = None,
27840        folder: Optional["DatasetFolder"] = None,
27841        table_name: Optional[Any] = None,
27842        table: Optional[Any] = None,
27843        schema_type_properties_schema: Optional[Any] = None,
27844        **kwargs
27845    ):
27846        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)
27847        self.type = 'PhoenixObject'  # type: str
27848        self.table_name = table_name
27849        self.table = table
27850        self.schema_type_properties_schema = schema_type_properties_schema
27851
27852
27853class PhoenixSource(TabularSource):
27854    """A copy activity Phoenix server source.
27855
27856    All required parameters must be populated in order to send to Azure.
27857
27858    :param additional_properties: Unmatched properties from the message are deserialized to this
27859     collection.
27860    :type additional_properties: dict[str, any]
27861    :param type: Required. Copy source type.Constant filled by server.
27862    :type type: str
27863    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
27864     integer).
27865    :type source_retry_count: any
27866    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
27867     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27868    :type source_retry_wait: any
27869    :param max_concurrent_connections: The maximum concurrent connection count for the source data
27870     store. Type: integer (or Expression with resultType integer).
27871    :type max_concurrent_connections: any
27872    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
27873     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27874    :type query_timeout: any
27875    :param additional_columns: Specifies the additional columns to be added to source data. Type:
27876     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
27877    :type additional_columns: any
27878    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
27879     string).
27880    :type query: any
27881    """
27882
27883    _validation = {
27884        'type': {'required': True},
27885    }
27886
27887    _attribute_map = {
27888        'additional_properties': {'key': '', 'type': '{object}'},
27889        'type': {'key': 'type', 'type': 'str'},
27890        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
27891        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
27892        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
27893        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
27894        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
27895        'query': {'key': 'query', 'type': 'object'},
27896    }
27897
27898    def __init__(
27899        self,
27900        *,
27901        additional_properties: Optional[Dict[str, Any]] = None,
27902        source_retry_count: Optional[Any] = None,
27903        source_retry_wait: Optional[Any] = None,
27904        max_concurrent_connections: Optional[Any] = None,
27905        query_timeout: Optional[Any] = None,
27906        additional_columns: Optional[Any] = None,
27907        query: Optional[Any] = None,
27908        **kwargs
27909    ):
27910        super(PhoenixSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
27911        self.type = 'PhoenixSource'  # type: str
27912        self.query = query
27913
27914
27915class PipelineFolder(msrest.serialization.Model):
27916    """The folder that this Pipeline is in. If not specified, Pipeline will appear at the root level.
27917
27918    :param name: The name of the folder that this Pipeline is in.
27919    :type name: str
27920    """
27921
27922    _attribute_map = {
27923        'name': {'key': 'name', 'type': 'str'},
27924    }
27925
27926    def __init__(
27927        self,
27928        *,
27929        name: Optional[str] = None,
27930        **kwargs
27931    ):
27932        super(PipelineFolder, self).__init__(**kwargs)
27933        self.name = name
27934
27935
27936class PipelineListResponse(msrest.serialization.Model):
27937    """A list of pipeline resources.
27938
27939    All required parameters must be populated in order to send to Azure.
27940
27941    :param value: Required. List of pipelines.
27942    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.PipelineResource]
27943    :param next_link: The link to the next page of results, if any remaining results exist.
27944    :type next_link: str
27945    """
27946
27947    _validation = {
27948        'value': {'required': True},
27949    }
27950
27951    _attribute_map = {
27952        'value': {'key': 'value', 'type': '[PipelineResource]'},
27953        'next_link': {'key': 'nextLink', 'type': 'str'},
27954    }
27955
27956    def __init__(
27957        self,
27958        *,
27959        value: List["PipelineResource"],
27960        next_link: Optional[str] = None,
27961        **kwargs
27962    ):
27963        super(PipelineListResponse, self).__init__(**kwargs)
27964        self.value = value
27965        self.next_link = next_link
27966
27967
27968class PipelineReference(msrest.serialization.Model):
27969    """Pipeline reference type.
27970
27971    All required parameters must be populated in order to send to Azure.
27972
27973    :param type: Required. Pipeline reference type. Possible values include: "PipelineReference".
27974    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.PipelineReferenceType
27975    :param reference_name: Required. Reference pipeline name.
27976    :type reference_name: str
27977    :param name: Reference name.
27978    :type name: str
27979    """
27980
27981    _validation = {
27982        'type': {'required': True},
27983        'reference_name': {'required': True},
27984    }
27985
27986    _attribute_map = {
27987        'type': {'key': 'type', 'type': 'str'},
27988        'reference_name': {'key': 'referenceName', 'type': 'str'},
27989        'name': {'key': 'name', 'type': 'str'},
27990    }
27991
27992    def __init__(
27993        self,
27994        *,
27995        type: Union[str, "PipelineReferenceType"],
27996        reference_name: str,
27997        name: Optional[str] = None,
27998        **kwargs
27999    ):
28000        super(PipelineReference, self).__init__(**kwargs)
28001        self.type = type
28002        self.reference_name = reference_name
28003        self.name = name
28004
28005
28006class PipelineResource(SubResource):
28007    """Pipeline resource type.
28008
28009    Variables are only populated by the server, and will be ignored when sending a request.
28010
28011    :ivar id: Fully qualified resource ID for the resource. Ex -
28012     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
28013    :vartype id: str
28014    :ivar name: The name of the resource.
28015    :vartype name: str
28016    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
28017     "Microsoft.Storage/storageAccounts".
28018    :vartype type: str
28019    :ivar etag: Resource Etag.
28020    :vartype etag: str
28021    :param additional_properties: Unmatched properties from the message are deserialized to this
28022     collection.
28023    :type additional_properties: dict[str, any]
28024    :param description: The description of the pipeline.
28025    :type description: str
28026    :param activities: List of activities in pipeline.
28027    :type activities: list[~azure.synapse.artifacts.v2020_12_01.models.Activity]
28028    :param parameters: List of parameters for pipeline.
28029    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
28030    :param variables: List of variables for pipeline.
28031    :type variables: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.VariableSpecification]
28032    :param concurrency: The max number of concurrent runs for the pipeline.
28033    :type concurrency: int
28034    :param annotations: List of tags that can be used for describing the Pipeline.
28035    :type annotations: list[any]
28036    :param run_dimensions: Dimensions emitted by Pipeline.
28037    :type run_dimensions: dict[str, any]
28038    :param folder: The folder that this Pipeline is in. If not specified, Pipeline will appear at
28039     the root level.
28040    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.PipelineFolder
28041    """
28042
28043    _validation = {
28044        'id': {'readonly': True},
28045        'name': {'readonly': True},
28046        'type': {'readonly': True},
28047        'etag': {'readonly': True},
28048        'concurrency': {'minimum': 1},
28049    }
28050
28051    _attribute_map = {
28052        'id': {'key': 'id', 'type': 'str'},
28053        'name': {'key': 'name', 'type': 'str'},
28054        'type': {'key': 'type', 'type': 'str'},
28055        'etag': {'key': 'etag', 'type': 'str'},
28056        'additional_properties': {'key': '', 'type': '{object}'},
28057        'description': {'key': 'properties.description', 'type': 'str'},
28058        'activities': {'key': 'properties.activities', 'type': '[Activity]'},
28059        'parameters': {'key': 'properties.parameters', 'type': '{ParameterSpecification}'},
28060        'variables': {'key': 'properties.variables', 'type': '{VariableSpecification}'},
28061        'concurrency': {'key': 'properties.concurrency', 'type': 'int'},
28062        'annotations': {'key': 'properties.annotations', 'type': '[object]'},
28063        'run_dimensions': {'key': 'properties.runDimensions', 'type': '{object}'},
28064        'folder': {'key': 'properties.folder', 'type': 'PipelineFolder'},
28065    }
28066
28067    def __init__(
28068        self,
28069        *,
28070        additional_properties: Optional[Dict[str, Any]] = None,
28071        description: Optional[str] = None,
28072        activities: Optional[List["Activity"]] = None,
28073        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
28074        variables: Optional[Dict[str, "VariableSpecification"]] = None,
28075        concurrency: Optional[int] = None,
28076        annotations: Optional[List[Any]] = None,
28077        run_dimensions: Optional[Dict[str, Any]] = None,
28078        folder: Optional["PipelineFolder"] = None,
28079        **kwargs
28080    ):
28081        super(PipelineResource, self).__init__(**kwargs)
28082        self.additional_properties = additional_properties
28083        self.description = description
28084        self.activities = activities
28085        self.parameters = parameters
28086        self.variables = variables
28087        self.concurrency = concurrency
28088        self.annotations = annotations
28089        self.run_dimensions = run_dimensions
28090        self.folder = folder
28091
28092
28093class PipelineRun(msrest.serialization.Model):
28094    """Information about a pipeline run.
28095
28096    Variables are only populated by the server, and will be ignored when sending a request.
28097
28098    :param additional_properties: Unmatched properties from the message are deserialized to this
28099     collection.
28100    :type additional_properties: dict[str, any]
28101    :ivar run_id: Identifier of a run.
28102    :vartype run_id: str
28103    :ivar run_group_id: Identifier that correlates all the recovery runs of a pipeline run.
28104    :vartype run_group_id: str
28105    :ivar is_latest: Indicates if the recovered pipeline run is the latest in its group.
28106    :vartype is_latest: bool
28107    :ivar pipeline_name: The pipeline name.
28108    :vartype pipeline_name: str
28109    :ivar parameters: The full or partial list of parameter name, value pair used in the pipeline
28110     run.
28111    :vartype parameters: dict[str, str]
28112    :ivar invoked_by: Entity that started the pipeline run.
28113    :vartype invoked_by: ~azure.synapse.artifacts.v2020_12_01.models.PipelineRunInvokedBy
28114    :ivar last_updated: The last updated timestamp for the pipeline run event in ISO8601 format.
28115    :vartype last_updated: ~datetime.datetime
28116    :ivar run_start: The start time of a pipeline run in ISO8601 format.
28117    :vartype run_start: ~datetime.datetime
28118    :ivar run_end: The end time of a pipeline run in ISO8601 format.
28119    :vartype run_end: ~datetime.datetime
28120    :ivar duration_in_ms: The duration of a pipeline run.
28121    :vartype duration_in_ms: int
28122    :ivar status: The status of a pipeline run.
28123    :vartype status: str
28124    :ivar message: The message from a pipeline run.
28125    :vartype message: str
28126    """
28127
28128    _validation = {
28129        'run_id': {'readonly': True},
28130        'run_group_id': {'readonly': True},
28131        'is_latest': {'readonly': True},
28132        'pipeline_name': {'readonly': True},
28133        'parameters': {'readonly': True},
28134        'invoked_by': {'readonly': True},
28135        'last_updated': {'readonly': True},
28136        'run_start': {'readonly': True},
28137        'run_end': {'readonly': True},
28138        'duration_in_ms': {'readonly': True},
28139        'status': {'readonly': True},
28140        'message': {'readonly': True},
28141    }
28142
28143    _attribute_map = {
28144        'additional_properties': {'key': '', 'type': '{object}'},
28145        'run_id': {'key': 'runId', 'type': 'str'},
28146        'run_group_id': {'key': 'runGroupId', 'type': 'str'},
28147        'is_latest': {'key': 'isLatest', 'type': 'bool'},
28148        'pipeline_name': {'key': 'pipelineName', 'type': 'str'},
28149        'parameters': {'key': 'parameters', 'type': '{str}'},
28150        'invoked_by': {'key': 'invokedBy', 'type': 'PipelineRunInvokedBy'},
28151        'last_updated': {'key': 'lastUpdated', 'type': 'iso-8601'},
28152        'run_start': {'key': 'runStart', 'type': 'iso-8601'},
28153        'run_end': {'key': 'runEnd', 'type': 'iso-8601'},
28154        'duration_in_ms': {'key': 'durationInMs', 'type': 'int'},
28155        'status': {'key': 'status', 'type': 'str'},
28156        'message': {'key': 'message', 'type': 'str'},
28157    }
28158
28159    def __init__(
28160        self,
28161        *,
28162        additional_properties: Optional[Dict[str, Any]] = None,
28163        **kwargs
28164    ):
28165        super(PipelineRun, self).__init__(**kwargs)
28166        self.additional_properties = additional_properties
28167        self.run_id = None
28168        self.run_group_id = None
28169        self.is_latest = None
28170        self.pipeline_name = None
28171        self.parameters = None
28172        self.invoked_by = None
28173        self.last_updated = None
28174        self.run_start = None
28175        self.run_end = None
28176        self.duration_in_ms = None
28177        self.status = None
28178        self.message = None
28179
28180
28181class PipelineRunInvokedBy(msrest.serialization.Model):
28182    """Provides entity name and id that started the pipeline run.
28183
28184    Variables are only populated by the server, and will be ignored when sending a request.
28185
28186    :ivar name: Name of the entity that started the pipeline run.
28187    :vartype name: str
28188    :ivar id: The ID of the entity that started the run.
28189    :vartype id: str
28190    :ivar invoked_by_type: The type of the entity that started the run.
28191    :vartype invoked_by_type: str
28192    """
28193
28194    _validation = {
28195        'name': {'readonly': True},
28196        'id': {'readonly': True},
28197        'invoked_by_type': {'readonly': True},
28198    }
28199
28200    _attribute_map = {
28201        'name': {'key': 'name', 'type': 'str'},
28202        'id': {'key': 'id', 'type': 'str'},
28203        'invoked_by_type': {'key': 'invokedByType', 'type': 'str'},
28204    }
28205
28206    def __init__(
28207        self,
28208        **kwargs
28209    ):
28210        super(PipelineRunInvokedBy, self).__init__(**kwargs)
28211        self.name = None
28212        self.id = None
28213        self.invoked_by_type = None
28214
28215
28216class PipelineRunsQueryResponse(msrest.serialization.Model):
28217    """A list pipeline runs.
28218
28219    All required parameters must be populated in order to send to Azure.
28220
28221    :param value: Required. List of pipeline runs.
28222    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.PipelineRun]
28223    :param continuation_token: The continuation token for getting the next page of results, if any
28224     remaining results exist, null otherwise.
28225    :type continuation_token: str
28226    """
28227
28228    _validation = {
28229        'value': {'required': True},
28230    }
28231
28232    _attribute_map = {
28233        'value': {'key': 'value', 'type': '[PipelineRun]'},
28234        'continuation_token': {'key': 'continuationToken', 'type': 'str'},
28235    }
28236
28237    def __init__(
28238        self,
28239        *,
28240        value: List["PipelineRun"],
28241        continuation_token: Optional[str] = None,
28242        **kwargs
28243    ):
28244        super(PipelineRunsQueryResponse, self).__init__(**kwargs)
28245        self.value = value
28246        self.continuation_token = continuation_token
28247
28248
28249class PolybaseSettings(msrest.serialization.Model):
28250    """PolyBase settings.
28251
28252    :param additional_properties: Unmatched properties from the message are deserialized to this
28253     collection.
28254    :type additional_properties: dict[str, any]
28255    :param reject_type: Reject type. Possible values include: "value", "percentage".
28256    :type reject_type: str or
28257     ~azure.synapse.artifacts.v2020_12_01.models.PolybaseSettingsRejectType
28258    :param reject_value: Specifies the value or the percentage of rows that can be rejected before
28259     the query fails. Type: number (or Expression with resultType number), minimum: 0.
28260    :type reject_value: any
28261    :param reject_sample_value: Determines the number of rows to attempt to retrieve before the
28262     PolyBase recalculates the percentage of rejected rows. Type: integer (or Expression with
28263     resultType integer), minimum: 0.
28264    :type reject_sample_value: any
28265    :param use_type_default: Specifies how to handle missing values in delimited text files when
28266     PolyBase retrieves data from the text file. Type: boolean (or Expression with resultType
28267     boolean).
28268    :type use_type_default: any
28269    """
28270
28271    _attribute_map = {
28272        'additional_properties': {'key': '', 'type': '{object}'},
28273        'reject_type': {'key': 'rejectType', 'type': 'str'},
28274        'reject_value': {'key': 'rejectValue', 'type': 'object'},
28275        'reject_sample_value': {'key': 'rejectSampleValue', 'type': 'object'},
28276        'use_type_default': {'key': 'useTypeDefault', 'type': 'object'},
28277    }
28278
28279    def __init__(
28280        self,
28281        *,
28282        additional_properties: Optional[Dict[str, Any]] = None,
28283        reject_type: Optional[Union[str, "PolybaseSettingsRejectType"]] = None,
28284        reject_value: Optional[Any] = None,
28285        reject_sample_value: Optional[Any] = None,
28286        use_type_default: Optional[Any] = None,
28287        **kwargs
28288    ):
28289        super(PolybaseSettings, self).__init__(**kwargs)
28290        self.additional_properties = additional_properties
28291        self.reject_type = reject_type
28292        self.reject_value = reject_value
28293        self.reject_sample_value = reject_sample_value
28294        self.use_type_default = use_type_default
28295
28296
28297class PostgreSqlLinkedService(LinkedService):
28298    """Linked service for PostgreSQL data source.
28299
28300    All required parameters must be populated in order to send to Azure.
28301
28302    :param additional_properties: Unmatched properties from the message are deserialized to this
28303     collection.
28304    :type additional_properties: dict[str, any]
28305    :param type: Required. Type of linked service.Constant filled by server.
28306    :type type: str
28307    :param connect_via: The integration runtime reference.
28308    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
28309    :param description: Linked service description.
28310    :type description: str
28311    :param parameters: Parameters for linked service.
28312    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
28313    :param annotations: List of tags that can be used for describing the linked service.
28314    :type annotations: list[any]
28315    :param connection_string: Required. The connection string.
28316    :type connection_string: any
28317    :param password: The Azure key vault secret reference of password in connection string.
28318    :type password: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
28319    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
28320     encrypted using the integration runtime credential manager. Type: string (or Expression with
28321     resultType string).
28322    :type encrypted_credential: any
28323    """
28324
28325    _validation = {
28326        'type': {'required': True},
28327        'connection_string': {'required': True},
28328    }
28329
28330    _attribute_map = {
28331        'additional_properties': {'key': '', 'type': '{object}'},
28332        'type': {'key': 'type', 'type': 'str'},
28333        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
28334        'description': {'key': 'description', 'type': 'str'},
28335        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
28336        'annotations': {'key': 'annotations', 'type': '[object]'},
28337        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
28338        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
28339        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
28340    }
28341
28342    def __init__(
28343        self,
28344        *,
28345        connection_string: Any,
28346        additional_properties: Optional[Dict[str, Any]] = None,
28347        connect_via: Optional["IntegrationRuntimeReference"] = None,
28348        description: Optional[str] = None,
28349        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
28350        annotations: Optional[List[Any]] = None,
28351        password: Optional["AzureKeyVaultSecretReference"] = None,
28352        encrypted_credential: Optional[Any] = None,
28353        **kwargs
28354    ):
28355        super(PostgreSqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
28356        self.type = 'PostgreSql'  # type: str
28357        self.connection_string = connection_string
28358        self.password = password
28359        self.encrypted_credential = encrypted_credential
28360
28361
28362class PostgreSqlSource(TabularSource):
28363    """A copy activity source for PostgreSQL databases.
28364
28365    All required parameters must be populated in order to send to Azure.
28366
28367    :param additional_properties: Unmatched properties from the message are deserialized to this
28368     collection.
28369    :type additional_properties: dict[str, any]
28370    :param type: Required. Copy source type.Constant filled by server.
28371    :type type: str
28372    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
28373     integer).
28374    :type source_retry_count: any
28375    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
28376     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
28377    :type source_retry_wait: any
28378    :param max_concurrent_connections: The maximum concurrent connection count for the source data
28379     store. Type: integer (or Expression with resultType integer).
28380    :type max_concurrent_connections: any
28381    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
28382     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
28383    :type query_timeout: any
28384    :param additional_columns: Specifies the additional columns to be added to source data. Type:
28385     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
28386    :type additional_columns: any
28387    :param query: Database query. Type: string (or Expression with resultType string).
28388    :type query: any
28389    """
28390
28391    _validation = {
28392        'type': {'required': True},
28393    }
28394
28395    _attribute_map = {
28396        'additional_properties': {'key': '', 'type': '{object}'},
28397        'type': {'key': 'type', 'type': 'str'},
28398        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
28399        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
28400        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
28401        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
28402        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
28403        'query': {'key': 'query', 'type': 'object'},
28404    }
28405
28406    def __init__(
28407        self,
28408        *,
28409        additional_properties: Optional[Dict[str, Any]] = None,
28410        source_retry_count: Optional[Any] = None,
28411        source_retry_wait: Optional[Any] = None,
28412        max_concurrent_connections: Optional[Any] = None,
28413        query_timeout: Optional[Any] = None,
28414        additional_columns: Optional[Any] = None,
28415        query: Optional[Any] = None,
28416        **kwargs
28417    ):
28418        super(PostgreSqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
28419        self.type = 'PostgreSqlSource'  # type: str
28420        self.query = query
28421
28422
28423class PostgreSqlTableDataset(Dataset):
28424    """The PostgreSQL table dataset.
28425
28426    All required parameters must be populated in order to send to Azure.
28427
28428    :param additional_properties: Unmatched properties from the message are deserialized to this
28429     collection.
28430    :type additional_properties: dict[str, any]
28431    :param type: Required. Type of dataset.Constant filled by server.
28432    :type type: str
28433    :param description: Dataset description.
28434    :type description: str
28435    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
28436     with resultType array), itemType: DatasetDataElement.
28437    :type structure: any
28438    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
28439     Expression with resultType array), itemType: DatasetSchemaDataElement.
28440    :type schema: any
28441    :param linked_service_name: Required. Linked service reference.
28442    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
28443    :param parameters: Parameters for dataset.
28444    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
28445    :param annotations: List of tags that can be used for describing the Dataset.
28446    :type annotations: list[any]
28447    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
28448     root level.
28449    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
28450    :param table_name: This property will be retired. Please consider using schema + table
28451     properties instead.
28452    :type table_name: any
28453    :param table: The PostgreSQL table name. Type: string (or Expression with resultType string).
28454    :type table: any
28455    :param schema_type_properties_schema: The PostgreSQL schema name. Type: string (or Expression
28456     with resultType string).
28457    :type schema_type_properties_schema: any
28458    """
28459
28460    _validation = {
28461        'type': {'required': True},
28462        'linked_service_name': {'required': True},
28463    }
28464
28465    _attribute_map = {
28466        'additional_properties': {'key': '', 'type': '{object}'},
28467        'type': {'key': 'type', 'type': 'str'},
28468        'description': {'key': 'description', 'type': 'str'},
28469        'structure': {'key': 'structure', 'type': 'object'},
28470        'schema': {'key': 'schema', 'type': 'object'},
28471        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
28472        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
28473        'annotations': {'key': 'annotations', 'type': '[object]'},
28474        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
28475        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
28476        'table': {'key': 'typeProperties.table', 'type': 'object'},
28477        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
28478    }
28479
28480    def __init__(
28481        self,
28482        *,
28483        linked_service_name: "LinkedServiceReference",
28484        additional_properties: Optional[Dict[str, Any]] = None,
28485        description: Optional[str] = None,
28486        structure: Optional[Any] = None,
28487        schema: Optional[Any] = None,
28488        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
28489        annotations: Optional[List[Any]] = None,
28490        folder: Optional["DatasetFolder"] = None,
28491        table_name: Optional[Any] = None,
28492        table: Optional[Any] = None,
28493        schema_type_properties_schema: Optional[Any] = None,
28494        **kwargs
28495    ):
28496        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)
28497        self.type = 'PostgreSqlTable'  # type: str
28498        self.table_name = table_name
28499        self.table = table
28500        self.schema_type_properties_schema = schema_type_properties_schema
28501
28502
28503class PrestoLinkedService(LinkedService):
28504    """Presto server linked service.
28505
28506    All required parameters must be populated in order to send to Azure.
28507
28508    :param additional_properties: Unmatched properties from the message are deserialized to this
28509     collection.
28510    :type additional_properties: dict[str, any]
28511    :param type: Required. Type of linked service.Constant filled by server.
28512    :type type: str
28513    :param connect_via: The integration runtime reference.
28514    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
28515    :param description: Linked service description.
28516    :type description: str
28517    :param parameters: Parameters for linked service.
28518    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
28519    :param annotations: List of tags that can be used for describing the linked service.
28520    :type annotations: list[any]
28521    :param host: Required. The IP address or host name of the Presto server. (i.e.
28522     192.168.222.160).
28523    :type host: any
28524    :param server_version: Required. The version of the Presto server. (i.e. 0.148-t).
28525    :type server_version: any
28526    :param catalog: Required. The catalog context for all request against the server.
28527    :type catalog: any
28528    :param port: The TCP port that the Presto server uses to listen for client connections. The
28529     default value is 8080.
28530    :type port: any
28531    :param authentication_type: Required. The authentication mechanism used to connect to the
28532     Presto server. Possible values include: "Anonymous", "LDAP".
28533    :type authentication_type: str or
28534     ~azure.synapse.artifacts.v2020_12_01.models.PrestoAuthenticationType
28535    :param username: The user name used to connect to the Presto server.
28536    :type username: any
28537    :param password: The password corresponding to the user name.
28538    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
28539    :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The
28540     default value is false.
28541    :type enable_ssl: any
28542    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
28543     verifying the server when connecting over SSL. This property can only be set when using SSL on
28544     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
28545    :type trusted_cert_path: any
28546    :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust
28547     store or from a specified PEM file. The default value is false.
28548    :type use_system_trust_store: any
28549    :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate
28550     name to match the host name of the server when connecting over SSL. The default value is false.
28551    :type allow_host_name_cn_mismatch: any
28552    :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from
28553     the server. The default value is false.
28554    :type allow_self_signed_server_cert: any
28555    :param time_zone_id: The local time zone used by the connection. Valid values for this option
28556     are specified in the IANA Time Zone Database. The default value is the system time zone.
28557    :type time_zone_id: any
28558    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
28559     encrypted using the integration runtime credential manager. Type: string (or Expression with
28560     resultType string).
28561    :type encrypted_credential: any
28562    """
28563
28564    _validation = {
28565        'type': {'required': True},
28566        'host': {'required': True},
28567        'server_version': {'required': True},
28568        'catalog': {'required': True},
28569        'authentication_type': {'required': True},
28570    }
28571
28572    _attribute_map = {
28573        'additional_properties': {'key': '', 'type': '{object}'},
28574        'type': {'key': 'type', 'type': 'str'},
28575        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
28576        'description': {'key': 'description', 'type': 'str'},
28577        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
28578        'annotations': {'key': 'annotations', 'type': '[object]'},
28579        'host': {'key': 'typeProperties.host', 'type': 'object'},
28580        'server_version': {'key': 'typeProperties.serverVersion', 'type': 'object'},
28581        'catalog': {'key': 'typeProperties.catalog', 'type': 'object'},
28582        'port': {'key': 'typeProperties.port', 'type': 'object'},
28583        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
28584        'username': {'key': 'typeProperties.username', 'type': 'object'},
28585        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
28586        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
28587        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
28588        'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'},
28589        'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'},
28590        'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'},
28591        'time_zone_id': {'key': 'typeProperties.timeZoneID', 'type': 'object'},
28592        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
28593    }
28594
28595    def __init__(
28596        self,
28597        *,
28598        host: Any,
28599        server_version: Any,
28600        catalog: Any,
28601        authentication_type: Union[str, "PrestoAuthenticationType"],
28602        additional_properties: Optional[Dict[str, Any]] = None,
28603        connect_via: Optional["IntegrationRuntimeReference"] = None,
28604        description: Optional[str] = None,
28605        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
28606        annotations: Optional[List[Any]] = None,
28607        port: Optional[Any] = None,
28608        username: Optional[Any] = None,
28609        password: Optional["SecretBase"] = None,
28610        enable_ssl: Optional[Any] = None,
28611        trusted_cert_path: Optional[Any] = None,
28612        use_system_trust_store: Optional[Any] = None,
28613        allow_host_name_cn_mismatch: Optional[Any] = None,
28614        allow_self_signed_server_cert: Optional[Any] = None,
28615        time_zone_id: Optional[Any] = None,
28616        encrypted_credential: Optional[Any] = None,
28617        **kwargs
28618    ):
28619        super(PrestoLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
28620        self.type = 'Presto'  # type: str
28621        self.host = host
28622        self.server_version = server_version
28623        self.catalog = catalog
28624        self.port = port
28625        self.authentication_type = authentication_type
28626        self.username = username
28627        self.password = password
28628        self.enable_ssl = enable_ssl
28629        self.trusted_cert_path = trusted_cert_path
28630        self.use_system_trust_store = use_system_trust_store
28631        self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch
28632        self.allow_self_signed_server_cert = allow_self_signed_server_cert
28633        self.time_zone_id = time_zone_id
28634        self.encrypted_credential = encrypted_credential
28635
28636
28637class PrestoObjectDataset(Dataset):
28638    """Presto server dataset.
28639
28640    All required parameters must be populated in order to send to Azure.
28641
28642    :param additional_properties: Unmatched properties from the message are deserialized to this
28643     collection.
28644    :type additional_properties: dict[str, any]
28645    :param type: Required. Type of dataset.Constant filled by server.
28646    :type type: str
28647    :param description: Dataset description.
28648    :type description: str
28649    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
28650     with resultType array), itemType: DatasetDataElement.
28651    :type structure: any
28652    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
28653     Expression with resultType array), itemType: DatasetSchemaDataElement.
28654    :type schema: any
28655    :param linked_service_name: Required. Linked service reference.
28656    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
28657    :param parameters: Parameters for dataset.
28658    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
28659    :param annotations: List of tags that can be used for describing the Dataset.
28660    :type annotations: list[any]
28661    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
28662     root level.
28663    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
28664    :param table_name: This property will be retired. Please consider using schema + table
28665     properties instead.
28666    :type table_name: any
28667    :param table: The table name of the Presto. Type: string (or Expression with resultType
28668     string).
28669    :type table: any
28670    :param schema_type_properties_schema: The schema name of the Presto. Type: string (or
28671     Expression with resultType string).
28672    :type schema_type_properties_schema: any
28673    """
28674
28675    _validation = {
28676        'type': {'required': True},
28677        'linked_service_name': {'required': True},
28678    }
28679
28680    _attribute_map = {
28681        'additional_properties': {'key': '', 'type': '{object}'},
28682        'type': {'key': 'type', 'type': 'str'},
28683        'description': {'key': 'description', 'type': 'str'},
28684        'structure': {'key': 'structure', 'type': 'object'},
28685        'schema': {'key': 'schema', 'type': 'object'},
28686        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
28687        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
28688        'annotations': {'key': 'annotations', 'type': '[object]'},
28689        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
28690        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
28691        'table': {'key': 'typeProperties.table', 'type': 'object'},
28692        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
28693    }
28694
28695    def __init__(
28696        self,
28697        *,
28698        linked_service_name: "LinkedServiceReference",
28699        additional_properties: Optional[Dict[str, Any]] = None,
28700        description: Optional[str] = None,
28701        structure: Optional[Any] = None,
28702        schema: Optional[Any] = None,
28703        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
28704        annotations: Optional[List[Any]] = None,
28705        folder: Optional["DatasetFolder"] = None,
28706        table_name: Optional[Any] = None,
28707        table: Optional[Any] = None,
28708        schema_type_properties_schema: Optional[Any] = None,
28709        **kwargs
28710    ):
28711        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)
28712        self.type = 'PrestoObject'  # type: str
28713        self.table_name = table_name
28714        self.table = table
28715        self.schema_type_properties_schema = schema_type_properties_schema
28716
28717
28718class PrestoSource(TabularSource):
28719    """A copy activity Presto server source.
28720
28721    All required parameters must be populated in order to send to Azure.
28722
28723    :param additional_properties: Unmatched properties from the message are deserialized to this
28724     collection.
28725    :type additional_properties: dict[str, any]
28726    :param type: Required. Copy source type.Constant filled by server.
28727    :type type: str
28728    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
28729     integer).
28730    :type source_retry_count: any
28731    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
28732     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
28733    :type source_retry_wait: any
28734    :param max_concurrent_connections: The maximum concurrent connection count for the source data
28735     store. Type: integer (or Expression with resultType integer).
28736    :type max_concurrent_connections: any
28737    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
28738     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
28739    :type query_timeout: any
28740    :param additional_columns: Specifies the additional columns to be added to source data. Type:
28741     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
28742    :type additional_columns: any
28743    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
28744     string).
28745    :type query: any
28746    """
28747
28748    _validation = {
28749        'type': {'required': True},
28750    }
28751
28752    _attribute_map = {
28753        'additional_properties': {'key': '', 'type': '{object}'},
28754        'type': {'key': 'type', 'type': 'str'},
28755        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
28756        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
28757        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
28758        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
28759        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
28760        'query': {'key': 'query', 'type': 'object'},
28761    }
28762
28763    def __init__(
28764        self,
28765        *,
28766        additional_properties: Optional[Dict[str, Any]] = None,
28767        source_retry_count: Optional[Any] = None,
28768        source_retry_wait: Optional[Any] = None,
28769        max_concurrent_connections: Optional[Any] = None,
28770        query_timeout: Optional[Any] = None,
28771        additional_columns: Optional[Any] = None,
28772        query: Optional[Any] = None,
28773        **kwargs
28774    ):
28775        super(PrestoSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
28776        self.type = 'PrestoSource'  # type: str
28777        self.query = query
28778
28779
28780class PrivateEndpoint(msrest.serialization.Model):
28781    """Private endpoint details.
28782
28783    Variables are only populated by the server, and will be ignored when sending a request.
28784
28785    :ivar id: Resource id of the private endpoint.
28786    :vartype id: str
28787    """
28788
28789    _validation = {
28790        'id': {'readonly': True},
28791    }
28792
28793    _attribute_map = {
28794        'id': {'key': 'id', 'type': 'str'},
28795    }
28796
28797    def __init__(
28798        self,
28799        **kwargs
28800    ):
28801        super(PrivateEndpoint, self).__init__(**kwargs)
28802        self.id = None
28803
28804
28805class ProxyResource(Resource):
28806    """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location.
28807
28808    Variables are only populated by the server, and will be ignored when sending a request.
28809
28810    :ivar id: Fully qualified resource ID for the resource. Ex -
28811     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
28812    :vartype id: str
28813    :ivar name: The name of the resource.
28814    :vartype name: str
28815    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
28816     "Microsoft.Storage/storageAccounts".
28817    :vartype type: str
28818    """
28819
28820    _validation = {
28821        'id': {'readonly': True},
28822        'name': {'readonly': True},
28823        'type': {'readonly': True},
28824    }
28825
28826    _attribute_map = {
28827        'id': {'key': 'id', 'type': 'str'},
28828        'name': {'key': 'name', 'type': 'str'},
28829        'type': {'key': 'type', 'type': 'str'},
28830    }
28831
28832    def __init__(
28833        self,
28834        **kwargs
28835    ):
28836        super(ProxyResource, self).__init__(**kwargs)
28837
28838
28839class PrivateEndpointConnection(ProxyResource):
28840    """A private endpoint connection.
28841
28842    Variables are only populated by the server, and will be ignored when sending a request.
28843
28844    :ivar id: Fully qualified resource ID for the resource. Ex -
28845     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
28846    :vartype id: str
28847    :ivar name: The name of the resource.
28848    :vartype name: str
28849    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
28850     "Microsoft.Storage/storageAccounts".
28851    :vartype type: str
28852    :param private_endpoint: The private endpoint which the connection belongs to.
28853    :type private_endpoint: ~azure.synapse.artifacts.v2020_12_01.models.PrivateEndpoint
28854    :param private_link_service_connection_state: Connection state of the private endpoint
28855     connection.
28856    :type private_link_service_connection_state:
28857     ~azure.synapse.artifacts.v2020_12_01.models.PrivateLinkServiceConnectionState
28858    :ivar provisioning_state: Provisioning state of the private endpoint connection.
28859    :vartype provisioning_state: str
28860    """
28861
28862    _validation = {
28863        'id': {'readonly': True},
28864        'name': {'readonly': True},
28865        'type': {'readonly': True},
28866        'provisioning_state': {'readonly': True},
28867    }
28868
28869    _attribute_map = {
28870        'id': {'key': 'id', 'type': 'str'},
28871        'name': {'key': 'name', 'type': 'str'},
28872        'type': {'key': 'type', 'type': 'str'},
28873        'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'},
28874        'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'},
28875        'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
28876    }
28877
28878    def __init__(
28879        self,
28880        *,
28881        private_endpoint: Optional["PrivateEndpoint"] = None,
28882        private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None,
28883        **kwargs
28884    ):
28885        super(PrivateEndpointConnection, self).__init__(**kwargs)
28886        self.private_endpoint = private_endpoint
28887        self.private_link_service_connection_state = private_link_service_connection_state
28888        self.provisioning_state = None
28889
28890
28891class PrivateLinkServiceConnectionState(msrest.serialization.Model):
28892    """Connection state details of the private endpoint.
28893
28894    Variables are only populated by the server, and will be ignored when sending a request.
28895
28896    :param status: The private link service connection status.
28897    :type status: str
28898    :param description: The private link service connection description.
28899    :type description: str
28900    :ivar actions_required: The actions required for private link service connection.
28901    :vartype actions_required: str
28902    """
28903
28904    _validation = {
28905        'actions_required': {'readonly': True},
28906    }
28907
28908    _attribute_map = {
28909        'status': {'key': 'status', 'type': 'str'},
28910        'description': {'key': 'description', 'type': 'str'},
28911        'actions_required': {'key': 'actionsRequired', 'type': 'str'},
28912    }
28913
28914    def __init__(
28915        self,
28916        *,
28917        status: Optional[str] = None,
28918        description: Optional[str] = None,
28919        **kwargs
28920    ):
28921        super(PrivateLinkServiceConnectionState, self).__init__(**kwargs)
28922        self.status = status
28923        self.description = description
28924        self.actions_required = None
28925
28926
28927class PurviewConfiguration(msrest.serialization.Model):
28928    """Purview Configuration.
28929
28930    :param purview_resource_id: Purview Resource ID.
28931    :type purview_resource_id: str
28932    """
28933
28934    _attribute_map = {
28935        'purview_resource_id': {'key': 'purviewResourceId', 'type': 'str'},
28936    }
28937
28938    def __init__(
28939        self,
28940        *,
28941        purview_resource_id: Optional[str] = None,
28942        **kwargs
28943    ):
28944        super(PurviewConfiguration, self).__init__(**kwargs)
28945        self.purview_resource_id = purview_resource_id
28946
28947
28948class QueryDataFlowDebugSessionsResponse(msrest.serialization.Model):
28949    """A list of active debug sessions.
28950
28951    :param value: Array with all active debug sessions.
28952    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.DataFlowDebugSessionInfo]
28953    :param next_link: The link to the next page of results, if any remaining results exist.
28954    :type next_link: str
28955    """
28956
28957    _attribute_map = {
28958        'value': {'key': 'value', 'type': '[DataFlowDebugSessionInfo]'},
28959        'next_link': {'key': 'nextLink', 'type': 'str'},
28960    }
28961
28962    def __init__(
28963        self,
28964        *,
28965        value: Optional[List["DataFlowDebugSessionInfo"]] = None,
28966        next_link: Optional[str] = None,
28967        **kwargs
28968    ):
28969        super(QueryDataFlowDebugSessionsResponse, self).__init__(**kwargs)
28970        self.value = value
28971        self.next_link = next_link
28972
28973
28974class QuickBooksLinkedService(LinkedService):
28975    """QuickBooks server linked service.
28976
28977    All required parameters must be populated in order to send to Azure.
28978
28979    :param additional_properties: Unmatched properties from the message are deserialized to this
28980     collection.
28981    :type additional_properties: dict[str, any]
28982    :param type: Required. Type of linked service.Constant filled by server.
28983    :type type: str
28984    :param connect_via: The integration runtime reference.
28985    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
28986    :param description: Linked service description.
28987    :type description: str
28988    :param parameters: Parameters for linked service.
28989    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
28990    :param annotations: List of tags that can be used for describing the linked service.
28991    :type annotations: list[any]
28992    :param connection_properties: Properties used to connect to QuickBooks. It is mutually
28993     exclusive with any other properties in the linked service. Type: object.
28994    :type connection_properties: any
28995    :param endpoint: Required. The endpoint of the QuickBooks server. (i.e.
28996     quickbooks.api.intuit.com).
28997    :type endpoint: any
28998    :param company_id: Required. The company ID of the QuickBooks company to authorize.
28999    :type company_id: any
29000    :param consumer_key: Required. The consumer key for OAuth 1.0 authentication.
29001    :type consumer_key: any
29002    :param consumer_secret: Required. The consumer secret for OAuth 1.0 authentication.
29003    :type consumer_secret: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
29004    :param access_token: Required. The access token for OAuth 1.0 authentication.
29005    :type access_token: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
29006    :param access_token_secret: Required. The access token secret for OAuth 1.0 authentication.
29007    :type access_token_secret: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
29008    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
29009     HTTPS. The default value is true.
29010    :type use_encrypted_endpoints: any
29011    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
29012     encrypted using the integration runtime credential manager. Type: string (or Expression with
29013     resultType string).
29014    :type encrypted_credential: any
29015    """
29016
29017    _validation = {
29018        'type': {'required': True},
29019        'endpoint': {'required': True},
29020        'company_id': {'required': True},
29021        'consumer_key': {'required': True},
29022        'consumer_secret': {'required': True},
29023        'access_token': {'required': True},
29024        'access_token_secret': {'required': True},
29025    }
29026
29027    _attribute_map = {
29028        'additional_properties': {'key': '', 'type': '{object}'},
29029        'type': {'key': 'type', 'type': 'str'},
29030        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
29031        'description': {'key': 'description', 'type': 'str'},
29032        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
29033        'annotations': {'key': 'annotations', 'type': '[object]'},
29034        'connection_properties': {'key': 'typeProperties.connectionProperties', 'type': 'object'},
29035        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
29036        'company_id': {'key': 'typeProperties.companyId', 'type': 'object'},
29037        'consumer_key': {'key': 'typeProperties.consumerKey', 'type': 'object'},
29038        'consumer_secret': {'key': 'typeProperties.consumerSecret', 'type': 'SecretBase'},
29039        'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'},
29040        'access_token_secret': {'key': 'typeProperties.accessTokenSecret', 'type': 'SecretBase'},
29041        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
29042        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
29043    }
29044
29045    def __init__(
29046        self,
29047        *,
29048        endpoint: Any,
29049        company_id: Any,
29050        consumer_key: Any,
29051        consumer_secret: "SecretBase",
29052        access_token: "SecretBase",
29053        access_token_secret: "SecretBase",
29054        additional_properties: Optional[Dict[str, Any]] = None,
29055        connect_via: Optional["IntegrationRuntimeReference"] = None,
29056        description: Optional[str] = None,
29057        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
29058        annotations: Optional[List[Any]] = None,
29059        connection_properties: Optional[Any] = None,
29060        use_encrypted_endpoints: Optional[Any] = None,
29061        encrypted_credential: Optional[Any] = None,
29062        **kwargs
29063    ):
29064        super(QuickBooksLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
29065        self.type = 'QuickBooks'  # type: str
29066        self.connection_properties = connection_properties
29067        self.endpoint = endpoint
29068        self.company_id = company_id
29069        self.consumer_key = consumer_key
29070        self.consumer_secret = consumer_secret
29071        self.access_token = access_token
29072        self.access_token_secret = access_token_secret
29073        self.use_encrypted_endpoints = use_encrypted_endpoints
29074        self.encrypted_credential = encrypted_credential
29075
29076
29077class QuickBooksObjectDataset(Dataset):
29078    """QuickBooks server dataset.
29079
29080    All required parameters must be populated in order to send to Azure.
29081
29082    :param additional_properties: Unmatched properties from the message are deserialized to this
29083     collection.
29084    :type additional_properties: dict[str, any]
29085    :param type: Required. Type of dataset.Constant filled by server.
29086    :type type: str
29087    :param description: Dataset description.
29088    :type description: str
29089    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
29090     with resultType array), itemType: DatasetDataElement.
29091    :type structure: any
29092    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
29093     Expression with resultType array), itemType: DatasetSchemaDataElement.
29094    :type schema: any
29095    :param linked_service_name: Required. Linked service reference.
29096    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
29097    :param parameters: Parameters for dataset.
29098    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
29099    :param annotations: List of tags that can be used for describing the Dataset.
29100    :type annotations: list[any]
29101    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
29102     root level.
29103    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
29104    :param table_name: The table name. Type: string (or Expression with resultType string).
29105    :type table_name: any
29106    """
29107
29108    _validation = {
29109        'type': {'required': True},
29110        'linked_service_name': {'required': True},
29111    }
29112
29113    _attribute_map = {
29114        'additional_properties': {'key': '', 'type': '{object}'},
29115        'type': {'key': 'type', 'type': 'str'},
29116        'description': {'key': 'description', 'type': 'str'},
29117        'structure': {'key': 'structure', 'type': 'object'},
29118        'schema': {'key': 'schema', 'type': 'object'},
29119        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
29120        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
29121        'annotations': {'key': 'annotations', 'type': '[object]'},
29122        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
29123        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
29124    }
29125
29126    def __init__(
29127        self,
29128        *,
29129        linked_service_name: "LinkedServiceReference",
29130        additional_properties: Optional[Dict[str, Any]] = None,
29131        description: Optional[str] = None,
29132        structure: Optional[Any] = None,
29133        schema: Optional[Any] = None,
29134        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
29135        annotations: Optional[List[Any]] = None,
29136        folder: Optional["DatasetFolder"] = None,
29137        table_name: Optional[Any] = None,
29138        **kwargs
29139    ):
29140        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)
29141        self.type = 'QuickBooksObject'  # type: str
29142        self.table_name = table_name
29143
29144
29145class QuickBooksSource(TabularSource):
29146    """A copy activity QuickBooks server source.
29147
29148    All required parameters must be populated in order to send to Azure.
29149
29150    :param additional_properties: Unmatched properties from the message are deserialized to this
29151     collection.
29152    :type additional_properties: dict[str, any]
29153    :param type: Required. Copy source type.Constant filled by server.
29154    :type type: str
29155    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
29156     integer).
29157    :type source_retry_count: any
29158    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
29159     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
29160    :type source_retry_wait: any
29161    :param max_concurrent_connections: The maximum concurrent connection count for the source data
29162     store. Type: integer (or Expression with resultType integer).
29163    :type max_concurrent_connections: any
29164    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
29165     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
29166    :type query_timeout: any
29167    :param additional_columns: Specifies the additional columns to be added to source data. Type:
29168     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
29169    :type additional_columns: any
29170    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
29171     string).
29172    :type query: any
29173    """
29174
29175    _validation = {
29176        'type': {'required': True},
29177    }
29178
29179    _attribute_map = {
29180        'additional_properties': {'key': '', 'type': '{object}'},
29181        'type': {'key': 'type', 'type': 'str'},
29182        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
29183        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
29184        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
29185        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
29186        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
29187        'query': {'key': 'query', 'type': 'object'},
29188    }
29189
29190    def __init__(
29191        self,
29192        *,
29193        additional_properties: Optional[Dict[str, Any]] = None,
29194        source_retry_count: Optional[Any] = None,
29195        source_retry_wait: Optional[Any] = None,
29196        max_concurrent_connections: Optional[Any] = None,
29197        query_timeout: Optional[Any] = None,
29198        additional_columns: Optional[Any] = None,
29199        query: Optional[Any] = None,
29200        **kwargs
29201    ):
29202        super(QuickBooksSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
29203        self.type = 'QuickBooksSource'  # type: str
29204        self.query = query
29205
29206
29207class RecurrenceSchedule(msrest.serialization.Model):
29208    """The recurrence schedule.
29209
29210    :param additional_properties: Unmatched properties from the message are deserialized to this
29211     collection.
29212    :type additional_properties: dict[str, any]
29213    :param minutes: The minutes.
29214    :type minutes: list[int]
29215    :param hours: The hours.
29216    :type hours: list[int]
29217    :param week_days: The days of the week.
29218    :type week_days: list[str or ~azure.synapse.artifacts.v2020_12_01.models.DayOfWeek]
29219    :param month_days: The month days.
29220    :type month_days: list[int]
29221    :param monthly_occurrences: The monthly occurrences.
29222    :type monthly_occurrences:
29223     list[~azure.synapse.artifacts.v2020_12_01.models.RecurrenceScheduleOccurrence]
29224    """
29225
29226    _attribute_map = {
29227        'additional_properties': {'key': '', 'type': '{object}'},
29228        'minutes': {'key': 'minutes', 'type': '[int]'},
29229        'hours': {'key': 'hours', 'type': '[int]'},
29230        'week_days': {'key': 'weekDays', 'type': '[str]'},
29231        'month_days': {'key': 'monthDays', 'type': '[int]'},
29232        'monthly_occurrences': {'key': 'monthlyOccurrences', 'type': '[RecurrenceScheduleOccurrence]'},
29233    }
29234
29235    def __init__(
29236        self,
29237        *,
29238        additional_properties: Optional[Dict[str, Any]] = None,
29239        minutes: Optional[List[int]] = None,
29240        hours: Optional[List[int]] = None,
29241        week_days: Optional[List[Union[str, "DayOfWeek"]]] = None,
29242        month_days: Optional[List[int]] = None,
29243        monthly_occurrences: Optional[List["RecurrenceScheduleOccurrence"]] = None,
29244        **kwargs
29245    ):
29246        super(RecurrenceSchedule, self).__init__(**kwargs)
29247        self.additional_properties = additional_properties
29248        self.minutes = minutes
29249        self.hours = hours
29250        self.week_days = week_days
29251        self.month_days = month_days
29252        self.monthly_occurrences = monthly_occurrences
29253
29254
29255class RecurrenceScheduleOccurrence(msrest.serialization.Model):
29256    """The recurrence schedule occurrence.
29257
29258    :param additional_properties: Unmatched properties from the message are deserialized to this
29259     collection.
29260    :type additional_properties: dict[str, any]
29261    :param day: The day of the week. Possible values include: "Sunday", "Monday", "Tuesday",
29262     "Wednesday", "Thursday", "Friday", "Saturday".
29263    :type day: str or ~azure.synapse.artifacts.v2020_12_01.models.DayOfWeek
29264    :param occurrence: The occurrence.
29265    :type occurrence: int
29266    """
29267
29268    _attribute_map = {
29269        'additional_properties': {'key': '', 'type': '{object}'},
29270        'day': {'key': 'day', 'type': 'str'},
29271        'occurrence': {'key': 'occurrence', 'type': 'int'},
29272    }
29273
29274    def __init__(
29275        self,
29276        *,
29277        additional_properties: Optional[Dict[str, Any]] = None,
29278        day: Optional[Union[str, "DayOfWeek"]] = None,
29279        occurrence: Optional[int] = None,
29280        **kwargs
29281    ):
29282        super(RecurrenceScheduleOccurrence, self).__init__(**kwargs)
29283        self.additional_properties = additional_properties
29284        self.day = day
29285        self.occurrence = occurrence
29286
29287
29288class RedirectIncompatibleRowSettings(msrest.serialization.Model):
29289    """Redirect incompatible row settings.
29290
29291    All required parameters must be populated in order to send to Azure.
29292
29293    :param additional_properties: Unmatched properties from the message are deserialized to this
29294     collection.
29295    :type additional_properties: dict[str, any]
29296    :param linked_service_name: Required. Name of the Azure Storage, Storage SAS, or Azure Data
29297     Lake Store linked service used for redirecting incompatible row. Must be specified if
29298     redirectIncompatibleRowSettings is specified. Type: string (or Expression with resultType
29299     string).
29300    :type linked_service_name: any
29301    :param path: The path for storing the redirect incompatible row data. Type: string (or
29302     Expression with resultType string).
29303    :type path: any
29304    """
29305
29306    _validation = {
29307        'linked_service_name': {'required': True},
29308    }
29309
29310    _attribute_map = {
29311        'additional_properties': {'key': '', 'type': '{object}'},
29312        'linked_service_name': {'key': 'linkedServiceName', 'type': 'object'},
29313        'path': {'key': 'path', 'type': 'object'},
29314    }
29315
29316    def __init__(
29317        self,
29318        *,
29319        linked_service_name: Any,
29320        additional_properties: Optional[Dict[str, Any]] = None,
29321        path: Optional[Any] = None,
29322        **kwargs
29323    ):
29324        super(RedirectIncompatibleRowSettings, self).__init__(**kwargs)
29325        self.additional_properties = additional_properties
29326        self.linked_service_name = linked_service_name
29327        self.path = path
29328
29329
29330class RedshiftUnloadSettings(msrest.serialization.Model):
29331    """The Amazon S3 settings needed for the interim Amazon S3 when copying from Amazon Redshift with unload. With this, data from Amazon Redshift source will be unloaded into S3 first and then copied into the targeted sink from the interim S3.
29332
29333    All required parameters must be populated in order to send to Azure.
29334
29335    :param s3_linked_service_name: Required. The name of the Amazon S3 linked service which will be
29336     used for the unload operation when copying from the Amazon Redshift source.
29337    :type s3_linked_service_name:
29338     ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
29339    :param bucket_name: Required. The bucket of the interim Amazon S3 which will be used to store
29340     the unloaded data from Amazon Redshift source. The bucket must be in the same region as the
29341     Amazon Redshift source. Type: string (or Expression with resultType string).
29342    :type bucket_name: any
29343    """
29344
29345    _validation = {
29346        's3_linked_service_name': {'required': True},
29347        'bucket_name': {'required': True},
29348    }
29349
29350    _attribute_map = {
29351        's3_linked_service_name': {'key': 's3LinkedServiceName', 'type': 'LinkedServiceReference'},
29352        'bucket_name': {'key': 'bucketName', 'type': 'object'},
29353    }
29354
29355    def __init__(
29356        self,
29357        *,
29358        s3_linked_service_name: "LinkedServiceReference",
29359        bucket_name: Any,
29360        **kwargs
29361    ):
29362        super(RedshiftUnloadSettings, self).__init__(**kwargs)
29363        self.s3_linked_service_name = s3_linked_service_name
29364        self.bucket_name = bucket_name
29365
29366
29367class RelationalSource(CopySource):
29368    """A copy activity source for various relational databases.
29369
29370    All required parameters must be populated in order to send to Azure.
29371
29372    :param additional_properties: Unmatched properties from the message are deserialized to this
29373     collection.
29374    :type additional_properties: dict[str, any]
29375    :param type: Required. Copy source type.Constant filled by server.
29376    :type type: str
29377    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
29378     integer).
29379    :type source_retry_count: any
29380    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
29381     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
29382    :type source_retry_wait: any
29383    :param max_concurrent_connections: The maximum concurrent connection count for the source data
29384     store. Type: integer (or Expression with resultType integer).
29385    :type max_concurrent_connections: any
29386    :param query: Database query. Type: string (or Expression with resultType string).
29387    :type query: any
29388    :param additional_columns: Specifies the additional columns to be added to source data. Type:
29389     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
29390    :type additional_columns: any
29391    """
29392
29393    _validation = {
29394        'type': {'required': True},
29395    }
29396
29397    _attribute_map = {
29398        'additional_properties': {'key': '', 'type': '{object}'},
29399        'type': {'key': 'type', 'type': 'str'},
29400        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
29401        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
29402        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
29403        'query': {'key': 'query', 'type': 'object'},
29404        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
29405    }
29406
29407    def __init__(
29408        self,
29409        *,
29410        additional_properties: Optional[Dict[str, Any]] = None,
29411        source_retry_count: Optional[Any] = None,
29412        source_retry_wait: Optional[Any] = None,
29413        max_concurrent_connections: Optional[Any] = None,
29414        query: Optional[Any] = None,
29415        additional_columns: Optional[Any] = None,
29416        **kwargs
29417    ):
29418        super(RelationalSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
29419        self.type = 'RelationalSource'  # type: str
29420        self.query = query
29421        self.additional_columns = additional_columns
29422
29423
29424class RelationalTableDataset(Dataset):
29425    """The relational table dataset.
29426
29427    All required parameters must be populated in order to send to Azure.
29428
29429    :param additional_properties: Unmatched properties from the message are deserialized to this
29430     collection.
29431    :type additional_properties: dict[str, any]
29432    :param type: Required. Type of dataset.Constant filled by server.
29433    :type type: str
29434    :param description: Dataset description.
29435    :type description: str
29436    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
29437     with resultType array), itemType: DatasetDataElement.
29438    :type structure: any
29439    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
29440     Expression with resultType array), itemType: DatasetSchemaDataElement.
29441    :type schema: any
29442    :param linked_service_name: Required. Linked service reference.
29443    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
29444    :param parameters: Parameters for dataset.
29445    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
29446    :param annotations: List of tags that can be used for describing the Dataset.
29447    :type annotations: list[any]
29448    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
29449     root level.
29450    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
29451    :param table_name: The relational table name. Type: string (or Expression with resultType
29452     string).
29453    :type table_name: any
29454    """
29455
29456    _validation = {
29457        'type': {'required': True},
29458        'linked_service_name': {'required': True},
29459    }
29460
29461    _attribute_map = {
29462        'additional_properties': {'key': '', 'type': '{object}'},
29463        'type': {'key': 'type', 'type': 'str'},
29464        'description': {'key': 'description', 'type': 'str'},
29465        'structure': {'key': 'structure', 'type': 'object'},
29466        'schema': {'key': 'schema', 'type': 'object'},
29467        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
29468        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
29469        'annotations': {'key': 'annotations', 'type': '[object]'},
29470        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
29471        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
29472    }
29473
29474    def __init__(
29475        self,
29476        *,
29477        linked_service_name: "LinkedServiceReference",
29478        additional_properties: Optional[Dict[str, Any]] = None,
29479        description: Optional[str] = None,
29480        structure: Optional[Any] = None,
29481        schema: Optional[Any] = None,
29482        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
29483        annotations: Optional[List[Any]] = None,
29484        folder: Optional["DatasetFolder"] = None,
29485        table_name: Optional[Any] = None,
29486        **kwargs
29487    ):
29488        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)
29489        self.type = 'RelationalTable'  # type: str
29490        self.table_name = table_name
29491
29492
29493class RerunTriggerListResponse(msrest.serialization.Model):
29494    """A list of rerun triggers.
29495
29496    Variables are only populated by the server, and will be ignored when sending a request.
29497
29498    All required parameters must be populated in order to send to Azure.
29499
29500    :param value: Required. List of rerun triggers.
29501    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.RerunTriggerResource]
29502    :ivar next_link: The continuation token for getting the next page of results, if any remaining
29503     results exist, null otherwise.
29504    :vartype next_link: str
29505    """
29506
29507    _validation = {
29508        'value': {'required': True},
29509        'next_link': {'readonly': True},
29510    }
29511
29512    _attribute_map = {
29513        'value': {'key': 'value', 'type': '[RerunTriggerResource]'},
29514        'next_link': {'key': 'nextLink', 'type': 'str'},
29515    }
29516
29517    def __init__(
29518        self,
29519        *,
29520        value: List["RerunTriggerResource"],
29521        **kwargs
29522    ):
29523        super(RerunTriggerListResponse, self).__init__(**kwargs)
29524        self.value = value
29525        self.next_link = None
29526
29527
29528class RerunTriggerResource(SubResource):
29529    """RerunTrigger resource type.
29530
29531    Variables are only populated by the server, and will be ignored when sending a request.
29532
29533    All required parameters must be populated in order to send to Azure.
29534
29535    :ivar id: Fully qualified resource ID for the resource. Ex -
29536     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
29537    :vartype id: str
29538    :ivar name: The name of the resource.
29539    :vartype name: str
29540    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
29541     "Microsoft.Storage/storageAccounts".
29542    :vartype type: str
29543    :ivar etag: Resource Etag.
29544    :vartype etag: str
29545    :param properties: Required. Properties of the rerun trigger.
29546    :type properties: ~azure.synapse.artifacts.v2020_12_01.models.RerunTumblingWindowTrigger
29547    """
29548
29549    _validation = {
29550        'id': {'readonly': True},
29551        'name': {'readonly': True},
29552        'type': {'readonly': True},
29553        'etag': {'readonly': True},
29554        'properties': {'required': True},
29555    }
29556
29557    _attribute_map = {
29558        'id': {'key': 'id', 'type': 'str'},
29559        'name': {'key': 'name', 'type': 'str'},
29560        'type': {'key': 'type', 'type': 'str'},
29561        'etag': {'key': 'etag', 'type': 'str'},
29562        'properties': {'key': 'properties', 'type': 'RerunTumblingWindowTrigger'},
29563    }
29564
29565    def __init__(
29566        self,
29567        *,
29568        properties: "RerunTumblingWindowTrigger",
29569        **kwargs
29570    ):
29571        super(RerunTriggerResource, self).__init__(**kwargs)
29572        self.properties = properties
29573
29574
29575class RerunTumblingWindowTrigger(Trigger):
29576    """Trigger that schedules pipeline reruns for all fixed time interval windows from a requested start time to requested end time.
29577
29578    Variables are only populated by the server, and will be ignored when sending a request.
29579
29580    All required parameters must be populated in order to send to Azure.
29581
29582    :param additional_properties: Unmatched properties from the message are deserialized to this
29583     collection.
29584    :type additional_properties: dict[str, any]
29585    :param type: Required. Trigger type.Constant filled by server.
29586    :type type: str
29587    :param description: Trigger description.
29588    :type description: str
29589    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
29590     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
29591    :vartype runtime_state: str or ~azure.synapse.artifacts.v2020_12_01.models.TriggerRuntimeState
29592    :param annotations: List of tags that can be used for describing the trigger.
29593    :type annotations: list[any]
29594    :param parent_trigger: Required. The parent trigger reference.
29595    :type parent_trigger: any
29596    :param requested_start_time: Required. The start time for the time period for which restatement
29597     is initiated. Only UTC time is currently supported.
29598    :type requested_start_time: ~datetime.datetime
29599    :param requested_end_time: Required. The end time for the time period for which restatement is
29600     initiated. Only UTC time is currently supported.
29601    :type requested_end_time: ~datetime.datetime
29602    :param rerun_concurrency: Required. The max number of parallel time windows (ready for
29603     execution) for which a rerun is triggered.
29604    :type rerun_concurrency: int
29605    """
29606
29607    _validation = {
29608        'type': {'required': True},
29609        'runtime_state': {'readonly': True},
29610        'parent_trigger': {'required': True},
29611        'requested_start_time': {'required': True},
29612        'requested_end_time': {'required': True},
29613        'rerun_concurrency': {'required': True, 'maximum': 50, 'minimum': 1},
29614    }
29615
29616    _attribute_map = {
29617        'additional_properties': {'key': '', 'type': '{object}'},
29618        'type': {'key': 'type', 'type': 'str'},
29619        'description': {'key': 'description', 'type': 'str'},
29620        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
29621        'annotations': {'key': 'annotations', 'type': '[object]'},
29622        'parent_trigger': {'key': 'typeProperties.parentTrigger', 'type': 'object'},
29623        'requested_start_time': {'key': 'typeProperties.requestedStartTime', 'type': 'iso-8601'},
29624        'requested_end_time': {'key': 'typeProperties.requestedEndTime', 'type': 'iso-8601'},
29625        'rerun_concurrency': {'key': 'typeProperties.rerunConcurrency', 'type': 'int'},
29626    }
29627
29628    def __init__(
29629        self,
29630        *,
29631        parent_trigger: Any,
29632        requested_start_time: datetime.datetime,
29633        requested_end_time: datetime.datetime,
29634        rerun_concurrency: int,
29635        additional_properties: Optional[Dict[str, Any]] = None,
29636        description: Optional[str] = None,
29637        annotations: Optional[List[Any]] = None,
29638        **kwargs
29639    ):
29640        super(RerunTumblingWindowTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, **kwargs)
29641        self.type = 'RerunTumblingWindowTrigger'  # type: str
29642        self.parent_trigger = parent_trigger
29643        self.requested_start_time = requested_start_time
29644        self.requested_end_time = requested_end_time
29645        self.rerun_concurrency = rerun_concurrency
29646
29647
29648class RerunTumblingWindowTriggerActionParameters(msrest.serialization.Model):
29649    """Rerun tumbling window trigger Parameters.
29650
29651    All required parameters must be populated in order to send to Azure.
29652
29653    :param start_time: Required. The start time for the time period for which restatement is
29654     initiated. Only UTC time is currently supported.
29655    :type start_time: ~datetime.datetime
29656    :param end_time: Required. The end time for the time period for which restatement is initiated.
29657     Only UTC time is currently supported.
29658    :type end_time: ~datetime.datetime
29659    :param max_concurrency: Required. The max number of parallel time windows (ready for execution)
29660     for which a rerun is triggered.
29661    :type max_concurrency: int
29662    """
29663
29664    _validation = {
29665        'start_time': {'required': True},
29666        'end_time': {'required': True},
29667        'max_concurrency': {'required': True, 'maximum': 50, 'minimum': 1},
29668    }
29669
29670    _attribute_map = {
29671        'start_time': {'key': 'startTime', 'type': 'iso-8601'},
29672        'end_time': {'key': 'endTime', 'type': 'iso-8601'},
29673        'max_concurrency': {'key': 'maxConcurrency', 'type': 'int'},
29674    }
29675
29676    def __init__(
29677        self,
29678        *,
29679        start_time: datetime.datetime,
29680        end_time: datetime.datetime,
29681        max_concurrency: int,
29682        **kwargs
29683    ):
29684        super(RerunTumblingWindowTriggerActionParameters, self).__init__(**kwargs)
29685        self.start_time = start_time
29686        self.end_time = end_time
29687        self.max_concurrency = max_concurrency
29688
29689
29690class ResponsysLinkedService(LinkedService):
29691    """Responsys linked service.
29692
29693    All required parameters must be populated in order to send to Azure.
29694
29695    :param additional_properties: Unmatched properties from the message are deserialized to this
29696     collection.
29697    :type additional_properties: dict[str, any]
29698    :param type: Required. Type of linked service.Constant filled by server.
29699    :type type: str
29700    :param connect_via: The integration runtime reference.
29701    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
29702    :param description: Linked service description.
29703    :type description: str
29704    :param parameters: Parameters for linked service.
29705    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
29706    :param annotations: List of tags that can be used for describing the linked service.
29707    :type annotations: list[any]
29708    :param endpoint: Required. The endpoint of the Responsys server.
29709    :type endpoint: any
29710    :param client_id: Required. The client ID associated with the Responsys application. Type:
29711     string (or Expression with resultType string).
29712    :type client_id: any
29713    :param client_secret: The client secret associated with the Responsys application. Type: string
29714     (or Expression with resultType string).
29715    :type client_secret: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
29716    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
29717     HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
29718    :type use_encrypted_endpoints: any
29719    :param use_host_verification: Specifies whether to require the host name in the server's
29720     certificate to match the host name of the server when connecting over SSL. The default value is
29721     true. Type: boolean (or Expression with resultType boolean).
29722    :type use_host_verification: any
29723    :param use_peer_verification: Specifies whether to verify the identity of the server when
29724     connecting over SSL. The default value is true. Type: boolean (or Expression with resultType
29725     boolean).
29726    :type use_peer_verification: any
29727    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
29728     encrypted using the integration runtime credential manager. Type: string (or Expression with
29729     resultType string).
29730    :type encrypted_credential: any
29731    """
29732
29733    _validation = {
29734        'type': {'required': True},
29735        'endpoint': {'required': True},
29736        'client_id': {'required': True},
29737    }
29738
29739    _attribute_map = {
29740        'additional_properties': {'key': '', 'type': '{object}'},
29741        'type': {'key': 'type', 'type': 'str'},
29742        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
29743        'description': {'key': 'description', 'type': 'str'},
29744        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
29745        'annotations': {'key': 'annotations', 'type': '[object]'},
29746        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
29747        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
29748        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
29749        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
29750        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
29751        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
29752        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
29753    }
29754
29755    def __init__(
29756        self,
29757        *,
29758        endpoint: Any,
29759        client_id: Any,
29760        additional_properties: Optional[Dict[str, Any]] = None,
29761        connect_via: Optional["IntegrationRuntimeReference"] = None,
29762        description: Optional[str] = None,
29763        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
29764        annotations: Optional[List[Any]] = None,
29765        client_secret: Optional["SecretBase"] = None,
29766        use_encrypted_endpoints: Optional[Any] = None,
29767        use_host_verification: Optional[Any] = None,
29768        use_peer_verification: Optional[Any] = None,
29769        encrypted_credential: Optional[Any] = None,
29770        **kwargs
29771    ):
29772        super(ResponsysLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
29773        self.type = 'Responsys'  # type: str
29774        self.endpoint = endpoint
29775        self.client_id = client_id
29776        self.client_secret = client_secret
29777        self.use_encrypted_endpoints = use_encrypted_endpoints
29778        self.use_host_verification = use_host_verification
29779        self.use_peer_verification = use_peer_verification
29780        self.encrypted_credential = encrypted_credential
29781
29782
29783class ResponsysObjectDataset(Dataset):
29784    """Responsys dataset.
29785
29786    All required parameters must be populated in order to send to Azure.
29787
29788    :param additional_properties: Unmatched properties from the message are deserialized to this
29789     collection.
29790    :type additional_properties: dict[str, any]
29791    :param type: Required. Type of dataset.Constant filled by server.
29792    :type type: str
29793    :param description: Dataset description.
29794    :type description: str
29795    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
29796     with resultType array), itemType: DatasetDataElement.
29797    :type structure: any
29798    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
29799     Expression with resultType array), itemType: DatasetSchemaDataElement.
29800    :type schema: any
29801    :param linked_service_name: Required. Linked service reference.
29802    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
29803    :param parameters: Parameters for dataset.
29804    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
29805    :param annotations: List of tags that can be used for describing the Dataset.
29806    :type annotations: list[any]
29807    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
29808     root level.
29809    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
29810    :param table_name: The table name. Type: string (or Expression with resultType string).
29811    :type table_name: any
29812    """
29813
29814    _validation = {
29815        'type': {'required': True},
29816        'linked_service_name': {'required': True},
29817    }
29818
29819    _attribute_map = {
29820        'additional_properties': {'key': '', 'type': '{object}'},
29821        'type': {'key': 'type', 'type': 'str'},
29822        'description': {'key': 'description', 'type': 'str'},
29823        'structure': {'key': 'structure', 'type': 'object'},
29824        'schema': {'key': 'schema', 'type': 'object'},
29825        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
29826        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
29827        'annotations': {'key': 'annotations', 'type': '[object]'},
29828        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
29829        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
29830    }
29831
29832    def __init__(
29833        self,
29834        *,
29835        linked_service_name: "LinkedServiceReference",
29836        additional_properties: Optional[Dict[str, Any]] = None,
29837        description: Optional[str] = None,
29838        structure: Optional[Any] = None,
29839        schema: Optional[Any] = None,
29840        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
29841        annotations: Optional[List[Any]] = None,
29842        folder: Optional["DatasetFolder"] = None,
29843        table_name: Optional[Any] = None,
29844        **kwargs
29845    ):
29846        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)
29847        self.type = 'ResponsysObject'  # type: str
29848        self.table_name = table_name
29849
29850
29851class ResponsysSource(TabularSource):
29852    """A copy activity Responsys source.
29853
29854    All required parameters must be populated in order to send to Azure.
29855
29856    :param additional_properties: Unmatched properties from the message are deserialized to this
29857     collection.
29858    :type additional_properties: dict[str, any]
29859    :param type: Required. Copy source type.Constant filled by server.
29860    :type type: str
29861    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
29862     integer).
29863    :type source_retry_count: any
29864    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
29865     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
29866    :type source_retry_wait: any
29867    :param max_concurrent_connections: The maximum concurrent connection count for the source data
29868     store. Type: integer (or Expression with resultType integer).
29869    :type max_concurrent_connections: any
29870    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
29871     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
29872    :type query_timeout: any
29873    :param additional_columns: Specifies the additional columns to be added to source data. Type:
29874     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
29875    :type additional_columns: any
29876    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
29877     string).
29878    :type query: any
29879    """
29880
29881    _validation = {
29882        'type': {'required': True},
29883    }
29884
29885    _attribute_map = {
29886        'additional_properties': {'key': '', 'type': '{object}'},
29887        'type': {'key': 'type', 'type': 'str'},
29888        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
29889        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
29890        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
29891        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
29892        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
29893        'query': {'key': 'query', 'type': 'object'},
29894    }
29895
29896    def __init__(
29897        self,
29898        *,
29899        additional_properties: Optional[Dict[str, Any]] = None,
29900        source_retry_count: Optional[Any] = None,
29901        source_retry_wait: Optional[Any] = None,
29902        max_concurrent_connections: Optional[Any] = None,
29903        query_timeout: Optional[Any] = None,
29904        additional_columns: Optional[Any] = None,
29905        query: Optional[Any] = None,
29906        **kwargs
29907    ):
29908        super(ResponsysSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
29909        self.type = 'ResponsysSource'  # type: str
29910        self.query = query
29911
29912
29913class RestResourceDataset(Dataset):
29914    """A Rest service dataset.
29915
29916    All required parameters must be populated in order to send to Azure.
29917
29918    :param additional_properties: Unmatched properties from the message are deserialized to this
29919     collection.
29920    :type additional_properties: dict[str, any]
29921    :param type: Required. Type of dataset.Constant filled by server.
29922    :type type: str
29923    :param description: Dataset description.
29924    :type description: str
29925    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
29926     with resultType array), itemType: DatasetDataElement.
29927    :type structure: any
29928    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
29929     Expression with resultType array), itemType: DatasetSchemaDataElement.
29930    :type schema: any
29931    :param linked_service_name: Required. Linked service reference.
29932    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
29933    :param parameters: Parameters for dataset.
29934    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
29935    :param annotations: List of tags that can be used for describing the Dataset.
29936    :type annotations: list[any]
29937    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
29938     root level.
29939    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
29940    :param relative_url: The relative URL to the resource that the RESTful API provides. Type:
29941     string (or Expression with resultType string).
29942    :type relative_url: any
29943    :param request_method: The HTTP method used to call the RESTful API. The default is GET. Type:
29944     string (or Expression with resultType string).
29945    :type request_method: any
29946    :param request_body: The HTTP request body to the RESTful API if requestMethod is POST. Type:
29947     string (or Expression with resultType string).
29948    :type request_body: any
29949    :param additional_headers: The additional HTTP headers in the request to the RESTful API. Type:
29950     string (or Expression with resultType string).
29951    :type additional_headers: any
29952    :param pagination_rules: The pagination rules to compose next page requests. Type: string (or
29953     Expression with resultType string).
29954    :type pagination_rules: any
29955    """
29956
29957    _validation = {
29958        'type': {'required': True},
29959        'linked_service_name': {'required': True},
29960    }
29961
29962    _attribute_map = {
29963        'additional_properties': {'key': '', 'type': '{object}'},
29964        'type': {'key': 'type', 'type': 'str'},
29965        'description': {'key': 'description', 'type': 'str'},
29966        'structure': {'key': 'structure', 'type': 'object'},
29967        'schema': {'key': 'schema', 'type': 'object'},
29968        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
29969        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
29970        'annotations': {'key': 'annotations', 'type': '[object]'},
29971        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
29972        'relative_url': {'key': 'typeProperties.relativeUrl', 'type': 'object'},
29973        'request_method': {'key': 'typeProperties.requestMethod', 'type': 'object'},
29974        'request_body': {'key': 'typeProperties.requestBody', 'type': 'object'},
29975        'additional_headers': {'key': 'typeProperties.additionalHeaders', 'type': 'object'},
29976        'pagination_rules': {'key': 'typeProperties.paginationRules', 'type': 'object'},
29977    }
29978
29979    def __init__(
29980        self,
29981        *,
29982        linked_service_name: "LinkedServiceReference",
29983        additional_properties: Optional[Dict[str, Any]] = None,
29984        description: Optional[str] = None,
29985        structure: Optional[Any] = None,
29986        schema: Optional[Any] = None,
29987        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
29988        annotations: Optional[List[Any]] = None,
29989        folder: Optional["DatasetFolder"] = None,
29990        relative_url: Optional[Any] = None,
29991        request_method: Optional[Any] = None,
29992        request_body: Optional[Any] = None,
29993        additional_headers: Optional[Any] = None,
29994        pagination_rules: Optional[Any] = None,
29995        **kwargs
29996    ):
29997        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)
29998        self.type = 'RestResource'  # type: str
29999        self.relative_url = relative_url
30000        self.request_method = request_method
30001        self.request_body = request_body
30002        self.additional_headers = additional_headers
30003        self.pagination_rules = pagination_rules
30004
30005
30006class RestServiceLinkedService(LinkedService):
30007    """Rest Service linked service.
30008
30009    All required parameters must be populated in order to send to Azure.
30010
30011    :param additional_properties: Unmatched properties from the message are deserialized to this
30012     collection.
30013    :type additional_properties: dict[str, any]
30014    :param type: Required. Type of linked service.Constant filled by server.
30015    :type type: str
30016    :param connect_via: The integration runtime reference.
30017    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
30018    :param description: Linked service description.
30019    :type description: str
30020    :param parameters: Parameters for linked service.
30021    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
30022    :param annotations: List of tags that can be used for describing the linked service.
30023    :type annotations: list[any]
30024    :param url: Required. The base URL of the REST service.
30025    :type url: any
30026    :param enable_server_certificate_validation: Whether to validate server side SSL certificate
30027     when connecting to the endpoint.The default value is true. Type: boolean (or Expression with
30028     resultType boolean).
30029    :type enable_server_certificate_validation: any
30030    :param authentication_type: Required. Type of authentication used to connect to the REST
30031     service. Possible values include: "Anonymous", "Basic", "AadServicePrincipal",
30032     "ManagedServiceIdentity".
30033    :type authentication_type: str or
30034     ~azure.synapse.artifacts.v2020_12_01.models.RestServiceAuthenticationType
30035    :param user_name: The user name used in Basic authentication type.
30036    :type user_name: any
30037    :param password: The password used in Basic authentication type.
30038    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
30039    :param service_principal_id: The application's client ID used in AadServicePrincipal
30040     authentication type.
30041    :type service_principal_id: any
30042    :param service_principal_key: The application's key used in AadServicePrincipal authentication
30043     type.
30044    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
30045    :param tenant: The tenant information (domain name or tenant ID) used in AadServicePrincipal
30046     authentication type under which your application resides.
30047    :type tenant: any
30048    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
30049     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
30050     factory regions’ cloud type. Type: string (or Expression with resultType string).
30051    :type azure_cloud_type: any
30052    :param aad_resource_id: The resource you are requesting authorization to use.
30053    :type aad_resource_id: any
30054    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
30055     encrypted using the integration runtime credential manager. Type: string (or Expression with
30056     resultType string).
30057    :type encrypted_credential: any
30058    """
30059
30060    _validation = {
30061        'type': {'required': True},
30062        'url': {'required': True},
30063        'authentication_type': {'required': True},
30064    }
30065
30066    _attribute_map = {
30067        'additional_properties': {'key': '', 'type': '{object}'},
30068        'type': {'key': 'type', 'type': 'str'},
30069        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
30070        'description': {'key': 'description', 'type': 'str'},
30071        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
30072        'annotations': {'key': 'annotations', 'type': '[object]'},
30073        'url': {'key': 'typeProperties.url', 'type': 'object'},
30074        'enable_server_certificate_validation': {'key': 'typeProperties.enableServerCertificateValidation', 'type': 'object'},
30075        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
30076        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
30077        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
30078        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
30079        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
30080        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
30081        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
30082        'aad_resource_id': {'key': 'typeProperties.aadResourceId', 'type': 'object'},
30083        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
30084    }
30085
30086    def __init__(
30087        self,
30088        *,
30089        url: Any,
30090        authentication_type: Union[str, "RestServiceAuthenticationType"],
30091        additional_properties: Optional[Dict[str, Any]] = None,
30092        connect_via: Optional["IntegrationRuntimeReference"] = None,
30093        description: Optional[str] = None,
30094        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
30095        annotations: Optional[List[Any]] = None,
30096        enable_server_certificate_validation: Optional[Any] = None,
30097        user_name: Optional[Any] = None,
30098        password: Optional["SecretBase"] = None,
30099        service_principal_id: Optional[Any] = None,
30100        service_principal_key: Optional["SecretBase"] = None,
30101        tenant: Optional[Any] = None,
30102        azure_cloud_type: Optional[Any] = None,
30103        aad_resource_id: Optional[Any] = None,
30104        encrypted_credential: Optional[Any] = None,
30105        **kwargs
30106    ):
30107        super(RestServiceLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
30108        self.type = 'RestService'  # type: str
30109        self.url = url
30110        self.enable_server_certificate_validation = enable_server_certificate_validation
30111        self.authentication_type = authentication_type
30112        self.user_name = user_name
30113        self.password = password
30114        self.service_principal_id = service_principal_id
30115        self.service_principal_key = service_principal_key
30116        self.tenant = tenant
30117        self.azure_cloud_type = azure_cloud_type
30118        self.aad_resource_id = aad_resource_id
30119        self.encrypted_credential = encrypted_credential
30120
30121
30122class RestSink(CopySink):
30123    """A copy activity Rest service Sink.
30124
30125    All required parameters must be populated in order to send to Azure.
30126
30127    :param additional_properties: Unmatched properties from the message are deserialized to this
30128     collection.
30129    :type additional_properties: dict[str, any]
30130    :param type: Required. Copy sink type.Constant filled by server.
30131    :type type: str
30132    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
30133     integer), minimum: 0.
30134    :type write_batch_size: any
30135    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
30136     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
30137    :type write_batch_timeout: any
30138    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
30139     integer).
30140    :type sink_retry_count: any
30141    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
30142     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
30143    :type sink_retry_wait: any
30144    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
30145     store. Type: integer (or Expression with resultType integer).
30146    :type max_concurrent_connections: any
30147    :param request_method: The HTTP method used to call the RESTful API. The default is POST. Type:
30148     string (or Expression with resultType string).
30149    :type request_method: any
30150    :param additional_headers: The additional HTTP headers in the request to the RESTful API. Type:
30151     string (or Expression with resultType string).
30152    :type additional_headers: any
30153    :param http_request_timeout: The timeout (TimeSpan) to get an HTTP response. It is the timeout
30154     to get a response, not the timeout to read response data. Default value: 00:01:40. Type: string
30155     (or Expression with resultType string), pattern:
30156     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
30157    :type http_request_timeout: any
30158    :param request_interval: The time to await before sending next request, in milliseconds.
30159    :type request_interval: any
30160    :param http_compression_type: Http Compression Type to Send data in compressed format with
30161     Optimal Compression Level, Default is None. And The Only Supported option is Gzip.
30162    :type http_compression_type: any
30163    """
30164
30165    _validation = {
30166        'type': {'required': True},
30167    }
30168
30169    _attribute_map = {
30170        'additional_properties': {'key': '', 'type': '{object}'},
30171        'type': {'key': 'type', 'type': 'str'},
30172        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
30173        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
30174        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
30175        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
30176        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
30177        'request_method': {'key': 'requestMethod', 'type': 'object'},
30178        'additional_headers': {'key': 'additionalHeaders', 'type': 'object'},
30179        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
30180        'request_interval': {'key': 'requestInterval', 'type': 'object'},
30181        'http_compression_type': {'key': 'httpCompressionType', 'type': 'object'},
30182    }
30183
30184    def __init__(
30185        self,
30186        *,
30187        additional_properties: Optional[Dict[str, Any]] = None,
30188        write_batch_size: Optional[Any] = None,
30189        write_batch_timeout: Optional[Any] = None,
30190        sink_retry_count: Optional[Any] = None,
30191        sink_retry_wait: Optional[Any] = None,
30192        max_concurrent_connections: Optional[Any] = None,
30193        request_method: Optional[Any] = None,
30194        additional_headers: Optional[Any] = None,
30195        http_request_timeout: Optional[Any] = None,
30196        request_interval: Optional[Any] = None,
30197        http_compression_type: Optional[Any] = None,
30198        **kwargs
30199    ):
30200        super(RestSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
30201        self.type = 'RestSink'  # type: str
30202        self.request_method = request_method
30203        self.additional_headers = additional_headers
30204        self.http_request_timeout = http_request_timeout
30205        self.request_interval = request_interval
30206        self.http_compression_type = http_compression_type
30207
30208
30209class RestSource(CopySource):
30210    """A copy activity Rest service source.
30211
30212    All required parameters must be populated in order to send to Azure.
30213
30214    :param additional_properties: Unmatched properties from the message are deserialized to this
30215     collection.
30216    :type additional_properties: dict[str, any]
30217    :param type: Required. Copy source type.Constant filled by server.
30218    :type type: str
30219    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
30220     integer).
30221    :type source_retry_count: any
30222    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
30223     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
30224    :type source_retry_wait: any
30225    :param max_concurrent_connections: The maximum concurrent connection count for the source data
30226     store. Type: integer (or Expression with resultType integer).
30227    :type max_concurrent_connections: any
30228    :param request_method: The HTTP method used to call the RESTful API. The default is GET. Type:
30229     string (or Expression with resultType string).
30230    :type request_method: any
30231    :param request_body: The HTTP request body to the RESTful API if requestMethod is POST. Type:
30232     string (or Expression with resultType string).
30233    :type request_body: any
30234    :param additional_headers: The additional HTTP headers in the request to the RESTful API. Type:
30235     string (or Expression with resultType string).
30236    :type additional_headers: any
30237    :param pagination_rules: The pagination rules to compose next page requests. Type: string (or
30238     Expression with resultType string).
30239    :type pagination_rules: any
30240    :param http_request_timeout: The timeout (TimeSpan) to get an HTTP response. It is the timeout
30241     to get a response, not the timeout to read response data. Default value: 00:01:40. Type: string
30242     (or Expression with resultType string), pattern:
30243     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
30244    :type http_request_timeout: any
30245    :param request_interval: The time to await before sending next page request.
30246    :type request_interval: any
30247    :param additional_columns: Specifies the additional columns to be added to source data. Type:
30248     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
30249    :type additional_columns: any
30250    """
30251
30252    _validation = {
30253        'type': {'required': True},
30254    }
30255
30256    _attribute_map = {
30257        'additional_properties': {'key': '', 'type': '{object}'},
30258        'type': {'key': 'type', 'type': 'str'},
30259        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
30260        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
30261        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
30262        'request_method': {'key': 'requestMethod', 'type': 'object'},
30263        'request_body': {'key': 'requestBody', 'type': 'object'},
30264        'additional_headers': {'key': 'additionalHeaders', 'type': 'object'},
30265        'pagination_rules': {'key': 'paginationRules', 'type': 'object'},
30266        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
30267        'request_interval': {'key': 'requestInterval', 'type': 'object'},
30268        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
30269    }
30270
30271    def __init__(
30272        self,
30273        *,
30274        additional_properties: Optional[Dict[str, Any]] = None,
30275        source_retry_count: Optional[Any] = None,
30276        source_retry_wait: Optional[Any] = None,
30277        max_concurrent_connections: Optional[Any] = None,
30278        request_method: Optional[Any] = None,
30279        request_body: Optional[Any] = None,
30280        additional_headers: Optional[Any] = None,
30281        pagination_rules: Optional[Any] = None,
30282        http_request_timeout: Optional[Any] = None,
30283        request_interval: Optional[Any] = None,
30284        additional_columns: Optional[Any] = None,
30285        **kwargs
30286    ):
30287        super(RestSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
30288        self.type = 'RestSource'  # type: str
30289        self.request_method = request_method
30290        self.request_body = request_body
30291        self.additional_headers = additional_headers
30292        self.pagination_rules = pagination_rules
30293        self.http_request_timeout = http_request_timeout
30294        self.request_interval = request_interval
30295        self.additional_columns = additional_columns
30296
30297
30298class RetryPolicy(msrest.serialization.Model):
30299    """Execution policy for an activity.
30300
30301    :param count: Maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with
30302     resultType integer), minimum: 0.
30303    :type count: any
30304    :param interval_in_seconds: Interval between retries in seconds. Default is 30.
30305    :type interval_in_seconds: int
30306    """
30307
30308    _validation = {
30309        'interval_in_seconds': {'maximum': 86400, 'minimum': 30},
30310    }
30311
30312    _attribute_map = {
30313        'count': {'key': 'count', 'type': 'object'},
30314        'interval_in_seconds': {'key': 'intervalInSeconds', 'type': 'int'},
30315    }
30316
30317    def __init__(
30318        self,
30319        *,
30320        count: Optional[Any] = None,
30321        interval_in_seconds: Optional[int] = None,
30322        **kwargs
30323    ):
30324        super(RetryPolicy, self).__init__(**kwargs)
30325        self.count = count
30326        self.interval_in_seconds = interval_in_seconds
30327
30328
30329class RunFilterParameters(msrest.serialization.Model):
30330    """Query parameters for listing runs.
30331
30332    All required parameters must be populated in order to send to Azure.
30333
30334    :param continuation_token: The continuation token for getting the next page of results. Null
30335     for first page.
30336    :type continuation_token: str
30337    :param last_updated_after: Required. The time at or after which the run event was updated in
30338     'ISO 8601' format.
30339    :type last_updated_after: ~datetime.datetime
30340    :param last_updated_before: Required. The time at or before which the run event was updated in
30341     'ISO 8601' format.
30342    :type last_updated_before: ~datetime.datetime
30343    :param filters: List of filters.
30344    :type filters: list[~azure.synapse.artifacts.v2020_12_01.models.RunQueryFilter]
30345    :param order_by: List of OrderBy option.
30346    :type order_by: list[~azure.synapse.artifacts.v2020_12_01.models.RunQueryOrderBy]
30347    """
30348
30349    _validation = {
30350        'last_updated_after': {'required': True},
30351        'last_updated_before': {'required': True},
30352    }
30353
30354    _attribute_map = {
30355        'continuation_token': {'key': 'continuationToken', 'type': 'str'},
30356        'last_updated_after': {'key': 'lastUpdatedAfter', 'type': 'iso-8601'},
30357        'last_updated_before': {'key': 'lastUpdatedBefore', 'type': 'iso-8601'},
30358        'filters': {'key': 'filters', 'type': '[RunQueryFilter]'},
30359        'order_by': {'key': 'orderBy', 'type': '[RunQueryOrderBy]'},
30360    }
30361
30362    def __init__(
30363        self,
30364        *,
30365        last_updated_after: datetime.datetime,
30366        last_updated_before: datetime.datetime,
30367        continuation_token: Optional[str] = None,
30368        filters: Optional[List["RunQueryFilter"]] = None,
30369        order_by: Optional[List["RunQueryOrderBy"]] = None,
30370        **kwargs
30371    ):
30372        super(RunFilterParameters, self).__init__(**kwargs)
30373        self.continuation_token = continuation_token
30374        self.last_updated_after = last_updated_after
30375        self.last_updated_before = last_updated_before
30376        self.filters = filters
30377        self.order_by = order_by
30378
30379
30380class RunQueryFilter(msrest.serialization.Model):
30381    """Query filter option for listing runs.
30382
30383    All required parameters must be populated in order to send to Azure.
30384
30385    :param operand: Required. Parameter name to be used for filter. The allowed operands to query
30386     pipeline runs are PipelineName, RunStart, RunEnd and Status; to query activity runs are
30387     ActivityName, ActivityRunStart, ActivityRunEnd, ActivityType and Status, and to query trigger
30388     runs are TriggerName, TriggerRunTimestamp and Status. Possible values include: "PipelineName",
30389     "Status", "RunStart", "RunEnd", "ActivityName", "ActivityRunStart", "ActivityRunEnd",
30390     "ActivityType", "TriggerName", "TriggerRunTimestamp", "RunGroupId", "LatestOnly".
30391    :type operand: str or ~azure.synapse.artifacts.v2020_12_01.models.RunQueryFilterOperand
30392    :param operator: Required. Operator to be used for filter. Possible values include: "Equals",
30393     "NotEquals", "In", "NotIn".
30394    :type operator: str or ~azure.synapse.artifacts.v2020_12_01.models.RunQueryFilterOperator
30395    :param values: Required. List of filter values.
30396    :type values: list[str]
30397    """
30398
30399    _validation = {
30400        'operand': {'required': True},
30401        'operator': {'required': True},
30402        'values': {'required': True},
30403    }
30404
30405    _attribute_map = {
30406        'operand': {'key': 'operand', 'type': 'str'},
30407        'operator': {'key': 'operator', 'type': 'str'},
30408        'values': {'key': 'values', 'type': '[str]'},
30409    }
30410
30411    def __init__(
30412        self,
30413        *,
30414        operand: Union[str, "RunQueryFilterOperand"],
30415        operator: Union[str, "RunQueryFilterOperator"],
30416        values: List[str],
30417        **kwargs
30418    ):
30419        super(RunQueryFilter, self).__init__(**kwargs)
30420        self.operand = operand
30421        self.operator = operator
30422        self.values = values
30423
30424
30425class RunQueryOrderBy(msrest.serialization.Model):
30426    """An object to provide order by options for listing runs.
30427
30428    All required parameters must be populated in order to send to Azure.
30429
30430    :param order_by: Required. Parameter name to be used for order by. The allowed parameters to
30431     order by for pipeline runs are PipelineName, RunStart, RunEnd and Status; for activity runs are
30432     ActivityName, ActivityRunStart, ActivityRunEnd and Status; for trigger runs are TriggerName,
30433     TriggerRunTimestamp and Status. Possible values include: "RunStart", "RunEnd", "PipelineName",
30434     "Status", "ActivityName", "ActivityRunStart", "ActivityRunEnd", "TriggerName",
30435     "TriggerRunTimestamp".
30436    :type order_by: str or ~azure.synapse.artifacts.v2020_12_01.models.RunQueryOrderByField
30437    :param order: Required. Sorting order of the parameter. Possible values include: "ASC", "DESC".
30438    :type order: str or ~azure.synapse.artifacts.v2020_12_01.models.RunQueryOrder
30439    """
30440
30441    _validation = {
30442        'order_by': {'required': True},
30443        'order': {'required': True},
30444    }
30445
30446    _attribute_map = {
30447        'order_by': {'key': 'orderBy', 'type': 'str'},
30448        'order': {'key': 'order', 'type': 'str'},
30449    }
30450
30451    def __init__(
30452        self,
30453        *,
30454        order_by: Union[str, "RunQueryOrderByField"],
30455        order: Union[str, "RunQueryOrder"],
30456        **kwargs
30457    ):
30458        super(RunQueryOrderBy, self).__init__(**kwargs)
30459        self.order_by = order_by
30460        self.order = order
30461
30462
30463class SalesforceLinkedService(LinkedService):
30464    """Linked service for Salesforce.
30465
30466    All required parameters must be populated in order to send to Azure.
30467
30468    :param additional_properties: Unmatched properties from the message are deserialized to this
30469     collection.
30470    :type additional_properties: dict[str, any]
30471    :param type: Required. Type of linked service.Constant filled by server.
30472    :type type: str
30473    :param connect_via: The integration runtime reference.
30474    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
30475    :param description: Linked service description.
30476    :type description: str
30477    :param parameters: Parameters for linked service.
30478    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
30479    :param annotations: List of tags that can be used for describing the linked service.
30480    :type annotations: list[any]
30481    :param environment_url: The URL of Salesforce instance. Default is
30482     'https://login.salesforce.com'. To copy data from sandbox, specify
30483     'https://test.salesforce.com'. To copy data from custom domain, specify, for example,
30484     'https://[domain].my.salesforce.com'. Type: string (or Expression with resultType string).
30485    :type environment_url: any
30486    :param username: The username for Basic authentication of the Salesforce instance. Type: string
30487     (or Expression with resultType string).
30488    :type username: any
30489    :param password: The password for Basic authentication of the Salesforce instance.
30490    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
30491    :param security_token: The security token is optional to remotely access Salesforce instance.
30492    :type security_token: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
30493    :param api_version: The Salesforce API version used in ADF. Type: string (or Expression with
30494     resultType string).
30495    :type api_version: any
30496    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
30497     encrypted using the integration runtime credential manager. Type: string (or Expression with
30498     resultType string).
30499    :type encrypted_credential: any
30500    """
30501
30502    _validation = {
30503        'type': {'required': True},
30504    }
30505
30506    _attribute_map = {
30507        'additional_properties': {'key': '', 'type': '{object}'},
30508        'type': {'key': 'type', 'type': 'str'},
30509        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
30510        'description': {'key': 'description', 'type': 'str'},
30511        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
30512        'annotations': {'key': 'annotations', 'type': '[object]'},
30513        'environment_url': {'key': 'typeProperties.environmentUrl', 'type': 'object'},
30514        'username': {'key': 'typeProperties.username', 'type': 'object'},
30515        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
30516        'security_token': {'key': 'typeProperties.securityToken', 'type': 'SecretBase'},
30517        'api_version': {'key': 'typeProperties.apiVersion', 'type': 'object'},
30518        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
30519    }
30520
30521    def __init__(
30522        self,
30523        *,
30524        additional_properties: Optional[Dict[str, Any]] = None,
30525        connect_via: Optional["IntegrationRuntimeReference"] = None,
30526        description: Optional[str] = None,
30527        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
30528        annotations: Optional[List[Any]] = None,
30529        environment_url: Optional[Any] = None,
30530        username: Optional[Any] = None,
30531        password: Optional["SecretBase"] = None,
30532        security_token: Optional["SecretBase"] = None,
30533        api_version: Optional[Any] = None,
30534        encrypted_credential: Optional[Any] = None,
30535        **kwargs
30536    ):
30537        super(SalesforceLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
30538        self.type = 'Salesforce'  # type: str
30539        self.environment_url = environment_url
30540        self.username = username
30541        self.password = password
30542        self.security_token = security_token
30543        self.api_version = api_version
30544        self.encrypted_credential = encrypted_credential
30545
30546
30547class SalesforceMarketingCloudLinkedService(LinkedService):
30548    """Salesforce Marketing Cloud linked service.
30549
30550    All required parameters must be populated in order to send to Azure.
30551
30552    :param additional_properties: Unmatched properties from the message are deserialized to this
30553     collection.
30554    :type additional_properties: dict[str, any]
30555    :param type: Required. Type of linked service.Constant filled by server.
30556    :type type: str
30557    :param connect_via: The integration runtime reference.
30558    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
30559    :param description: Linked service description.
30560    :type description: str
30561    :param parameters: Parameters for linked service.
30562    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
30563    :param annotations: List of tags that can be used for describing the linked service.
30564    :type annotations: list[any]
30565    :param connection_properties: Properties used to connect to Salesforce Marketing Cloud. It is
30566     mutually exclusive with any other properties in the linked service. Type: object.
30567    :type connection_properties: any
30568    :param client_id: Required. The client ID associated with the Salesforce Marketing Cloud
30569     application. Type: string (or Expression with resultType string).
30570    :type client_id: any
30571    :param client_secret: The client secret associated with the Salesforce Marketing Cloud
30572     application. Type: string (or Expression with resultType string).
30573    :type client_secret: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
30574    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
30575     HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
30576    :type use_encrypted_endpoints: any
30577    :param use_host_verification: Specifies whether to require the host name in the server's
30578     certificate to match the host name of the server when connecting over SSL. The default value is
30579     true. Type: boolean (or Expression with resultType boolean).
30580    :type use_host_verification: any
30581    :param use_peer_verification: Specifies whether to verify the identity of the server when
30582     connecting over SSL. The default value is true. Type: boolean (or Expression with resultType
30583     boolean).
30584    :type use_peer_verification: any
30585    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
30586     encrypted using the integration runtime credential manager. Type: string (or Expression with
30587     resultType string).
30588    :type encrypted_credential: any
30589    """
30590
30591    _validation = {
30592        'type': {'required': True},
30593        'client_id': {'required': True},
30594    }
30595
30596    _attribute_map = {
30597        'additional_properties': {'key': '', 'type': '{object}'},
30598        'type': {'key': 'type', 'type': 'str'},
30599        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
30600        'description': {'key': 'description', 'type': 'str'},
30601        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
30602        'annotations': {'key': 'annotations', 'type': '[object]'},
30603        'connection_properties': {'key': 'typeProperties.connectionProperties', 'type': 'object'},
30604        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
30605        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
30606        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
30607        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
30608        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
30609        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
30610    }
30611
30612    def __init__(
30613        self,
30614        *,
30615        client_id: Any,
30616        additional_properties: Optional[Dict[str, Any]] = None,
30617        connect_via: Optional["IntegrationRuntimeReference"] = None,
30618        description: Optional[str] = None,
30619        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
30620        annotations: Optional[List[Any]] = None,
30621        connection_properties: Optional[Any] = None,
30622        client_secret: Optional["SecretBase"] = None,
30623        use_encrypted_endpoints: Optional[Any] = None,
30624        use_host_verification: Optional[Any] = None,
30625        use_peer_verification: Optional[Any] = None,
30626        encrypted_credential: Optional[Any] = None,
30627        **kwargs
30628    ):
30629        super(SalesforceMarketingCloudLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
30630        self.type = 'SalesforceMarketingCloud'  # type: str
30631        self.connection_properties = connection_properties
30632        self.client_id = client_id
30633        self.client_secret = client_secret
30634        self.use_encrypted_endpoints = use_encrypted_endpoints
30635        self.use_host_verification = use_host_verification
30636        self.use_peer_verification = use_peer_verification
30637        self.encrypted_credential = encrypted_credential
30638
30639
30640class SalesforceMarketingCloudObjectDataset(Dataset):
30641    """Salesforce Marketing Cloud dataset.
30642
30643    All required parameters must be populated in order to send to Azure.
30644
30645    :param additional_properties: Unmatched properties from the message are deserialized to this
30646     collection.
30647    :type additional_properties: dict[str, any]
30648    :param type: Required. Type of dataset.Constant filled by server.
30649    :type type: str
30650    :param description: Dataset description.
30651    :type description: str
30652    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
30653     with resultType array), itemType: DatasetDataElement.
30654    :type structure: any
30655    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
30656     Expression with resultType array), itemType: DatasetSchemaDataElement.
30657    :type schema: any
30658    :param linked_service_name: Required. Linked service reference.
30659    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
30660    :param parameters: Parameters for dataset.
30661    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
30662    :param annotations: List of tags that can be used for describing the Dataset.
30663    :type annotations: list[any]
30664    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
30665     root level.
30666    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
30667    :param table_name: The table name. Type: string (or Expression with resultType string).
30668    :type table_name: any
30669    """
30670
30671    _validation = {
30672        'type': {'required': True},
30673        'linked_service_name': {'required': True},
30674    }
30675
30676    _attribute_map = {
30677        'additional_properties': {'key': '', 'type': '{object}'},
30678        'type': {'key': 'type', 'type': 'str'},
30679        'description': {'key': 'description', 'type': 'str'},
30680        'structure': {'key': 'structure', 'type': 'object'},
30681        'schema': {'key': 'schema', 'type': 'object'},
30682        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
30683        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
30684        'annotations': {'key': 'annotations', 'type': '[object]'},
30685        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
30686        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
30687    }
30688
30689    def __init__(
30690        self,
30691        *,
30692        linked_service_name: "LinkedServiceReference",
30693        additional_properties: Optional[Dict[str, Any]] = None,
30694        description: Optional[str] = None,
30695        structure: Optional[Any] = None,
30696        schema: Optional[Any] = None,
30697        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
30698        annotations: Optional[List[Any]] = None,
30699        folder: Optional["DatasetFolder"] = None,
30700        table_name: Optional[Any] = None,
30701        **kwargs
30702    ):
30703        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)
30704        self.type = 'SalesforceMarketingCloudObject'  # type: str
30705        self.table_name = table_name
30706
30707
30708class SalesforceMarketingCloudSource(TabularSource):
30709    """A copy activity Salesforce Marketing Cloud source.
30710
30711    All required parameters must be populated in order to send to Azure.
30712
30713    :param additional_properties: Unmatched properties from the message are deserialized to this
30714     collection.
30715    :type additional_properties: dict[str, any]
30716    :param type: Required. Copy source type.Constant filled by server.
30717    :type type: str
30718    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
30719     integer).
30720    :type source_retry_count: any
30721    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
30722     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
30723    :type source_retry_wait: any
30724    :param max_concurrent_connections: The maximum concurrent connection count for the source data
30725     store. Type: integer (or Expression with resultType integer).
30726    :type max_concurrent_connections: any
30727    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
30728     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
30729    :type query_timeout: any
30730    :param additional_columns: Specifies the additional columns to be added to source data. Type:
30731     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
30732    :type additional_columns: any
30733    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
30734     string).
30735    :type query: any
30736    """
30737
30738    _validation = {
30739        'type': {'required': True},
30740    }
30741
30742    _attribute_map = {
30743        'additional_properties': {'key': '', 'type': '{object}'},
30744        'type': {'key': 'type', 'type': 'str'},
30745        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
30746        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
30747        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
30748        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
30749        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
30750        'query': {'key': 'query', 'type': 'object'},
30751    }
30752
30753    def __init__(
30754        self,
30755        *,
30756        additional_properties: Optional[Dict[str, Any]] = None,
30757        source_retry_count: Optional[Any] = None,
30758        source_retry_wait: Optional[Any] = None,
30759        max_concurrent_connections: Optional[Any] = None,
30760        query_timeout: Optional[Any] = None,
30761        additional_columns: Optional[Any] = None,
30762        query: Optional[Any] = None,
30763        **kwargs
30764    ):
30765        super(SalesforceMarketingCloudSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
30766        self.type = 'SalesforceMarketingCloudSource'  # type: str
30767        self.query = query
30768
30769
30770class SalesforceObjectDataset(Dataset):
30771    """The Salesforce object dataset.
30772
30773    All required parameters must be populated in order to send to Azure.
30774
30775    :param additional_properties: Unmatched properties from the message are deserialized to this
30776     collection.
30777    :type additional_properties: dict[str, any]
30778    :param type: Required. Type of dataset.Constant filled by server.
30779    :type type: str
30780    :param description: Dataset description.
30781    :type description: str
30782    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
30783     with resultType array), itemType: DatasetDataElement.
30784    :type structure: any
30785    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
30786     Expression with resultType array), itemType: DatasetSchemaDataElement.
30787    :type schema: any
30788    :param linked_service_name: Required. Linked service reference.
30789    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
30790    :param parameters: Parameters for dataset.
30791    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
30792    :param annotations: List of tags that can be used for describing the Dataset.
30793    :type annotations: list[any]
30794    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
30795     root level.
30796    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
30797    :param object_api_name: The Salesforce object API name. Type: string (or Expression with
30798     resultType string).
30799    :type object_api_name: any
30800    """
30801
30802    _validation = {
30803        'type': {'required': True},
30804        'linked_service_name': {'required': True},
30805    }
30806
30807    _attribute_map = {
30808        'additional_properties': {'key': '', 'type': '{object}'},
30809        'type': {'key': 'type', 'type': 'str'},
30810        'description': {'key': 'description', 'type': 'str'},
30811        'structure': {'key': 'structure', 'type': 'object'},
30812        'schema': {'key': 'schema', 'type': 'object'},
30813        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
30814        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
30815        'annotations': {'key': 'annotations', 'type': '[object]'},
30816        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
30817        'object_api_name': {'key': 'typeProperties.objectApiName', 'type': 'object'},
30818    }
30819
30820    def __init__(
30821        self,
30822        *,
30823        linked_service_name: "LinkedServiceReference",
30824        additional_properties: Optional[Dict[str, Any]] = None,
30825        description: Optional[str] = None,
30826        structure: Optional[Any] = None,
30827        schema: Optional[Any] = None,
30828        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
30829        annotations: Optional[List[Any]] = None,
30830        folder: Optional["DatasetFolder"] = None,
30831        object_api_name: Optional[Any] = None,
30832        **kwargs
30833    ):
30834        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)
30835        self.type = 'SalesforceObject'  # type: str
30836        self.object_api_name = object_api_name
30837
30838
30839class SalesforceServiceCloudLinkedService(LinkedService):
30840    """Linked service for Salesforce Service Cloud.
30841
30842    All required parameters must be populated in order to send to Azure.
30843
30844    :param additional_properties: Unmatched properties from the message are deserialized to this
30845     collection.
30846    :type additional_properties: dict[str, any]
30847    :param type: Required. Type of linked service.Constant filled by server.
30848    :type type: str
30849    :param connect_via: The integration runtime reference.
30850    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
30851    :param description: Linked service description.
30852    :type description: str
30853    :param parameters: Parameters for linked service.
30854    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
30855    :param annotations: List of tags that can be used for describing the linked service.
30856    :type annotations: list[any]
30857    :param environment_url: The URL of Salesforce Service Cloud instance. Default is
30858     'https://login.salesforce.com'. To copy data from sandbox, specify
30859     'https://test.salesforce.com'. To copy data from custom domain, specify, for example,
30860     'https://[domain].my.salesforce.com'. Type: string (or Expression with resultType string).
30861    :type environment_url: any
30862    :param username: The username for Basic authentication of the Salesforce instance. Type: string
30863     (or Expression with resultType string).
30864    :type username: any
30865    :param password: The password for Basic authentication of the Salesforce instance.
30866    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
30867    :param security_token: The security token is optional to remotely access Salesforce instance.
30868    :type security_token: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
30869    :param api_version: The Salesforce API version used in ADF. Type: string (or Expression with
30870     resultType string).
30871    :type api_version: any
30872    :param extended_properties: Extended properties appended to the connection string. Type: string
30873     (or Expression with resultType string).
30874    :type extended_properties: any
30875    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
30876     encrypted using the integration runtime credential manager. Type: string (or Expression with
30877     resultType string).
30878    :type encrypted_credential: any
30879    """
30880
30881    _validation = {
30882        'type': {'required': True},
30883    }
30884
30885    _attribute_map = {
30886        'additional_properties': {'key': '', 'type': '{object}'},
30887        'type': {'key': 'type', 'type': 'str'},
30888        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
30889        'description': {'key': 'description', 'type': 'str'},
30890        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
30891        'annotations': {'key': 'annotations', 'type': '[object]'},
30892        'environment_url': {'key': 'typeProperties.environmentUrl', 'type': 'object'},
30893        'username': {'key': 'typeProperties.username', 'type': 'object'},
30894        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
30895        'security_token': {'key': 'typeProperties.securityToken', 'type': 'SecretBase'},
30896        'api_version': {'key': 'typeProperties.apiVersion', 'type': 'object'},
30897        'extended_properties': {'key': 'typeProperties.extendedProperties', 'type': 'object'},
30898        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
30899    }
30900
30901    def __init__(
30902        self,
30903        *,
30904        additional_properties: Optional[Dict[str, Any]] = None,
30905        connect_via: Optional["IntegrationRuntimeReference"] = None,
30906        description: Optional[str] = None,
30907        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
30908        annotations: Optional[List[Any]] = None,
30909        environment_url: Optional[Any] = None,
30910        username: Optional[Any] = None,
30911        password: Optional["SecretBase"] = None,
30912        security_token: Optional["SecretBase"] = None,
30913        api_version: Optional[Any] = None,
30914        extended_properties: Optional[Any] = None,
30915        encrypted_credential: Optional[Any] = None,
30916        **kwargs
30917    ):
30918        super(SalesforceServiceCloudLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
30919        self.type = 'SalesforceServiceCloud'  # type: str
30920        self.environment_url = environment_url
30921        self.username = username
30922        self.password = password
30923        self.security_token = security_token
30924        self.api_version = api_version
30925        self.extended_properties = extended_properties
30926        self.encrypted_credential = encrypted_credential
30927
30928
30929class SalesforceServiceCloudObjectDataset(Dataset):
30930    """The Salesforce Service Cloud object dataset.
30931
30932    All required parameters must be populated in order to send to Azure.
30933
30934    :param additional_properties: Unmatched properties from the message are deserialized to this
30935     collection.
30936    :type additional_properties: dict[str, any]
30937    :param type: Required. Type of dataset.Constant filled by server.
30938    :type type: str
30939    :param description: Dataset description.
30940    :type description: str
30941    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
30942     with resultType array), itemType: DatasetDataElement.
30943    :type structure: any
30944    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
30945     Expression with resultType array), itemType: DatasetSchemaDataElement.
30946    :type schema: any
30947    :param linked_service_name: Required. Linked service reference.
30948    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
30949    :param parameters: Parameters for dataset.
30950    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
30951    :param annotations: List of tags that can be used for describing the Dataset.
30952    :type annotations: list[any]
30953    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
30954     root level.
30955    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
30956    :param object_api_name: The Salesforce Service Cloud object API name. Type: string (or
30957     Expression with resultType string).
30958    :type object_api_name: any
30959    """
30960
30961    _validation = {
30962        'type': {'required': True},
30963        'linked_service_name': {'required': True},
30964    }
30965
30966    _attribute_map = {
30967        'additional_properties': {'key': '', 'type': '{object}'},
30968        'type': {'key': 'type', 'type': 'str'},
30969        'description': {'key': 'description', 'type': 'str'},
30970        'structure': {'key': 'structure', 'type': 'object'},
30971        'schema': {'key': 'schema', 'type': 'object'},
30972        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
30973        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
30974        'annotations': {'key': 'annotations', 'type': '[object]'},
30975        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
30976        'object_api_name': {'key': 'typeProperties.objectApiName', 'type': 'object'},
30977    }
30978
30979    def __init__(
30980        self,
30981        *,
30982        linked_service_name: "LinkedServiceReference",
30983        additional_properties: Optional[Dict[str, Any]] = None,
30984        description: Optional[str] = None,
30985        structure: Optional[Any] = None,
30986        schema: Optional[Any] = None,
30987        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
30988        annotations: Optional[List[Any]] = None,
30989        folder: Optional["DatasetFolder"] = None,
30990        object_api_name: Optional[Any] = None,
30991        **kwargs
30992    ):
30993        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)
30994        self.type = 'SalesforceServiceCloudObject'  # type: str
30995        self.object_api_name = object_api_name
30996
30997
30998class SalesforceServiceCloudSink(CopySink):
30999    """A copy activity Salesforce Service Cloud sink.
31000
31001    All required parameters must be populated in order to send to Azure.
31002
31003    :param additional_properties: Unmatched properties from the message are deserialized to this
31004     collection.
31005    :type additional_properties: dict[str, any]
31006    :param type: Required. Copy sink type.Constant filled by server.
31007    :type type: str
31008    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
31009     integer), minimum: 0.
31010    :type write_batch_size: any
31011    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
31012     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31013    :type write_batch_timeout: any
31014    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
31015     integer).
31016    :type sink_retry_count: any
31017    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
31018     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31019    :type sink_retry_wait: any
31020    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
31021     store. Type: integer (or Expression with resultType integer).
31022    :type max_concurrent_connections: any
31023    :param write_behavior: The write behavior for the operation. Default is Insert. Possible values
31024     include: "Insert", "Upsert".
31025    :type write_behavior: str or
31026     ~azure.synapse.artifacts.v2020_12_01.models.SalesforceSinkWriteBehavior
31027    :param external_id_field_name: The name of the external ID field for upsert operation. Default
31028     value is 'Id' column. Type: string (or Expression with resultType string).
31029    :type external_id_field_name: any
31030    :param ignore_null_values: The flag indicating whether or not to ignore null values from input
31031     dataset (except key fields) during write operation. Default value is false. If set it to true,
31032     it means ADF will leave the data in the destination object unchanged when doing upsert/update
31033     operation and insert defined default value when doing insert operation, versus ADF will update
31034     the data in the destination object to NULL when doing upsert/update operation and insert NULL
31035     value when doing insert operation. Type: boolean (or Expression with resultType boolean).
31036    :type ignore_null_values: any
31037    """
31038
31039    _validation = {
31040        'type': {'required': True},
31041    }
31042
31043    _attribute_map = {
31044        'additional_properties': {'key': '', 'type': '{object}'},
31045        'type': {'key': 'type', 'type': 'str'},
31046        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
31047        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
31048        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
31049        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
31050        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
31051        'write_behavior': {'key': 'writeBehavior', 'type': 'str'},
31052        'external_id_field_name': {'key': 'externalIdFieldName', 'type': 'object'},
31053        'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'},
31054    }
31055
31056    def __init__(
31057        self,
31058        *,
31059        additional_properties: Optional[Dict[str, Any]] = None,
31060        write_batch_size: Optional[Any] = None,
31061        write_batch_timeout: Optional[Any] = None,
31062        sink_retry_count: Optional[Any] = None,
31063        sink_retry_wait: Optional[Any] = None,
31064        max_concurrent_connections: Optional[Any] = None,
31065        write_behavior: Optional[Union[str, "SalesforceSinkWriteBehavior"]] = None,
31066        external_id_field_name: Optional[Any] = None,
31067        ignore_null_values: Optional[Any] = None,
31068        **kwargs
31069    ):
31070        super(SalesforceServiceCloudSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
31071        self.type = 'SalesforceServiceCloudSink'  # type: str
31072        self.write_behavior = write_behavior
31073        self.external_id_field_name = external_id_field_name
31074        self.ignore_null_values = ignore_null_values
31075
31076
31077class SalesforceServiceCloudSource(CopySource):
31078    """A copy activity Salesforce Service Cloud source.
31079
31080    All required parameters must be populated in order to send to Azure.
31081
31082    :param additional_properties: Unmatched properties from the message are deserialized to this
31083     collection.
31084    :type additional_properties: dict[str, any]
31085    :param type: Required. Copy source type.Constant filled by server.
31086    :type type: str
31087    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
31088     integer).
31089    :type source_retry_count: any
31090    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
31091     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31092    :type source_retry_wait: any
31093    :param max_concurrent_connections: The maximum concurrent connection count for the source data
31094     store. Type: integer (or Expression with resultType integer).
31095    :type max_concurrent_connections: any
31096    :param query: Database query. Type: string (or Expression with resultType string).
31097    :type query: any
31098    :param read_behavior: The read behavior for the operation. Default is Query. Possible values
31099     include: "Query", "QueryAll".
31100    :type read_behavior: str or
31101     ~azure.synapse.artifacts.v2020_12_01.models.SalesforceSourceReadBehavior
31102    :param additional_columns: Specifies the additional columns to be added to source data. Type:
31103     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
31104    :type additional_columns: any
31105    """
31106
31107    _validation = {
31108        'type': {'required': True},
31109    }
31110
31111    _attribute_map = {
31112        'additional_properties': {'key': '', 'type': '{object}'},
31113        'type': {'key': 'type', 'type': 'str'},
31114        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
31115        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
31116        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
31117        'query': {'key': 'query', 'type': 'object'},
31118        'read_behavior': {'key': 'readBehavior', 'type': 'str'},
31119        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
31120    }
31121
31122    def __init__(
31123        self,
31124        *,
31125        additional_properties: Optional[Dict[str, Any]] = None,
31126        source_retry_count: Optional[Any] = None,
31127        source_retry_wait: Optional[Any] = None,
31128        max_concurrent_connections: Optional[Any] = None,
31129        query: Optional[Any] = None,
31130        read_behavior: Optional[Union[str, "SalesforceSourceReadBehavior"]] = None,
31131        additional_columns: Optional[Any] = None,
31132        **kwargs
31133    ):
31134        super(SalesforceServiceCloudSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
31135        self.type = 'SalesforceServiceCloudSource'  # type: str
31136        self.query = query
31137        self.read_behavior = read_behavior
31138        self.additional_columns = additional_columns
31139
31140
31141class SalesforceSink(CopySink):
31142    """A copy activity Salesforce sink.
31143
31144    All required parameters must be populated in order to send to Azure.
31145
31146    :param additional_properties: Unmatched properties from the message are deserialized to this
31147     collection.
31148    :type additional_properties: dict[str, any]
31149    :param type: Required. Copy sink type.Constant filled by server.
31150    :type type: str
31151    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
31152     integer), minimum: 0.
31153    :type write_batch_size: any
31154    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
31155     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31156    :type write_batch_timeout: any
31157    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
31158     integer).
31159    :type sink_retry_count: any
31160    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
31161     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31162    :type sink_retry_wait: any
31163    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
31164     store. Type: integer (or Expression with resultType integer).
31165    :type max_concurrent_connections: any
31166    :param write_behavior: The write behavior for the operation. Default is Insert. Possible values
31167     include: "Insert", "Upsert".
31168    :type write_behavior: str or
31169     ~azure.synapse.artifacts.v2020_12_01.models.SalesforceSinkWriteBehavior
31170    :param external_id_field_name: The name of the external ID field for upsert operation. Default
31171     value is 'Id' column. Type: string (or Expression with resultType string).
31172    :type external_id_field_name: any
31173    :param ignore_null_values: The flag indicating whether or not to ignore null values from input
31174     dataset (except key fields) during write operation. Default value is false. If set it to true,
31175     it means ADF will leave the data in the destination object unchanged when doing upsert/update
31176     operation and insert defined default value when doing insert operation, versus ADF will update
31177     the data in the destination object to NULL when doing upsert/update operation and insert NULL
31178     value when doing insert operation. Type: boolean (or Expression with resultType boolean).
31179    :type ignore_null_values: any
31180    """
31181
31182    _validation = {
31183        'type': {'required': True},
31184    }
31185
31186    _attribute_map = {
31187        'additional_properties': {'key': '', 'type': '{object}'},
31188        'type': {'key': 'type', 'type': 'str'},
31189        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
31190        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
31191        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
31192        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
31193        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
31194        'write_behavior': {'key': 'writeBehavior', 'type': 'str'},
31195        'external_id_field_name': {'key': 'externalIdFieldName', 'type': 'object'},
31196        'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'},
31197    }
31198
31199    def __init__(
31200        self,
31201        *,
31202        additional_properties: Optional[Dict[str, Any]] = None,
31203        write_batch_size: Optional[Any] = None,
31204        write_batch_timeout: Optional[Any] = None,
31205        sink_retry_count: Optional[Any] = None,
31206        sink_retry_wait: Optional[Any] = None,
31207        max_concurrent_connections: Optional[Any] = None,
31208        write_behavior: Optional[Union[str, "SalesforceSinkWriteBehavior"]] = None,
31209        external_id_field_name: Optional[Any] = None,
31210        ignore_null_values: Optional[Any] = None,
31211        **kwargs
31212    ):
31213        super(SalesforceSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
31214        self.type = 'SalesforceSink'  # type: str
31215        self.write_behavior = write_behavior
31216        self.external_id_field_name = external_id_field_name
31217        self.ignore_null_values = ignore_null_values
31218
31219
31220class SalesforceSource(TabularSource):
31221    """A copy activity Salesforce source.
31222
31223    All required parameters must be populated in order to send to Azure.
31224
31225    :param additional_properties: Unmatched properties from the message are deserialized to this
31226     collection.
31227    :type additional_properties: dict[str, any]
31228    :param type: Required. Copy source type.Constant filled by server.
31229    :type type: str
31230    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
31231     integer).
31232    :type source_retry_count: any
31233    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
31234     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31235    :type source_retry_wait: any
31236    :param max_concurrent_connections: The maximum concurrent connection count for the source data
31237     store. Type: integer (or Expression with resultType integer).
31238    :type max_concurrent_connections: any
31239    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
31240     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31241    :type query_timeout: any
31242    :param additional_columns: Specifies the additional columns to be added to source data. Type:
31243     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
31244    :type additional_columns: any
31245    :param query: Database query. Type: string (or Expression with resultType string).
31246    :type query: any
31247    :param read_behavior: The read behavior for the operation. Default is Query. Possible values
31248     include: "Query", "QueryAll".
31249    :type read_behavior: str or
31250     ~azure.synapse.artifacts.v2020_12_01.models.SalesforceSourceReadBehavior
31251    """
31252
31253    _validation = {
31254        'type': {'required': True},
31255    }
31256
31257    _attribute_map = {
31258        'additional_properties': {'key': '', 'type': '{object}'},
31259        'type': {'key': 'type', 'type': 'str'},
31260        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
31261        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
31262        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
31263        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
31264        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
31265        'query': {'key': 'query', 'type': 'object'},
31266        'read_behavior': {'key': 'readBehavior', 'type': 'str'},
31267    }
31268
31269    def __init__(
31270        self,
31271        *,
31272        additional_properties: Optional[Dict[str, Any]] = None,
31273        source_retry_count: Optional[Any] = None,
31274        source_retry_wait: Optional[Any] = None,
31275        max_concurrent_connections: Optional[Any] = None,
31276        query_timeout: Optional[Any] = None,
31277        additional_columns: Optional[Any] = None,
31278        query: Optional[Any] = None,
31279        read_behavior: Optional[Union[str, "SalesforceSourceReadBehavior"]] = None,
31280        **kwargs
31281    ):
31282        super(SalesforceSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
31283        self.type = 'SalesforceSource'  # type: str
31284        self.query = query
31285        self.read_behavior = read_behavior
31286
31287
31288class SapBwCubeDataset(Dataset):
31289    """The SAP BW cube dataset.
31290
31291    All required parameters must be populated in order to send to Azure.
31292
31293    :param additional_properties: Unmatched properties from the message are deserialized to this
31294     collection.
31295    :type additional_properties: dict[str, any]
31296    :param type: Required. Type of dataset.Constant filled by server.
31297    :type type: str
31298    :param description: Dataset description.
31299    :type description: str
31300    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
31301     with resultType array), itemType: DatasetDataElement.
31302    :type structure: any
31303    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
31304     Expression with resultType array), itemType: DatasetSchemaDataElement.
31305    :type schema: any
31306    :param linked_service_name: Required. Linked service reference.
31307    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
31308    :param parameters: Parameters for dataset.
31309    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
31310    :param annotations: List of tags that can be used for describing the Dataset.
31311    :type annotations: list[any]
31312    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
31313     root level.
31314    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
31315    """
31316
31317    _validation = {
31318        'type': {'required': True},
31319        'linked_service_name': {'required': True},
31320    }
31321
31322    _attribute_map = {
31323        'additional_properties': {'key': '', 'type': '{object}'},
31324        'type': {'key': 'type', 'type': 'str'},
31325        'description': {'key': 'description', 'type': 'str'},
31326        'structure': {'key': 'structure', 'type': 'object'},
31327        'schema': {'key': 'schema', 'type': 'object'},
31328        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
31329        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
31330        'annotations': {'key': 'annotations', 'type': '[object]'},
31331        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
31332    }
31333
31334    def __init__(
31335        self,
31336        *,
31337        linked_service_name: "LinkedServiceReference",
31338        additional_properties: Optional[Dict[str, Any]] = None,
31339        description: Optional[str] = None,
31340        structure: Optional[Any] = None,
31341        schema: Optional[Any] = None,
31342        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
31343        annotations: Optional[List[Any]] = None,
31344        folder: Optional["DatasetFolder"] = None,
31345        **kwargs
31346    ):
31347        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)
31348        self.type = 'SapBwCube'  # type: str
31349
31350
31351class SapBWLinkedService(LinkedService):
31352    """SAP Business Warehouse Linked Service.
31353
31354    All required parameters must be populated in order to send to Azure.
31355
31356    :param additional_properties: Unmatched properties from the message are deserialized to this
31357     collection.
31358    :type additional_properties: dict[str, any]
31359    :param type: Required. Type of linked service.Constant filled by server.
31360    :type type: str
31361    :param connect_via: The integration runtime reference.
31362    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
31363    :param description: Linked service description.
31364    :type description: str
31365    :param parameters: Parameters for linked service.
31366    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
31367    :param annotations: List of tags that can be used for describing the linked service.
31368    :type annotations: list[any]
31369    :param server: Required. Host name of the SAP BW instance. Type: string (or Expression with
31370     resultType string).
31371    :type server: any
31372    :param system_number: Required. System number of the BW system. (Usually a two-digit decimal
31373     number represented as a string.) Type: string (or Expression with resultType string).
31374    :type system_number: any
31375    :param client_id: Required. Client ID of the client on the BW system. (Usually a three-digit
31376     decimal number represented as a string) Type: string (or Expression with resultType string).
31377    :type client_id: any
31378    :param user_name: Username to access the SAP BW server. Type: string (or Expression with
31379     resultType string).
31380    :type user_name: any
31381    :param password: Password to access the SAP BW server.
31382    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
31383    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
31384     encrypted using the integration runtime credential manager. Type: string (or Expression with
31385     resultType string).
31386    :type encrypted_credential: any
31387    """
31388
31389    _validation = {
31390        'type': {'required': True},
31391        'server': {'required': True},
31392        'system_number': {'required': True},
31393        'client_id': {'required': True},
31394    }
31395
31396    _attribute_map = {
31397        'additional_properties': {'key': '', 'type': '{object}'},
31398        'type': {'key': 'type', 'type': 'str'},
31399        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
31400        'description': {'key': 'description', 'type': 'str'},
31401        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
31402        'annotations': {'key': 'annotations', 'type': '[object]'},
31403        'server': {'key': 'typeProperties.server', 'type': 'object'},
31404        'system_number': {'key': 'typeProperties.systemNumber', 'type': 'object'},
31405        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
31406        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
31407        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
31408        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
31409    }
31410
31411    def __init__(
31412        self,
31413        *,
31414        server: Any,
31415        system_number: Any,
31416        client_id: Any,
31417        additional_properties: Optional[Dict[str, Any]] = None,
31418        connect_via: Optional["IntegrationRuntimeReference"] = None,
31419        description: Optional[str] = None,
31420        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
31421        annotations: Optional[List[Any]] = None,
31422        user_name: Optional[Any] = None,
31423        password: Optional["SecretBase"] = None,
31424        encrypted_credential: Optional[Any] = None,
31425        **kwargs
31426    ):
31427        super(SapBWLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
31428        self.type = 'SapBW'  # type: str
31429        self.server = server
31430        self.system_number = system_number
31431        self.client_id = client_id
31432        self.user_name = user_name
31433        self.password = password
31434        self.encrypted_credential = encrypted_credential
31435
31436
31437class SapBwSource(TabularSource):
31438    """A copy activity source for SapBW server via MDX.
31439
31440    All required parameters must be populated in order to send to Azure.
31441
31442    :param additional_properties: Unmatched properties from the message are deserialized to this
31443     collection.
31444    :type additional_properties: dict[str, any]
31445    :param type: Required. Copy source type.Constant filled by server.
31446    :type type: str
31447    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
31448     integer).
31449    :type source_retry_count: any
31450    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
31451     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31452    :type source_retry_wait: any
31453    :param max_concurrent_connections: The maximum concurrent connection count for the source data
31454     store. Type: integer (or Expression with resultType integer).
31455    :type max_concurrent_connections: any
31456    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
31457     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31458    :type query_timeout: any
31459    :param additional_columns: Specifies the additional columns to be added to source data. Type:
31460     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
31461    :type additional_columns: any
31462    :param query: MDX query. Type: string (or Expression with resultType string).
31463    :type query: any
31464    """
31465
31466    _validation = {
31467        'type': {'required': True},
31468    }
31469
31470    _attribute_map = {
31471        'additional_properties': {'key': '', 'type': '{object}'},
31472        'type': {'key': 'type', 'type': 'str'},
31473        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
31474        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
31475        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
31476        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
31477        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
31478        'query': {'key': 'query', 'type': 'object'},
31479    }
31480
31481    def __init__(
31482        self,
31483        *,
31484        additional_properties: Optional[Dict[str, Any]] = None,
31485        source_retry_count: Optional[Any] = None,
31486        source_retry_wait: Optional[Any] = None,
31487        max_concurrent_connections: Optional[Any] = None,
31488        query_timeout: Optional[Any] = None,
31489        additional_columns: Optional[Any] = None,
31490        query: Optional[Any] = None,
31491        **kwargs
31492    ):
31493        super(SapBwSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
31494        self.type = 'SapBwSource'  # type: str
31495        self.query = query
31496
31497
31498class SapCloudForCustomerLinkedService(LinkedService):
31499    """Linked service for SAP Cloud for Customer.
31500
31501    All required parameters must be populated in order to send to Azure.
31502
31503    :param additional_properties: Unmatched properties from the message are deserialized to this
31504     collection.
31505    :type additional_properties: dict[str, any]
31506    :param type: Required. Type of linked service.Constant filled by server.
31507    :type type: str
31508    :param connect_via: The integration runtime reference.
31509    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
31510    :param description: Linked service description.
31511    :type description: str
31512    :param parameters: Parameters for linked service.
31513    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
31514    :param annotations: List of tags that can be used for describing the linked service.
31515    :type annotations: list[any]
31516    :param url: Required. The URL of SAP Cloud for Customer OData API. For example,
31517     '[https://[tenantname].crm.ondemand.com/sap/c4c/odata/v1]'. Type: string (or Expression with
31518     resultType string).
31519    :type url: any
31520    :param username: The username for Basic authentication. Type: string (or Expression with
31521     resultType string).
31522    :type username: any
31523    :param password: The password for Basic authentication.
31524    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
31525    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
31526     encrypted using the integration runtime credential manager. Either encryptedCredential or
31527     username/password must be provided. Type: string (or Expression with resultType string).
31528    :type encrypted_credential: any
31529    """
31530
31531    _validation = {
31532        'type': {'required': True},
31533        'url': {'required': True},
31534    }
31535
31536    _attribute_map = {
31537        'additional_properties': {'key': '', 'type': '{object}'},
31538        'type': {'key': 'type', 'type': 'str'},
31539        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
31540        'description': {'key': 'description', 'type': 'str'},
31541        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
31542        'annotations': {'key': 'annotations', 'type': '[object]'},
31543        'url': {'key': 'typeProperties.url', 'type': 'object'},
31544        'username': {'key': 'typeProperties.username', 'type': 'object'},
31545        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
31546        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
31547    }
31548
31549    def __init__(
31550        self,
31551        *,
31552        url: Any,
31553        additional_properties: Optional[Dict[str, Any]] = None,
31554        connect_via: Optional["IntegrationRuntimeReference"] = None,
31555        description: Optional[str] = None,
31556        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
31557        annotations: Optional[List[Any]] = None,
31558        username: Optional[Any] = None,
31559        password: Optional["SecretBase"] = None,
31560        encrypted_credential: Optional[Any] = None,
31561        **kwargs
31562    ):
31563        super(SapCloudForCustomerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
31564        self.type = 'SapCloudForCustomer'  # type: str
31565        self.url = url
31566        self.username = username
31567        self.password = password
31568        self.encrypted_credential = encrypted_credential
31569
31570
31571class SapCloudForCustomerResourceDataset(Dataset):
31572    """The path of the SAP Cloud for Customer OData entity.
31573
31574    All required parameters must be populated in order to send to Azure.
31575
31576    :param additional_properties: Unmatched properties from the message are deserialized to this
31577     collection.
31578    :type additional_properties: dict[str, any]
31579    :param type: Required. Type of dataset.Constant filled by server.
31580    :type type: str
31581    :param description: Dataset description.
31582    :type description: str
31583    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
31584     with resultType array), itemType: DatasetDataElement.
31585    :type structure: any
31586    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
31587     Expression with resultType array), itemType: DatasetSchemaDataElement.
31588    :type schema: any
31589    :param linked_service_name: Required. Linked service reference.
31590    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
31591    :param parameters: Parameters for dataset.
31592    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
31593    :param annotations: List of tags that can be used for describing the Dataset.
31594    :type annotations: list[any]
31595    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
31596     root level.
31597    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
31598    :param path: Required. The path of the SAP Cloud for Customer OData entity. Type: string (or
31599     Expression with resultType string).
31600    :type path: any
31601    """
31602
31603    _validation = {
31604        'type': {'required': True},
31605        'linked_service_name': {'required': True},
31606        'path': {'required': True},
31607    }
31608
31609    _attribute_map = {
31610        'additional_properties': {'key': '', 'type': '{object}'},
31611        'type': {'key': 'type', 'type': 'str'},
31612        'description': {'key': 'description', 'type': 'str'},
31613        'structure': {'key': 'structure', 'type': 'object'},
31614        'schema': {'key': 'schema', 'type': 'object'},
31615        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
31616        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
31617        'annotations': {'key': 'annotations', 'type': '[object]'},
31618        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
31619        'path': {'key': 'typeProperties.path', 'type': 'object'},
31620    }
31621
31622    def __init__(
31623        self,
31624        *,
31625        linked_service_name: "LinkedServiceReference",
31626        path: Any,
31627        additional_properties: Optional[Dict[str, Any]] = None,
31628        description: Optional[str] = None,
31629        structure: Optional[Any] = None,
31630        schema: Optional[Any] = None,
31631        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
31632        annotations: Optional[List[Any]] = None,
31633        folder: Optional["DatasetFolder"] = None,
31634        **kwargs
31635    ):
31636        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)
31637        self.type = 'SapCloudForCustomerResource'  # type: str
31638        self.path = path
31639
31640
31641class SapCloudForCustomerSink(CopySink):
31642    """A copy activity SAP Cloud for Customer sink.
31643
31644    All required parameters must be populated in order to send to Azure.
31645
31646    :param additional_properties: Unmatched properties from the message are deserialized to this
31647     collection.
31648    :type additional_properties: dict[str, any]
31649    :param type: Required. Copy sink type.Constant filled by server.
31650    :type type: str
31651    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
31652     integer), minimum: 0.
31653    :type write_batch_size: any
31654    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
31655     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31656    :type write_batch_timeout: any
31657    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
31658     integer).
31659    :type sink_retry_count: any
31660    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
31661     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31662    :type sink_retry_wait: any
31663    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
31664     store. Type: integer (or Expression with resultType integer).
31665    :type max_concurrent_connections: any
31666    :param write_behavior: The write behavior for the operation. Default is 'Insert'. Possible
31667     values include: "Insert", "Update".
31668    :type write_behavior: str or
31669     ~azure.synapse.artifacts.v2020_12_01.models.SapCloudForCustomerSinkWriteBehavior
31670    :param http_request_timeout: The timeout (TimeSpan) to get an HTTP response. It is the timeout
31671     to get a response, not the timeout to read response data. Default value: 00:05:00. Type: string
31672     (or Expression with resultType string), pattern:
31673     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31674    :type http_request_timeout: any
31675    """
31676
31677    _validation = {
31678        'type': {'required': True},
31679    }
31680
31681    _attribute_map = {
31682        'additional_properties': {'key': '', 'type': '{object}'},
31683        'type': {'key': 'type', 'type': 'str'},
31684        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
31685        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
31686        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
31687        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
31688        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
31689        'write_behavior': {'key': 'writeBehavior', 'type': 'str'},
31690        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
31691    }
31692
31693    def __init__(
31694        self,
31695        *,
31696        additional_properties: Optional[Dict[str, Any]] = None,
31697        write_batch_size: Optional[Any] = None,
31698        write_batch_timeout: Optional[Any] = None,
31699        sink_retry_count: Optional[Any] = None,
31700        sink_retry_wait: Optional[Any] = None,
31701        max_concurrent_connections: Optional[Any] = None,
31702        write_behavior: Optional[Union[str, "SapCloudForCustomerSinkWriteBehavior"]] = None,
31703        http_request_timeout: Optional[Any] = None,
31704        **kwargs
31705    ):
31706        super(SapCloudForCustomerSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
31707        self.type = 'SapCloudForCustomerSink'  # type: str
31708        self.write_behavior = write_behavior
31709        self.http_request_timeout = http_request_timeout
31710
31711
31712class SapCloudForCustomerSource(TabularSource):
31713    """A copy activity source for SAP Cloud for Customer source.
31714
31715    All required parameters must be populated in order to send to Azure.
31716
31717    :param additional_properties: Unmatched properties from the message are deserialized to this
31718     collection.
31719    :type additional_properties: dict[str, any]
31720    :param type: Required. Copy source type.Constant filled by server.
31721    :type type: str
31722    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
31723     integer).
31724    :type source_retry_count: any
31725    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
31726     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31727    :type source_retry_wait: any
31728    :param max_concurrent_connections: The maximum concurrent connection count for the source data
31729     store. Type: integer (or Expression with resultType integer).
31730    :type max_concurrent_connections: any
31731    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
31732     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31733    :type query_timeout: any
31734    :param additional_columns: Specifies the additional columns to be added to source data. Type:
31735     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
31736    :type additional_columns: any
31737    :param query: SAP Cloud for Customer OData query. For example, "$top=1". Type: string (or
31738     Expression with resultType string).
31739    :type query: any
31740    :param http_request_timeout: The timeout (TimeSpan) to get an HTTP response. It is the timeout
31741     to get a response, not the timeout to read response data. Default value: 00:05:00. Type: string
31742     (or Expression with resultType string), pattern:
31743     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31744    :type http_request_timeout: any
31745    """
31746
31747    _validation = {
31748        'type': {'required': True},
31749    }
31750
31751    _attribute_map = {
31752        'additional_properties': {'key': '', 'type': '{object}'},
31753        'type': {'key': 'type', 'type': 'str'},
31754        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
31755        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
31756        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
31757        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
31758        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
31759        'query': {'key': 'query', 'type': 'object'},
31760        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
31761    }
31762
31763    def __init__(
31764        self,
31765        *,
31766        additional_properties: Optional[Dict[str, Any]] = None,
31767        source_retry_count: Optional[Any] = None,
31768        source_retry_wait: Optional[Any] = None,
31769        max_concurrent_connections: Optional[Any] = None,
31770        query_timeout: Optional[Any] = None,
31771        additional_columns: Optional[Any] = None,
31772        query: Optional[Any] = None,
31773        http_request_timeout: Optional[Any] = None,
31774        **kwargs
31775    ):
31776        super(SapCloudForCustomerSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
31777        self.type = 'SapCloudForCustomerSource'  # type: str
31778        self.query = query
31779        self.http_request_timeout = http_request_timeout
31780
31781
31782class SapEccLinkedService(LinkedService):
31783    """Linked service for SAP ERP Central Component(SAP ECC).
31784
31785    All required parameters must be populated in order to send to Azure.
31786
31787    :param additional_properties: Unmatched properties from the message are deserialized to this
31788     collection.
31789    :type additional_properties: dict[str, any]
31790    :param type: Required. Type of linked service.Constant filled by server.
31791    :type type: str
31792    :param connect_via: The integration runtime reference.
31793    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
31794    :param description: Linked service description.
31795    :type description: str
31796    :param parameters: Parameters for linked service.
31797    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
31798    :param annotations: List of tags that can be used for describing the linked service.
31799    :type annotations: list[any]
31800    :param url: Required. The URL of SAP ECC OData API. For example,
31801     '[https://hostname:port/sap/opu/odata/sap/servicename/]'. Type: string (or Expression with
31802     resultType string).
31803    :type url: str
31804    :param username: The username for Basic authentication. Type: string (or Expression with
31805     resultType string).
31806    :type username: str
31807    :param password: The password for Basic authentication.
31808    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
31809    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
31810     encrypted using the integration runtime credential manager. Either encryptedCredential or
31811     username/password must be provided. Type: string (or Expression with resultType string).
31812    :type encrypted_credential: str
31813    """
31814
31815    _validation = {
31816        'type': {'required': True},
31817        'url': {'required': True},
31818    }
31819
31820    _attribute_map = {
31821        'additional_properties': {'key': '', 'type': '{object}'},
31822        'type': {'key': 'type', 'type': 'str'},
31823        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
31824        'description': {'key': 'description', 'type': 'str'},
31825        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
31826        'annotations': {'key': 'annotations', 'type': '[object]'},
31827        'url': {'key': 'typeProperties.url', 'type': 'str'},
31828        'username': {'key': 'typeProperties.username', 'type': 'str'},
31829        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
31830        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'},
31831    }
31832
31833    def __init__(
31834        self,
31835        *,
31836        url: str,
31837        additional_properties: Optional[Dict[str, Any]] = None,
31838        connect_via: Optional["IntegrationRuntimeReference"] = None,
31839        description: Optional[str] = None,
31840        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
31841        annotations: Optional[List[Any]] = None,
31842        username: Optional[str] = None,
31843        password: Optional["SecretBase"] = None,
31844        encrypted_credential: Optional[str] = None,
31845        **kwargs
31846    ):
31847        super(SapEccLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
31848        self.type = 'SapEcc'  # type: str
31849        self.url = url
31850        self.username = username
31851        self.password = password
31852        self.encrypted_credential = encrypted_credential
31853
31854
31855class SapEccResourceDataset(Dataset):
31856    """The path of the SAP ECC OData entity.
31857
31858    All required parameters must be populated in order to send to Azure.
31859
31860    :param additional_properties: Unmatched properties from the message are deserialized to this
31861     collection.
31862    :type additional_properties: dict[str, any]
31863    :param type: Required. Type of dataset.Constant filled by server.
31864    :type type: str
31865    :param description: Dataset description.
31866    :type description: str
31867    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
31868     with resultType array), itemType: DatasetDataElement.
31869    :type structure: any
31870    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
31871     Expression with resultType array), itemType: DatasetSchemaDataElement.
31872    :type schema: any
31873    :param linked_service_name: Required. Linked service reference.
31874    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
31875    :param parameters: Parameters for dataset.
31876    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
31877    :param annotations: List of tags that can be used for describing the Dataset.
31878    :type annotations: list[any]
31879    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
31880     root level.
31881    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
31882    :param path: Required. The path of the SAP ECC OData entity. Type: string (or Expression with
31883     resultType string).
31884    :type path: any
31885    """
31886
31887    _validation = {
31888        'type': {'required': True},
31889        'linked_service_name': {'required': True},
31890        'path': {'required': True},
31891    }
31892
31893    _attribute_map = {
31894        'additional_properties': {'key': '', 'type': '{object}'},
31895        'type': {'key': 'type', 'type': 'str'},
31896        'description': {'key': 'description', 'type': 'str'},
31897        'structure': {'key': 'structure', 'type': 'object'},
31898        'schema': {'key': 'schema', 'type': 'object'},
31899        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
31900        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
31901        'annotations': {'key': 'annotations', 'type': '[object]'},
31902        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
31903        'path': {'key': 'typeProperties.path', 'type': 'object'},
31904    }
31905
31906    def __init__(
31907        self,
31908        *,
31909        linked_service_name: "LinkedServiceReference",
31910        path: Any,
31911        additional_properties: Optional[Dict[str, Any]] = None,
31912        description: Optional[str] = None,
31913        structure: Optional[Any] = None,
31914        schema: Optional[Any] = None,
31915        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
31916        annotations: Optional[List[Any]] = None,
31917        folder: Optional["DatasetFolder"] = None,
31918        **kwargs
31919    ):
31920        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)
31921        self.type = 'SapEccResource'  # type: str
31922        self.path = path
31923
31924
31925class SapEccSource(TabularSource):
31926    """A copy activity source for SAP ECC source.
31927
31928    All required parameters must be populated in order to send to Azure.
31929
31930    :param additional_properties: Unmatched properties from the message are deserialized to this
31931     collection.
31932    :type additional_properties: dict[str, any]
31933    :param type: Required. Copy source type.Constant filled by server.
31934    :type type: str
31935    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
31936     integer).
31937    :type source_retry_count: any
31938    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
31939     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31940    :type source_retry_wait: any
31941    :param max_concurrent_connections: The maximum concurrent connection count for the source data
31942     store. Type: integer (or Expression with resultType integer).
31943    :type max_concurrent_connections: any
31944    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
31945     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31946    :type query_timeout: any
31947    :param additional_columns: Specifies the additional columns to be added to source data. Type:
31948     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
31949    :type additional_columns: any
31950    :param query: SAP ECC OData query. For example, "$top=1". Type: string (or Expression with
31951     resultType string).
31952    :type query: any
31953    :param http_request_timeout: The timeout (TimeSpan) to get an HTTP response. It is the timeout
31954     to get a response, not the timeout to read response data. Default value: 00:05:00. Type: string
31955     (or Expression with resultType string), pattern:
31956     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31957    :type http_request_timeout: any
31958    """
31959
31960    _validation = {
31961        'type': {'required': True},
31962    }
31963
31964    _attribute_map = {
31965        'additional_properties': {'key': '', 'type': '{object}'},
31966        'type': {'key': 'type', 'type': 'str'},
31967        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
31968        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
31969        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
31970        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
31971        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
31972        'query': {'key': 'query', 'type': 'object'},
31973        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
31974    }
31975
31976    def __init__(
31977        self,
31978        *,
31979        additional_properties: Optional[Dict[str, Any]] = None,
31980        source_retry_count: Optional[Any] = None,
31981        source_retry_wait: Optional[Any] = None,
31982        max_concurrent_connections: Optional[Any] = None,
31983        query_timeout: Optional[Any] = None,
31984        additional_columns: Optional[Any] = None,
31985        query: Optional[Any] = None,
31986        http_request_timeout: Optional[Any] = None,
31987        **kwargs
31988    ):
31989        super(SapEccSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
31990        self.type = 'SapEccSource'  # type: str
31991        self.query = query
31992        self.http_request_timeout = http_request_timeout
31993
31994
31995class SapHanaLinkedService(LinkedService):
31996    """SAP HANA Linked Service.
31997
31998    All required parameters must be populated in order to send to Azure.
31999
32000    :param additional_properties: Unmatched properties from the message are deserialized to this
32001     collection.
32002    :type additional_properties: dict[str, any]
32003    :param type: Required. Type of linked service.Constant filled by server.
32004    :type type: str
32005    :param connect_via: The integration runtime reference.
32006    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
32007    :param description: Linked service description.
32008    :type description: str
32009    :param parameters: Parameters for linked service.
32010    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
32011    :param annotations: List of tags that can be used for describing the linked service.
32012    :type annotations: list[any]
32013    :param connection_string: SAP HANA ODBC connection string. Type: string, SecureString or
32014     AzureKeyVaultSecretReference.
32015    :type connection_string: any
32016    :param server: Required. Host name of the SAP HANA server. Type: string (or Expression with
32017     resultType string).
32018    :type server: any
32019    :param authentication_type: The authentication type to be used to connect to the SAP HANA
32020     server. Possible values include: "Basic", "Windows".
32021    :type authentication_type: str or
32022     ~azure.synapse.artifacts.v2020_12_01.models.SapHanaAuthenticationType
32023    :param user_name: Username to access the SAP HANA server. Type: string (or Expression with
32024     resultType string).
32025    :type user_name: any
32026    :param password: Password to access the SAP HANA server.
32027    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
32028    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
32029     encrypted using the integration runtime credential manager. Type: string (or Expression with
32030     resultType string).
32031    :type encrypted_credential: any
32032    """
32033
32034    _validation = {
32035        'type': {'required': True},
32036        'server': {'required': True},
32037    }
32038
32039    _attribute_map = {
32040        'additional_properties': {'key': '', 'type': '{object}'},
32041        'type': {'key': 'type', 'type': 'str'},
32042        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
32043        'description': {'key': 'description', 'type': 'str'},
32044        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
32045        'annotations': {'key': 'annotations', 'type': '[object]'},
32046        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
32047        'server': {'key': 'typeProperties.server', 'type': 'object'},
32048        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
32049        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
32050        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
32051        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
32052    }
32053
32054    def __init__(
32055        self,
32056        *,
32057        server: Any,
32058        additional_properties: Optional[Dict[str, Any]] = None,
32059        connect_via: Optional["IntegrationRuntimeReference"] = None,
32060        description: Optional[str] = None,
32061        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
32062        annotations: Optional[List[Any]] = None,
32063        connection_string: Optional[Any] = None,
32064        authentication_type: Optional[Union[str, "SapHanaAuthenticationType"]] = None,
32065        user_name: Optional[Any] = None,
32066        password: Optional["SecretBase"] = None,
32067        encrypted_credential: Optional[Any] = None,
32068        **kwargs
32069    ):
32070        super(SapHanaLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
32071        self.type = 'SapHana'  # type: str
32072        self.connection_string = connection_string
32073        self.server = server
32074        self.authentication_type = authentication_type
32075        self.user_name = user_name
32076        self.password = password
32077        self.encrypted_credential = encrypted_credential
32078
32079
32080class SapHanaPartitionSettings(msrest.serialization.Model):
32081    """The settings that will be leveraged for SAP HANA source partitioning.
32082
32083    :param partition_column_name: The name of the column that will be used for proceeding range
32084     partitioning. Type: string (or Expression with resultType string).
32085    :type partition_column_name: any
32086    """
32087
32088    _attribute_map = {
32089        'partition_column_name': {'key': 'partitionColumnName', 'type': 'object'},
32090    }
32091
32092    def __init__(
32093        self,
32094        *,
32095        partition_column_name: Optional[Any] = None,
32096        **kwargs
32097    ):
32098        super(SapHanaPartitionSettings, self).__init__(**kwargs)
32099        self.partition_column_name = partition_column_name
32100
32101
32102class SapHanaSource(TabularSource):
32103    """A copy activity source for SAP HANA source.
32104
32105    All required parameters must be populated in order to send to Azure.
32106
32107    :param additional_properties: Unmatched properties from the message are deserialized to this
32108     collection.
32109    :type additional_properties: dict[str, any]
32110    :param type: Required. Copy source type.Constant filled by server.
32111    :type type: str
32112    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
32113     integer).
32114    :type source_retry_count: any
32115    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
32116     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32117    :type source_retry_wait: any
32118    :param max_concurrent_connections: The maximum concurrent connection count for the source data
32119     store. Type: integer (or Expression with resultType integer).
32120    :type max_concurrent_connections: any
32121    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
32122     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32123    :type query_timeout: any
32124    :param additional_columns: Specifies the additional columns to be added to source data. Type:
32125     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
32126    :type additional_columns: any
32127    :param query: SAP HANA Sql query. Type: string (or Expression with resultType string).
32128    :type query: any
32129    :param packet_size: The packet size of data read from SAP HANA. Type: integer(or Expression
32130     with resultType integer).
32131    :type packet_size: any
32132    :param partition_option: The partition mechanism that will be used for SAP HANA read in
32133     parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "SapHanaDynamicRange".
32134    :type partition_option: str or
32135     ~azure.synapse.artifacts.v2020_12_01.models.SapHanaPartitionOption
32136    :param partition_settings: The settings that will be leveraged for SAP HANA source
32137     partitioning.
32138    :type partition_settings: ~azure.synapse.artifacts.v2020_12_01.models.SapHanaPartitionSettings
32139    """
32140
32141    _validation = {
32142        'type': {'required': True},
32143    }
32144
32145    _attribute_map = {
32146        'additional_properties': {'key': '', 'type': '{object}'},
32147        'type': {'key': 'type', 'type': 'str'},
32148        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
32149        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
32150        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
32151        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
32152        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
32153        'query': {'key': 'query', 'type': 'object'},
32154        'packet_size': {'key': 'packetSize', 'type': 'object'},
32155        'partition_option': {'key': 'partitionOption', 'type': 'str'},
32156        'partition_settings': {'key': 'partitionSettings', 'type': 'SapHanaPartitionSettings'},
32157    }
32158
32159    def __init__(
32160        self,
32161        *,
32162        additional_properties: Optional[Dict[str, Any]] = None,
32163        source_retry_count: Optional[Any] = None,
32164        source_retry_wait: Optional[Any] = None,
32165        max_concurrent_connections: Optional[Any] = None,
32166        query_timeout: Optional[Any] = None,
32167        additional_columns: Optional[Any] = None,
32168        query: Optional[Any] = None,
32169        packet_size: Optional[Any] = None,
32170        partition_option: Optional[Union[str, "SapHanaPartitionOption"]] = None,
32171        partition_settings: Optional["SapHanaPartitionSettings"] = None,
32172        **kwargs
32173    ):
32174        super(SapHanaSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
32175        self.type = 'SapHanaSource'  # type: str
32176        self.query = query
32177        self.packet_size = packet_size
32178        self.partition_option = partition_option
32179        self.partition_settings = partition_settings
32180
32181
32182class SapHanaTableDataset(Dataset):
32183    """SAP HANA Table properties.
32184
32185    All required parameters must be populated in order to send to Azure.
32186
32187    :param additional_properties: Unmatched properties from the message are deserialized to this
32188     collection.
32189    :type additional_properties: dict[str, any]
32190    :param type: Required. Type of dataset.Constant filled by server.
32191    :type type: str
32192    :param description: Dataset description.
32193    :type description: str
32194    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
32195     with resultType array), itemType: DatasetDataElement.
32196    :type structure: any
32197    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
32198     Expression with resultType array), itemType: DatasetSchemaDataElement.
32199    :type schema: any
32200    :param linked_service_name: Required. Linked service reference.
32201    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
32202    :param parameters: Parameters for dataset.
32203    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
32204    :param annotations: List of tags that can be used for describing the Dataset.
32205    :type annotations: list[any]
32206    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
32207     root level.
32208    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
32209    :param schema_type_properties_schema: The schema name of SAP HANA. Type: string (or Expression
32210     with resultType string).
32211    :type schema_type_properties_schema: any
32212    :param table: The table name of SAP HANA. Type: string (or Expression with resultType string).
32213    :type table: any
32214    """
32215
32216    _validation = {
32217        'type': {'required': True},
32218        'linked_service_name': {'required': True},
32219    }
32220
32221    _attribute_map = {
32222        'additional_properties': {'key': '', 'type': '{object}'},
32223        'type': {'key': 'type', 'type': 'str'},
32224        'description': {'key': 'description', 'type': 'str'},
32225        'structure': {'key': 'structure', 'type': 'object'},
32226        'schema': {'key': 'schema', 'type': 'object'},
32227        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
32228        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
32229        'annotations': {'key': 'annotations', 'type': '[object]'},
32230        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
32231        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
32232        'table': {'key': 'typeProperties.table', 'type': 'object'},
32233    }
32234
32235    def __init__(
32236        self,
32237        *,
32238        linked_service_name: "LinkedServiceReference",
32239        additional_properties: Optional[Dict[str, Any]] = None,
32240        description: Optional[str] = None,
32241        structure: Optional[Any] = None,
32242        schema: Optional[Any] = None,
32243        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
32244        annotations: Optional[List[Any]] = None,
32245        folder: Optional["DatasetFolder"] = None,
32246        schema_type_properties_schema: Optional[Any] = None,
32247        table: Optional[Any] = None,
32248        **kwargs
32249    ):
32250        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)
32251        self.type = 'SapHanaTable'  # type: str
32252        self.schema_type_properties_schema = schema_type_properties_schema
32253        self.table = table
32254
32255
32256class SapOpenHubLinkedService(LinkedService):
32257    """SAP Business Warehouse Open Hub Destination Linked Service.
32258
32259    All required parameters must be populated in order to send to Azure.
32260
32261    :param additional_properties: Unmatched properties from the message are deserialized to this
32262     collection.
32263    :type additional_properties: dict[str, any]
32264    :param type: Required. Type of linked service.Constant filled by server.
32265    :type type: str
32266    :param connect_via: The integration runtime reference.
32267    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
32268    :param description: Linked service description.
32269    :type description: str
32270    :param parameters: Parameters for linked service.
32271    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
32272    :param annotations: List of tags that can be used for describing the linked service.
32273    :type annotations: list[any]
32274    :param server: Required. Host name of the SAP BW instance where the open hub destination is
32275     located. Type: string (or Expression with resultType string).
32276    :type server: any
32277    :param system_number: Required. System number of the BW system where the open hub destination
32278     is located. (Usually a two-digit decimal number represented as a string.) Type: string (or
32279     Expression with resultType string).
32280    :type system_number: any
32281    :param client_id: Required. Client ID of the client on the BW system where the open hub
32282     destination is located. (Usually a three-digit decimal number represented as a string) Type:
32283     string (or Expression with resultType string).
32284    :type client_id: any
32285    :param language: Language of the BW system where the open hub destination is located. The
32286     default value is EN. Type: string (or Expression with resultType string).
32287    :type language: any
32288    :param system_id: SystemID of the SAP system where the table is located. Type: string (or
32289     Expression with resultType string).
32290    :type system_id: any
32291    :param user_name: Username to access the SAP BW server where the open hub destination is
32292     located. Type: string (or Expression with resultType string).
32293    :type user_name: any
32294    :param password: Password to access the SAP BW server where the open hub destination is
32295     located.
32296    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
32297    :param message_server: The hostname of the SAP Message Server. Type: string (or Expression with
32298     resultType string).
32299    :type message_server: any
32300    :param message_server_service: The service name or port number of the Message Server. Type:
32301     string (or Expression with resultType string).
32302    :type message_server_service: any
32303    :param logon_group: The Logon Group for the SAP System. Type: string (or Expression with
32304     resultType string).
32305    :type logon_group: any
32306    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
32307     encrypted using the integration runtime credential manager. Type: string (or Expression with
32308     resultType string).
32309    :type encrypted_credential: any
32310    """
32311
32312    _validation = {
32313        'type': {'required': True},
32314        'server': {'required': True},
32315        'system_number': {'required': True},
32316        'client_id': {'required': True},
32317    }
32318
32319    _attribute_map = {
32320        'additional_properties': {'key': '', 'type': '{object}'},
32321        'type': {'key': 'type', 'type': 'str'},
32322        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
32323        'description': {'key': 'description', 'type': 'str'},
32324        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
32325        'annotations': {'key': 'annotations', 'type': '[object]'},
32326        'server': {'key': 'typeProperties.server', 'type': 'object'},
32327        'system_number': {'key': 'typeProperties.systemNumber', 'type': 'object'},
32328        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
32329        'language': {'key': 'typeProperties.language', 'type': 'object'},
32330        'system_id': {'key': 'typeProperties.systemId', 'type': 'object'},
32331        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
32332        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
32333        'message_server': {'key': 'typeProperties.messageServer', 'type': 'object'},
32334        'message_server_service': {'key': 'typeProperties.messageServerService', 'type': 'object'},
32335        'logon_group': {'key': 'typeProperties.logonGroup', 'type': 'object'},
32336        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
32337    }
32338
32339    def __init__(
32340        self,
32341        *,
32342        server: Any,
32343        system_number: Any,
32344        client_id: Any,
32345        additional_properties: Optional[Dict[str, Any]] = None,
32346        connect_via: Optional["IntegrationRuntimeReference"] = None,
32347        description: Optional[str] = None,
32348        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
32349        annotations: Optional[List[Any]] = None,
32350        language: Optional[Any] = None,
32351        system_id: Optional[Any] = None,
32352        user_name: Optional[Any] = None,
32353        password: Optional["SecretBase"] = None,
32354        message_server: Optional[Any] = None,
32355        message_server_service: Optional[Any] = None,
32356        logon_group: Optional[Any] = None,
32357        encrypted_credential: Optional[Any] = None,
32358        **kwargs
32359    ):
32360        super(SapOpenHubLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
32361        self.type = 'SapOpenHub'  # type: str
32362        self.server = server
32363        self.system_number = system_number
32364        self.client_id = client_id
32365        self.language = language
32366        self.system_id = system_id
32367        self.user_name = user_name
32368        self.password = password
32369        self.message_server = message_server
32370        self.message_server_service = message_server_service
32371        self.logon_group = logon_group
32372        self.encrypted_credential = encrypted_credential
32373
32374
32375class SapOpenHubSource(TabularSource):
32376    """A copy activity source for SAP Business Warehouse Open Hub Destination source.
32377
32378    All required parameters must be populated in order to send to Azure.
32379
32380    :param additional_properties: Unmatched properties from the message are deserialized to this
32381     collection.
32382    :type additional_properties: dict[str, any]
32383    :param type: Required. Copy source type.Constant filled by server.
32384    :type type: str
32385    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
32386     integer).
32387    :type source_retry_count: any
32388    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
32389     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32390    :type source_retry_wait: any
32391    :param max_concurrent_connections: The maximum concurrent connection count for the source data
32392     store. Type: integer (or Expression with resultType integer).
32393    :type max_concurrent_connections: any
32394    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
32395     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32396    :type query_timeout: any
32397    :param additional_columns: Specifies the additional columns to be added to source data. Type:
32398     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
32399    :type additional_columns: any
32400    :param exclude_last_request: Whether to exclude the records of the last request. The default
32401     value is true. Type: boolean (or Expression with resultType boolean).
32402    :type exclude_last_request: any
32403    :param base_request_id: The ID of request for delta loading. Once it is set, only data with
32404     requestId larger than the value of this property will be retrieved. The default value is 0.
32405     Type: integer (or Expression with resultType integer ).
32406    :type base_request_id: any
32407    :param custom_rfc_read_table_function_module: Specifies the custom RFC function module that
32408     will be used to read data from SAP Table. Type: string (or Expression with resultType string).
32409    :type custom_rfc_read_table_function_module: any
32410    :param sap_data_column_delimiter: The single character that will be used as delimiter passed to
32411     SAP RFC as well as splitting the output data retrieved. Type: string (or Expression with
32412     resultType string).
32413    :type sap_data_column_delimiter: any
32414    """
32415
32416    _validation = {
32417        'type': {'required': True},
32418    }
32419
32420    _attribute_map = {
32421        'additional_properties': {'key': '', 'type': '{object}'},
32422        'type': {'key': 'type', 'type': 'str'},
32423        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
32424        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
32425        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
32426        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
32427        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
32428        'exclude_last_request': {'key': 'excludeLastRequest', 'type': 'object'},
32429        'base_request_id': {'key': 'baseRequestId', 'type': 'object'},
32430        'custom_rfc_read_table_function_module': {'key': 'customRfcReadTableFunctionModule', 'type': 'object'},
32431        'sap_data_column_delimiter': {'key': 'sapDataColumnDelimiter', 'type': 'object'},
32432    }
32433
32434    def __init__(
32435        self,
32436        *,
32437        additional_properties: Optional[Dict[str, Any]] = None,
32438        source_retry_count: Optional[Any] = None,
32439        source_retry_wait: Optional[Any] = None,
32440        max_concurrent_connections: Optional[Any] = None,
32441        query_timeout: Optional[Any] = None,
32442        additional_columns: Optional[Any] = None,
32443        exclude_last_request: Optional[Any] = None,
32444        base_request_id: Optional[Any] = None,
32445        custom_rfc_read_table_function_module: Optional[Any] = None,
32446        sap_data_column_delimiter: Optional[Any] = None,
32447        **kwargs
32448    ):
32449        super(SapOpenHubSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
32450        self.type = 'SapOpenHubSource'  # type: str
32451        self.exclude_last_request = exclude_last_request
32452        self.base_request_id = base_request_id
32453        self.custom_rfc_read_table_function_module = custom_rfc_read_table_function_module
32454        self.sap_data_column_delimiter = sap_data_column_delimiter
32455
32456
32457class SapOpenHubTableDataset(Dataset):
32458    """Sap Business Warehouse Open Hub Destination Table properties.
32459
32460    All required parameters must be populated in order to send to Azure.
32461
32462    :param additional_properties: Unmatched properties from the message are deserialized to this
32463     collection.
32464    :type additional_properties: dict[str, any]
32465    :param type: Required. Type of dataset.Constant filled by server.
32466    :type type: str
32467    :param description: Dataset description.
32468    :type description: str
32469    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
32470     with resultType array), itemType: DatasetDataElement.
32471    :type structure: any
32472    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
32473     Expression with resultType array), itemType: DatasetSchemaDataElement.
32474    :type schema: any
32475    :param linked_service_name: Required. Linked service reference.
32476    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
32477    :param parameters: Parameters for dataset.
32478    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
32479    :param annotations: List of tags that can be used for describing the Dataset.
32480    :type annotations: list[any]
32481    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
32482     root level.
32483    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
32484    :param open_hub_destination_name: Required. The name of the Open Hub Destination with
32485     destination type as Database Table. Type: string (or Expression with resultType string).
32486    :type open_hub_destination_name: any
32487    :param exclude_last_request: Whether to exclude the records of the last request. The default
32488     value is true. Type: boolean (or Expression with resultType boolean).
32489    :type exclude_last_request: any
32490    :param base_request_id: The ID of request for delta loading. Once it is set, only data with
32491     requestId larger than the value of this property will be retrieved. The default value is 0.
32492     Type: integer (or Expression with resultType integer ).
32493    :type base_request_id: any
32494    """
32495
32496    _validation = {
32497        'type': {'required': True},
32498        'linked_service_name': {'required': True},
32499        'open_hub_destination_name': {'required': True},
32500    }
32501
32502    _attribute_map = {
32503        'additional_properties': {'key': '', 'type': '{object}'},
32504        'type': {'key': 'type', 'type': 'str'},
32505        'description': {'key': 'description', 'type': 'str'},
32506        'structure': {'key': 'structure', 'type': 'object'},
32507        'schema': {'key': 'schema', 'type': 'object'},
32508        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
32509        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
32510        'annotations': {'key': 'annotations', 'type': '[object]'},
32511        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
32512        'open_hub_destination_name': {'key': 'typeProperties.openHubDestinationName', 'type': 'object'},
32513        'exclude_last_request': {'key': 'typeProperties.excludeLastRequest', 'type': 'object'},
32514        'base_request_id': {'key': 'typeProperties.baseRequestId', 'type': 'object'},
32515    }
32516
32517    def __init__(
32518        self,
32519        *,
32520        linked_service_name: "LinkedServiceReference",
32521        open_hub_destination_name: Any,
32522        additional_properties: Optional[Dict[str, Any]] = None,
32523        description: Optional[str] = None,
32524        structure: Optional[Any] = None,
32525        schema: Optional[Any] = None,
32526        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
32527        annotations: Optional[List[Any]] = None,
32528        folder: Optional["DatasetFolder"] = None,
32529        exclude_last_request: Optional[Any] = None,
32530        base_request_id: Optional[Any] = None,
32531        **kwargs
32532    ):
32533        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)
32534        self.type = 'SapOpenHubTable'  # type: str
32535        self.open_hub_destination_name = open_hub_destination_name
32536        self.exclude_last_request = exclude_last_request
32537        self.base_request_id = base_request_id
32538
32539
32540class SapTableLinkedService(LinkedService):
32541    """SAP Table Linked Service.
32542
32543    All required parameters must be populated in order to send to Azure.
32544
32545    :param additional_properties: Unmatched properties from the message are deserialized to this
32546     collection.
32547    :type additional_properties: dict[str, any]
32548    :param type: Required. Type of linked service.Constant filled by server.
32549    :type type: str
32550    :param connect_via: The integration runtime reference.
32551    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
32552    :param description: Linked service description.
32553    :type description: str
32554    :param parameters: Parameters for linked service.
32555    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
32556    :param annotations: List of tags that can be used for describing the linked service.
32557    :type annotations: list[any]
32558    :param server: Host name of the SAP instance where the table is located. Type: string (or
32559     Expression with resultType string).
32560    :type server: any
32561    :param system_number: System number of the SAP system where the table is located. (Usually a
32562     two-digit decimal number represented as a string.) Type: string (or Expression with resultType
32563     string).
32564    :type system_number: any
32565    :param client_id: Client ID of the client on the SAP system where the table is located.
32566     (Usually a three-digit decimal number represented as a string) Type: string (or Expression with
32567     resultType string).
32568    :type client_id: any
32569    :param language: Language of the SAP system where the table is located. The default value is
32570     EN. Type: string (or Expression with resultType string).
32571    :type language: any
32572    :param system_id: SystemID of the SAP system where the table is located. Type: string (or
32573     Expression with resultType string).
32574    :type system_id: any
32575    :param user_name: Username to access the SAP server where the table is located. Type: string
32576     (or Expression with resultType string).
32577    :type user_name: any
32578    :param password: Password to access the SAP server where the table is located.
32579    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
32580    :param message_server: The hostname of the SAP Message Server. Type: string (or Expression with
32581     resultType string).
32582    :type message_server: any
32583    :param message_server_service: The service name or port number of the Message Server. Type:
32584     string (or Expression with resultType string).
32585    :type message_server_service: any
32586    :param snc_mode: SNC activation indicator to access the SAP server where the table is located.
32587     Must be either 0 (off) or 1 (on). Type: string (or Expression with resultType string).
32588    :type snc_mode: any
32589    :param snc_my_name: Initiator's SNC name to access the SAP server where the table is located.
32590     Type: string (or Expression with resultType string).
32591    :type snc_my_name: any
32592    :param snc_partner_name: Communication partner's SNC name to access the SAP server where the
32593     table is located. Type: string (or Expression with resultType string).
32594    :type snc_partner_name: any
32595    :param snc_library_path: External security product's library to access the SAP server where the
32596     table is located. Type: string (or Expression with resultType string).
32597    :type snc_library_path: any
32598    :param snc_qop: SNC Quality of Protection. Allowed value include: 1, 2, 3, 8, 9. Type: string
32599     (or Expression with resultType string).
32600    :type snc_qop: any
32601    :param logon_group: The Logon Group for the SAP System. Type: string (or Expression with
32602     resultType string).
32603    :type logon_group: any
32604    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
32605     encrypted using the integration runtime credential manager. Type: string (or Expression with
32606     resultType string).
32607    :type encrypted_credential: any
32608    """
32609
32610    _validation = {
32611        'type': {'required': True},
32612    }
32613
32614    _attribute_map = {
32615        'additional_properties': {'key': '', 'type': '{object}'},
32616        'type': {'key': 'type', 'type': 'str'},
32617        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
32618        'description': {'key': 'description', 'type': 'str'},
32619        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
32620        'annotations': {'key': 'annotations', 'type': '[object]'},
32621        'server': {'key': 'typeProperties.server', 'type': 'object'},
32622        'system_number': {'key': 'typeProperties.systemNumber', 'type': 'object'},
32623        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
32624        'language': {'key': 'typeProperties.language', 'type': 'object'},
32625        'system_id': {'key': 'typeProperties.systemId', 'type': 'object'},
32626        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
32627        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
32628        'message_server': {'key': 'typeProperties.messageServer', 'type': 'object'},
32629        'message_server_service': {'key': 'typeProperties.messageServerService', 'type': 'object'},
32630        'snc_mode': {'key': 'typeProperties.sncMode', 'type': 'object'},
32631        'snc_my_name': {'key': 'typeProperties.sncMyName', 'type': 'object'},
32632        'snc_partner_name': {'key': 'typeProperties.sncPartnerName', 'type': 'object'},
32633        'snc_library_path': {'key': 'typeProperties.sncLibraryPath', 'type': 'object'},
32634        'snc_qop': {'key': 'typeProperties.sncQop', 'type': 'object'},
32635        'logon_group': {'key': 'typeProperties.logonGroup', 'type': 'object'},
32636        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
32637    }
32638
32639    def __init__(
32640        self,
32641        *,
32642        additional_properties: Optional[Dict[str, Any]] = None,
32643        connect_via: Optional["IntegrationRuntimeReference"] = None,
32644        description: Optional[str] = None,
32645        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
32646        annotations: Optional[List[Any]] = None,
32647        server: Optional[Any] = None,
32648        system_number: Optional[Any] = None,
32649        client_id: Optional[Any] = None,
32650        language: Optional[Any] = None,
32651        system_id: Optional[Any] = None,
32652        user_name: Optional[Any] = None,
32653        password: Optional["SecretBase"] = None,
32654        message_server: Optional[Any] = None,
32655        message_server_service: Optional[Any] = None,
32656        snc_mode: Optional[Any] = None,
32657        snc_my_name: Optional[Any] = None,
32658        snc_partner_name: Optional[Any] = None,
32659        snc_library_path: Optional[Any] = None,
32660        snc_qop: Optional[Any] = None,
32661        logon_group: Optional[Any] = None,
32662        encrypted_credential: Optional[Any] = None,
32663        **kwargs
32664    ):
32665        super(SapTableLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
32666        self.type = 'SapTable'  # type: str
32667        self.server = server
32668        self.system_number = system_number
32669        self.client_id = client_id
32670        self.language = language
32671        self.system_id = system_id
32672        self.user_name = user_name
32673        self.password = password
32674        self.message_server = message_server
32675        self.message_server_service = message_server_service
32676        self.snc_mode = snc_mode
32677        self.snc_my_name = snc_my_name
32678        self.snc_partner_name = snc_partner_name
32679        self.snc_library_path = snc_library_path
32680        self.snc_qop = snc_qop
32681        self.logon_group = logon_group
32682        self.encrypted_credential = encrypted_credential
32683
32684
32685class SapTablePartitionSettings(msrest.serialization.Model):
32686    """The settings that will be leveraged for SAP table source partitioning.
32687
32688    :param partition_column_name: The name of the column that will be used for proceeding range
32689     partitioning. Type: string (or Expression with resultType string).
32690    :type partition_column_name: any
32691    :param partition_upper_bound: The maximum value of column specified in partitionColumnName that
32692     will be used for proceeding range partitioning. Type: string (or Expression with resultType
32693     string).
32694    :type partition_upper_bound: any
32695    :param partition_lower_bound: The minimum value of column specified in partitionColumnName that
32696     will be used for proceeding range partitioning. Type: string (or Expression with resultType
32697     string).
32698    :type partition_lower_bound: any
32699    :param max_partitions_number: The maximum value of partitions the table will be split into.
32700     Type: integer (or Expression with resultType string).
32701    :type max_partitions_number: any
32702    """
32703
32704    _attribute_map = {
32705        'partition_column_name': {'key': 'partitionColumnName', 'type': 'object'},
32706        'partition_upper_bound': {'key': 'partitionUpperBound', 'type': 'object'},
32707        'partition_lower_bound': {'key': 'partitionLowerBound', 'type': 'object'},
32708        'max_partitions_number': {'key': 'maxPartitionsNumber', 'type': 'object'},
32709    }
32710
32711    def __init__(
32712        self,
32713        *,
32714        partition_column_name: Optional[Any] = None,
32715        partition_upper_bound: Optional[Any] = None,
32716        partition_lower_bound: Optional[Any] = None,
32717        max_partitions_number: Optional[Any] = None,
32718        **kwargs
32719    ):
32720        super(SapTablePartitionSettings, self).__init__(**kwargs)
32721        self.partition_column_name = partition_column_name
32722        self.partition_upper_bound = partition_upper_bound
32723        self.partition_lower_bound = partition_lower_bound
32724        self.max_partitions_number = max_partitions_number
32725
32726
32727class SapTableResourceDataset(Dataset):
32728    """SAP Table Resource properties.
32729
32730    All required parameters must be populated in order to send to Azure.
32731
32732    :param additional_properties: Unmatched properties from the message are deserialized to this
32733     collection.
32734    :type additional_properties: dict[str, any]
32735    :param type: Required. Type of dataset.Constant filled by server.
32736    :type type: str
32737    :param description: Dataset description.
32738    :type description: str
32739    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
32740     with resultType array), itemType: DatasetDataElement.
32741    :type structure: any
32742    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
32743     Expression with resultType array), itemType: DatasetSchemaDataElement.
32744    :type schema: any
32745    :param linked_service_name: Required. Linked service reference.
32746    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
32747    :param parameters: Parameters for dataset.
32748    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
32749    :param annotations: List of tags that can be used for describing the Dataset.
32750    :type annotations: list[any]
32751    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
32752     root level.
32753    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
32754    :param table_name: Required. The name of the SAP Table. Type: string (or Expression with
32755     resultType string).
32756    :type table_name: any
32757    """
32758
32759    _validation = {
32760        'type': {'required': True},
32761        'linked_service_name': {'required': True},
32762        'table_name': {'required': True},
32763    }
32764
32765    _attribute_map = {
32766        'additional_properties': {'key': '', 'type': '{object}'},
32767        'type': {'key': 'type', 'type': 'str'},
32768        'description': {'key': 'description', 'type': 'str'},
32769        'structure': {'key': 'structure', 'type': 'object'},
32770        'schema': {'key': 'schema', 'type': 'object'},
32771        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
32772        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
32773        'annotations': {'key': 'annotations', 'type': '[object]'},
32774        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
32775        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
32776    }
32777
32778    def __init__(
32779        self,
32780        *,
32781        linked_service_name: "LinkedServiceReference",
32782        table_name: Any,
32783        additional_properties: Optional[Dict[str, Any]] = None,
32784        description: Optional[str] = None,
32785        structure: Optional[Any] = None,
32786        schema: Optional[Any] = None,
32787        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
32788        annotations: Optional[List[Any]] = None,
32789        folder: Optional["DatasetFolder"] = None,
32790        **kwargs
32791    ):
32792        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)
32793        self.type = 'SapTableResource'  # type: str
32794        self.table_name = table_name
32795
32796
32797class SapTableSource(TabularSource):
32798    """A copy activity source for SAP Table source.
32799
32800    All required parameters must be populated in order to send to Azure.
32801
32802    :param additional_properties: Unmatched properties from the message are deserialized to this
32803     collection.
32804    :type additional_properties: dict[str, any]
32805    :param type: Required. Copy source type.Constant filled by server.
32806    :type type: str
32807    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
32808     integer).
32809    :type source_retry_count: any
32810    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
32811     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32812    :type source_retry_wait: any
32813    :param max_concurrent_connections: The maximum concurrent connection count for the source data
32814     store. Type: integer (or Expression with resultType integer).
32815    :type max_concurrent_connections: any
32816    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
32817     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32818    :type query_timeout: any
32819    :param additional_columns: Specifies the additional columns to be added to source data. Type:
32820     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
32821    :type additional_columns: any
32822    :param row_count: The number of rows to be retrieved. Type: integer(or Expression with
32823     resultType integer).
32824    :type row_count: any
32825    :param row_skips: The number of rows that will be skipped. Type: integer (or Expression with
32826     resultType integer).
32827    :type row_skips: any
32828    :param rfc_table_fields: The fields of the SAP table that will be retrieved. For example,
32829     column0, column1. Type: string (or Expression with resultType string).
32830    :type rfc_table_fields: any
32831    :param rfc_table_options: The options for the filtering of the SAP Table. For example, COLUMN0
32832     EQ SOME VALUE. Type: string (or Expression with resultType string).
32833    :type rfc_table_options: any
32834    :param batch_size: Specifies the maximum number of rows that will be retrieved at a time when
32835     retrieving data from SAP Table. Type: integer (or Expression with resultType integer).
32836    :type batch_size: any
32837    :param custom_rfc_read_table_function_module: Specifies the custom RFC function module that
32838     will be used to read data from SAP Table. Type: string (or Expression with resultType string).
32839    :type custom_rfc_read_table_function_module: any
32840    :param sap_data_column_delimiter: The single character that will be used as delimiter passed to
32841     SAP RFC as well as splitting the output data retrieved. Type: string (or Expression with
32842     resultType string).
32843    :type sap_data_column_delimiter: any
32844    :param partition_option: The partition mechanism that will be used for SAP table read in
32845     parallel. Possible values include: "None", "PartitionOnInt", "PartitionOnCalendarYear",
32846     "PartitionOnCalendarMonth", "PartitionOnCalendarDate", "PartitionOnTime".
32847    :type partition_option: str or
32848     ~azure.synapse.artifacts.v2020_12_01.models.SapTablePartitionOption
32849    :param partition_settings: The settings that will be leveraged for SAP table source
32850     partitioning.
32851    :type partition_settings: ~azure.synapse.artifacts.v2020_12_01.models.SapTablePartitionSettings
32852    """
32853
32854    _validation = {
32855        'type': {'required': True},
32856    }
32857
32858    _attribute_map = {
32859        'additional_properties': {'key': '', 'type': '{object}'},
32860        'type': {'key': 'type', 'type': 'str'},
32861        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
32862        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
32863        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
32864        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
32865        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
32866        'row_count': {'key': 'rowCount', 'type': 'object'},
32867        'row_skips': {'key': 'rowSkips', 'type': 'object'},
32868        'rfc_table_fields': {'key': 'rfcTableFields', 'type': 'object'},
32869        'rfc_table_options': {'key': 'rfcTableOptions', 'type': 'object'},
32870        'batch_size': {'key': 'batchSize', 'type': 'object'},
32871        'custom_rfc_read_table_function_module': {'key': 'customRfcReadTableFunctionModule', 'type': 'object'},
32872        'sap_data_column_delimiter': {'key': 'sapDataColumnDelimiter', 'type': 'object'},
32873        'partition_option': {'key': 'partitionOption', 'type': 'str'},
32874        'partition_settings': {'key': 'partitionSettings', 'type': 'SapTablePartitionSettings'},
32875    }
32876
32877    def __init__(
32878        self,
32879        *,
32880        additional_properties: Optional[Dict[str, Any]] = None,
32881        source_retry_count: Optional[Any] = None,
32882        source_retry_wait: Optional[Any] = None,
32883        max_concurrent_connections: Optional[Any] = None,
32884        query_timeout: Optional[Any] = None,
32885        additional_columns: Optional[Any] = None,
32886        row_count: Optional[Any] = None,
32887        row_skips: Optional[Any] = None,
32888        rfc_table_fields: Optional[Any] = None,
32889        rfc_table_options: Optional[Any] = None,
32890        batch_size: Optional[Any] = None,
32891        custom_rfc_read_table_function_module: Optional[Any] = None,
32892        sap_data_column_delimiter: Optional[Any] = None,
32893        partition_option: Optional[Union[str, "SapTablePartitionOption"]] = None,
32894        partition_settings: Optional["SapTablePartitionSettings"] = None,
32895        **kwargs
32896    ):
32897        super(SapTableSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
32898        self.type = 'SapTableSource'  # type: str
32899        self.row_count = row_count
32900        self.row_skips = row_skips
32901        self.rfc_table_fields = rfc_table_fields
32902        self.rfc_table_options = rfc_table_options
32903        self.batch_size = batch_size
32904        self.custom_rfc_read_table_function_module = custom_rfc_read_table_function_module
32905        self.sap_data_column_delimiter = sap_data_column_delimiter
32906        self.partition_option = partition_option
32907        self.partition_settings = partition_settings
32908
32909
32910class ScheduleTrigger(MultiplePipelineTrigger):
32911    """Trigger that creates pipeline runs periodically, on schedule.
32912
32913    Variables are only populated by the server, and will be ignored when sending a request.
32914
32915    All required parameters must be populated in order to send to Azure.
32916
32917    :param additional_properties: Unmatched properties from the message are deserialized to this
32918     collection.
32919    :type additional_properties: dict[str, any]
32920    :param type: Required. Trigger type.Constant filled by server.
32921    :type type: str
32922    :param description: Trigger description.
32923    :type description: str
32924    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
32925     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
32926    :vartype runtime_state: str or ~azure.synapse.artifacts.v2020_12_01.models.TriggerRuntimeState
32927    :param annotations: List of tags that can be used for describing the trigger.
32928    :type annotations: list[any]
32929    :param pipelines: Pipelines that need to be started.
32930    :type pipelines: list[~azure.synapse.artifacts.v2020_12_01.models.TriggerPipelineReference]
32931    :param recurrence: Required. Recurrence schedule configuration.
32932    :type recurrence: ~azure.synapse.artifacts.v2020_12_01.models.ScheduleTriggerRecurrence
32933    """
32934
32935    _validation = {
32936        'type': {'required': True},
32937        'runtime_state': {'readonly': True},
32938        'recurrence': {'required': True},
32939    }
32940
32941    _attribute_map = {
32942        'additional_properties': {'key': '', 'type': '{object}'},
32943        'type': {'key': 'type', 'type': 'str'},
32944        'description': {'key': 'description', 'type': 'str'},
32945        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
32946        'annotations': {'key': 'annotations', 'type': '[object]'},
32947        'pipelines': {'key': 'pipelines', 'type': '[TriggerPipelineReference]'},
32948        'recurrence': {'key': 'typeProperties.recurrence', 'type': 'ScheduleTriggerRecurrence'},
32949    }
32950
32951    def __init__(
32952        self,
32953        *,
32954        recurrence: "ScheduleTriggerRecurrence",
32955        additional_properties: Optional[Dict[str, Any]] = None,
32956        description: Optional[str] = None,
32957        annotations: Optional[List[Any]] = None,
32958        pipelines: Optional[List["TriggerPipelineReference"]] = None,
32959        **kwargs
32960    ):
32961        super(ScheduleTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, pipelines=pipelines, **kwargs)
32962        self.type = 'ScheduleTrigger'  # type: str
32963        self.recurrence = recurrence
32964
32965
32966class ScheduleTriggerRecurrence(msrest.serialization.Model):
32967    """The workflow trigger recurrence.
32968
32969    :param additional_properties: Unmatched properties from the message are deserialized to this
32970     collection.
32971    :type additional_properties: dict[str, any]
32972    :param frequency: The frequency. Possible values include: "NotSpecified", "Minute", "Hour",
32973     "Day", "Week", "Month", "Year".
32974    :type frequency: str or ~azure.synapse.artifacts.v2020_12_01.models.RecurrenceFrequency
32975    :param interval: The interval.
32976    :type interval: int
32977    :param start_time: The start time.
32978    :type start_time: ~datetime.datetime
32979    :param end_time: The end time.
32980    :type end_time: ~datetime.datetime
32981    :param time_zone: The time zone.
32982    :type time_zone: str
32983    :param schedule: The recurrence schedule.
32984    :type schedule: ~azure.synapse.artifacts.v2020_12_01.models.RecurrenceSchedule
32985    """
32986
32987    _attribute_map = {
32988        'additional_properties': {'key': '', 'type': '{object}'},
32989        'frequency': {'key': 'frequency', 'type': 'str'},
32990        'interval': {'key': 'interval', 'type': 'int'},
32991        'start_time': {'key': 'startTime', 'type': 'iso-8601'},
32992        'end_time': {'key': 'endTime', 'type': 'iso-8601'},
32993        'time_zone': {'key': 'timeZone', 'type': 'str'},
32994        'schedule': {'key': 'schedule', 'type': 'RecurrenceSchedule'},
32995    }
32996
32997    def __init__(
32998        self,
32999        *,
33000        additional_properties: Optional[Dict[str, Any]] = None,
33001        frequency: Optional[Union[str, "RecurrenceFrequency"]] = None,
33002        interval: Optional[int] = None,
33003        start_time: Optional[datetime.datetime] = None,
33004        end_time: Optional[datetime.datetime] = None,
33005        time_zone: Optional[str] = None,
33006        schedule: Optional["RecurrenceSchedule"] = None,
33007        **kwargs
33008    ):
33009        super(ScheduleTriggerRecurrence, self).__init__(**kwargs)
33010        self.additional_properties = additional_properties
33011        self.frequency = frequency
33012        self.interval = interval
33013        self.start_time = start_time
33014        self.end_time = end_time
33015        self.time_zone = time_zone
33016        self.schedule = schedule
33017
33018
33019class ScriptAction(msrest.serialization.Model):
33020    """Custom script action to run on HDI ondemand cluster once it's up.
33021
33022    All required parameters must be populated in order to send to Azure.
33023
33024    :param name: Required. The user provided name of the script action.
33025    :type name: str
33026    :param uri: Required. The URI for the script action.
33027    :type uri: str
33028    :param roles: Required. The node types on which the script action should be executed. Possible
33029     values include: "Headnode", "Workernode", "Zookeeper".
33030    :type roles: str or ~azure.synapse.artifacts.v2020_12_01.models.HdiNodeTypes
33031    :param parameters: The parameters for the script action.
33032    :type parameters: str
33033    """
33034
33035    _validation = {
33036        'name': {'required': True},
33037        'uri': {'required': True},
33038        'roles': {'required': True},
33039    }
33040
33041    _attribute_map = {
33042        'name': {'key': 'name', 'type': 'str'},
33043        'uri': {'key': 'uri', 'type': 'str'},
33044        'roles': {'key': 'roles', 'type': 'str'},
33045        'parameters': {'key': 'parameters', 'type': 'str'},
33046    }
33047
33048    def __init__(
33049        self,
33050        *,
33051        name: str,
33052        uri: str,
33053        roles: Union[str, "HdiNodeTypes"],
33054        parameters: Optional[str] = None,
33055        **kwargs
33056    ):
33057        super(ScriptAction, self).__init__(**kwargs)
33058        self.name = name
33059        self.uri = uri
33060        self.roles = roles
33061        self.parameters = parameters
33062
33063
33064class SecureString(SecretBase):
33065    """Azure Synapse secure string definition. The string value will be masked with asterisks '*' during Get or List API calls.
33066
33067    All required parameters must be populated in order to send to Azure.
33068
33069    :param type: Required. Type of the secret.Constant filled by server.
33070    :type type: str
33071    :param value: Required. Value of secure string.
33072    :type value: str
33073    """
33074
33075    _validation = {
33076        'type': {'required': True},
33077        'value': {'required': True},
33078    }
33079
33080    _attribute_map = {
33081        'type': {'key': 'type', 'type': 'str'},
33082        'value': {'key': 'value', 'type': 'str'},
33083    }
33084
33085    def __init__(
33086        self,
33087        *,
33088        value: str,
33089        **kwargs
33090    ):
33091        super(SecureString, self).__init__(**kwargs)
33092        self.type = 'SecureString'  # type: str
33093        self.value = value
33094
33095
33096class SelfDependencyTumblingWindowTriggerReference(DependencyReference):
33097    """Self referenced tumbling window trigger dependency.
33098
33099    All required parameters must be populated in order to send to Azure.
33100
33101    :param type: Required. The type of dependency reference.Constant filled by server.
33102    :type type: str
33103    :param offset: Required. Timespan applied to the start time of a tumbling window when
33104     evaluating dependency.
33105    :type offset: str
33106    :param size: The size of the window when evaluating the dependency. If undefined the frequency
33107     of the tumbling window will be used.
33108    :type size: str
33109    """
33110
33111    _validation = {
33112        'type': {'required': True},
33113        'offset': {'required': True, 'max_length': 15, 'min_length': 8, 'pattern': r'-((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))'},
33114        'size': {'max_length': 15, 'min_length': 8, 'pattern': r'((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))'},
33115    }
33116
33117    _attribute_map = {
33118        'type': {'key': 'type', 'type': 'str'},
33119        'offset': {'key': 'offset', 'type': 'str'},
33120        'size': {'key': 'size', 'type': 'str'},
33121    }
33122
33123    def __init__(
33124        self,
33125        *,
33126        offset: str,
33127        size: Optional[str] = None,
33128        **kwargs
33129    ):
33130        super(SelfDependencyTumblingWindowTriggerReference, self).__init__(**kwargs)
33131        self.type = 'SelfDependencyTumblingWindowTriggerReference'  # type: str
33132        self.offset = offset
33133        self.size = size
33134
33135
33136class SelfHostedIntegrationRuntime(IntegrationRuntime):
33137    """Self-hosted integration runtime.
33138
33139    All required parameters must be populated in order to send to Azure.
33140
33141    :param additional_properties: Unmatched properties from the message are deserialized to this
33142     collection.
33143    :type additional_properties: dict[str, any]
33144    :param type: Required. Type of integration runtime.Constant filled by server.  Possible values
33145     include: "Managed", "SelfHosted".
33146    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeType
33147    :param description: Integration runtime description.
33148    :type description: str
33149    :param linked_info: Linked integration runtime type from data factory.
33150    :type linked_info: ~azure.synapse.artifacts.v2020_12_01.models.LinkedIntegrationRuntimeType
33151    """
33152
33153    _validation = {
33154        'type': {'required': True},
33155    }
33156
33157    _attribute_map = {
33158        'additional_properties': {'key': '', 'type': '{object}'},
33159        'type': {'key': 'type', 'type': 'str'},
33160        'description': {'key': 'description', 'type': 'str'},
33161        'linked_info': {'key': 'typeProperties.linkedInfo', 'type': 'LinkedIntegrationRuntimeType'},
33162    }
33163
33164    def __init__(
33165        self,
33166        *,
33167        additional_properties: Optional[Dict[str, Any]] = None,
33168        description: Optional[str] = None,
33169        linked_info: Optional["LinkedIntegrationRuntimeType"] = None,
33170        **kwargs
33171    ):
33172        super(SelfHostedIntegrationRuntime, self).__init__(additional_properties=additional_properties, description=description, **kwargs)
33173        self.type = 'SelfHosted'  # type: str
33174        self.linked_info = linked_info
33175
33176
33177class ServiceNowLinkedService(LinkedService):
33178    """ServiceNow server linked service.
33179
33180    All required parameters must be populated in order to send to Azure.
33181
33182    :param additional_properties: Unmatched properties from the message are deserialized to this
33183     collection.
33184    :type additional_properties: dict[str, any]
33185    :param type: Required. Type of linked service.Constant filled by server.
33186    :type type: str
33187    :param connect_via: The integration runtime reference.
33188    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
33189    :param description: Linked service description.
33190    :type description: str
33191    :param parameters: Parameters for linked service.
33192    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
33193    :param annotations: List of tags that can be used for describing the linked service.
33194    :type annotations: list[any]
33195    :param endpoint: Required. The endpoint of the ServiceNow server. (i.e.
33196     :code:`<instance>`.service-now.com).
33197    :type endpoint: any
33198    :param authentication_type: Required. The authentication type to use. Possible values include:
33199     "Basic", "OAuth2".
33200    :type authentication_type: str or
33201     ~azure.synapse.artifacts.v2020_12_01.models.ServiceNowAuthenticationType
33202    :param username: The user name used to connect to the ServiceNow server for Basic and OAuth2
33203     authentication.
33204    :type username: any
33205    :param password: The password corresponding to the user name for Basic and OAuth2
33206     authentication.
33207    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
33208    :param client_id: The client id for OAuth2 authentication.
33209    :type client_id: any
33210    :param client_secret: The client secret for OAuth2 authentication.
33211    :type client_secret: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
33212    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
33213     HTTPS. The default value is true.
33214    :type use_encrypted_endpoints: any
33215    :param use_host_verification: Specifies whether to require the host name in the server's
33216     certificate to match the host name of the server when connecting over SSL. The default value is
33217     true.
33218    :type use_host_verification: any
33219    :param use_peer_verification: Specifies whether to verify the identity of the server when
33220     connecting over SSL. The default value is true.
33221    :type use_peer_verification: any
33222    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
33223     encrypted using the integration runtime credential manager. Type: string (or Expression with
33224     resultType string).
33225    :type encrypted_credential: any
33226    """
33227
33228    _validation = {
33229        'type': {'required': True},
33230        'endpoint': {'required': True},
33231        'authentication_type': {'required': True},
33232    }
33233
33234    _attribute_map = {
33235        'additional_properties': {'key': '', 'type': '{object}'},
33236        'type': {'key': 'type', 'type': 'str'},
33237        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
33238        'description': {'key': 'description', 'type': 'str'},
33239        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
33240        'annotations': {'key': 'annotations', 'type': '[object]'},
33241        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
33242        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
33243        'username': {'key': 'typeProperties.username', 'type': 'object'},
33244        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
33245        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
33246        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
33247        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
33248        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
33249        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
33250        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
33251    }
33252
33253    def __init__(
33254        self,
33255        *,
33256        endpoint: Any,
33257        authentication_type: Union[str, "ServiceNowAuthenticationType"],
33258        additional_properties: Optional[Dict[str, Any]] = None,
33259        connect_via: Optional["IntegrationRuntimeReference"] = None,
33260        description: Optional[str] = None,
33261        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
33262        annotations: Optional[List[Any]] = None,
33263        username: Optional[Any] = None,
33264        password: Optional["SecretBase"] = None,
33265        client_id: Optional[Any] = None,
33266        client_secret: Optional["SecretBase"] = None,
33267        use_encrypted_endpoints: Optional[Any] = None,
33268        use_host_verification: Optional[Any] = None,
33269        use_peer_verification: Optional[Any] = None,
33270        encrypted_credential: Optional[Any] = None,
33271        **kwargs
33272    ):
33273        super(ServiceNowLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
33274        self.type = 'ServiceNow'  # type: str
33275        self.endpoint = endpoint
33276        self.authentication_type = authentication_type
33277        self.username = username
33278        self.password = password
33279        self.client_id = client_id
33280        self.client_secret = client_secret
33281        self.use_encrypted_endpoints = use_encrypted_endpoints
33282        self.use_host_verification = use_host_verification
33283        self.use_peer_verification = use_peer_verification
33284        self.encrypted_credential = encrypted_credential
33285
33286
33287class ServiceNowObjectDataset(Dataset):
33288    """ServiceNow server dataset.
33289
33290    All required parameters must be populated in order to send to Azure.
33291
33292    :param additional_properties: Unmatched properties from the message are deserialized to this
33293     collection.
33294    :type additional_properties: dict[str, any]
33295    :param type: Required. Type of dataset.Constant filled by server.
33296    :type type: str
33297    :param description: Dataset description.
33298    :type description: str
33299    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
33300     with resultType array), itemType: DatasetDataElement.
33301    :type structure: any
33302    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
33303     Expression with resultType array), itemType: DatasetSchemaDataElement.
33304    :type schema: any
33305    :param linked_service_name: Required. Linked service reference.
33306    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
33307    :param parameters: Parameters for dataset.
33308    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
33309    :param annotations: List of tags that can be used for describing the Dataset.
33310    :type annotations: list[any]
33311    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
33312     root level.
33313    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
33314    :param table_name: The table name. Type: string (or Expression with resultType string).
33315    :type table_name: any
33316    """
33317
33318    _validation = {
33319        'type': {'required': True},
33320        'linked_service_name': {'required': True},
33321    }
33322
33323    _attribute_map = {
33324        'additional_properties': {'key': '', 'type': '{object}'},
33325        'type': {'key': 'type', 'type': 'str'},
33326        'description': {'key': 'description', 'type': 'str'},
33327        'structure': {'key': 'structure', 'type': 'object'},
33328        'schema': {'key': 'schema', 'type': 'object'},
33329        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
33330        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
33331        'annotations': {'key': 'annotations', 'type': '[object]'},
33332        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
33333        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
33334    }
33335
33336    def __init__(
33337        self,
33338        *,
33339        linked_service_name: "LinkedServiceReference",
33340        additional_properties: Optional[Dict[str, Any]] = None,
33341        description: Optional[str] = None,
33342        structure: Optional[Any] = None,
33343        schema: Optional[Any] = None,
33344        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
33345        annotations: Optional[List[Any]] = None,
33346        folder: Optional["DatasetFolder"] = None,
33347        table_name: Optional[Any] = None,
33348        **kwargs
33349    ):
33350        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)
33351        self.type = 'ServiceNowObject'  # type: str
33352        self.table_name = table_name
33353
33354
33355class ServiceNowSource(TabularSource):
33356    """A copy activity ServiceNow server source.
33357
33358    All required parameters must be populated in order to send to Azure.
33359
33360    :param additional_properties: Unmatched properties from the message are deserialized to this
33361     collection.
33362    :type additional_properties: dict[str, any]
33363    :param type: Required. Copy source type.Constant filled by server.
33364    :type type: str
33365    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
33366     integer).
33367    :type source_retry_count: any
33368    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
33369     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
33370    :type source_retry_wait: any
33371    :param max_concurrent_connections: The maximum concurrent connection count for the source data
33372     store. Type: integer (or Expression with resultType integer).
33373    :type max_concurrent_connections: any
33374    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
33375     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
33376    :type query_timeout: any
33377    :param additional_columns: Specifies the additional columns to be added to source data. Type:
33378     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
33379    :type additional_columns: any
33380    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
33381     string).
33382    :type query: any
33383    """
33384
33385    _validation = {
33386        'type': {'required': True},
33387    }
33388
33389    _attribute_map = {
33390        'additional_properties': {'key': '', 'type': '{object}'},
33391        'type': {'key': 'type', 'type': 'str'},
33392        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
33393        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
33394        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
33395        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
33396        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
33397        'query': {'key': 'query', 'type': 'object'},
33398    }
33399
33400    def __init__(
33401        self,
33402        *,
33403        additional_properties: Optional[Dict[str, Any]] = None,
33404        source_retry_count: Optional[Any] = None,
33405        source_retry_wait: Optional[Any] = None,
33406        max_concurrent_connections: Optional[Any] = None,
33407        query_timeout: Optional[Any] = None,
33408        additional_columns: Optional[Any] = None,
33409        query: Optional[Any] = None,
33410        **kwargs
33411    ):
33412        super(ServiceNowSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
33413        self.type = 'ServiceNowSource'  # type: str
33414        self.query = query
33415
33416
33417class SetVariableActivity(ControlActivity):
33418    """Set value for a Variable.
33419
33420    All required parameters must be populated in order to send to Azure.
33421
33422    :param additional_properties: Unmatched properties from the message are deserialized to this
33423     collection.
33424    :type additional_properties: dict[str, any]
33425    :param name: Required. Activity name.
33426    :type name: str
33427    :param type: Required. Type of activity.Constant filled by server.
33428    :type type: str
33429    :param description: Activity description.
33430    :type description: str
33431    :param depends_on: Activity depends on condition.
33432    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
33433    :param user_properties: Activity user properties.
33434    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
33435    :param variable_name: Name of the variable whose value needs to be set.
33436    :type variable_name: str
33437    :param value: Value to be set. Could be a static value or Expression.
33438    :type value: any
33439    """
33440
33441    _validation = {
33442        'name': {'required': True},
33443        'type': {'required': True},
33444    }
33445
33446    _attribute_map = {
33447        'additional_properties': {'key': '', 'type': '{object}'},
33448        'name': {'key': 'name', 'type': 'str'},
33449        'type': {'key': 'type', 'type': 'str'},
33450        'description': {'key': 'description', 'type': 'str'},
33451        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
33452        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
33453        'variable_name': {'key': 'typeProperties.variableName', 'type': 'str'},
33454        'value': {'key': 'typeProperties.value', 'type': 'object'},
33455    }
33456
33457    def __init__(
33458        self,
33459        *,
33460        name: str,
33461        additional_properties: Optional[Dict[str, Any]] = None,
33462        description: Optional[str] = None,
33463        depends_on: Optional[List["ActivityDependency"]] = None,
33464        user_properties: Optional[List["UserProperty"]] = None,
33465        variable_name: Optional[str] = None,
33466        value: Optional[Any] = None,
33467        **kwargs
33468    ):
33469        super(SetVariableActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
33470        self.type = 'SetVariable'  # type: str
33471        self.variable_name = variable_name
33472        self.value = value
33473
33474
33475class SftpLocation(DatasetLocation):
33476    """The location of SFTP dataset.
33477
33478    All required parameters must be populated in order to send to Azure.
33479
33480    :param additional_properties: Unmatched properties from the message are deserialized to this
33481     collection.
33482    :type additional_properties: dict[str, any]
33483    :param type: Required. Type of dataset storage location.Constant filled by server.
33484    :type type: str
33485    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
33486     resultType string).
33487    :type folder_path: any
33488    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
33489     string).
33490    :type file_name: any
33491    """
33492
33493    _validation = {
33494        'type': {'required': True},
33495    }
33496
33497    _attribute_map = {
33498        'additional_properties': {'key': '', 'type': '{object}'},
33499        'type': {'key': 'type', 'type': 'str'},
33500        'folder_path': {'key': 'folderPath', 'type': 'object'},
33501        'file_name': {'key': 'fileName', 'type': 'object'},
33502    }
33503
33504    def __init__(
33505        self,
33506        *,
33507        additional_properties: Optional[Dict[str, Any]] = None,
33508        folder_path: Optional[Any] = None,
33509        file_name: Optional[Any] = None,
33510        **kwargs
33511    ):
33512        super(SftpLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
33513        self.type = 'SftpLocation'  # type: str
33514
33515
33516class SftpReadSettings(StoreReadSettings):
33517    """Sftp read settings.
33518
33519    All required parameters must be populated in order to send to Azure.
33520
33521    :param additional_properties: Unmatched properties from the message are deserialized to this
33522     collection.
33523    :type additional_properties: dict[str, any]
33524    :param type: Required. The read setting type.Constant filled by server.
33525    :type type: str
33526    :param max_concurrent_connections: The maximum concurrent connection count for the source data
33527     store. Type: integer (or Expression with resultType integer).
33528    :type max_concurrent_connections: any
33529    :param recursive: If true, files under the folder path will be read recursively. Default is
33530     true. Type: boolean (or Expression with resultType boolean).
33531    :type recursive: any
33532    :param wildcard_folder_path: Sftp wildcardFolderPath. Type: string (or Expression with
33533     resultType string).
33534    :type wildcard_folder_path: any
33535    :param wildcard_file_name: Sftp wildcardFileName. Type: string (or Expression with resultType
33536     string).
33537    :type wildcard_file_name: any
33538    :param enable_partition_discovery: Indicates whether to enable partition discovery.
33539    :type enable_partition_discovery: bool
33540    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
33541     string (or Expression with resultType string).
33542    :type partition_root_path: any
33543    :param file_list_path: Point to a text file that lists each file (relative path to the path
33544     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
33545     string).
33546    :type file_list_path: any
33547    :param delete_files_after_completion: Indicates whether the source files need to be deleted
33548     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
33549    :type delete_files_after_completion: any
33550    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
33551     Expression with resultType string).
33552    :type modified_datetime_start: any
33553    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
33554     with resultType string).
33555    :type modified_datetime_end: any
33556    """
33557
33558    _validation = {
33559        'type': {'required': True},
33560    }
33561
33562    _attribute_map = {
33563        'additional_properties': {'key': '', 'type': '{object}'},
33564        'type': {'key': 'type', 'type': 'str'},
33565        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
33566        'recursive': {'key': 'recursive', 'type': 'object'},
33567        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
33568        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
33569        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
33570        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
33571        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
33572        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
33573        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
33574        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
33575    }
33576
33577    def __init__(
33578        self,
33579        *,
33580        additional_properties: Optional[Dict[str, Any]] = None,
33581        max_concurrent_connections: Optional[Any] = None,
33582        recursive: Optional[Any] = None,
33583        wildcard_folder_path: Optional[Any] = None,
33584        wildcard_file_name: Optional[Any] = None,
33585        enable_partition_discovery: Optional[bool] = None,
33586        partition_root_path: Optional[Any] = None,
33587        file_list_path: Optional[Any] = None,
33588        delete_files_after_completion: Optional[Any] = None,
33589        modified_datetime_start: Optional[Any] = None,
33590        modified_datetime_end: Optional[Any] = None,
33591        **kwargs
33592    ):
33593        super(SftpReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
33594        self.type = 'SftpReadSettings'  # type: str
33595        self.recursive = recursive
33596        self.wildcard_folder_path = wildcard_folder_path
33597        self.wildcard_file_name = wildcard_file_name
33598        self.enable_partition_discovery = enable_partition_discovery
33599        self.partition_root_path = partition_root_path
33600        self.file_list_path = file_list_path
33601        self.delete_files_after_completion = delete_files_after_completion
33602        self.modified_datetime_start = modified_datetime_start
33603        self.modified_datetime_end = modified_datetime_end
33604
33605
33606class SftpServerLinkedService(LinkedService):
33607    """A linked service for an SSH File Transfer Protocol (SFTP) server.
33608
33609    All required parameters must be populated in order to send to Azure.
33610
33611    :param additional_properties: Unmatched properties from the message are deserialized to this
33612     collection.
33613    :type additional_properties: dict[str, any]
33614    :param type: Required. Type of linked service.Constant filled by server.
33615    :type type: str
33616    :param connect_via: The integration runtime reference.
33617    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
33618    :param description: Linked service description.
33619    :type description: str
33620    :param parameters: Parameters for linked service.
33621    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
33622    :param annotations: List of tags that can be used for describing the linked service.
33623    :type annotations: list[any]
33624    :param host: Required. The SFTP server host name. Type: string (or Expression with resultType
33625     string).
33626    :type host: any
33627    :param port: The TCP port number that the SFTP server uses to listen for client connections.
33628     Default value is 22. Type: integer (or Expression with resultType integer), minimum: 0.
33629    :type port: any
33630    :param authentication_type: The authentication type to be used to connect to the FTP server.
33631     Possible values include: "Basic", "SshPublicKey".
33632    :type authentication_type: str or
33633     ~azure.synapse.artifacts.v2020_12_01.models.SftpAuthenticationType
33634    :param user_name: The username used to log on to the SFTP server. Type: string (or Expression
33635     with resultType string).
33636    :type user_name: any
33637    :param password: Password to logon the SFTP server for Basic authentication.
33638    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
33639    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
33640     encrypted using the integration runtime credential manager. Type: string (or Expression with
33641     resultType string).
33642    :type encrypted_credential: any
33643    :param private_key_path: The SSH private key file path for SshPublicKey authentication. Only
33644     valid for on-premises copy. For on-premises copy with SshPublicKey authentication, either
33645     PrivateKeyPath or PrivateKeyContent should be specified. SSH private key should be OpenSSH
33646     format. Type: string (or Expression with resultType string).
33647    :type private_key_path: any
33648    :param private_key_content: Base64 encoded SSH private key content for SshPublicKey
33649     authentication. For on-premises copy with SshPublicKey authentication, either PrivateKeyPath or
33650     PrivateKeyContent should be specified. SSH private key should be OpenSSH format.
33651    :type private_key_content: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
33652    :param pass_phrase: The password to decrypt the SSH private key if the SSH private key is
33653     encrypted.
33654    :type pass_phrase: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
33655    :param skip_host_key_validation: If true, skip the SSH host key validation. Default value is
33656     false. Type: boolean (or Expression with resultType boolean).
33657    :type skip_host_key_validation: any
33658    :param host_key_fingerprint: The host key finger-print of the SFTP server. When
33659     SkipHostKeyValidation is false, HostKeyFingerprint should be specified. Type: string (or
33660     Expression with resultType string).
33661    :type host_key_fingerprint: any
33662    """
33663
33664    _validation = {
33665        'type': {'required': True},
33666        'host': {'required': True},
33667    }
33668
33669    _attribute_map = {
33670        'additional_properties': {'key': '', 'type': '{object}'},
33671        'type': {'key': 'type', 'type': 'str'},
33672        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
33673        'description': {'key': 'description', 'type': 'str'},
33674        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
33675        'annotations': {'key': 'annotations', 'type': '[object]'},
33676        'host': {'key': 'typeProperties.host', 'type': 'object'},
33677        'port': {'key': 'typeProperties.port', 'type': 'object'},
33678        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
33679        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
33680        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
33681        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
33682        'private_key_path': {'key': 'typeProperties.privateKeyPath', 'type': 'object'},
33683        'private_key_content': {'key': 'typeProperties.privateKeyContent', 'type': 'SecretBase'},
33684        'pass_phrase': {'key': 'typeProperties.passPhrase', 'type': 'SecretBase'},
33685        'skip_host_key_validation': {'key': 'typeProperties.skipHostKeyValidation', 'type': 'object'},
33686        'host_key_fingerprint': {'key': 'typeProperties.hostKeyFingerprint', 'type': 'object'},
33687    }
33688
33689    def __init__(
33690        self,
33691        *,
33692        host: Any,
33693        additional_properties: Optional[Dict[str, Any]] = None,
33694        connect_via: Optional["IntegrationRuntimeReference"] = None,
33695        description: Optional[str] = None,
33696        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
33697        annotations: Optional[List[Any]] = None,
33698        port: Optional[Any] = None,
33699        authentication_type: Optional[Union[str, "SftpAuthenticationType"]] = None,
33700        user_name: Optional[Any] = None,
33701        password: Optional["SecretBase"] = None,
33702        encrypted_credential: Optional[Any] = None,
33703        private_key_path: Optional[Any] = None,
33704        private_key_content: Optional["SecretBase"] = None,
33705        pass_phrase: Optional["SecretBase"] = None,
33706        skip_host_key_validation: Optional[Any] = None,
33707        host_key_fingerprint: Optional[Any] = None,
33708        **kwargs
33709    ):
33710        super(SftpServerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
33711        self.type = 'Sftp'  # type: str
33712        self.host = host
33713        self.port = port
33714        self.authentication_type = authentication_type
33715        self.user_name = user_name
33716        self.password = password
33717        self.encrypted_credential = encrypted_credential
33718        self.private_key_path = private_key_path
33719        self.private_key_content = private_key_content
33720        self.pass_phrase = pass_phrase
33721        self.skip_host_key_validation = skip_host_key_validation
33722        self.host_key_fingerprint = host_key_fingerprint
33723
33724
33725class SftpWriteSettings(StoreWriteSettings):
33726    """Sftp write settings.
33727
33728    All required parameters must be populated in order to send to Azure.
33729
33730    :param additional_properties: Unmatched properties from the message are deserialized to this
33731     collection.
33732    :type additional_properties: dict[str, any]
33733    :param type: Required. The write setting type.Constant filled by server.
33734    :type type: str
33735    :param max_concurrent_connections: The maximum concurrent connection count for the source data
33736     store. Type: integer (or Expression with resultType integer).
33737    :type max_concurrent_connections: any
33738    :param copy_behavior: The type of copy behavior for copy sink.
33739    :type copy_behavior: any
33740    :param operation_timeout: Specifies the timeout for writing each chunk to SFTP server. Default
33741     value: 01:00:00 (one hour). Type: string (or Expression with resultType string).
33742    :type operation_timeout: any
33743    :param use_temp_file_rename: Upload to temporary file(s) and rename. Disable this option if
33744     your SFTP server doesn't support rename operation. Type: boolean (or Expression with resultType
33745     boolean).
33746    :type use_temp_file_rename: any
33747    """
33748
33749    _validation = {
33750        'type': {'required': True},
33751    }
33752
33753    _attribute_map = {
33754        'additional_properties': {'key': '', 'type': '{object}'},
33755        'type': {'key': 'type', 'type': 'str'},
33756        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
33757        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
33758        'operation_timeout': {'key': 'operationTimeout', 'type': 'object'},
33759        'use_temp_file_rename': {'key': 'useTempFileRename', 'type': 'object'},
33760    }
33761
33762    def __init__(
33763        self,
33764        *,
33765        additional_properties: Optional[Dict[str, Any]] = None,
33766        max_concurrent_connections: Optional[Any] = None,
33767        copy_behavior: Optional[Any] = None,
33768        operation_timeout: Optional[Any] = None,
33769        use_temp_file_rename: Optional[Any] = None,
33770        **kwargs
33771    ):
33772        super(SftpWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs)
33773        self.type = 'SftpWriteSettings'  # type: str
33774        self.operation_timeout = operation_timeout
33775        self.use_temp_file_rename = use_temp_file_rename
33776
33777
33778class SharePointOnlineListLinkedService(LinkedService):
33779    """SharePoint Online List linked service.
33780
33781    All required parameters must be populated in order to send to Azure.
33782
33783    :param additional_properties: Unmatched properties from the message are deserialized to this
33784     collection.
33785    :type additional_properties: dict[str, any]
33786    :param type: Required. Type of linked service.Constant filled by server.
33787    :type type: str
33788    :param connect_via: The integration runtime reference.
33789    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
33790    :param description: Linked service description.
33791    :type description: str
33792    :param parameters: Parameters for linked service.
33793    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
33794    :param annotations: List of tags that can be used for describing the linked service.
33795    :type annotations: list[any]
33796    :param site_url: Required. The URL of the SharePoint Online site. For example,
33797     https://contoso.sharepoint.com/sites/siteName. Type: string (or Expression with resultType
33798     string).
33799    :type site_url: any
33800    :param tenant_id: Required. The tenant ID under which your application resides. You can find it
33801     from Azure portal Active Directory overview page. Type: string (or Expression with resultType
33802     string).
33803    :type tenant_id: any
33804    :param service_principal_id: Required. The application (client) ID of your application
33805     registered in Azure Active Directory. Make sure to grant SharePoint site permission to this
33806     application. Type: string (or Expression with resultType string).
33807    :type service_principal_id: any
33808    :param service_principal_key: Required. The client secret of your application registered in
33809     Azure Active Directory. Type: string (or Expression with resultType string).
33810    :type service_principal_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
33811    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
33812     encrypted using the integration runtime credential manager. Type: string (or Expression with
33813     resultType string).
33814    :type encrypted_credential: any
33815    """
33816
33817    _validation = {
33818        'type': {'required': True},
33819        'site_url': {'required': True},
33820        'tenant_id': {'required': True},
33821        'service_principal_id': {'required': True},
33822        'service_principal_key': {'required': True},
33823    }
33824
33825    _attribute_map = {
33826        'additional_properties': {'key': '', 'type': '{object}'},
33827        'type': {'key': 'type', 'type': 'str'},
33828        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
33829        'description': {'key': 'description', 'type': 'str'},
33830        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
33831        'annotations': {'key': 'annotations', 'type': '[object]'},
33832        'site_url': {'key': 'typeProperties.siteUrl', 'type': 'object'},
33833        'tenant_id': {'key': 'typeProperties.tenantId', 'type': 'object'},
33834        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
33835        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
33836        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
33837    }
33838
33839    def __init__(
33840        self,
33841        *,
33842        site_url: Any,
33843        tenant_id: Any,
33844        service_principal_id: Any,
33845        service_principal_key: "SecretBase",
33846        additional_properties: Optional[Dict[str, Any]] = None,
33847        connect_via: Optional["IntegrationRuntimeReference"] = None,
33848        description: Optional[str] = None,
33849        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
33850        annotations: Optional[List[Any]] = None,
33851        encrypted_credential: Optional[Any] = None,
33852        **kwargs
33853    ):
33854        super(SharePointOnlineListLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
33855        self.type = 'SharePointOnlineList'  # type: str
33856        self.site_url = site_url
33857        self.tenant_id = tenant_id
33858        self.service_principal_id = service_principal_id
33859        self.service_principal_key = service_principal_key
33860        self.encrypted_credential = encrypted_credential
33861
33862
33863class SharePointOnlineListResourceDataset(Dataset):
33864    """The sharepoint online list resource dataset.
33865
33866    All required parameters must be populated in order to send to Azure.
33867
33868    :param additional_properties: Unmatched properties from the message are deserialized to this
33869     collection.
33870    :type additional_properties: dict[str, any]
33871    :param type: Required. Type of dataset.Constant filled by server.
33872    :type type: str
33873    :param description: Dataset description.
33874    :type description: str
33875    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
33876     with resultType array), itemType: DatasetDataElement.
33877    :type structure: any
33878    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
33879     Expression with resultType array), itemType: DatasetSchemaDataElement.
33880    :type schema: any
33881    :param linked_service_name: Required. Linked service reference.
33882    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
33883    :param parameters: Parameters for dataset.
33884    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
33885    :param annotations: List of tags that can be used for describing the Dataset.
33886    :type annotations: list[any]
33887    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
33888     root level.
33889    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
33890    :param list_name: The name of the SharePoint Online list. Type: string (or Expression with
33891     resultType string).
33892    :type list_name: any
33893    """
33894
33895    _validation = {
33896        'type': {'required': True},
33897        'linked_service_name': {'required': True},
33898    }
33899
33900    _attribute_map = {
33901        'additional_properties': {'key': '', 'type': '{object}'},
33902        'type': {'key': 'type', 'type': 'str'},
33903        'description': {'key': 'description', 'type': 'str'},
33904        'structure': {'key': 'structure', 'type': 'object'},
33905        'schema': {'key': 'schema', 'type': 'object'},
33906        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
33907        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
33908        'annotations': {'key': 'annotations', 'type': '[object]'},
33909        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
33910        'list_name': {'key': 'typeProperties.listName', 'type': 'object'},
33911    }
33912
33913    def __init__(
33914        self,
33915        *,
33916        linked_service_name: "LinkedServiceReference",
33917        additional_properties: Optional[Dict[str, Any]] = None,
33918        description: Optional[str] = None,
33919        structure: Optional[Any] = None,
33920        schema: Optional[Any] = None,
33921        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
33922        annotations: Optional[List[Any]] = None,
33923        folder: Optional["DatasetFolder"] = None,
33924        list_name: Optional[Any] = None,
33925        **kwargs
33926    ):
33927        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)
33928        self.type = 'SharePointOnlineListResource'  # type: str
33929        self.list_name = list_name
33930
33931
33932class SharePointOnlineListSource(CopySource):
33933    """A copy activity source for sharePoint online list source.
33934
33935    All required parameters must be populated in order to send to Azure.
33936
33937    :param additional_properties: Unmatched properties from the message are deserialized to this
33938     collection.
33939    :type additional_properties: dict[str, any]
33940    :param type: Required. Copy source type.Constant filled by server.
33941    :type type: str
33942    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
33943     integer).
33944    :type source_retry_count: any
33945    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
33946     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
33947    :type source_retry_wait: any
33948    :param max_concurrent_connections: The maximum concurrent connection count for the source data
33949     store. Type: integer (or Expression with resultType integer).
33950    :type max_concurrent_connections: any
33951    :param query: The OData query to filter the data in SharePoint Online list. For example,
33952     "$top=1". Type: string (or Expression with resultType string).
33953    :type query: any
33954    :param http_request_timeout: The wait time to get a response from SharePoint Online. Default
33955     value is 5 minutes (00:05:00). Type: string (or Expression with resultType string), pattern:
33956     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
33957    :type http_request_timeout: any
33958    """
33959
33960    _validation = {
33961        'type': {'required': True},
33962    }
33963
33964    _attribute_map = {
33965        'additional_properties': {'key': '', 'type': '{object}'},
33966        'type': {'key': 'type', 'type': 'str'},
33967        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
33968        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
33969        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
33970        'query': {'key': 'query', 'type': 'object'},
33971        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
33972    }
33973
33974    def __init__(
33975        self,
33976        *,
33977        additional_properties: Optional[Dict[str, Any]] = None,
33978        source_retry_count: Optional[Any] = None,
33979        source_retry_wait: Optional[Any] = None,
33980        max_concurrent_connections: Optional[Any] = None,
33981        query: Optional[Any] = None,
33982        http_request_timeout: Optional[Any] = None,
33983        **kwargs
33984    ):
33985        super(SharePointOnlineListSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
33986        self.type = 'SharePointOnlineListSource'  # type: str
33987        self.query = query
33988        self.http_request_timeout = http_request_timeout
33989
33990
33991class ShopifyLinkedService(LinkedService):
33992    """Shopify Service linked service.
33993
33994    All required parameters must be populated in order to send to Azure.
33995
33996    :param additional_properties: Unmatched properties from the message are deserialized to this
33997     collection.
33998    :type additional_properties: dict[str, any]
33999    :param type: Required. Type of linked service.Constant filled by server.
34000    :type type: str
34001    :param connect_via: The integration runtime reference.
34002    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
34003    :param description: Linked service description.
34004    :type description: str
34005    :param parameters: Parameters for linked service.
34006    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
34007    :param annotations: List of tags that can be used for describing the linked service.
34008    :type annotations: list[any]
34009    :param host: Required. The endpoint of the Shopify server. (i.e. mystore.myshopify.com).
34010    :type host: any
34011    :param access_token: The API access token that can be used to access Shopify’s data. The token
34012     won't expire if it is offline mode.
34013    :type access_token: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
34014    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
34015     HTTPS. The default value is true.
34016    :type use_encrypted_endpoints: any
34017    :param use_host_verification: Specifies whether to require the host name in the server's
34018     certificate to match the host name of the server when connecting over SSL. The default value is
34019     true.
34020    :type use_host_verification: any
34021    :param use_peer_verification: Specifies whether to verify the identity of the server when
34022     connecting over SSL. The default value is true.
34023    :type use_peer_verification: any
34024    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
34025     encrypted using the integration runtime credential manager. Type: string (or Expression with
34026     resultType string).
34027    :type encrypted_credential: any
34028    """
34029
34030    _validation = {
34031        'type': {'required': True},
34032        'host': {'required': True},
34033    }
34034
34035    _attribute_map = {
34036        'additional_properties': {'key': '', 'type': '{object}'},
34037        'type': {'key': 'type', 'type': 'str'},
34038        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
34039        'description': {'key': 'description', 'type': 'str'},
34040        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
34041        'annotations': {'key': 'annotations', 'type': '[object]'},
34042        'host': {'key': 'typeProperties.host', 'type': 'object'},
34043        'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'},
34044        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
34045        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
34046        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
34047        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
34048    }
34049
34050    def __init__(
34051        self,
34052        *,
34053        host: Any,
34054        additional_properties: Optional[Dict[str, Any]] = None,
34055        connect_via: Optional["IntegrationRuntimeReference"] = None,
34056        description: Optional[str] = None,
34057        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
34058        annotations: Optional[List[Any]] = None,
34059        access_token: Optional["SecretBase"] = None,
34060        use_encrypted_endpoints: Optional[Any] = None,
34061        use_host_verification: Optional[Any] = None,
34062        use_peer_verification: Optional[Any] = None,
34063        encrypted_credential: Optional[Any] = None,
34064        **kwargs
34065    ):
34066        super(ShopifyLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
34067        self.type = 'Shopify'  # type: str
34068        self.host = host
34069        self.access_token = access_token
34070        self.use_encrypted_endpoints = use_encrypted_endpoints
34071        self.use_host_verification = use_host_verification
34072        self.use_peer_verification = use_peer_verification
34073        self.encrypted_credential = encrypted_credential
34074
34075
34076class ShopifyObjectDataset(Dataset):
34077    """Shopify Service dataset.
34078
34079    All required parameters must be populated in order to send to Azure.
34080
34081    :param additional_properties: Unmatched properties from the message are deserialized to this
34082     collection.
34083    :type additional_properties: dict[str, any]
34084    :param type: Required. Type of dataset.Constant filled by server.
34085    :type type: str
34086    :param description: Dataset description.
34087    :type description: str
34088    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
34089     with resultType array), itemType: DatasetDataElement.
34090    :type structure: any
34091    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
34092     Expression with resultType array), itemType: DatasetSchemaDataElement.
34093    :type schema: any
34094    :param linked_service_name: Required. Linked service reference.
34095    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
34096    :param parameters: Parameters for dataset.
34097    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
34098    :param annotations: List of tags that can be used for describing the Dataset.
34099    :type annotations: list[any]
34100    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
34101     root level.
34102    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
34103    :param table_name: The table name. Type: string (or Expression with resultType string).
34104    :type table_name: any
34105    """
34106
34107    _validation = {
34108        'type': {'required': True},
34109        'linked_service_name': {'required': True},
34110    }
34111
34112    _attribute_map = {
34113        'additional_properties': {'key': '', 'type': '{object}'},
34114        'type': {'key': 'type', 'type': 'str'},
34115        'description': {'key': 'description', 'type': 'str'},
34116        'structure': {'key': 'structure', 'type': 'object'},
34117        'schema': {'key': 'schema', 'type': 'object'},
34118        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
34119        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
34120        'annotations': {'key': 'annotations', 'type': '[object]'},
34121        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
34122        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
34123    }
34124
34125    def __init__(
34126        self,
34127        *,
34128        linked_service_name: "LinkedServiceReference",
34129        additional_properties: Optional[Dict[str, Any]] = None,
34130        description: Optional[str] = None,
34131        structure: Optional[Any] = None,
34132        schema: Optional[Any] = None,
34133        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
34134        annotations: Optional[List[Any]] = None,
34135        folder: Optional["DatasetFolder"] = None,
34136        table_name: Optional[Any] = None,
34137        **kwargs
34138    ):
34139        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)
34140        self.type = 'ShopifyObject'  # type: str
34141        self.table_name = table_name
34142
34143
34144class ShopifySource(TabularSource):
34145    """A copy activity Shopify Service source.
34146
34147    All required parameters must be populated in order to send to Azure.
34148
34149    :param additional_properties: Unmatched properties from the message are deserialized to this
34150     collection.
34151    :type additional_properties: dict[str, any]
34152    :param type: Required. Copy source type.Constant filled by server.
34153    :type type: str
34154    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
34155     integer).
34156    :type source_retry_count: any
34157    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
34158     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
34159    :type source_retry_wait: any
34160    :param max_concurrent_connections: The maximum concurrent connection count for the source data
34161     store. Type: integer (or Expression with resultType integer).
34162    :type max_concurrent_connections: any
34163    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
34164     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
34165    :type query_timeout: any
34166    :param additional_columns: Specifies the additional columns to be added to source data. Type:
34167     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
34168    :type additional_columns: any
34169    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
34170     string).
34171    :type query: any
34172    """
34173
34174    _validation = {
34175        'type': {'required': True},
34176    }
34177
34178    _attribute_map = {
34179        'additional_properties': {'key': '', 'type': '{object}'},
34180        'type': {'key': 'type', 'type': 'str'},
34181        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
34182        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
34183        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
34184        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
34185        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
34186        'query': {'key': 'query', 'type': 'object'},
34187    }
34188
34189    def __init__(
34190        self,
34191        *,
34192        additional_properties: Optional[Dict[str, Any]] = None,
34193        source_retry_count: Optional[Any] = None,
34194        source_retry_wait: Optional[Any] = None,
34195        max_concurrent_connections: Optional[Any] = None,
34196        query_timeout: Optional[Any] = None,
34197        additional_columns: Optional[Any] = None,
34198        query: Optional[Any] = None,
34199        **kwargs
34200    ):
34201        super(ShopifySource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
34202        self.type = 'ShopifySource'  # type: str
34203        self.query = query
34204
34205
34206class SkipErrorFile(msrest.serialization.Model):
34207    """Skip error file.
34208
34209    :param file_missing: Skip if file is deleted by other client during copy. Default is true.
34210     Type: boolean (or Expression with resultType boolean).
34211    :type file_missing: any
34212    :param data_inconsistency: Skip if source/sink file changed by other concurrent write. Default
34213     is false. Type: boolean (or Expression with resultType boolean).
34214    :type data_inconsistency: any
34215    """
34216
34217    _attribute_map = {
34218        'file_missing': {'key': 'fileMissing', 'type': 'object'},
34219        'data_inconsistency': {'key': 'dataInconsistency', 'type': 'object'},
34220    }
34221
34222    def __init__(
34223        self,
34224        *,
34225        file_missing: Optional[Any] = None,
34226        data_inconsistency: Optional[Any] = None,
34227        **kwargs
34228    ):
34229        super(SkipErrorFile, self).__init__(**kwargs)
34230        self.file_missing = file_missing
34231        self.data_inconsistency = data_inconsistency
34232
34233
34234class Sku(msrest.serialization.Model):
34235    """SQL pool SKU.
34236
34237    :param tier: The service tier.
34238    :type tier: str
34239    :param name: The SKU name.
34240    :type name: str
34241    :param capacity: If the SKU supports scale out/in then the capacity integer should be included.
34242     If scale out/in is not possible for the resource this may be omitted.
34243    :type capacity: int
34244    """
34245
34246    _attribute_map = {
34247        'tier': {'key': 'tier', 'type': 'str'},
34248        'name': {'key': 'name', 'type': 'str'},
34249        'capacity': {'key': 'capacity', 'type': 'int'},
34250    }
34251
34252    def __init__(
34253        self,
34254        *,
34255        tier: Optional[str] = None,
34256        name: Optional[str] = None,
34257        capacity: Optional[int] = None,
34258        **kwargs
34259    ):
34260        super(Sku, self).__init__(**kwargs)
34261        self.tier = tier
34262        self.name = name
34263        self.capacity = capacity
34264
34265
34266class SnowflakeDataset(Dataset):
34267    """The snowflake dataset.
34268
34269    All required parameters must be populated in order to send to Azure.
34270
34271    :param additional_properties: Unmatched properties from the message are deserialized to this
34272     collection.
34273    :type additional_properties: dict[str, any]
34274    :param type: Required. Type of dataset.Constant filled by server.
34275    :type type: str
34276    :param description: Dataset description.
34277    :type description: str
34278    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
34279     with resultType array), itemType: DatasetDataElement.
34280    :type structure: any
34281    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
34282     Expression with resultType array), itemType: DatasetSchemaDataElement.
34283    :type schema: any
34284    :param linked_service_name: Required. Linked service reference.
34285    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
34286    :param parameters: Parameters for dataset.
34287    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
34288    :param annotations: List of tags that can be used for describing the Dataset.
34289    :type annotations: list[any]
34290    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
34291     root level.
34292    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
34293    :param schema_type_properties_schema: The schema name of the Snowflake database. Type: string
34294     (or Expression with resultType string).
34295    :type schema_type_properties_schema: any
34296    :param table: The table name of the Snowflake database. Type: string (or Expression with
34297     resultType string).
34298    :type table: any
34299    """
34300
34301    _validation = {
34302        'type': {'required': True},
34303        'linked_service_name': {'required': True},
34304    }
34305
34306    _attribute_map = {
34307        'additional_properties': {'key': '', 'type': '{object}'},
34308        'type': {'key': 'type', 'type': 'str'},
34309        'description': {'key': 'description', 'type': 'str'},
34310        'structure': {'key': 'structure', 'type': 'object'},
34311        'schema': {'key': 'schema', 'type': 'object'},
34312        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
34313        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
34314        'annotations': {'key': 'annotations', 'type': '[object]'},
34315        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
34316        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
34317        'table': {'key': 'typeProperties.table', 'type': 'object'},
34318    }
34319
34320    def __init__(
34321        self,
34322        *,
34323        linked_service_name: "LinkedServiceReference",
34324        additional_properties: Optional[Dict[str, Any]] = None,
34325        description: Optional[str] = None,
34326        structure: Optional[Any] = None,
34327        schema: Optional[Any] = None,
34328        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
34329        annotations: Optional[List[Any]] = None,
34330        folder: Optional["DatasetFolder"] = None,
34331        schema_type_properties_schema: Optional[Any] = None,
34332        table: Optional[Any] = None,
34333        **kwargs
34334    ):
34335        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)
34336        self.type = 'SnowflakeTable'  # type: str
34337        self.schema_type_properties_schema = schema_type_properties_schema
34338        self.table = table
34339
34340
34341class SnowflakeExportCopyCommand(ExportSettings):
34342    """Snowflake export command settings.
34343
34344    All required parameters must be populated in order to send to Azure.
34345
34346    :param additional_properties: Unmatched properties from the message are deserialized to this
34347     collection.
34348    :type additional_properties: dict[str, any]
34349    :param type: Required. The export setting type.Constant filled by server.
34350    :type type: str
34351    :param additional_copy_options: Additional copy options directly passed to snowflake Copy
34352     Command. Type: key value pairs (value should be string type) (or Expression with resultType
34353     object). Example: "additionalCopyOptions": { "DATE_FORMAT": "MM/DD/YYYY", "TIME_FORMAT":
34354     "'HH24:MI:SS.FF'" }.
34355    :type additional_copy_options: dict[str, any]
34356    :param additional_format_options: Additional format options directly passed to snowflake Copy
34357     Command. Type: key value pairs (value should be string type) (or Expression with resultType
34358     object). Example: "additionalFormatOptions": { "OVERWRITE": "TRUE", "MAX_FILE_SIZE": "'FALSE'"
34359     }.
34360    :type additional_format_options: dict[str, any]
34361    """
34362
34363    _validation = {
34364        'type': {'required': True},
34365    }
34366
34367    _attribute_map = {
34368        'additional_properties': {'key': '', 'type': '{object}'},
34369        'type': {'key': 'type', 'type': 'str'},
34370        'additional_copy_options': {'key': 'additionalCopyOptions', 'type': '{object}'},
34371        'additional_format_options': {'key': 'additionalFormatOptions', 'type': '{object}'},
34372    }
34373
34374    def __init__(
34375        self,
34376        *,
34377        additional_properties: Optional[Dict[str, Any]] = None,
34378        additional_copy_options: Optional[Dict[str, Any]] = None,
34379        additional_format_options: Optional[Dict[str, Any]] = None,
34380        **kwargs
34381    ):
34382        super(SnowflakeExportCopyCommand, self).__init__(additional_properties=additional_properties, **kwargs)
34383        self.type = 'SnowflakeExportCopyCommand'  # type: str
34384        self.additional_copy_options = additional_copy_options
34385        self.additional_format_options = additional_format_options
34386
34387
34388class SnowflakeImportCopyCommand(ImportSettings):
34389    """Snowflake import command settings.
34390
34391    All required parameters must be populated in order to send to Azure.
34392
34393    :param additional_properties: Unmatched properties from the message are deserialized to this
34394     collection.
34395    :type additional_properties: dict[str, any]
34396    :param type: Required. The import setting type.Constant filled by server.
34397    :type type: str
34398    :param additional_copy_options: Additional copy options directly passed to snowflake Copy
34399     Command. Type: key value pairs (value should be string type) (or Expression with resultType
34400     object). Example: "additionalCopyOptions": { "DATE_FORMAT": "MM/DD/YYYY", "TIME_FORMAT":
34401     "'HH24:MI:SS.FF'" }.
34402    :type additional_copy_options: dict[str, any]
34403    :param additional_format_options: Additional format options directly passed to snowflake Copy
34404     Command. Type: key value pairs (value should be string type) (or Expression with resultType
34405     object). Example: "additionalFormatOptions": { "FORCE": "TRUE", "LOAD_UNCERTAIN_FILES":
34406     "'FALSE'" }.
34407    :type additional_format_options: dict[str, any]
34408    """
34409
34410    _validation = {
34411        'type': {'required': True},
34412    }
34413
34414    _attribute_map = {
34415        'additional_properties': {'key': '', 'type': '{object}'},
34416        'type': {'key': 'type', 'type': 'str'},
34417        'additional_copy_options': {'key': 'additionalCopyOptions', 'type': '{object}'},
34418        'additional_format_options': {'key': 'additionalFormatOptions', 'type': '{object}'},
34419    }
34420
34421    def __init__(
34422        self,
34423        *,
34424        additional_properties: Optional[Dict[str, Any]] = None,
34425        additional_copy_options: Optional[Dict[str, Any]] = None,
34426        additional_format_options: Optional[Dict[str, Any]] = None,
34427        **kwargs
34428    ):
34429        super(SnowflakeImportCopyCommand, self).__init__(additional_properties=additional_properties, **kwargs)
34430        self.type = 'SnowflakeImportCopyCommand'  # type: str
34431        self.additional_copy_options = additional_copy_options
34432        self.additional_format_options = additional_format_options
34433
34434
34435class SnowflakeLinkedService(LinkedService):
34436    """Snowflake linked service.
34437
34438    All required parameters must be populated in order to send to Azure.
34439
34440    :param additional_properties: Unmatched properties from the message are deserialized to this
34441     collection.
34442    :type additional_properties: dict[str, any]
34443    :param type: Required. Type of linked service.Constant filled by server.
34444    :type type: str
34445    :param connect_via: The integration runtime reference.
34446    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
34447    :param description: Linked service description.
34448    :type description: str
34449    :param parameters: Parameters for linked service.
34450    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
34451    :param annotations: List of tags that can be used for describing the linked service.
34452    :type annotations: list[any]
34453    :param connection_string: Required. The connection string of snowflake. Type: string,
34454     SecureString.
34455    :type connection_string: any
34456    :param password: The Azure key vault secret reference of password in connection string.
34457    :type password: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
34458    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
34459     encrypted using the integration runtime credential manager. Type: string (or Expression with
34460     resultType string).
34461    :type encrypted_credential: any
34462    """
34463
34464    _validation = {
34465        'type': {'required': True},
34466        'connection_string': {'required': True},
34467    }
34468
34469    _attribute_map = {
34470        'additional_properties': {'key': '', 'type': '{object}'},
34471        'type': {'key': 'type', 'type': 'str'},
34472        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
34473        'description': {'key': 'description', 'type': 'str'},
34474        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
34475        'annotations': {'key': 'annotations', 'type': '[object]'},
34476        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
34477        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
34478        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
34479    }
34480
34481    def __init__(
34482        self,
34483        *,
34484        connection_string: Any,
34485        additional_properties: Optional[Dict[str, Any]] = None,
34486        connect_via: Optional["IntegrationRuntimeReference"] = None,
34487        description: Optional[str] = None,
34488        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
34489        annotations: Optional[List[Any]] = None,
34490        password: Optional["AzureKeyVaultSecretReference"] = None,
34491        encrypted_credential: Optional[Any] = None,
34492        **kwargs
34493    ):
34494        super(SnowflakeLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
34495        self.type = 'Snowflake'  # type: str
34496        self.connection_string = connection_string
34497        self.password = password
34498        self.encrypted_credential = encrypted_credential
34499
34500
34501class SnowflakeSink(CopySink):
34502    """A copy activity snowflake sink.
34503
34504    All required parameters must be populated in order to send to Azure.
34505
34506    :param additional_properties: Unmatched properties from the message are deserialized to this
34507     collection.
34508    :type additional_properties: dict[str, any]
34509    :param type: Required. Copy sink type.Constant filled by server.
34510    :type type: str
34511    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
34512     integer), minimum: 0.
34513    :type write_batch_size: any
34514    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
34515     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
34516    :type write_batch_timeout: any
34517    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
34518     integer).
34519    :type sink_retry_count: any
34520    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
34521     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
34522    :type sink_retry_wait: any
34523    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
34524     store. Type: integer (or Expression with resultType integer).
34525    :type max_concurrent_connections: any
34526    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
34527     string).
34528    :type pre_copy_script: any
34529    :param import_settings: Snowflake import settings.
34530    :type import_settings: ~azure.synapse.artifacts.v2020_12_01.models.SnowflakeImportCopyCommand
34531    """
34532
34533    _validation = {
34534        'type': {'required': True},
34535    }
34536
34537    _attribute_map = {
34538        'additional_properties': {'key': '', 'type': '{object}'},
34539        'type': {'key': 'type', 'type': 'str'},
34540        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
34541        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
34542        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
34543        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
34544        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
34545        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
34546        'import_settings': {'key': 'importSettings', 'type': 'SnowflakeImportCopyCommand'},
34547    }
34548
34549    def __init__(
34550        self,
34551        *,
34552        additional_properties: Optional[Dict[str, Any]] = None,
34553        write_batch_size: Optional[Any] = None,
34554        write_batch_timeout: Optional[Any] = None,
34555        sink_retry_count: Optional[Any] = None,
34556        sink_retry_wait: Optional[Any] = None,
34557        max_concurrent_connections: Optional[Any] = None,
34558        pre_copy_script: Optional[Any] = None,
34559        import_settings: Optional["SnowflakeImportCopyCommand"] = None,
34560        **kwargs
34561    ):
34562        super(SnowflakeSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
34563        self.type = 'SnowflakeSink'  # type: str
34564        self.pre_copy_script = pre_copy_script
34565        self.import_settings = import_settings
34566
34567
34568class SnowflakeSource(CopySource):
34569    """A copy activity snowflake source.
34570
34571    All required parameters must be populated in order to send to Azure.
34572
34573    :param additional_properties: Unmatched properties from the message are deserialized to this
34574     collection.
34575    :type additional_properties: dict[str, any]
34576    :param type: Required. Copy source type.Constant filled by server.
34577    :type type: str
34578    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
34579     integer).
34580    :type source_retry_count: any
34581    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
34582     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
34583    :type source_retry_wait: any
34584    :param max_concurrent_connections: The maximum concurrent connection count for the source data
34585     store. Type: integer (or Expression with resultType integer).
34586    :type max_concurrent_connections: any
34587    :param query: Snowflake Sql query. Type: string (or Expression with resultType string).
34588    :type query: any
34589    :param export_settings: Snowflake export settings.
34590    :type export_settings: ~azure.synapse.artifacts.v2020_12_01.models.SnowflakeExportCopyCommand
34591    """
34592
34593    _validation = {
34594        'type': {'required': True},
34595    }
34596
34597    _attribute_map = {
34598        'additional_properties': {'key': '', 'type': '{object}'},
34599        'type': {'key': 'type', 'type': 'str'},
34600        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
34601        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
34602        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
34603        'query': {'key': 'query', 'type': 'object'},
34604        'export_settings': {'key': 'exportSettings', 'type': 'SnowflakeExportCopyCommand'},
34605    }
34606
34607    def __init__(
34608        self,
34609        *,
34610        additional_properties: Optional[Dict[str, Any]] = None,
34611        source_retry_count: Optional[Any] = None,
34612        source_retry_wait: Optional[Any] = None,
34613        max_concurrent_connections: Optional[Any] = None,
34614        query: Optional[Any] = None,
34615        export_settings: Optional["SnowflakeExportCopyCommand"] = None,
34616        **kwargs
34617    ):
34618        super(SnowflakeSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
34619        self.type = 'SnowflakeSource'  # type: str
34620        self.query = query
34621        self.export_settings = export_settings
34622
34623
34624class SparkBatchJob(msrest.serialization.Model):
34625    """SparkBatchJob.
34626
34627    All required parameters must be populated in order to send to Azure.
34628
34629    :param livy_info:
34630    :type livy_info: ~azure.synapse.artifacts.v2020_12_01.models.SparkBatchJobState
34631    :param name: The batch name.
34632    :type name: str
34633    :param workspace_name: The workspace name.
34634    :type workspace_name: str
34635    :param spark_pool_name: The Spark pool name.
34636    :type spark_pool_name: str
34637    :param submitter_name: The submitter name.
34638    :type submitter_name: str
34639    :param submitter_id: The submitter identifier.
34640    :type submitter_id: str
34641    :param artifact_id: The artifact identifier.
34642    :type artifact_id: str
34643    :param job_type: The job type. Possible values include: "SparkBatch", "SparkSession".
34644    :type job_type: str or ~azure.synapse.artifacts.v2020_12_01.models.SparkJobType
34645    :param result: The Spark batch job result. Possible values include: "Uncertain", "Succeeded",
34646     "Failed", "Cancelled".
34647    :type result: str or ~azure.synapse.artifacts.v2020_12_01.models.SparkBatchJobResultType
34648    :param scheduler: The scheduler information.
34649    :type scheduler: ~azure.synapse.artifacts.v2020_12_01.models.SparkScheduler
34650    :param plugin: The plugin information.
34651    :type plugin: ~azure.synapse.artifacts.v2020_12_01.models.SparkServicePlugin
34652    :param errors: The error information.
34653    :type errors: list[~azure.synapse.artifacts.v2020_12_01.models.SparkServiceError]
34654    :param tags: A set of tags. The tags.
34655    :type tags: dict[str, str]
34656    :param id: Required. The session Id.
34657    :type id: int
34658    :param app_id: The application id of this session.
34659    :type app_id: str
34660    :param app_info: The detailed application info.
34661    :type app_info: dict[str, str]
34662    :param state: The batch state.
34663    :type state: str
34664    :param log_lines: The log lines.
34665    :type log_lines: list[str]
34666    """
34667
34668    _validation = {
34669        'id': {'required': True},
34670    }
34671
34672    _attribute_map = {
34673        'livy_info': {'key': 'livyInfo', 'type': 'SparkBatchJobState'},
34674        'name': {'key': 'name', 'type': 'str'},
34675        'workspace_name': {'key': 'workspaceName', 'type': 'str'},
34676        'spark_pool_name': {'key': 'sparkPoolName', 'type': 'str'},
34677        'submitter_name': {'key': 'submitterName', 'type': 'str'},
34678        'submitter_id': {'key': 'submitterId', 'type': 'str'},
34679        'artifact_id': {'key': 'artifactId', 'type': 'str'},
34680        'job_type': {'key': 'jobType', 'type': 'str'},
34681        'result': {'key': 'result', 'type': 'str'},
34682        'scheduler': {'key': 'schedulerInfo', 'type': 'SparkScheduler'},
34683        'plugin': {'key': 'pluginInfo', 'type': 'SparkServicePlugin'},
34684        'errors': {'key': 'errorInfo', 'type': '[SparkServiceError]'},
34685        'tags': {'key': 'tags', 'type': '{str}'},
34686        'id': {'key': 'id', 'type': 'int'},
34687        'app_id': {'key': 'appId', 'type': 'str'},
34688        'app_info': {'key': 'appInfo', 'type': '{str}'},
34689        'state': {'key': 'state', 'type': 'str'},
34690        'log_lines': {'key': 'log', 'type': '[str]'},
34691    }
34692
34693    def __init__(
34694        self,
34695        *,
34696        id: int,
34697        livy_info: Optional["SparkBatchJobState"] = None,
34698        name: Optional[str] = None,
34699        workspace_name: Optional[str] = None,
34700        spark_pool_name: Optional[str] = None,
34701        submitter_name: Optional[str] = None,
34702        submitter_id: Optional[str] = None,
34703        artifact_id: Optional[str] = None,
34704        job_type: Optional[Union[str, "SparkJobType"]] = None,
34705        result: Optional[Union[str, "SparkBatchJobResultType"]] = None,
34706        scheduler: Optional["SparkScheduler"] = None,
34707        plugin: Optional["SparkServicePlugin"] = None,
34708        errors: Optional[List["SparkServiceError"]] = None,
34709        tags: Optional[Dict[str, str]] = None,
34710        app_id: Optional[str] = None,
34711        app_info: Optional[Dict[str, str]] = None,
34712        state: Optional[str] = None,
34713        log_lines: Optional[List[str]] = None,
34714        **kwargs
34715    ):
34716        super(SparkBatchJob, self).__init__(**kwargs)
34717        self.livy_info = livy_info
34718        self.name = name
34719        self.workspace_name = workspace_name
34720        self.spark_pool_name = spark_pool_name
34721        self.submitter_name = submitter_name
34722        self.submitter_id = submitter_id
34723        self.artifact_id = artifact_id
34724        self.job_type = job_type
34725        self.result = result
34726        self.scheduler = scheduler
34727        self.plugin = plugin
34728        self.errors = errors
34729        self.tags = tags
34730        self.id = id
34731        self.app_id = app_id
34732        self.app_info = app_info
34733        self.state = state
34734        self.log_lines = log_lines
34735
34736
34737class SparkBatchJobState(msrest.serialization.Model):
34738    """SparkBatchJobState.
34739
34740    :param not_started_at: the time that at which "not_started" livy state was first seen.
34741    :type not_started_at: ~datetime.datetime
34742    :param starting_at: the time that at which "starting" livy state was first seen.
34743    :type starting_at: ~datetime.datetime
34744    :param running_at: the time that at which "running" livy state was first seen.
34745    :type running_at: ~datetime.datetime
34746    :param dead_at: time that at which "dead" livy state was first seen.
34747    :type dead_at: ~datetime.datetime
34748    :param success_at: the time that at which "success" livy state was first seen.
34749    :type success_at: ~datetime.datetime
34750    :param terminated_at: the time that at which "killed" livy state was first seen.
34751    :type terminated_at: ~datetime.datetime
34752    :param recovering_at: the time that at which "recovering" livy state was first seen.
34753    :type recovering_at: ~datetime.datetime
34754    :param current_state: the Spark job state.
34755    :type current_state: str
34756    :param job_creation_request:
34757    :type job_creation_request: ~azure.synapse.artifacts.v2020_12_01.models.SparkRequest
34758    """
34759
34760    _attribute_map = {
34761        'not_started_at': {'key': 'notStartedAt', 'type': 'iso-8601'},
34762        'starting_at': {'key': 'startingAt', 'type': 'iso-8601'},
34763        'running_at': {'key': 'runningAt', 'type': 'iso-8601'},
34764        'dead_at': {'key': 'deadAt', 'type': 'iso-8601'},
34765        'success_at': {'key': 'successAt', 'type': 'iso-8601'},
34766        'terminated_at': {'key': 'killedAt', 'type': 'iso-8601'},
34767        'recovering_at': {'key': 'recoveringAt', 'type': 'iso-8601'},
34768        'current_state': {'key': 'currentState', 'type': 'str'},
34769        'job_creation_request': {'key': 'jobCreationRequest', 'type': 'SparkRequest'},
34770    }
34771
34772    def __init__(
34773        self,
34774        *,
34775        not_started_at: Optional[datetime.datetime] = None,
34776        starting_at: Optional[datetime.datetime] = None,
34777        running_at: Optional[datetime.datetime] = None,
34778        dead_at: Optional[datetime.datetime] = None,
34779        success_at: Optional[datetime.datetime] = None,
34780        terminated_at: Optional[datetime.datetime] = None,
34781        recovering_at: Optional[datetime.datetime] = None,
34782        current_state: Optional[str] = None,
34783        job_creation_request: Optional["SparkRequest"] = None,
34784        **kwargs
34785    ):
34786        super(SparkBatchJobState, self).__init__(**kwargs)
34787        self.not_started_at = not_started_at
34788        self.starting_at = starting_at
34789        self.running_at = running_at
34790        self.dead_at = dead_at
34791        self.success_at = success_at
34792        self.terminated_at = terminated_at
34793        self.recovering_at = recovering_at
34794        self.current_state = current_state
34795        self.job_creation_request = job_creation_request
34796
34797
34798class SparkJobDefinition(msrest.serialization.Model):
34799    """Spark job definition.
34800
34801    All required parameters must be populated in order to send to Azure.
34802
34803    :param additional_properties: Unmatched properties from the message are deserialized to this
34804     collection.
34805    :type additional_properties: dict[str, any]
34806    :param description: The description of the Spark job definition.
34807    :type description: str
34808    :param target_big_data_pool: Required. Big data pool reference.
34809    :type target_big_data_pool: ~azure.synapse.artifacts.v2020_12_01.models.BigDataPoolReference
34810    :param required_spark_version: The required Spark version of the application.
34811    :type required_spark_version: str
34812    :param language: The language of the Spark application.
34813    :type language: str
34814    :param job_properties: Required. The properties of the Spark job.
34815    :type job_properties: ~azure.synapse.artifacts.v2020_12_01.models.SparkJobProperties
34816    """
34817
34818    _validation = {
34819        'target_big_data_pool': {'required': True},
34820        'job_properties': {'required': True},
34821    }
34822
34823    _attribute_map = {
34824        'additional_properties': {'key': '', 'type': '{object}'},
34825        'description': {'key': 'description', 'type': 'str'},
34826        'target_big_data_pool': {'key': 'targetBigDataPool', 'type': 'BigDataPoolReference'},
34827        'required_spark_version': {'key': 'requiredSparkVersion', 'type': 'str'},
34828        'language': {'key': 'language', 'type': 'str'},
34829        'job_properties': {'key': 'jobProperties', 'type': 'SparkJobProperties'},
34830    }
34831
34832    def __init__(
34833        self,
34834        *,
34835        target_big_data_pool: "BigDataPoolReference",
34836        job_properties: "SparkJobProperties",
34837        additional_properties: Optional[Dict[str, Any]] = None,
34838        description: Optional[str] = None,
34839        required_spark_version: Optional[str] = None,
34840        language: Optional[str] = None,
34841        **kwargs
34842    ):
34843        super(SparkJobDefinition, self).__init__(**kwargs)
34844        self.additional_properties = additional_properties
34845        self.description = description
34846        self.target_big_data_pool = target_big_data_pool
34847        self.required_spark_version = required_spark_version
34848        self.language = language
34849        self.job_properties = job_properties
34850
34851
34852class SparkJobDefinitionResource(SubResource):
34853    """Spark job definition resource type.
34854
34855    Variables are only populated by the server, and will be ignored when sending a request.
34856
34857    All required parameters must be populated in order to send to Azure.
34858
34859    :ivar id: Fully qualified resource ID for the resource. Ex -
34860     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
34861    :vartype id: str
34862    :ivar name: The name of the resource.
34863    :vartype name: str
34864    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
34865     "Microsoft.Storage/storageAccounts".
34866    :vartype type: str
34867    :ivar etag: Resource Etag.
34868    :vartype etag: str
34869    :param properties: Required. Properties of spark job definition.
34870    :type properties: ~azure.synapse.artifacts.v2020_12_01.models.SparkJobDefinition
34871    """
34872
34873    _validation = {
34874        'id': {'readonly': True},
34875        'name': {'readonly': True},
34876        'type': {'readonly': True},
34877        'etag': {'readonly': True},
34878        'properties': {'required': True},
34879    }
34880
34881    _attribute_map = {
34882        'id': {'key': 'id', 'type': 'str'},
34883        'name': {'key': 'name', 'type': 'str'},
34884        'type': {'key': 'type', 'type': 'str'},
34885        'etag': {'key': 'etag', 'type': 'str'},
34886        'properties': {'key': 'properties', 'type': 'SparkJobDefinition'},
34887    }
34888
34889    def __init__(
34890        self,
34891        *,
34892        properties: "SparkJobDefinition",
34893        **kwargs
34894    ):
34895        super(SparkJobDefinitionResource, self).__init__(**kwargs)
34896        self.properties = properties
34897
34898
34899class SparkJobDefinitionsListResponse(msrest.serialization.Model):
34900    """A list of spark job definitions resources.
34901
34902    All required parameters must be populated in order to send to Azure.
34903
34904    :param value: Required. List of spark job definitions.
34905    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.SparkJobDefinitionResource]
34906    :param next_link: The link to the next page of results, if any remaining results exist.
34907    :type next_link: str
34908    """
34909
34910    _validation = {
34911        'value': {'required': True},
34912    }
34913
34914    _attribute_map = {
34915        'value': {'key': 'value', 'type': '[SparkJobDefinitionResource]'},
34916        'next_link': {'key': 'nextLink', 'type': 'str'},
34917    }
34918
34919    def __init__(
34920        self,
34921        *,
34922        value: List["SparkJobDefinitionResource"],
34923        next_link: Optional[str] = None,
34924        **kwargs
34925    ):
34926        super(SparkJobDefinitionsListResponse, self).__init__(**kwargs)
34927        self.value = value
34928        self.next_link = next_link
34929
34930
34931class SparkJobProperties(msrest.serialization.Model):
34932    """The properties of the Spark job.
34933
34934    All required parameters must be populated in order to send to Azure.
34935
34936    :param additional_properties: Unmatched properties from the message are deserialized to this
34937     collection.
34938    :type additional_properties: dict[str, any]
34939    :param name: The name of the job.
34940    :type name: str
34941    :param file: Required. File containing the application to execute.
34942    :type file: str
34943    :param class_name: Main class for Java/Scala application.
34944    :type class_name: str
34945    :param conf: Spark configuration properties.
34946    :type conf: any
34947    :param args: Command line arguments for the application.
34948    :type args: list[str]
34949    :param jars: Jars to be used in this job.
34950    :type jars: list[str]
34951    :param files: files to be used in this job.
34952    :type files: list[str]
34953    :param archives: Archives to be used in this job.
34954    :type archives: list[str]
34955    :param driver_memory: Required. Amount of memory to use for the driver process.
34956    :type driver_memory: str
34957    :param driver_cores: Required. Number of cores to use for the driver.
34958    :type driver_cores: int
34959    :param executor_memory: Required. Amount of memory to use per executor process.
34960    :type executor_memory: str
34961    :param executor_cores: Required. Number of cores to use for each executor.
34962    :type executor_cores: int
34963    :param num_executors: Required. Number of executors to launch for this job.
34964    :type num_executors: int
34965    """
34966
34967    _validation = {
34968        'file': {'required': True},
34969        'driver_memory': {'required': True},
34970        'driver_cores': {'required': True},
34971        'executor_memory': {'required': True},
34972        'executor_cores': {'required': True},
34973        'num_executors': {'required': True},
34974    }
34975
34976    _attribute_map = {
34977        'additional_properties': {'key': '', 'type': '{object}'},
34978        'name': {'key': 'name', 'type': 'str'},
34979        'file': {'key': 'file', 'type': 'str'},
34980        'class_name': {'key': 'className', 'type': 'str'},
34981        'conf': {'key': 'conf', 'type': 'object'},
34982        'args': {'key': 'args', 'type': '[str]'},
34983        'jars': {'key': 'jars', 'type': '[str]'},
34984        'files': {'key': 'files', 'type': '[str]'},
34985        'archives': {'key': 'archives', 'type': '[str]'},
34986        'driver_memory': {'key': 'driverMemory', 'type': 'str'},
34987        'driver_cores': {'key': 'driverCores', 'type': 'int'},
34988        'executor_memory': {'key': 'executorMemory', 'type': 'str'},
34989        'executor_cores': {'key': 'executorCores', 'type': 'int'},
34990        'num_executors': {'key': 'numExecutors', 'type': 'int'},
34991    }
34992
34993    def __init__(
34994        self,
34995        *,
34996        file: str,
34997        driver_memory: str,
34998        driver_cores: int,
34999        executor_memory: str,
35000        executor_cores: int,
35001        num_executors: int,
35002        additional_properties: Optional[Dict[str, Any]] = None,
35003        name: Optional[str] = None,
35004        class_name: Optional[str] = None,
35005        conf: Optional[Any] = None,
35006        args: Optional[List[str]] = None,
35007        jars: Optional[List[str]] = None,
35008        files: Optional[List[str]] = None,
35009        archives: Optional[List[str]] = None,
35010        **kwargs
35011    ):
35012        super(SparkJobProperties, self).__init__(**kwargs)
35013        self.additional_properties = additional_properties
35014        self.name = name
35015        self.file = file
35016        self.class_name = class_name
35017        self.conf = conf
35018        self.args = args
35019        self.jars = jars
35020        self.files = files
35021        self.archives = archives
35022        self.driver_memory = driver_memory
35023        self.driver_cores = driver_cores
35024        self.executor_memory = executor_memory
35025        self.executor_cores = executor_cores
35026        self.num_executors = num_executors
35027
35028
35029class SparkLinkedService(LinkedService):
35030    """Spark Server linked service.
35031
35032    All required parameters must be populated in order to send to Azure.
35033
35034    :param additional_properties: Unmatched properties from the message are deserialized to this
35035     collection.
35036    :type additional_properties: dict[str, any]
35037    :param type: Required. Type of linked service.Constant filled by server.
35038    :type type: str
35039    :param connect_via: The integration runtime reference.
35040    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
35041    :param description: Linked service description.
35042    :type description: str
35043    :param parameters: Parameters for linked service.
35044    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
35045    :param annotations: List of tags that can be used for describing the linked service.
35046    :type annotations: list[any]
35047    :param host: Required. IP address or host name of the Spark server.
35048    :type host: any
35049    :param port: Required. The TCP port that the Spark server uses to listen for client
35050     connections.
35051    :type port: any
35052    :param server_type: The type of Spark server. Possible values include: "SharkServer",
35053     "SharkServer2", "SparkThriftServer".
35054    :type server_type: str or ~azure.synapse.artifacts.v2020_12_01.models.SparkServerType
35055    :param thrift_transport_protocol: The transport protocol to use in the Thrift layer. Possible
35056     values include: "Binary", "SASL", "HTTP ".
35057    :type thrift_transport_protocol: str or
35058     ~azure.synapse.artifacts.v2020_12_01.models.SparkThriftTransportProtocol
35059    :param authentication_type: Required. The authentication method used to access the Spark
35060     server. Possible values include: "Anonymous", "Username", "UsernameAndPassword",
35061     "WindowsAzureHDInsightService".
35062    :type authentication_type: str or
35063     ~azure.synapse.artifacts.v2020_12_01.models.SparkAuthenticationType
35064    :param username: The user name that you use to access Spark Server.
35065    :type username: any
35066    :param password: The password corresponding to the user name that you provided in the Username
35067     field.
35068    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
35069    :param http_path: The partial URL corresponding to the Spark server.
35070    :type http_path: any
35071    :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The
35072     default value is false.
35073    :type enable_ssl: any
35074    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
35075     verifying the server when connecting over SSL. This property can only be set when using SSL on
35076     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
35077    :type trusted_cert_path: any
35078    :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust
35079     store or from a specified PEM file. The default value is false.
35080    :type use_system_trust_store: any
35081    :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate
35082     name to match the host name of the server when connecting over SSL. The default value is false.
35083    :type allow_host_name_cn_mismatch: any
35084    :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from
35085     the server. The default value is false.
35086    :type allow_self_signed_server_cert: any
35087    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
35088     encrypted using the integration runtime credential manager. Type: string (or Expression with
35089     resultType string).
35090    :type encrypted_credential: any
35091    """
35092
35093    _validation = {
35094        'type': {'required': True},
35095        'host': {'required': True},
35096        'port': {'required': True},
35097        'authentication_type': {'required': True},
35098    }
35099
35100    _attribute_map = {
35101        'additional_properties': {'key': '', 'type': '{object}'},
35102        'type': {'key': 'type', 'type': 'str'},
35103        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
35104        'description': {'key': 'description', 'type': 'str'},
35105        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
35106        'annotations': {'key': 'annotations', 'type': '[object]'},
35107        'host': {'key': 'typeProperties.host', 'type': 'object'},
35108        'port': {'key': 'typeProperties.port', 'type': 'object'},
35109        'server_type': {'key': 'typeProperties.serverType', 'type': 'str'},
35110        'thrift_transport_protocol': {'key': 'typeProperties.thriftTransportProtocol', 'type': 'str'},
35111        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
35112        'username': {'key': 'typeProperties.username', 'type': 'object'},
35113        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
35114        'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'},
35115        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
35116        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
35117        'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'},
35118        'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'},
35119        'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'},
35120        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
35121    }
35122
35123    def __init__(
35124        self,
35125        *,
35126        host: Any,
35127        port: Any,
35128        authentication_type: Union[str, "SparkAuthenticationType"],
35129        additional_properties: Optional[Dict[str, Any]] = None,
35130        connect_via: Optional["IntegrationRuntimeReference"] = None,
35131        description: Optional[str] = None,
35132        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
35133        annotations: Optional[List[Any]] = None,
35134        server_type: Optional[Union[str, "SparkServerType"]] = None,
35135        thrift_transport_protocol: Optional[Union[str, "SparkThriftTransportProtocol"]] = None,
35136        username: Optional[Any] = None,
35137        password: Optional["SecretBase"] = None,
35138        http_path: Optional[Any] = None,
35139        enable_ssl: Optional[Any] = None,
35140        trusted_cert_path: Optional[Any] = None,
35141        use_system_trust_store: Optional[Any] = None,
35142        allow_host_name_cn_mismatch: Optional[Any] = None,
35143        allow_self_signed_server_cert: Optional[Any] = None,
35144        encrypted_credential: Optional[Any] = None,
35145        **kwargs
35146    ):
35147        super(SparkLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
35148        self.type = 'Spark'  # type: str
35149        self.host = host
35150        self.port = port
35151        self.server_type = server_type
35152        self.thrift_transport_protocol = thrift_transport_protocol
35153        self.authentication_type = authentication_type
35154        self.username = username
35155        self.password = password
35156        self.http_path = http_path
35157        self.enable_ssl = enable_ssl
35158        self.trusted_cert_path = trusted_cert_path
35159        self.use_system_trust_store = use_system_trust_store
35160        self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch
35161        self.allow_self_signed_server_cert = allow_self_signed_server_cert
35162        self.encrypted_credential = encrypted_credential
35163
35164
35165class SparkObjectDataset(Dataset):
35166    """Spark Server dataset.
35167
35168    All required parameters must be populated in order to send to Azure.
35169
35170    :param additional_properties: Unmatched properties from the message are deserialized to this
35171     collection.
35172    :type additional_properties: dict[str, any]
35173    :param type: Required. Type of dataset.Constant filled by server.
35174    :type type: str
35175    :param description: Dataset description.
35176    :type description: str
35177    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
35178     with resultType array), itemType: DatasetDataElement.
35179    :type structure: any
35180    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
35181     Expression with resultType array), itemType: DatasetSchemaDataElement.
35182    :type schema: any
35183    :param linked_service_name: Required. Linked service reference.
35184    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
35185    :param parameters: Parameters for dataset.
35186    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
35187    :param annotations: List of tags that can be used for describing the Dataset.
35188    :type annotations: list[any]
35189    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
35190     root level.
35191    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
35192    :param table_name: This property will be retired. Please consider using schema + table
35193     properties instead.
35194    :type table_name: any
35195    :param table: The table name of the Spark. Type: string (or Expression with resultType string).
35196    :type table: any
35197    :param schema_type_properties_schema: The schema name of the Spark. Type: string (or Expression
35198     with resultType string).
35199    :type schema_type_properties_schema: any
35200    """
35201
35202    _validation = {
35203        'type': {'required': True},
35204        'linked_service_name': {'required': True},
35205    }
35206
35207    _attribute_map = {
35208        'additional_properties': {'key': '', 'type': '{object}'},
35209        'type': {'key': 'type', 'type': 'str'},
35210        'description': {'key': 'description', 'type': 'str'},
35211        'structure': {'key': 'structure', 'type': 'object'},
35212        'schema': {'key': 'schema', 'type': 'object'},
35213        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
35214        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
35215        'annotations': {'key': 'annotations', 'type': '[object]'},
35216        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
35217        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
35218        'table': {'key': 'typeProperties.table', 'type': 'object'},
35219        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
35220    }
35221
35222    def __init__(
35223        self,
35224        *,
35225        linked_service_name: "LinkedServiceReference",
35226        additional_properties: Optional[Dict[str, Any]] = None,
35227        description: Optional[str] = None,
35228        structure: Optional[Any] = None,
35229        schema: Optional[Any] = None,
35230        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
35231        annotations: Optional[List[Any]] = None,
35232        folder: Optional["DatasetFolder"] = None,
35233        table_name: Optional[Any] = None,
35234        table: Optional[Any] = None,
35235        schema_type_properties_schema: Optional[Any] = None,
35236        **kwargs
35237    ):
35238        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)
35239        self.type = 'SparkObject'  # type: str
35240        self.table_name = table_name
35241        self.table = table
35242        self.schema_type_properties_schema = schema_type_properties_schema
35243
35244
35245class SparkRequest(msrest.serialization.Model):
35246    """SparkRequest.
35247
35248    :param name:
35249    :type name: str
35250    :param file:
35251    :type file: str
35252    :param class_name:
35253    :type class_name: str
35254    :param arguments:
35255    :type arguments: list[str]
35256    :param jars:
35257    :type jars: list[str]
35258    :param python_files:
35259    :type python_files: list[str]
35260    :param files:
35261    :type files: list[str]
35262    :param archives:
35263    :type archives: list[str]
35264    :param configuration: Dictionary of :code:`<string>`.
35265    :type configuration: dict[str, str]
35266    :param driver_memory:
35267    :type driver_memory: str
35268    :param driver_cores:
35269    :type driver_cores: int
35270    :param executor_memory:
35271    :type executor_memory: str
35272    :param executor_cores:
35273    :type executor_cores: int
35274    :param executor_count:
35275    :type executor_count: int
35276    """
35277
35278    _attribute_map = {
35279        'name': {'key': 'name', 'type': 'str'},
35280        'file': {'key': 'file', 'type': 'str'},
35281        'class_name': {'key': 'className', 'type': 'str'},
35282        'arguments': {'key': 'args', 'type': '[str]'},
35283        'jars': {'key': 'jars', 'type': '[str]'},
35284        'python_files': {'key': 'pyFiles', 'type': '[str]'},
35285        'files': {'key': 'files', 'type': '[str]'},
35286        'archives': {'key': 'archives', 'type': '[str]'},
35287        'configuration': {'key': 'conf', 'type': '{str}'},
35288        'driver_memory': {'key': 'driverMemory', 'type': 'str'},
35289        'driver_cores': {'key': 'driverCores', 'type': 'int'},
35290        'executor_memory': {'key': 'executorMemory', 'type': 'str'},
35291        'executor_cores': {'key': 'executorCores', 'type': 'int'},
35292        'executor_count': {'key': 'numExecutors', 'type': 'int'},
35293    }
35294
35295    def __init__(
35296        self,
35297        *,
35298        name: Optional[str] = None,
35299        file: Optional[str] = None,
35300        class_name: Optional[str] = None,
35301        arguments: Optional[List[str]] = None,
35302        jars: Optional[List[str]] = None,
35303        python_files: Optional[List[str]] = None,
35304        files: Optional[List[str]] = None,
35305        archives: Optional[List[str]] = None,
35306        configuration: Optional[Dict[str, str]] = None,
35307        driver_memory: Optional[str] = None,
35308        driver_cores: Optional[int] = None,
35309        executor_memory: Optional[str] = None,
35310        executor_cores: Optional[int] = None,
35311        executor_count: Optional[int] = None,
35312        **kwargs
35313    ):
35314        super(SparkRequest, self).__init__(**kwargs)
35315        self.name = name
35316        self.file = file
35317        self.class_name = class_name
35318        self.arguments = arguments
35319        self.jars = jars
35320        self.python_files = python_files
35321        self.files = files
35322        self.archives = archives
35323        self.configuration = configuration
35324        self.driver_memory = driver_memory
35325        self.driver_cores = driver_cores
35326        self.executor_memory = executor_memory
35327        self.executor_cores = executor_cores
35328        self.executor_count = executor_count
35329
35330
35331class SparkScheduler(msrest.serialization.Model):
35332    """SparkScheduler.
35333
35334    :param submitted_at:
35335    :type submitted_at: ~datetime.datetime
35336    :param scheduled_at:
35337    :type scheduled_at: ~datetime.datetime
35338    :param ended_at:
35339    :type ended_at: ~datetime.datetime
35340    :param cancellation_requested_at:
35341    :type cancellation_requested_at: ~datetime.datetime
35342    :param current_state:  Possible values include: "Queued", "Scheduled", "Ended".
35343    :type current_state: str or ~azure.synapse.artifacts.v2020_12_01.models.SchedulerCurrentState
35344    """
35345
35346    _attribute_map = {
35347        'submitted_at': {'key': 'submittedAt', 'type': 'iso-8601'},
35348        'scheduled_at': {'key': 'scheduledAt', 'type': 'iso-8601'},
35349        'ended_at': {'key': 'endedAt', 'type': 'iso-8601'},
35350        'cancellation_requested_at': {'key': 'cancellationRequestedAt', 'type': 'iso-8601'},
35351        'current_state': {'key': 'currentState', 'type': 'str'},
35352    }
35353
35354    def __init__(
35355        self,
35356        *,
35357        submitted_at: Optional[datetime.datetime] = None,
35358        scheduled_at: Optional[datetime.datetime] = None,
35359        ended_at: Optional[datetime.datetime] = None,
35360        cancellation_requested_at: Optional[datetime.datetime] = None,
35361        current_state: Optional[Union[str, "SchedulerCurrentState"]] = None,
35362        **kwargs
35363    ):
35364        super(SparkScheduler, self).__init__(**kwargs)
35365        self.submitted_at = submitted_at
35366        self.scheduled_at = scheduled_at
35367        self.ended_at = ended_at
35368        self.cancellation_requested_at = cancellation_requested_at
35369        self.current_state = current_state
35370
35371
35372class SparkServiceError(msrest.serialization.Model):
35373    """SparkServiceError.
35374
35375    :param message:
35376    :type message: str
35377    :param error_code:
35378    :type error_code: str
35379    :param source:  Possible values include: "System", "User", "Unknown", "Dependency".
35380    :type source: str or ~azure.synapse.artifacts.v2020_12_01.models.SparkErrorSource
35381    """
35382
35383    _attribute_map = {
35384        'message': {'key': 'message', 'type': 'str'},
35385        'error_code': {'key': 'errorCode', 'type': 'str'},
35386        'source': {'key': 'source', 'type': 'str'},
35387    }
35388
35389    def __init__(
35390        self,
35391        *,
35392        message: Optional[str] = None,
35393        error_code: Optional[str] = None,
35394        source: Optional[Union[str, "SparkErrorSource"]] = None,
35395        **kwargs
35396    ):
35397        super(SparkServiceError, self).__init__(**kwargs)
35398        self.message = message
35399        self.error_code = error_code
35400        self.source = source
35401
35402
35403class SparkServicePlugin(msrest.serialization.Model):
35404    """SparkServicePlugin.
35405
35406    :param preparation_started_at:
35407    :type preparation_started_at: ~datetime.datetime
35408    :param resource_acquisition_started_at:
35409    :type resource_acquisition_started_at: ~datetime.datetime
35410    :param submission_started_at:
35411    :type submission_started_at: ~datetime.datetime
35412    :param monitoring_started_at:
35413    :type monitoring_started_at: ~datetime.datetime
35414    :param cleanup_started_at:
35415    :type cleanup_started_at: ~datetime.datetime
35416    :param current_state:  Possible values include: "Preparation", "ResourceAcquisition", "Queued",
35417     "Submission", "Monitoring", "Cleanup", "Ended".
35418    :type current_state: str or ~azure.synapse.artifacts.v2020_12_01.models.PluginCurrentState
35419    """
35420
35421    _attribute_map = {
35422        'preparation_started_at': {'key': 'preparationStartedAt', 'type': 'iso-8601'},
35423        'resource_acquisition_started_at': {'key': 'resourceAcquisitionStartedAt', 'type': 'iso-8601'},
35424        'submission_started_at': {'key': 'submissionStartedAt', 'type': 'iso-8601'},
35425        'monitoring_started_at': {'key': 'monitoringStartedAt', 'type': 'iso-8601'},
35426        'cleanup_started_at': {'key': 'cleanupStartedAt', 'type': 'iso-8601'},
35427        'current_state': {'key': 'currentState', 'type': 'str'},
35428    }
35429
35430    def __init__(
35431        self,
35432        *,
35433        preparation_started_at: Optional[datetime.datetime] = None,
35434        resource_acquisition_started_at: Optional[datetime.datetime] = None,
35435        submission_started_at: Optional[datetime.datetime] = None,
35436        monitoring_started_at: Optional[datetime.datetime] = None,
35437        cleanup_started_at: Optional[datetime.datetime] = None,
35438        current_state: Optional[Union[str, "PluginCurrentState"]] = None,
35439        **kwargs
35440    ):
35441        super(SparkServicePlugin, self).__init__(**kwargs)
35442        self.preparation_started_at = preparation_started_at
35443        self.resource_acquisition_started_at = resource_acquisition_started_at
35444        self.submission_started_at = submission_started_at
35445        self.monitoring_started_at = monitoring_started_at
35446        self.cleanup_started_at = cleanup_started_at
35447        self.current_state = current_state
35448
35449
35450class SparkSource(TabularSource):
35451    """A copy activity Spark Server source.
35452
35453    All required parameters must be populated in order to send to Azure.
35454
35455    :param additional_properties: Unmatched properties from the message are deserialized to this
35456     collection.
35457    :type additional_properties: dict[str, any]
35458    :param type: Required. Copy source type.Constant filled by server.
35459    :type type: str
35460    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
35461     integer).
35462    :type source_retry_count: any
35463    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
35464     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
35465    :type source_retry_wait: any
35466    :param max_concurrent_connections: The maximum concurrent connection count for the source data
35467     store. Type: integer (or Expression with resultType integer).
35468    :type max_concurrent_connections: any
35469    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
35470     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
35471    :type query_timeout: any
35472    :param additional_columns: Specifies the additional columns to be added to source data. Type:
35473     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
35474    :type additional_columns: any
35475    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
35476     string).
35477    :type query: any
35478    """
35479
35480    _validation = {
35481        'type': {'required': True},
35482    }
35483
35484    _attribute_map = {
35485        'additional_properties': {'key': '', 'type': '{object}'},
35486        'type': {'key': 'type', 'type': 'str'},
35487        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
35488        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
35489        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
35490        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
35491        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
35492        'query': {'key': 'query', 'type': 'object'},
35493    }
35494
35495    def __init__(
35496        self,
35497        *,
35498        additional_properties: Optional[Dict[str, Any]] = None,
35499        source_retry_count: Optional[Any] = None,
35500        source_retry_wait: Optional[Any] = None,
35501        max_concurrent_connections: Optional[Any] = None,
35502        query_timeout: Optional[Any] = None,
35503        additional_columns: Optional[Any] = None,
35504        query: Optional[Any] = None,
35505        **kwargs
35506    ):
35507        super(SparkSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
35508        self.type = 'SparkSource'  # type: str
35509        self.query = query
35510
35511
35512class SqlConnection(msrest.serialization.Model):
35513    """The connection used to execute the SQL script.
35514
35515    All required parameters must be populated in order to send to Azure.
35516
35517    :param additional_properties: Unmatched properties from the message are deserialized to this
35518     collection.
35519    :type additional_properties: dict[str, any]
35520    :param type: Required. The type of the connection. Possible values include: "SqlOnDemand",
35521     "SqlPool".
35522    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.SqlConnectionType
35523    :param name: Required. The identifier of the connection.
35524    :type name: str
35525    """
35526
35527    _validation = {
35528        'type': {'required': True},
35529        'name': {'required': True},
35530    }
35531
35532    _attribute_map = {
35533        'additional_properties': {'key': '', 'type': '{object}'},
35534        'type': {'key': 'type', 'type': 'str'},
35535        'name': {'key': 'name', 'type': 'str'},
35536    }
35537
35538    def __init__(
35539        self,
35540        *,
35541        type: Union[str, "SqlConnectionType"],
35542        name: str,
35543        additional_properties: Optional[Dict[str, Any]] = None,
35544        **kwargs
35545    ):
35546        super(SqlConnection, self).__init__(**kwargs)
35547        self.additional_properties = additional_properties
35548        self.type = type
35549        self.name = name
35550
35551
35552class SqlDWSink(CopySink):
35553    """A copy activity SQL Data Warehouse sink.
35554
35555    All required parameters must be populated in order to send to Azure.
35556
35557    :param additional_properties: Unmatched properties from the message are deserialized to this
35558     collection.
35559    :type additional_properties: dict[str, any]
35560    :param type: Required. Copy sink type.Constant filled by server.
35561    :type type: str
35562    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
35563     integer), minimum: 0.
35564    :type write_batch_size: any
35565    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
35566     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
35567    :type write_batch_timeout: any
35568    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
35569     integer).
35570    :type sink_retry_count: any
35571    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
35572     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
35573    :type sink_retry_wait: any
35574    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
35575     store. Type: integer (or Expression with resultType integer).
35576    :type max_concurrent_connections: any
35577    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
35578     string).
35579    :type pre_copy_script: any
35580    :param allow_poly_base: Indicates to use PolyBase to copy data into SQL Data Warehouse when
35581     applicable. Type: boolean (or Expression with resultType boolean).
35582    :type allow_poly_base: any
35583    :param poly_base_settings: Specifies PolyBase-related settings when allowPolyBase is true.
35584    :type poly_base_settings: ~azure.synapse.artifacts.v2020_12_01.models.PolybaseSettings
35585    :param allow_copy_command: Indicates to use Copy Command to copy data into SQL Data Warehouse.
35586     Type: boolean (or Expression with resultType boolean).
35587    :type allow_copy_command: any
35588    :param copy_command_settings: Specifies Copy Command related settings when allowCopyCommand is
35589     true.
35590    :type copy_command_settings: ~azure.synapse.artifacts.v2020_12_01.models.DWCopyCommandSettings
35591    :param table_option: The option to handle sink table, such as autoCreate. For now only
35592     'autoCreate' value is supported. Type: string (or Expression with resultType string).
35593    :type table_option: any
35594    """
35595
35596    _validation = {
35597        'type': {'required': True},
35598    }
35599
35600    _attribute_map = {
35601        'additional_properties': {'key': '', 'type': '{object}'},
35602        'type': {'key': 'type', 'type': 'str'},
35603        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
35604        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
35605        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
35606        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
35607        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
35608        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
35609        'allow_poly_base': {'key': 'allowPolyBase', 'type': 'object'},
35610        'poly_base_settings': {'key': 'polyBaseSettings', 'type': 'PolybaseSettings'},
35611        'allow_copy_command': {'key': 'allowCopyCommand', 'type': 'object'},
35612        'copy_command_settings': {'key': 'copyCommandSettings', 'type': 'DWCopyCommandSettings'},
35613        'table_option': {'key': 'tableOption', 'type': 'object'},
35614    }
35615
35616    def __init__(
35617        self,
35618        *,
35619        additional_properties: Optional[Dict[str, Any]] = None,
35620        write_batch_size: Optional[Any] = None,
35621        write_batch_timeout: Optional[Any] = None,
35622        sink_retry_count: Optional[Any] = None,
35623        sink_retry_wait: Optional[Any] = None,
35624        max_concurrent_connections: Optional[Any] = None,
35625        pre_copy_script: Optional[Any] = None,
35626        allow_poly_base: Optional[Any] = None,
35627        poly_base_settings: Optional["PolybaseSettings"] = None,
35628        allow_copy_command: Optional[Any] = None,
35629        copy_command_settings: Optional["DWCopyCommandSettings"] = None,
35630        table_option: Optional[Any] = None,
35631        **kwargs
35632    ):
35633        super(SqlDWSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
35634        self.type = 'SqlDWSink'  # type: str
35635        self.pre_copy_script = pre_copy_script
35636        self.allow_poly_base = allow_poly_base
35637        self.poly_base_settings = poly_base_settings
35638        self.allow_copy_command = allow_copy_command
35639        self.copy_command_settings = copy_command_settings
35640        self.table_option = table_option
35641
35642
35643class SqlDWSource(TabularSource):
35644    """A copy activity SQL Data Warehouse source.
35645
35646    All required parameters must be populated in order to send to Azure.
35647
35648    :param additional_properties: Unmatched properties from the message are deserialized to this
35649     collection.
35650    :type additional_properties: dict[str, any]
35651    :param type: Required. Copy source type.Constant filled by server.
35652    :type type: str
35653    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
35654     integer).
35655    :type source_retry_count: any
35656    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
35657     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
35658    :type source_retry_wait: any
35659    :param max_concurrent_connections: The maximum concurrent connection count for the source data
35660     store. Type: integer (or Expression with resultType integer).
35661    :type max_concurrent_connections: any
35662    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
35663     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
35664    :type query_timeout: any
35665    :param additional_columns: Specifies the additional columns to be added to source data. Type:
35666     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
35667    :type additional_columns: any
35668    :param sql_reader_query: SQL Data Warehouse reader query. Type: string (or Expression with
35669     resultType string).
35670    :type sql_reader_query: any
35671    :param sql_reader_stored_procedure_name: Name of the stored procedure for a SQL Data Warehouse
35672     source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression
35673     with resultType string).
35674    :type sql_reader_stored_procedure_name: any
35675    :param stored_procedure_parameters: Value and type setting for stored procedure parameters.
35676     Example: "{Parameter1: {value: "1", type: "int"}}". Type: object (or Expression with resultType
35677     object), itemType: StoredProcedureParameter.
35678    :type stored_procedure_parameters: any
35679    :param partition_option: The partition mechanism that will be used for Sql read in parallel.
35680     Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange".
35681    :type partition_option: any
35682    :param partition_settings: The settings that will be leveraged for Sql source partitioning.
35683    :type partition_settings: ~azure.synapse.artifacts.v2020_12_01.models.SqlPartitionSettings
35684    """
35685
35686    _validation = {
35687        'type': {'required': True},
35688    }
35689
35690    _attribute_map = {
35691        'additional_properties': {'key': '', 'type': '{object}'},
35692        'type': {'key': 'type', 'type': 'str'},
35693        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
35694        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
35695        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
35696        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
35697        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
35698        'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'},
35699        'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'},
35700        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': 'object'},
35701        'partition_option': {'key': 'partitionOption', 'type': 'object'},
35702        'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'},
35703    }
35704
35705    def __init__(
35706        self,
35707        *,
35708        additional_properties: Optional[Dict[str, Any]] = None,
35709        source_retry_count: Optional[Any] = None,
35710        source_retry_wait: Optional[Any] = None,
35711        max_concurrent_connections: Optional[Any] = None,
35712        query_timeout: Optional[Any] = None,
35713        additional_columns: Optional[Any] = None,
35714        sql_reader_query: Optional[Any] = None,
35715        sql_reader_stored_procedure_name: Optional[Any] = None,
35716        stored_procedure_parameters: Optional[Any] = None,
35717        partition_option: Optional[Any] = None,
35718        partition_settings: Optional["SqlPartitionSettings"] = None,
35719        **kwargs
35720    ):
35721        super(SqlDWSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
35722        self.type = 'SqlDWSource'  # type: str
35723        self.sql_reader_query = sql_reader_query
35724        self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name
35725        self.stored_procedure_parameters = stored_procedure_parameters
35726        self.partition_option = partition_option
35727        self.partition_settings = partition_settings
35728
35729
35730class SqlMISink(CopySink):
35731    """A copy activity Azure SQL Managed Instance sink.
35732
35733    All required parameters must be populated in order to send to Azure.
35734
35735    :param additional_properties: Unmatched properties from the message are deserialized to this
35736     collection.
35737    :type additional_properties: dict[str, any]
35738    :param type: Required. Copy sink type.Constant filled by server.
35739    :type type: str
35740    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
35741     integer), minimum: 0.
35742    :type write_batch_size: any
35743    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
35744     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
35745    :type write_batch_timeout: any
35746    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
35747     integer).
35748    :type sink_retry_count: any
35749    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
35750     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
35751    :type sink_retry_wait: any
35752    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
35753     store. Type: integer (or Expression with resultType integer).
35754    :type max_concurrent_connections: any
35755    :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or
35756     Expression with resultType string).
35757    :type sql_writer_stored_procedure_name: any
35758    :param sql_writer_table_type: SQL writer table type. Type: string (or Expression with
35759     resultType string).
35760    :type sql_writer_table_type: any
35761    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
35762     string).
35763    :type pre_copy_script: any
35764    :param stored_procedure_parameters: SQL stored procedure parameters.
35765    :type stored_procedure_parameters: dict[str,
35766     ~azure.synapse.artifacts.v2020_12_01.models.StoredProcedureParameter]
35767    :param stored_procedure_table_type_parameter_name: The stored procedure parameter name of the
35768     table type. Type: string (or Expression with resultType string).
35769    :type stored_procedure_table_type_parameter_name: any
35770    :param table_option: The option to handle sink table, such as autoCreate. For now only
35771     'autoCreate' value is supported. Type: string (or Expression with resultType string).
35772    :type table_option: any
35773    """
35774
35775    _validation = {
35776        'type': {'required': True},
35777    }
35778
35779    _attribute_map = {
35780        'additional_properties': {'key': '', 'type': '{object}'},
35781        'type': {'key': 'type', 'type': 'str'},
35782        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
35783        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
35784        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
35785        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
35786        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
35787        'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'},
35788        'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'},
35789        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
35790        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
35791        'stored_procedure_table_type_parameter_name': {'key': 'storedProcedureTableTypeParameterName', 'type': 'object'},
35792        'table_option': {'key': 'tableOption', 'type': 'object'},
35793    }
35794
35795    def __init__(
35796        self,
35797        *,
35798        additional_properties: Optional[Dict[str, Any]] = None,
35799        write_batch_size: Optional[Any] = None,
35800        write_batch_timeout: Optional[Any] = None,
35801        sink_retry_count: Optional[Any] = None,
35802        sink_retry_wait: Optional[Any] = None,
35803        max_concurrent_connections: Optional[Any] = None,
35804        sql_writer_stored_procedure_name: Optional[Any] = None,
35805        sql_writer_table_type: Optional[Any] = None,
35806        pre_copy_script: Optional[Any] = None,
35807        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
35808        stored_procedure_table_type_parameter_name: Optional[Any] = None,
35809        table_option: Optional[Any] = None,
35810        **kwargs
35811    ):
35812        super(SqlMISink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
35813        self.type = 'SqlMISink'  # type: str
35814        self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name
35815        self.sql_writer_table_type = sql_writer_table_type
35816        self.pre_copy_script = pre_copy_script
35817        self.stored_procedure_parameters = stored_procedure_parameters
35818        self.stored_procedure_table_type_parameter_name = stored_procedure_table_type_parameter_name
35819        self.table_option = table_option
35820
35821
35822class SqlMISource(TabularSource):
35823    """A copy activity Azure SQL Managed Instance source.
35824
35825    All required parameters must be populated in order to send to Azure.
35826
35827    :param additional_properties: Unmatched properties from the message are deserialized to this
35828     collection.
35829    :type additional_properties: dict[str, any]
35830    :param type: Required. Copy source type.Constant filled by server.
35831    :type type: str
35832    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
35833     integer).
35834    :type source_retry_count: any
35835    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
35836     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
35837    :type source_retry_wait: any
35838    :param max_concurrent_connections: The maximum concurrent connection count for the source data
35839     store. Type: integer (or Expression with resultType integer).
35840    :type max_concurrent_connections: any
35841    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
35842     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
35843    :type query_timeout: any
35844    :param additional_columns: Specifies the additional columns to be added to source data. Type:
35845     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
35846    :type additional_columns: any
35847    :param sql_reader_query: SQL reader query. Type: string (or Expression with resultType string).
35848    :type sql_reader_query: any
35849    :param sql_reader_stored_procedure_name: Name of the stored procedure for a Azure SQL Managed
35850     Instance source. This cannot be used at the same time as SqlReaderQuery. Type: string (or
35851     Expression with resultType string).
35852    :type sql_reader_stored_procedure_name: any
35853    :param stored_procedure_parameters: Value and type setting for stored procedure parameters.
35854     Example: "{Parameter1: {value: "1", type: "int"}}".
35855    :type stored_procedure_parameters: dict[str,
35856     ~azure.synapse.artifacts.v2020_12_01.models.StoredProcedureParameter]
35857    :param produce_additional_types: Which additional types to produce.
35858    :type produce_additional_types: any
35859    :param partition_option: The partition mechanism that will be used for Sql read in parallel.
35860     Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange".
35861    :type partition_option: any
35862    :param partition_settings: The settings that will be leveraged for Sql source partitioning.
35863    :type partition_settings: ~azure.synapse.artifacts.v2020_12_01.models.SqlPartitionSettings
35864    """
35865
35866    _validation = {
35867        'type': {'required': True},
35868    }
35869
35870    _attribute_map = {
35871        'additional_properties': {'key': '', 'type': '{object}'},
35872        'type': {'key': 'type', 'type': 'str'},
35873        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
35874        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
35875        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
35876        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
35877        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
35878        'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'},
35879        'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'},
35880        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
35881        'produce_additional_types': {'key': 'produceAdditionalTypes', 'type': 'object'},
35882        'partition_option': {'key': 'partitionOption', 'type': 'object'},
35883        'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'},
35884    }
35885
35886    def __init__(
35887        self,
35888        *,
35889        additional_properties: Optional[Dict[str, Any]] = None,
35890        source_retry_count: Optional[Any] = None,
35891        source_retry_wait: Optional[Any] = None,
35892        max_concurrent_connections: Optional[Any] = None,
35893        query_timeout: Optional[Any] = None,
35894        additional_columns: Optional[Any] = None,
35895        sql_reader_query: Optional[Any] = None,
35896        sql_reader_stored_procedure_name: Optional[Any] = None,
35897        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
35898        produce_additional_types: Optional[Any] = None,
35899        partition_option: Optional[Any] = None,
35900        partition_settings: Optional["SqlPartitionSettings"] = None,
35901        **kwargs
35902    ):
35903        super(SqlMISource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
35904        self.type = 'SqlMISource'  # type: str
35905        self.sql_reader_query = sql_reader_query
35906        self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name
35907        self.stored_procedure_parameters = stored_procedure_parameters
35908        self.produce_additional_types = produce_additional_types
35909        self.partition_option = partition_option
35910        self.partition_settings = partition_settings
35911
35912
35913class SqlPartitionSettings(msrest.serialization.Model):
35914    """The settings that will be leveraged for Sql source partitioning.
35915
35916    :param partition_column_name: The name of the column in integer or datetime type that will be
35917     used for proceeding partitioning. If not specified, the primary key of the table is
35918     auto-detected and used as the partition column. Type: string (or Expression with resultType
35919     string).
35920    :type partition_column_name: any
35921    :param partition_upper_bound: The maximum value of the partition column for partition range
35922     splitting. This value is used to decide the partition stride, not for filtering the rows in
35923     table. All rows in the table or query result will be partitioned and copied. Type: string (or
35924     Expression with resultType string).
35925    :type partition_upper_bound: any
35926    :param partition_lower_bound: The minimum value of the partition column for partition range
35927     splitting. This value is used to decide the partition stride, not for filtering the rows in
35928     table. All rows in the table or query result will be partitioned and copied. Type: string (or
35929     Expression with resultType string).
35930    :type partition_lower_bound: any
35931    """
35932
35933    _attribute_map = {
35934        'partition_column_name': {'key': 'partitionColumnName', 'type': 'object'},
35935        'partition_upper_bound': {'key': 'partitionUpperBound', 'type': 'object'},
35936        'partition_lower_bound': {'key': 'partitionLowerBound', 'type': 'object'},
35937    }
35938
35939    def __init__(
35940        self,
35941        *,
35942        partition_column_name: Optional[Any] = None,
35943        partition_upper_bound: Optional[Any] = None,
35944        partition_lower_bound: Optional[Any] = None,
35945        **kwargs
35946    ):
35947        super(SqlPartitionSettings, self).__init__(**kwargs)
35948        self.partition_column_name = partition_column_name
35949        self.partition_upper_bound = partition_upper_bound
35950        self.partition_lower_bound = partition_lower_bound
35951
35952
35953class SqlPool(TrackedResource):
35954    """A SQL Analytics pool.
35955
35956    Variables are only populated by the server, and will be ignored when sending a request.
35957
35958    All required parameters must be populated in order to send to Azure.
35959
35960    :ivar id: Fully qualified resource ID for the resource. Ex -
35961     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
35962    :vartype id: str
35963    :ivar name: The name of the resource.
35964    :vartype name: str
35965    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
35966     "Microsoft.Storage/storageAccounts".
35967    :vartype type: str
35968    :param tags: A set of tags. Resource tags.
35969    :type tags: dict[str, str]
35970    :param location: Required. The geo-location where the resource lives.
35971    :type location: str
35972    :param sku: SQL pool SKU.
35973    :type sku: ~azure.synapse.artifacts.v2020_12_01.models.Sku
35974    :param max_size_bytes: Maximum size in bytes.
35975    :type max_size_bytes: long
35976    :param collation: Collation mode.
35977    :type collation: str
35978    :param source_database_id: Source database to create from.
35979    :type source_database_id: str
35980    :param recoverable_database_id: Backup database to restore from.
35981    :type recoverable_database_id: str
35982    :param provisioning_state: Resource state.
35983    :type provisioning_state: str
35984    :param status: Resource status.
35985    :type status: str
35986    :param restore_point_in_time: Snapshot time to restore.
35987    :type restore_point_in_time: str
35988    :param create_mode: What is this?.
35989    :type create_mode: str
35990    :param creation_date: Date the SQL pool was created.
35991    :type creation_date: ~datetime.datetime
35992    """
35993
35994    _validation = {
35995        'id': {'readonly': True},
35996        'name': {'readonly': True},
35997        'type': {'readonly': True},
35998        'location': {'required': True},
35999    }
36000
36001    _attribute_map = {
36002        'id': {'key': 'id', 'type': 'str'},
36003        'name': {'key': 'name', 'type': 'str'},
36004        'type': {'key': 'type', 'type': 'str'},
36005        'tags': {'key': 'tags', 'type': '{str}'},
36006        'location': {'key': 'location', 'type': 'str'},
36007        'sku': {'key': 'sku', 'type': 'Sku'},
36008        'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'long'},
36009        'collation': {'key': 'properties.collation', 'type': 'str'},
36010        'source_database_id': {'key': 'properties.sourceDatabaseId', 'type': 'str'},
36011        'recoverable_database_id': {'key': 'properties.recoverableDatabaseId', 'type': 'str'},
36012        'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
36013        'status': {'key': 'properties.status', 'type': 'str'},
36014        'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'str'},
36015        'create_mode': {'key': 'properties.createMode', 'type': 'str'},
36016        'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'},
36017    }
36018
36019    def __init__(
36020        self,
36021        *,
36022        location: str,
36023        tags: Optional[Dict[str, str]] = None,
36024        sku: Optional["Sku"] = None,
36025        max_size_bytes: Optional[int] = None,
36026        collation: Optional[str] = None,
36027        source_database_id: Optional[str] = None,
36028        recoverable_database_id: Optional[str] = None,
36029        provisioning_state: Optional[str] = None,
36030        status: Optional[str] = None,
36031        restore_point_in_time: Optional[str] = None,
36032        create_mode: Optional[str] = None,
36033        creation_date: Optional[datetime.datetime] = None,
36034        **kwargs
36035    ):
36036        super(SqlPool, self).__init__(tags=tags, location=location, **kwargs)
36037        self.sku = sku
36038        self.max_size_bytes = max_size_bytes
36039        self.collation = collation
36040        self.source_database_id = source_database_id
36041        self.recoverable_database_id = recoverable_database_id
36042        self.provisioning_state = provisioning_state
36043        self.status = status
36044        self.restore_point_in_time = restore_point_in_time
36045        self.create_mode = create_mode
36046        self.creation_date = creation_date
36047
36048
36049class SqlPoolInfoListResult(msrest.serialization.Model):
36050    """List of SQL pools.
36051
36052    :param next_link: Link to the next page of results.
36053    :type next_link: str
36054    :param value: List of SQL pools.
36055    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.SqlPool]
36056    """
36057
36058    _attribute_map = {
36059        'next_link': {'key': 'nextLink', 'type': 'str'},
36060        'value': {'key': 'value', 'type': '[SqlPool]'},
36061    }
36062
36063    def __init__(
36064        self,
36065        *,
36066        next_link: Optional[str] = None,
36067        value: Optional[List["SqlPool"]] = None,
36068        **kwargs
36069    ):
36070        super(SqlPoolInfoListResult, self).__init__(**kwargs)
36071        self.next_link = next_link
36072        self.value = value
36073
36074
36075class SqlPoolReference(msrest.serialization.Model):
36076    """SQL pool reference type.
36077
36078    All required parameters must be populated in order to send to Azure.
36079
36080    :param type: Required. SQL pool reference type. Possible values include: "SqlPoolReference".
36081    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.SqlPoolReferenceType
36082    :param reference_name: Required. Reference SQL pool name.
36083    :type reference_name: str
36084    """
36085
36086    _validation = {
36087        'type': {'required': True},
36088        'reference_name': {'required': True},
36089    }
36090
36091    _attribute_map = {
36092        'type': {'key': 'type', 'type': 'str'},
36093        'reference_name': {'key': 'referenceName', 'type': 'str'},
36094    }
36095
36096    def __init__(
36097        self,
36098        *,
36099        type: Union[str, "SqlPoolReferenceType"],
36100        reference_name: str,
36101        **kwargs
36102    ):
36103        super(SqlPoolReference, self).__init__(**kwargs)
36104        self.type = type
36105        self.reference_name = reference_name
36106
36107
36108class SqlPoolStoredProcedureActivity(Activity):
36109    """Execute SQL pool stored procedure activity.
36110
36111    All required parameters must be populated in order to send to Azure.
36112
36113    :param additional_properties: Unmatched properties from the message are deserialized to this
36114     collection.
36115    :type additional_properties: dict[str, any]
36116    :param name: Required. Activity name.
36117    :type name: str
36118    :param type: Required. Type of activity.Constant filled by server.
36119    :type type: str
36120    :param description: Activity description.
36121    :type description: str
36122    :param depends_on: Activity depends on condition.
36123    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
36124    :param user_properties: Activity user properties.
36125    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
36126    :param sql_pool: Required. SQL pool stored procedure reference.
36127    :type sql_pool: ~azure.synapse.artifacts.v2020_12_01.models.SqlPoolReference
36128    :param stored_procedure_name: Required. Stored procedure name. Type: string (or Expression with
36129     resultType string).
36130    :type stored_procedure_name: any
36131    :param stored_procedure_parameters: Value and type setting for stored procedure parameters.
36132     Example: "{Parameter1: {value: "1", type: "int"}}".
36133    :type stored_procedure_parameters: dict[str,
36134     ~azure.synapse.artifacts.v2020_12_01.models.StoredProcedureParameter]
36135    """
36136
36137    _validation = {
36138        'name': {'required': True},
36139        'type': {'required': True},
36140        'sql_pool': {'required': True},
36141        'stored_procedure_name': {'required': True},
36142    }
36143
36144    _attribute_map = {
36145        'additional_properties': {'key': '', 'type': '{object}'},
36146        'name': {'key': 'name', 'type': 'str'},
36147        'type': {'key': 'type', 'type': 'str'},
36148        'description': {'key': 'description', 'type': 'str'},
36149        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
36150        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
36151        'sql_pool': {'key': 'sqlPool', 'type': 'SqlPoolReference'},
36152        'stored_procedure_name': {'key': 'typeProperties.storedProcedureName', 'type': 'object'},
36153        'stored_procedure_parameters': {'key': 'typeProperties.storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
36154    }
36155
36156    def __init__(
36157        self,
36158        *,
36159        name: str,
36160        sql_pool: "SqlPoolReference",
36161        stored_procedure_name: Any,
36162        additional_properties: Optional[Dict[str, Any]] = None,
36163        description: Optional[str] = None,
36164        depends_on: Optional[List["ActivityDependency"]] = None,
36165        user_properties: Optional[List["UserProperty"]] = None,
36166        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
36167        **kwargs
36168    ):
36169        super(SqlPoolStoredProcedureActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
36170        self.type = 'SqlPoolStoredProcedure'  # type: str
36171        self.sql_pool = sql_pool
36172        self.stored_procedure_name = stored_procedure_name
36173        self.stored_procedure_parameters = stored_procedure_parameters
36174
36175
36176class SqlScript(msrest.serialization.Model):
36177    """SQL script.
36178
36179    All required parameters must be populated in order to send to Azure.
36180
36181    :param additional_properties: Unmatched properties from the message are deserialized to this
36182     collection.
36183    :type additional_properties: dict[str, any]
36184    :param description: The description of the SQL script.
36185    :type description: str
36186    :param type: The type of the SQL script. Possible values include: "SqlQuery".
36187    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.SqlScriptType
36188    :param content: Required. The content of the SQL script.
36189    :type content: ~azure.synapse.artifacts.v2020_12_01.models.SqlScriptContent
36190    """
36191
36192    _validation = {
36193        'content': {'required': True},
36194    }
36195
36196    _attribute_map = {
36197        'additional_properties': {'key': '', 'type': '{object}'},
36198        'description': {'key': 'description', 'type': 'str'},
36199        'type': {'key': 'type', 'type': 'str'},
36200        'content': {'key': 'content', 'type': 'SqlScriptContent'},
36201    }
36202
36203    def __init__(
36204        self,
36205        *,
36206        content: "SqlScriptContent",
36207        additional_properties: Optional[Dict[str, Any]] = None,
36208        description: Optional[str] = None,
36209        type: Optional[Union[str, "SqlScriptType"]] = None,
36210        **kwargs
36211    ):
36212        super(SqlScript, self).__init__(**kwargs)
36213        self.additional_properties = additional_properties
36214        self.description = description
36215        self.type = type
36216        self.content = content
36217
36218
36219class SqlScriptContent(msrest.serialization.Model):
36220    """The content of the SQL script.
36221
36222    All required parameters must be populated in order to send to Azure.
36223
36224    :param additional_properties: Unmatched properties from the message are deserialized to this
36225     collection.
36226    :type additional_properties: dict[str, any]
36227    :param query: Required. SQL query to execute.
36228    :type query: str
36229    :param current_connection: Required. The connection used to execute the SQL script.
36230    :type current_connection: ~azure.synapse.artifacts.v2020_12_01.models.SqlConnection
36231    :param metadata: The metadata of the SQL script.
36232    :type metadata: ~azure.synapse.artifacts.v2020_12_01.models.SqlScriptMetadata
36233    """
36234
36235    _validation = {
36236        'query': {'required': True},
36237        'current_connection': {'required': True},
36238    }
36239
36240    _attribute_map = {
36241        'additional_properties': {'key': '', 'type': '{object}'},
36242        'query': {'key': 'query', 'type': 'str'},
36243        'current_connection': {'key': 'currentConnection', 'type': 'SqlConnection'},
36244        'metadata': {'key': 'metadata', 'type': 'SqlScriptMetadata'},
36245    }
36246
36247    def __init__(
36248        self,
36249        *,
36250        query: str,
36251        current_connection: "SqlConnection",
36252        additional_properties: Optional[Dict[str, Any]] = None,
36253        metadata: Optional["SqlScriptMetadata"] = None,
36254        **kwargs
36255    ):
36256        super(SqlScriptContent, self).__init__(**kwargs)
36257        self.additional_properties = additional_properties
36258        self.query = query
36259        self.current_connection = current_connection
36260        self.metadata = metadata
36261
36262
36263class SqlScriptMetadata(msrest.serialization.Model):
36264    """The metadata of the SQL script.
36265
36266    :param additional_properties: Unmatched properties from the message are deserialized to this
36267     collection.
36268    :type additional_properties: dict[str, any]
36269    :param language: The language of the SQL script.
36270    :type language: str
36271    """
36272
36273    _attribute_map = {
36274        'additional_properties': {'key': '', 'type': '{object}'},
36275        'language': {'key': 'language', 'type': 'str'},
36276    }
36277
36278    def __init__(
36279        self,
36280        *,
36281        additional_properties: Optional[Dict[str, Any]] = None,
36282        language: Optional[str] = None,
36283        **kwargs
36284    ):
36285        super(SqlScriptMetadata, self).__init__(**kwargs)
36286        self.additional_properties = additional_properties
36287        self.language = language
36288
36289
36290class SqlScriptResource(msrest.serialization.Model):
36291    """Sql Script resource type.
36292
36293    Variables are only populated by the server, and will be ignored when sending a request.
36294
36295    All required parameters must be populated in order to send to Azure.
36296
36297    :ivar id: Fully qualified resource Id for the resource. Ex -
36298     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
36299    :vartype id: str
36300    :param name: Required. The name of the resource.
36301    :type name: str
36302    :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or
36303     Microsoft.Storage/storageAccounts.
36304    :vartype type: str
36305    :ivar etag: Resource Etag.
36306    :vartype etag: str
36307    :param properties: Required. Properties of sql script.
36308    :type properties: ~azure.synapse.artifacts.v2020_12_01.models.SqlScript
36309    """
36310
36311    _validation = {
36312        'id': {'readonly': True},
36313        'name': {'required': True},
36314        'type': {'readonly': True},
36315        'etag': {'readonly': True},
36316        'properties': {'required': True},
36317    }
36318
36319    _attribute_map = {
36320        'id': {'key': 'id', 'type': 'str'},
36321        'name': {'key': 'name', 'type': 'str'},
36322        'type': {'key': 'type', 'type': 'str'},
36323        'etag': {'key': 'etag', 'type': 'str'},
36324        'properties': {'key': 'properties', 'type': 'SqlScript'},
36325    }
36326
36327    def __init__(
36328        self,
36329        *,
36330        name: str,
36331        properties: "SqlScript",
36332        **kwargs
36333    ):
36334        super(SqlScriptResource, self).__init__(**kwargs)
36335        self.id = None
36336        self.name = name
36337        self.type = None
36338        self.etag = None
36339        self.properties = properties
36340
36341
36342class SqlScriptsListResponse(msrest.serialization.Model):
36343    """A list of sql scripts resources.
36344
36345    All required parameters must be populated in order to send to Azure.
36346
36347    :param value: Required. List of sql scripts.
36348    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.SqlScriptResource]
36349    :param next_link: The link to the next page of results, if any remaining results exist.
36350    :type next_link: str
36351    """
36352
36353    _validation = {
36354        'value': {'required': True},
36355    }
36356
36357    _attribute_map = {
36358        'value': {'key': 'value', 'type': '[SqlScriptResource]'},
36359        'next_link': {'key': 'nextLink', 'type': 'str'},
36360    }
36361
36362    def __init__(
36363        self,
36364        *,
36365        value: List["SqlScriptResource"],
36366        next_link: Optional[str] = None,
36367        **kwargs
36368    ):
36369        super(SqlScriptsListResponse, self).__init__(**kwargs)
36370        self.value = value
36371        self.next_link = next_link
36372
36373
36374class SqlServerLinkedService(LinkedService):
36375    """SQL Server linked service.
36376
36377    All required parameters must be populated in order to send to Azure.
36378
36379    :param additional_properties: Unmatched properties from the message are deserialized to this
36380     collection.
36381    :type additional_properties: dict[str, any]
36382    :param type: Required. Type of linked service.Constant filled by server.
36383    :type type: str
36384    :param connect_via: The integration runtime reference.
36385    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
36386    :param description: Linked service description.
36387    :type description: str
36388    :param parameters: Parameters for linked service.
36389    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
36390    :param annotations: List of tags that can be used for describing the linked service.
36391    :type annotations: list[any]
36392    :param connection_string: Required. The connection string. Type: string, SecureString or
36393     AzureKeyVaultSecretReference.
36394    :type connection_string: any
36395    :param user_name: The on-premises Windows authentication user name. Type: string (or Expression
36396     with resultType string).
36397    :type user_name: any
36398    :param password: The on-premises Windows authentication password.
36399    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
36400    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
36401     encrypted using the integration runtime credential manager. Type: string (or Expression with
36402     resultType string).
36403    :type encrypted_credential: any
36404    """
36405
36406    _validation = {
36407        'type': {'required': True},
36408        'connection_string': {'required': True},
36409    }
36410
36411    _attribute_map = {
36412        'additional_properties': {'key': '', 'type': '{object}'},
36413        'type': {'key': 'type', 'type': 'str'},
36414        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
36415        'description': {'key': 'description', 'type': 'str'},
36416        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
36417        'annotations': {'key': 'annotations', 'type': '[object]'},
36418        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
36419        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
36420        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
36421        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
36422    }
36423
36424    def __init__(
36425        self,
36426        *,
36427        connection_string: Any,
36428        additional_properties: Optional[Dict[str, Any]] = None,
36429        connect_via: Optional["IntegrationRuntimeReference"] = None,
36430        description: Optional[str] = None,
36431        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
36432        annotations: Optional[List[Any]] = None,
36433        user_name: Optional[Any] = None,
36434        password: Optional["SecretBase"] = None,
36435        encrypted_credential: Optional[Any] = None,
36436        **kwargs
36437    ):
36438        super(SqlServerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
36439        self.type = 'SqlServer'  # type: str
36440        self.connection_string = connection_string
36441        self.user_name = user_name
36442        self.password = password
36443        self.encrypted_credential = encrypted_credential
36444
36445
36446class SqlServerSink(CopySink):
36447    """A copy activity SQL server sink.
36448
36449    All required parameters must be populated in order to send to Azure.
36450
36451    :param additional_properties: Unmatched properties from the message are deserialized to this
36452     collection.
36453    :type additional_properties: dict[str, any]
36454    :param type: Required. Copy sink type.Constant filled by server.
36455    :type type: str
36456    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
36457     integer), minimum: 0.
36458    :type write_batch_size: any
36459    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
36460     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36461    :type write_batch_timeout: any
36462    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
36463     integer).
36464    :type sink_retry_count: any
36465    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
36466     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36467    :type sink_retry_wait: any
36468    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
36469     store. Type: integer (or Expression with resultType integer).
36470    :type max_concurrent_connections: any
36471    :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or
36472     Expression with resultType string).
36473    :type sql_writer_stored_procedure_name: any
36474    :param sql_writer_table_type: SQL writer table type. Type: string (or Expression with
36475     resultType string).
36476    :type sql_writer_table_type: any
36477    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
36478     string).
36479    :type pre_copy_script: any
36480    :param stored_procedure_parameters: SQL stored procedure parameters.
36481    :type stored_procedure_parameters: dict[str,
36482     ~azure.synapse.artifacts.v2020_12_01.models.StoredProcedureParameter]
36483    :param stored_procedure_table_type_parameter_name: The stored procedure parameter name of the
36484     table type. Type: string (or Expression with resultType string).
36485    :type stored_procedure_table_type_parameter_name: any
36486    :param table_option: The option to handle sink table, such as autoCreate. For now only
36487     'autoCreate' value is supported. Type: string (or Expression with resultType string).
36488    :type table_option: any
36489    """
36490
36491    _validation = {
36492        'type': {'required': True},
36493    }
36494
36495    _attribute_map = {
36496        'additional_properties': {'key': '', 'type': '{object}'},
36497        'type': {'key': 'type', 'type': 'str'},
36498        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
36499        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
36500        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
36501        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
36502        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
36503        'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'},
36504        'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'},
36505        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
36506        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
36507        'stored_procedure_table_type_parameter_name': {'key': 'storedProcedureTableTypeParameterName', 'type': 'object'},
36508        'table_option': {'key': 'tableOption', 'type': 'object'},
36509    }
36510
36511    def __init__(
36512        self,
36513        *,
36514        additional_properties: Optional[Dict[str, Any]] = None,
36515        write_batch_size: Optional[Any] = None,
36516        write_batch_timeout: Optional[Any] = None,
36517        sink_retry_count: Optional[Any] = None,
36518        sink_retry_wait: Optional[Any] = None,
36519        max_concurrent_connections: Optional[Any] = None,
36520        sql_writer_stored_procedure_name: Optional[Any] = None,
36521        sql_writer_table_type: Optional[Any] = None,
36522        pre_copy_script: Optional[Any] = None,
36523        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
36524        stored_procedure_table_type_parameter_name: Optional[Any] = None,
36525        table_option: Optional[Any] = None,
36526        **kwargs
36527    ):
36528        super(SqlServerSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
36529        self.type = 'SqlServerSink'  # type: str
36530        self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name
36531        self.sql_writer_table_type = sql_writer_table_type
36532        self.pre_copy_script = pre_copy_script
36533        self.stored_procedure_parameters = stored_procedure_parameters
36534        self.stored_procedure_table_type_parameter_name = stored_procedure_table_type_parameter_name
36535        self.table_option = table_option
36536
36537
36538class SqlServerSource(TabularSource):
36539    """A copy activity SQL server source.
36540
36541    All required parameters must be populated in order to send to Azure.
36542
36543    :param additional_properties: Unmatched properties from the message are deserialized to this
36544     collection.
36545    :type additional_properties: dict[str, any]
36546    :param type: Required. Copy source type.Constant filled by server.
36547    :type type: str
36548    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
36549     integer).
36550    :type source_retry_count: any
36551    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
36552     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36553    :type source_retry_wait: any
36554    :param max_concurrent_connections: The maximum concurrent connection count for the source data
36555     store. Type: integer (or Expression with resultType integer).
36556    :type max_concurrent_connections: any
36557    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
36558     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36559    :type query_timeout: any
36560    :param additional_columns: Specifies the additional columns to be added to source data. Type:
36561     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
36562    :type additional_columns: any
36563    :param sql_reader_query: SQL reader query. Type: string (or Expression with resultType string).
36564    :type sql_reader_query: any
36565    :param sql_reader_stored_procedure_name: Name of the stored procedure for a SQL Database
36566     source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression
36567     with resultType string).
36568    :type sql_reader_stored_procedure_name: any
36569    :param stored_procedure_parameters: Value and type setting for stored procedure parameters.
36570     Example: "{Parameter1: {value: "1", type: "int"}}".
36571    :type stored_procedure_parameters: dict[str,
36572     ~azure.synapse.artifacts.v2020_12_01.models.StoredProcedureParameter]
36573    :param produce_additional_types: Which additional types to produce.
36574    :type produce_additional_types: any
36575    :param partition_option: The partition mechanism that will be used for Sql read in parallel.
36576     Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange".
36577    :type partition_option: any
36578    :param partition_settings: The settings that will be leveraged for Sql source partitioning.
36579    :type partition_settings: ~azure.synapse.artifacts.v2020_12_01.models.SqlPartitionSettings
36580    """
36581
36582    _validation = {
36583        'type': {'required': True},
36584    }
36585
36586    _attribute_map = {
36587        'additional_properties': {'key': '', 'type': '{object}'},
36588        'type': {'key': 'type', 'type': 'str'},
36589        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
36590        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
36591        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
36592        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
36593        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
36594        'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'},
36595        'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'},
36596        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
36597        'produce_additional_types': {'key': 'produceAdditionalTypes', 'type': 'object'},
36598        'partition_option': {'key': 'partitionOption', 'type': 'object'},
36599        'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'},
36600    }
36601
36602    def __init__(
36603        self,
36604        *,
36605        additional_properties: Optional[Dict[str, Any]] = None,
36606        source_retry_count: Optional[Any] = None,
36607        source_retry_wait: Optional[Any] = None,
36608        max_concurrent_connections: Optional[Any] = None,
36609        query_timeout: Optional[Any] = None,
36610        additional_columns: Optional[Any] = None,
36611        sql_reader_query: Optional[Any] = None,
36612        sql_reader_stored_procedure_name: Optional[Any] = None,
36613        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
36614        produce_additional_types: Optional[Any] = None,
36615        partition_option: Optional[Any] = None,
36616        partition_settings: Optional["SqlPartitionSettings"] = None,
36617        **kwargs
36618    ):
36619        super(SqlServerSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
36620        self.type = 'SqlServerSource'  # type: str
36621        self.sql_reader_query = sql_reader_query
36622        self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name
36623        self.stored_procedure_parameters = stored_procedure_parameters
36624        self.produce_additional_types = produce_additional_types
36625        self.partition_option = partition_option
36626        self.partition_settings = partition_settings
36627
36628
36629class SqlServerStoredProcedureActivity(ExecutionActivity):
36630    """SQL stored procedure activity type.
36631
36632    All required parameters must be populated in order to send to Azure.
36633
36634    :param additional_properties: Unmatched properties from the message are deserialized to this
36635     collection.
36636    :type additional_properties: dict[str, any]
36637    :param name: Required. Activity name.
36638    :type name: str
36639    :param type: Required. Type of activity.Constant filled by server.
36640    :type type: str
36641    :param description: Activity description.
36642    :type description: str
36643    :param depends_on: Activity depends on condition.
36644    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
36645    :param user_properties: Activity user properties.
36646    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
36647    :param linked_service_name: Linked service reference.
36648    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
36649    :param policy: Activity policy.
36650    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
36651    :param stored_procedure_name: Required. Stored procedure name. Type: string (or Expression with
36652     resultType string).
36653    :type stored_procedure_name: any
36654    :param stored_procedure_parameters: Value and type setting for stored procedure parameters.
36655     Example: "{Parameter1: {value: "1", type: "int"}}".
36656    :type stored_procedure_parameters: dict[str,
36657     ~azure.synapse.artifacts.v2020_12_01.models.StoredProcedureParameter]
36658    """
36659
36660    _validation = {
36661        'name': {'required': True},
36662        'type': {'required': True},
36663        'stored_procedure_name': {'required': True},
36664    }
36665
36666    _attribute_map = {
36667        'additional_properties': {'key': '', 'type': '{object}'},
36668        'name': {'key': 'name', 'type': 'str'},
36669        'type': {'key': 'type', 'type': 'str'},
36670        'description': {'key': 'description', 'type': 'str'},
36671        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
36672        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
36673        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
36674        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
36675        'stored_procedure_name': {'key': 'typeProperties.storedProcedureName', 'type': 'object'},
36676        'stored_procedure_parameters': {'key': 'typeProperties.storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
36677    }
36678
36679    def __init__(
36680        self,
36681        *,
36682        name: str,
36683        stored_procedure_name: Any,
36684        additional_properties: Optional[Dict[str, Any]] = None,
36685        description: Optional[str] = None,
36686        depends_on: Optional[List["ActivityDependency"]] = None,
36687        user_properties: Optional[List["UserProperty"]] = None,
36688        linked_service_name: Optional["LinkedServiceReference"] = None,
36689        policy: Optional["ActivityPolicy"] = None,
36690        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
36691        **kwargs
36692    ):
36693        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)
36694        self.type = 'SqlServerStoredProcedure'  # type: str
36695        self.stored_procedure_name = stored_procedure_name
36696        self.stored_procedure_parameters = stored_procedure_parameters
36697
36698
36699class SqlServerTableDataset(Dataset):
36700    """The on-premises SQL Server dataset.
36701
36702    All required parameters must be populated in order to send to Azure.
36703
36704    :param additional_properties: Unmatched properties from the message are deserialized to this
36705     collection.
36706    :type additional_properties: dict[str, any]
36707    :param type: Required. Type of dataset.Constant filled by server.
36708    :type type: str
36709    :param description: Dataset description.
36710    :type description: str
36711    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
36712     with resultType array), itemType: DatasetDataElement.
36713    :type structure: any
36714    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
36715     Expression with resultType array), itemType: DatasetSchemaDataElement.
36716    :type schema: any
36717    :param linked_service_name: Required. Linked service reference.
36718    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
36719    :param parameters: Parameters for dataset.
36720    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
36721    :param annotations: List of tags that can be used for describing the Dataset.
36722    :type annotations: list[any]
36723    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
36724     root level.
36725    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
36726    :param table_name: This property will be retired. Please consider using schema + table
36727     properties instead.
36728    :type table_name: any
36729    :param schema_type_properties_schema: The schema name of the SQL Server dataset. Type: string
36730     (or Expression with resultType string).
36731    :type schema_type_properties_schema: any
36732    :param table: The table name of the SQL Server dataset. Type: string (or Expression with
36733     resultType string).
36734    :type table: any
36735    """
36736
36737    _validation = {
36738        'type': {'required': True},
36739        'linked_service_name': {'required': True},
36740    }
36741
36742    _attribute_map = {
36743        'additional_properties': {'key': '', 'type': '{object}'},
36744        'type': {'key': 'type', 'type': 'str'},
36745        'description': {'key': 'description', 'type': 'str'},
36746        'structure': {'key': 'structure', 'type': 'object'},
36747        'schema': {'key': 'schema', 'type': 'object'},
36748        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
36749        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
36750        'annotations': {'key': 'annotations', 'type': '[object]'},
36751        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
36752        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
36753        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
36754        'table': {'key': 'typeProperties.table', 'type': 'object'},
36755    }
36756
36757    def __init__(
36758        self,
36759        *,
36760        linked_service_name: "LinkedServiceReference",
36761        additional_properties: Optional[Dict[str, Any]] = None,
36762        description: Optional[str] = None,
36763        structure: Optional[Any] = None,
36764        schema: Optional[Any] = None,
36765        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
36766        annotations: Optional[List[Any]] = None,
36767        folder: Optional["DatasetFolder"] = None,
36768        table_name: Optional[Any] = None,
36769        schema_type_properties_schema: Optional[Any] = None,
36770        table: Optional[Any] = None,
36771        **kwargs
36772    ):
36773        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)
36774        self.type = 'SqlServerTable'  # type: str
36775        self.table_name = table_name
36776        self.schema_type_properties_schema = schema_type_properties_schema
36777        self.table = table
36778
36779
36780class SqlSink(CopySink):
36781    """A copy activity SQL sink.
36782
36783    All required parameters must be populated in order to send to Azure.
36784
36785    :param additional_properties: Unmatched properties from the message are deserialized to this
36786     collection.
36787    :type additional_properties: dict[str, any]
36788    :param type: Required. Copy sink type.Constant filled by server.
36789    :type type: str
36790    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
36791     integer), minimum: 0.
36792    :type write_batch_size: any
36793    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
36794     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36795    :type write_batch_timeout: any
36796    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
36797     integer).
36798    :type sink_retry_count: any
36799    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
36800     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36801    :type sink_retry_wait: any
36802    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
36803     store. Type: integer (or Expression with resultType integer).
36804    :type max_concurrent_connections: any
36805    :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or
36806     Expression with resultType string).
36807    :type sql_writer_stored_procedure_name: any
36808    :param sql_writer_table_type: SQL writer table type. Type: string (or Expression with
36809     resultType string).
36810    :type sql_writer_table_type: any
36811    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
36812     string).
36813    :type pre_copy_script: any
36814    :param stored_procedure_parameters: SQL stored procedure parameters.
36815    :type stored_procedure_parameters: dict[str,
36816     ~azure.synapse.artifacts.v2020_12_01.models.StoredProcedureParameter]
36817    :param stored_procedure_table_type_parameter_name: The stored procedure parameter name of the
36818     table type. Type: string (or Expression with resultType string).
36819    :type stored_procedure_table_type_parameter_name: any
36820    :param table_option: The option to handle sink table, such as autoCreate. For now only
36821     'autoCreate' value is supported. Type: string (or Expression with resultType string).
36822    :type table_option: any
36823    """
36824
36825    _validation = {
36826        'type': {'required': True},
36827    }
36828
36829    _attribute_map = {
36830        'additional_properties': {'key': '', 'type': '{object}'},
36831        'type': {'key': 'type', 'type': 'str'},
36832        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
36833        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
36834        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
36835        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
36836        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
36837        'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'},
36838        'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'},
36839        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
36840        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
36841        'stored_procedure_table_type_parameter_name': {'key': 'storedProcedureTableTypeParameterName', 'type': 'object'},
36842        'table_option': {'key': 'tableOption', 'type': 'object'},
36843    }
36844
36845    def __init__(
36846        self,
36847        *,
36848        additional_properties: Optional[Dict[str, Any]] = None,
36849        write_batch_size: Optional[Any] = None,
36850        write_batch_timeout: Optional[Any] = None,
36851        sink_retry_count: Optional[Any] = None,
36852        sink_retry_wait: Optional[Any] = None,
36853        max_concurrent_connections: Optional[Any] = None,
36854        sql_writer_stored_procedure_name: Optional[Any] = None,
36855        sql_writer_table_type: Optional[Any] = None,
36856        pre_copy_script: Optional[Any] = None,
36857        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
36858        stored_procedure_table_type_parameter_name: Optional[Any] = None,
36859        table_option: Optional[Any] = None,
36860        **kwargs
36861    ):
36862        super(SqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
36863        self.type = 'SqlSink'  # type: str
36864        self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name
36865        self.sql_writer_table_type = sql_writer_table_type
36866        self.pre_copy_script = pre_copy_script
36867        self.stored_procedure_parameters = stored_procedure_parameters
36868        self.stored_procedure_table_type_parameter_name = stored_procedure_table_type_parameter_name
36869        self.table_option = table_option
36870
36871
36872class SqlSource(TabularSource):
36873    """A copy activity SQL source.
36874
36875    All required parameters must be populated in order to send to Azure.
36876
36877    :param additional_properties: Unmatched properties from the message are deserialized to this
36878     collection.
36879    :type additional_properties: dict[str, any]
36880    :param type: Required. Copy source type.Constant filled by server.
36881    :type type: str
36882    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
36883     integer).
36884    :type source_retry_count: any
36885    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
36886     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36887    :type source_retry_wait: any
36888    :param max_concurrent_connections: The maximum concurrent connection count for the source data
36889     store. Type: integer (or Expression with resultType integer).
36890    :type max_concurrent_connections: any
36891    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
36892     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36893    :type query_timeout: any
36894    :param additional_columns: Specifies the additional columns to be added to source data. Type:
36895     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
36896    :type additional_columns: any
36897    :param sql_reader_query: SQL reader query. Type: string (or Expression with resultType string).
36898    :type sql_reader_query: any
36899    :param sql_reader_stored_procedure_name: Name of the stored procedure for a SQL Database
36900     source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression
36901     with resultType string).
36902    :type sql_reader_stored_procedure_name: any
36903    :param stored_procedure_parameters: Value and type setting for stored procedure parameters.
36904     Example: "{Parameter1: {value: "1", type: "int"}}".
36905    :type stored_procedure_parameters: dict[str,
36906     ~azure.synapse.artifacts.v2020_12_01.models.StoredProcedureParameter]
36907    :param isolation_level: Specifies the transaction locking behavior for the SQL source. Allowed
36908     values: ReadCommitted/ReadUncommitted/RepeatableRead/Serializable/Snapshot. The default value
36909     is ReadCommitted. Type: string (or Expression with resultType string).
36910    :type isolation_level: any
36911    :param partition_option: The partition mechanism that will be used for Sql read in parallel.
36912     Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange".
36913    :type partition_option: any
36914    :param partition_settings: The settings that will be leveraged for Sql source partitioning.
36915    :type partition_settings: ~azure.synapse.artifacts.v2020_12_01.models.SqlPartitionSettings
36916    """
36917
36918    _validation = {
36919        'type': {'required': True},
36920    }
36921
36922    _attribute_map = {
36923        'additional_properties': {'key': '', 'type': '{object}'},
36924        'type': {'key': 'type', 'type': 'str'},
36925        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
36926        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
36927        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
36928        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
36929        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
36930        'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'},
36931        'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'},
36932        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
36933        'isolation_level': {'key': 'isolationLevel', 'type': 'object'},
36934        'partition_option': {'key': 'partitionOption', 'type': 'object'},
36935        'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'},
36936    }
36937
36938    def __init__(
36939        self,
36940        *,
36941        additional_properties: Optional[Dict[str, Any]] = None,
36942        source_retry_count: Optional[Any] = None,
36943        source_retry_wait: Optional[Any] = None,
36944        max_concurrent_connections: Optional[Any] = None,
36945        query_timeout: Optional[Any] = None,
36946        additional_columns: Optional[Any] = None,
36947        sql_reader_query: Optional[Any] = None,
36948        sql_reader_stored_procedure_name: Optional[Any] = None,
36949        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
36950        isolation_level: Optional[Any] = None,
36951        partition_option: Optional[Any] = None,
36952        partition_settings: Optional["SqlPartitionSettings"] = None,
36953        **kwargs
36954    ):
36955        super(SqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
36956        self.type = 'SqlSource'  # type: str
36957        self.sql_reader_query = sql_reader_query
36958        self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name
36959        self.stored_procedure_parameters = stored_procedure_parameters
36960        self.isolation_level = isolation_level
36961        self.partition_option = partition_option
36962        self.partition_settings = partition_settings
36963
36964
36965class SquareLinkedService(LinkedService):
36966    """Square Service linked service.
36967
36968    All required parameters must be populated in order to send to Azure.
36969
36970    :param additional_properties: Unmatched properties from the message are deserialized to this
36971     collection.
36972    :type additional_properties: dict[str, any]
36973    :param type: Required. Type of linked service.Constant filled by server.
36974    :type type: str
36975    :param connect_via: The integration runtime reference.
36976    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
36977    :param description: Linked service description.
36978    :type description: str
36979    :param parameters: Parameters for linked service.
36980    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
36981    :param annotations: List of tags that can be used for describing the linked service.
36982    :type annotations: list[any]
36983    :param connection_properties: Properties used to connect to Square. It is mutually exclusive
36984     with any other properties in the linked service. Type: object.
36985    :type connection_properties: any
36986    :param host: Required. The URL of the Square instance. (i.e. mystore.mysquare.com).
36987    :type host: any
36988    :param client_id: Required. The client ID associated with your Square application.
36989    :type client_id: any
36990    :param client_secret: The client secret associated with your Square application.
36991    :type client_secret: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
36992    :param redirect_uri: Required. The redirect URL assigned in the Square application dashboard.
36993     (i.e. http://localhost:2500).
36994    :type redirect_uri: any
36995    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
36996     HTTPS. The default value is true.
36997    :type use_encrypted_endpoints: any
36998    :param use_host_verification: Specifies whether to require the host name in the server's
36999     certificate to match the host name of the server when connecting over SSL. The default value is
37000     true.
37001    :type use_host_verification: any
37002    :param use_peer_verification: Specifies whether to verify the identity of the server when
37003     connecting over SSL. The default value is true.
37004    :type use_peer_verification: any
37005    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
37006     encrypted using the integration runtime credential manager. Type: string (or Expression with
37007     resultType string).
37008    :type encrypted_credential: any
37009    """
37010
37011    _validation = {
37012        'type': {'required': True},
37013        'host': {'required': True},
37014        'client_id': {'required': True},
37015        'redirect_uri': {'required': True},
37016    }
37017
37018    _attribute_map = {
37019        'additional_properties': {'key': '', 'type': '{object}'},
37020        'type': {'key': 'type', 'type': 'str'},
37021        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
37022        'description': {'key': 'description', 'type': 'str'},
37023        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
37024        'annotations': {'key': 'annotations', 'type': '[object]'},
37025        'connection_properties': {'key': 'typeProperties.connectionProperties', 'type': 'object'},
37026        'host': {'key': 'typeProperties.host', 'type': 'object'},
37027        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
37028        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
37029        'redirect_uri': {'key': 'typeProperties.redirectUri', 'type': 'object'},
37030        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
37031        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
37032        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
37033        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
37034    }
37035
37036    def __init__(
37037        self,
37038        *,
37039        host: Any,
37040        client_id: Any,
37041        redirect_uri: Any,
37042        additional_properties: Optional[Dict[str, Any]] = None,
37043        connect_via: Optional["IntegrationRuntimeReference"] = None,
37044        description: Optional[str] = None,
37045        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
37046        annotations: Optional[List[Any]] = None,
37047        connection_properties: Optional[Any] = None,
37048        client_secret: Optional["SecretBase"] = None,
37049        use_encrypted_endpoints: Optional[Any] = None,
37050        use_host_verification: Optional[Any] = None,
37051        use_peer_verification: Optional[Any] = None,
37052        encrypted_credential: Optional[Any] = None,
37053        **kwargs
37054    ):
37055        super(SquareLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
37056        self.type = 'Square'  # type: str
37057        self.connection_properties = connection_properties
37058        self.host = host
37059        self.client_id = client_id
37060        self.client_secret = client_secret
37061        self.redirect_uri = redirect_uri
37062        self.use_encrypted_endpoints = use_encrypted_endpoints
37063        self.use_host_verification = use_host_verification
37064        self.use_peer_verification = use_peer_verification
37065        self.encrypted_credential = encrypted_credential
37066
37067
37068class SquareObjectDataset(Dataset):
37069    """Square Service dataset.
37070
37071    All required parameters must be populated in order to send to Azure.
37072
37073    :param additional_properties: Unmatched properties from the message are deserialized to this
37074     collection.
37075    :type additional_properties: dict[str, any]
37076    :param type: Required. Type of dataset.Constant filled by server.
37077    :type type: str
37078    :param description: Dataset description.
37079    :type description: str
37080    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
37081     with resultType array), itemType: DatasetDataElement.
37082    :type structure: any
37083    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
37084     Expression with resultType array), itemType: DatasetSchemaDataElement.
37085    :type schema: any
37086    :param linked_service_name: Required. Linked service reference.
37087    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
37088    :param parameters: Parameters for dataset.
37089    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
37090    :param annotations: List of tags that can be used for describing the Dataset.
37091    :type annotations: list[any]
37092    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
37093     root level.
37094    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
37095    :param table_name: The table name. Type: string (or Expression with resultType string).
37096    :type table_name: any
37097    """
37098
37099    _validation = {
37100        'type': {'required': True},
37101        'linked_service_name': {'required': True},
37102    }
37103
37104    _attribute_map = {
37105        'additional_properties': {'key': '', 'type': '{object}'},
37106        'type': {'key': 'type', 'type': 'str'},
37107        'description': {'key': 'description', 'type': 'str'},
37108        'structure': {'key': 'structure', 'type': 'object'},
37109        'schema': {'key': 'schema', 'type': 'object'},
37110        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
37111        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
37112        'annotations': {'key': 'annotations', 'type': '[object]'},
37113        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
37114        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
37115    }
37116
37117    def __init__(
37118        self,
37119        *,
37120        linked_service_name: "LinkedServiceReference",
37121        additional_properties: Optional[Dict[str, Any]] = None,
37122        description: Optional[str] = None,
37123        structure: Optional[Any] = None,
37124        schema: Optional[Any] = None,
37125        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
37126        annotations: Optional[List[Any]] = None,
37127        folder: Optional["DatasetFolder"] = None,
37128        table_name: Optional[Any] = None,
37129        **kwargs
37130    ):
37131        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)
37132        self.type = 'SquareObject'  # type: str
37133        self.table_name = table_name
37134
37135
37136class SquareSource(TabularSource):
37137    """A copy activity Square Service source.
37138
37139    All required parameters must be populated in order to send to Azure.
37140
37141    :param additional_properties: Unmatched properties from the message are deserialized to this
37142     collection.
37143    :type additional_properties: dict[str, any]
37144    :param type: Required. Copy source type.Constant filled by server.
37145    :type type: str
37146    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
37147     integer).
37148    :type source_retry_count: any
37149    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
37150     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37151    :type source_retry_wait: any
37152    :param max_concurrent_connections: The maximum concurrent connection count for the source data
37153     store. Type: integer (or Expression with resultType integer).
37154    :type max_concurrent_connections: any
37155    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
37156     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37157    :type query_timeout: any
37158    :param additional_columns: Specifies the additional columns to be added to source data. Type:
37159     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
37160    :type additional_columns: any
37161    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
37162     string).
37163    :type query: any
37164    """
37165
37166    _validation = {
37167        'type': {'required': True},
37168    }
37169
37170    _attribute_map = {
37171        'additional_properties': {'key': '', 'type': '{object}'},
37172        'type': {'key': 'type', 'type': 'str'},
37173        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
37174        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
37175        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
37176        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
37177        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
37178        'query': {'key': 'query', 'type': 'object'},
37179    }
37180
37181    def __init__(
37182        self,
37183        *,
37184        additional_properties: Optional[Dict[str, Any]] = None,
37185        source_retry_count: Optional[Any] = None,
37186        source_retry_wait: Optional[Any] = None,
37187        max_concurrent_connections: Optional[Any] = None,
37188        query_timeout: Optional[Any] = None,
37189        additional_columns: Optional[Any] = None,
37190        query: Optional[Any] = None,
37191        **kwargs
37192    ):
37193        super(SquareSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
37194        self.type = 'SquareSource'  # type: str
37195        self.query = query
37196
37197
37198class SSISAccessCredential(msrest.serialization.Model):
37199    """SSIS access credential.
37200
37201    All required parameters must be populated in order to send to Azure.
37202
37203    :param domain: Required. Domain for windows authentication.
37204    :type domain: any
37205    :param user_name: Required. UseName for windows authentication.
37206    :type user_name: any
37207    :param password: Required. Password for windows authentication.
37208    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
37209    """
37210
37211    _validation = {
37212        'domain': {'required': True},
37213        'user_name': {'required': True},
37214        'password': {'required': True},
37215    }
37216
37217    _attribute_map = {
37218        'domain': {'key': 'domain', 'type': 'object'},
37219        'user_name': {'key': 'userName', 'type': 'object'},
37220        'password': {'key': 'password', 'type': 'SecretBase'},
37221    }
37222
37223    def __init__(
37224        self,
37225        *,
37226        domain: Any,
37227        user_name: Any,
37228        password: "SecretBase",
37229        **kwargs
37230    ):
37231        super(SSISAccessCredential, self).__init__(**kwargs)
37232        self.domain = domain
37233        self.user_name = user_name
37234        self.password = password
37235
37236
37237class SSISChildPackage(msrest.serialization.Model):
37238    """SSIS embedded child package.
37239
37240    All required parameters must be populated in order to send to Azure.
37241
37242    :param package_path: Required. Path for embedded child package. Type: string (or Expression
37243     with resultType string).
37244    :type package_path: any
37245    :param package_name: Name for embedded child package.
37246    :type package_name: str
37247    :param package_content: Required. Content for embedded child package. Type: string (or
37248     Expression with resultType string).
37249    :type package_content: any
37250    :param package_last_modified_date: Last modified date for embedded child package.
37251    :type package_last_modified_date: str
37252    """
37253
37254    _validation = {
37255        'package_path': {'required': True},
37256        'package_content': {'required': True},
37257    }
37258
37259    _attribute_map = {
37260        'package_path': {'key': 'packagePath', 'type': 'object'},
37261        'package_name': {'key': 'packageName', 'type': 'str'},
37262        'package_content': {'key': 'packageContent', 'type': 'object'},
37263        'package_last_modified_date': {'key': 'packageLastModifiedDate', 'type': 'str'},
37264    }
37265
37266    def __init__(
37267        self,
37268        *,
37269        package_path: Any,
37270        package_content: Any,
37271        package_name: Optional[str] = None,
37272        package_last_modified_date: Optional[str] = None,
37273        **kwargs
37274    ):
37275        super(SSISChildPackage, self).__init__(**kwargs)
37276        self.package_path = package_path
37277        self.package_name = package_name
37278        self.package_content = package_content
37279        self.package_last_modified_date = package_last_modified_date
37280
37281
37282class SSISExecutionCredential(msrest.serialization.Model):
37283    """SSIS package execution credential.
37284
37285    All required parameters must be populated in order to send to Azure.
37286
37287    :param domain: Required. Domain for windows authentication.
37288    :type domain: any
37289    :param user_name: Required. UseName for windows authentication.
37290    :type user_name: any
37291    :param password: Required. Password for windows authentication.
37292    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecureString
37293    """
37294
37295    _validation = {
37296        'domain': {'required': True},
37297        'user_name': {'required': True},
37298        'password': {'required': True},
37299    }
37300
37301    _attribute_map = {
37302        'domain': {'key': 'domain', 'type': 'object'},
37303        'user_name': {'key': 'userName', 'type': 'object'},
37304        'password': {'key': 'password', 'type': 'SecureString'},
37305    }
37306
37307    def __init__(
37308        self,
37309        *,
37310        domain: Any,
37311        user_name: Any,
37312        password: "SecureString",
37313        **kwargs
37314    ):
37315        super(SSISExecutionCredential, self).__init__(**kwargs)
37316        self.domain = domain
37317        self.user_name = user_name
37318        self.password = password
37319
37320
37321class SSISExecutionParameter(msrest.serialization.Model):
37322    """SSIS execution parameter.
37323
37324    All required parameters must be populated in order to send to Azure.
37325
37326    :param value: Required. SSIS package execution parameter value. Type: string (or Expression
37327     with resultType string).
37328    :type value: any
37329    """
37330
37331    _validation = {
37332        'value': {'required': True},
37333    }
37334
37335    _attribute_map = {
37336        'value': {'key': 'value', 'type': 'object'},
37337    }
37338
37339    def __init__(
37340        self,
37341        *,
37342        value: Any,
37343        **kwargs
37344    ):
37345        super(SSISExecutionParameter, self).__init__(**kwargs)
37346        self.value = value
37347
37348
37349class SSISLogLocation(msrest.serialization.Model):
37350    """SSIS package execution log location.
37351
37352    All required parameters must be populated in order to send to Azure.
37353
37354    :param log_path: Required. The SSIS package execution log path. Type: string (or Expression
37355     with resultType string).
37356    :type log_path: any
37357    :param type: Required. The type of SSIS log location. Possible values include: "File".
37358    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.SsisLogLocationType
37359    :param access_credential: The package execution log access credential.
37360    :type access_credential: ~azure.synapse.artifacts.v2020_12_01.models.SSISAccessCredential
37361    :param log_refresh_interval: Specifies the interval to refresh log. The default interval is 5
37362     minutes. Type: string (or Expression with resultType string), pattern:
37363     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37364    :type log_refresh_interval: any
37365    """
37366
37367    _validation = {
37368        'log_path': {'required': True},
37369        'type': {'required': True},
37370    }
37371
37372    _attribute_map = {
37373        'log_path': {'key': 'logPath', 'type': 'object'},
37374        'type': {'key': 'type', 'type': 'str'},
37375        'access_credential': {'key': 'typeProperties.accessCredential', 'type': 'SSISAccessCredential'},
37376        'log_refresh_interval': {'key': 'typeProperties.logRefreshInterval', 'type': 'object'},
37377    }
37378
37379    def __init__(
37380        self,
37381        *,
37382        log_path: Any,
37383        type: Union[str, "SsisLogLocationType"],
37384        access_credential: Optional["SSISAccessCredential"] = None,
37385        log_refresh_interval: Optional[Any] = None,
37386        **kwargs
37387    ):
37388        super(SSISLogLocation, self).__init__(**kwargs)
37389        self.log_path = log_path
37390        self.type = type
37391        self.access_credential = access_credential
37392        self.log_refresh_interval = log_refresh_interval
37393
37394
37395class SsisObjectMetadataStatusResponse(msrest.serialization.Model):
37396    """The status of the operation.
37397
37398    :param status: The status of the operation.
37399    :type status: str
37400    :param name: The operation name.
37401    :type name: str
37402    :param properties: The operation properties.
37403    :type properties: str
37404    :param error: The operation error message.
37405    :type error: str
37406    """
37407
37408    _attribute_map = {
37409        'status': {'key': 'status', 'type': 'str'},
37410        'name': {'key': 'name', 'type': 'str'},
37411        'properties': {'key': 'properties', 'type': 'str'},
37412        'error': {'key': 'error', 'type': 'str'},
37413    }
37414
37415    def __init__(
37416        self,
37417        *,
37418        status: Optional[str] = None,
37419        name: Optional[str] = None,
37420        properties: Optional[str] = None,
37421        error: Optional[str] = None,
37422        **kwargs
37423    ):
37424        super(SsisObjectMetadataStatusResponse, self).__init__(**kwargs)
37425        self.status = status
37426        self.name = name
37427        self.properties = properties
37428        self.error = error
37429
37430
37431class SSISPackageLocation(msrest.serialization.Model):
37432    """SSIS package location.
37433
37434    :param package_path: The SSIS package path. Type: string (or Expression with resultType
37435     string).
37436    :type package_path: any
37437    :param type: The type of SSIS package location. Possible values include: "SSISDB", "File",
37438     "InlinePackage", "PackageStore".
37439    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.SsisPackageLocationType
37440    :param package_password: Password of the package.
37441    :type package_password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
37442    :param access_credential: The package access credential.
37443    :type access_credential: ~azure.synapse.artifacts.v2020_12_01.models.SSISAccessCredential
37444    :param configuration_path: The configuration file of the package execution. Type: string (or
37445     Expression with resultType string).
37446    :type configuration_path: any
37447    :param configuration_access_credential: The configuration file access credential.
37448    :type configuration_access_credential:
37449     ~azure.synapse.artifacts.v2020_12_01.models.SSISAccessCredential
37450    :param package_name: The package name.
37451    :type package_name: str
37452    :param package_content: The embedded package content. Type: string (or Expression with
37453     resultType string).
37454    :type package_content: any
37455    :param package_last_modified_date: The embedded package last modified date.
37456    :type package_last_modified_date: str
37457    :param child_packages: The embedded child package list.
37458    :type child_packages: list[~azure.synapse.artifacts.v2020_12_01.models.SSISChildPackage]
37459    """
37460
37461    _attribute_map = {
37462        'package_path': {'key': 'packagePath', 'type': 'object'},
37463        'type': {'key': 'type', 'type': 'str'},
37464        'package_password': {'key': 'typeProperties.packagePassword', 'type': 'SecretBase'},
37465        'access_credential': {'key': 'typeProperties.accessCredential', 'type': 'SSISAccessCredential'},
37466        'configuration_path': {'key': 'typeProperties.configurationPath', 'type': 'object'},
37467        'configuration_access_credential': {'key': 'typeProperties.configurationAccessCredential', 'type': 'SSISAccessCredential'},
37468        'package_name': {'key': 'typeProperties.packageName', 'type': 'str'},
37469        'package_content': {'key': 'typeProperties.packageContent', 'type': 'object'},
37470        'package_last_modified_date': {'key': 'typeProperties.packageLastModifiedDate', 'type': 'str'},
37471        'child_packages': {'key': 'typeProperties.childPackages', 'type': '[SSISChildPackage]'},
37472    }
37473
37474    def __init__(
37475        self,
37476        *,
37477        package_path: Optional[Any] = None,
37478        type: Optional[Union[str, "SsisPackageLocationType"]] = None,
37479        package_password: Optional["SecretBase"] = None,
37480        access_credential: Optional["SSISAccessCredential"] = None,
37481        configuration_path: Optional[Any] = None,
37482        configuration_access_credential: Optional["SSISAccessCredential"] = None,
37483        package_name: Optional[str] = None,
37484        package_content: Optional[Any] = None,
37485        package_last_modified_date: Optional[str] = None,
37486        child_packages: Optional[List["SSISChildPackage"]] = None,
37487        **kwargs
37488    ):
37489        super(SSISPackageLocation, self).__init__(**kwargs)
37490        self.package_path = package_path
37491        self.type = type
37492        self.package_password = package_password
37493        self.access_credential = access_credential
37494        self.configuration_path = configuration_path
37495        self.configuration_access_credential = configuration_access_credential
37496        self.package_name = package_name
37497        self.package_content = package_content
37498        self.package_last_modified_date = package_last_modified_date
37499        self.child_packages = child_packages
37500
37501
37502class SSISPropertyOverride(msrest.serialization.Model):
37503    """SSIS property override.
37504
37505    All required parameters must be populated in order to send to Azure.
37506
37507    :param value: Required. SSIS package property override value. Type: string (or Expression with
37508     resultType string).
37509    :type value: any
37510    :param is_sensitive: Whether SSIS package property override value is sensitive data. Value will
37511     be encrypted in SSISDB if it is true.
37512    :type is_sensitive: bool
37513    """
37514
37515    _validation = {
37516        'value': {'required': True},
37517    }
37518
37519    _attribute_map = {
37520        'value': {'key': 'value', 'type': 'object'},
37521        'is_sensitive': {'key': 'isSensitive', 'type': 'bool'},
37522    }
37523
37524    def __init__(
37525        self,
37526        *,
37527        value: Any,
37528        is_sensitive: Optional[bool] = None,
37529        **kwargs
37530    ):
37531        super(SSISPropertyOverride, self).__init__(**kwargs)
37532        self.value = value
37533        self.is_sensitive = is_sensitive
37534
37535
37536class StagingSettings(msrest.serialization.Model):
37537    """Staging settings.
37538
37539    All required parameters must be populated in order to send to Azure.
37540
37541    :param additional_properties: Unmatched properties from the message are deserialized to this
37542     collection.
37543    :type additional_properties: dict[str, any]
37544    :param linked_service_name: Required. Staging linked service reference.
37545    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
37546    :param path: The path to storage for storing the interim data. Type: string (or Expression with
37547     resultType string).
37548    :type path: any
37549    :param enable_compression: Specifies whether to use compression when copying data via an
37550     interim staging. Default value is false. Type: boolean (or Expression with resultType boolean).
37551    :type enable_compression: any
37552    """
37553
37554    _validation = {
37555        'linked_service_name': {'required': True},
37556    }
37557
37558    _attribute_map = {
37559        'additional_properties': {'key': '', 'type': '{object}'},
37560        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
37561        'path': {'key': 'path', 'type': 'object'},
37562        'enable_compression': {'key': 'enableCompression', 'type': 'object'},
37563    }
37564
37565    def __init__(
37566        self,
37567        *,
37568        linked_service_name: "LinkedServiceReference",
37569        additional_properties: Optional[Dict[str, Any]] = None,
37570        path: Optional[Any] = None,
37571        enable_compression: Optional[Any] = None,
37572        **kwargs
37573    ):
37574        super(StagingSettings, self).__init__(**kwargs)
37575        self.additional_properties = additional_properties
37576        self.linked_service_name = linked_service_name
37577        self.path = path
37578        self.enable_compression = enable_compression
37579
37580
37581class StartDataFlowDebugSessionRequest(msrest.serialization.Model):
37582    """Request body structure for starting data flow debug session.
37583
37584    :param session_id: The ID of data flow debug session.
37585    :type session_id: str
37586    :param data_flow: Data flow instance.
37587    :type data_flow: ~azure.synapse.artifacts.v2020_12_01.models.DataFlowResource
37588    :param datasets: List of datasets.
37589    :type datasets: list[~azure.synapse.artifacts.v2020_12_01.models.DatasetResource]
37590    :param linked_services: List of linked services.
37591    :type linked_services: list[~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceResource]
37592    :param staging: Staging info for debug session.
37593    :type staging: any
37594    :param debug_settings: Data flow debug settings.
37595    :type debug_settings: any
37596    :param incremental_debug: The type of new Databricks cluster.
37597    :type incremental_debug: bool
37598    """
37599
37600    _attribute_map = {
37601        'session_id': {'key': 'sessionId', 'type': 'str'},
37602        'data_flow': {'key': 'dataFlow', 'type': 'DataFlowResource'},
37603        'datasets': {'key': 'datasets', 'type': '[DatasetResource]'},
37604        'linked_services': {'key': 'linkedServices', 'type': '[LinkedServiceResource]'},
37605        'staging': {'key': 'staging', 'type': 'object'},
37606        'debug_settings': {'key': 'debugSettings', 'type': 'object'},
37607        'incremental_debug': {'key': 'incrementalDebug', 'type': 'bool'},
37608    }
37609
37610    def __init__(
37611        self,
37612        *,
37613        session_id: Optional[str] = None,
37614        data_flow: Optional["DataFlowResource"] = None,
37615        datasets: Optional[List["DatasetResource"]] = None,
37616        linked_services: Optional[List["LinkedServiceResource"]] = None,
37617        staging: Optional[Any] = None,
37618        debug_settings: Optional[Any] = None,
37619        incremental_debug: Optional[bool] = None,
37620        **kwargs
37621    ):
37622        super(StartDataFlowDebugSessionRequest, self).__init__(**kwargs)
37623        self.session_id = session_id
37624        self.data_flow = data_flow
37625        self.datasets = datasets
37626        self.linked_services = linked_services
37627        self.staging = staging
37628        self.debug_settings = debug_settings
37629        self.incremental_debug = incremental_debug
37630
37631
37632class StartDataFlowDebugSessionResponse(msrest.serialization.Model):
37633    """Response body structure for starting data flow debug session.
37634
37635    :param job_version: The ID of data flow debug job version.
37636    :type job_version: str
37637    """
37638
37639    _attribute_map = {
37640        'job_version': {'key': 'jobVersion', 'type': 'str'},
37641    }
37642
37643    def __init__(
37644        self,
37645        *,
37646        job_version: Optional[str] = None,
37647        **kwargs
37648    ):
37649        super(StartDataFlowDebugSessionResponse, self).__init__(**kwargs)
37650        self.job_version = job_version
37651
37652
37653class StoredProcedureParameter(msrest.serialization.Model):
37654    """SQL stored procedure parameter.
37655
37656    :param value: Stored procedure parameter value. Type: string (or Expression with resultType
37657     string).
37658    :type value: any
37659    :param type: Stored procedure parameter type. Possible values include: "String", "Int",
37660     "Int64", "Decimal", "Guid", "Boolean", "Date".
37661    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.StoredProcedureParameterType
37662    """
37663
37664    _attribute_map = {
37665        'value': {'key': 'value', 'type': 'object'},
37666        'type': {'key': 'type', 'type': 'str'},
37667    }
37668
37669    def __init__(
37670        self,
37671        *,
37672        value: Optional[Any] = None,
37673        type: Optional[Union[str, "StoredProcedureParameterType"]] = None,
37674        **kwargs
37675    ):
37676        super(StoredProcedureParameter, self).__init__(**kwargs)
37677        self.value = value
37678        self.type = type
37679
37680
37681class SwitchActivity(ControlActivity):
37682    """This activity evaluates an expression and executes activities under the cases property that correspond to the expression evaluation expected in the equals property.
37683
37684    All required parameters must be populated in order to send to Azure.
37685
37686    :param additional_properties: Unmatched properties from the message are deserialized to this
37687     collection.
37688    :type additional_properties: dict[str, any]
37689    :param name: Required. Activity name.
37690    :type name: str
37691    :param type: Required. Type of activity.Constant filled by server.
37692    :type type: str
37693    :param description: Activity description.
37694    :type description: str
37695    :param depends_on: Activity depends on condition.
37696    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
37697    :param user_properties: Activity user properties.
37698    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
37699    :param on: Required. An expression that would evaluate to a string or integer. This is used to
37700     determine the block of activities in cases that will be executed.
37701    :type on: ~azure.synapse.artifacts.v2020_12_01.models.Expression
37702    :param cases: List of cases that correspond to expected values of the 'on' property. This is an
37703     optional property and if not provided, the activity will execute activities provided in
37704     defaultActivities.
37705    :type cases: list[~azure.synapse.artifacts.v2020_12_01.models.SwitchCase]
37706    :param default_activities: List of activities to execute if no case condition is satisfied.
37707     This is an optional property and if not provided, the activity will exit without any action.
37708    :type default_activities: list[~azure.synapse.artifacts.v2020_12_01.models.Activity]
37709    """
37710
37711    _validation = {
37712        'name': {'required': True},
37713        'type': {'required': True},
37714        'on': {'required': True},
37715    }
37716
37717    _attribute_map = {
37718        'additional_properties': {'key': '', 'type': '{object}'},
37719        'name': {'key': 'name', 'type': 'str'},
37720        'type': {'key': 'type', 'type': 'str'},
37721        'description': {'key': 'description', 'type': 'str'},
37722        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
37723        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
37724        'on': {'key': 'typeProperties.on', 'type': 'Expression'},
37725        'cases': {'key': 'typeProperties.cases', 'type': '[SwitchCase]'},
37726        'default_activities': {'key': 'typeProperties.defaultActivities', 'type': '[Activity]'},
37727    }
37728
37729    def __init__(
37730        self,
37731        *,
37732        name: str,
37733        on: "Expression",
37734        additional_properties: Optional[Dict[str, Any]] = None,
37735        description: Optional[str] = None,
37736        depends_on: Optional[List["ActivityDependency"]] = None,
37737        user_properties: Optional[List["UserProperty"]] = None,
37738        cases: Optional[List["SwitchCase"]] = None,
37739        default_activities: Optional[List["Activity"]] = None,
37740        **kwargs
37741    ):
37742        super(SwitchActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
37743        self.type = 'Switch'  # type: str
37744        self.on = on
37745        self.cases = cases
37746        self.default_activities = default_activities
37747
37748
37749class SwitchCase(msrest.serialization.Model):
37750    """Switch cases with have a value and corresponding activities.
37751
37752    :param value: Expected value that satisfies the expression result of the 'on' property.
37753    :type value: str
37754    :param activities: List of activities to execute for satisfied case condition.
37755    :type activities: list[~azure.synapse.artifacts.v2020_12_01.models.Activity]
37756    """
37757
37758    _attribute_map = {
37759        'value': {'key': 'value', 'type': 'str'},
37760        'activities': {'key': 'activities', 'type': '[Activity]'},
37761    }
37762
37763    def __init__(
37764        self,
37765        *,
37766        value: Optional[str] = None,
37767        activities: Optional[List["Activity"]] = None,
37768        **kwargs
37769    ):
37770        super(SwitchCase, self).__init__(**kwargs)
37771        self.value = value
37772        self.activities = activities
37773
37774
37775class SybaseLinkedService(LinkedService):
37776    """Linked service for Sybase data source.
37777
37778    All required parameters must be populated in order to send to Azure.
37779
37780    :param additional_properties: Unmatched properties from the message are deserialized to this
37781     collection.
37782    :type additional_properties: dict[str, any]
37783    :param type: Required. Type of linked service.Constant filled by server.
37784    :type type: str
37785    :param connect_via: The integration runtime reference.
37786    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
37787    :param description: Linked service description.
37788    :type description: str
37789    :param parameters: Parameters for linked service.
37790    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
37791    :param annotations: List of tags that can be used for describing the linked service.
37792    :type annotations: list[any]
37793    :param server: Required. Server name for connection. Type: string (or Expression with
37794     resultType string).
37795    :type server: any
37796    :param database: Required. Database name for connection. Type: string (or Expression with
37797     resultType string).
37798    :type database: any
37799    :param schema: Schema name for connection. Type: string (or Expression with resultType string).
37800    :type schema: any
37801    :param authentication_type: AuthenticationType to be used for connection. Possible values
37802     include: "Basic", "Windows".
37803    :type authentication_type: str or
37804     ~azure.synapse.artifacts.v2020_12_01.models.SybaseAuthenticationType
37805    :param username: Username for authentication. Type: string (or Expression with resultType
37806     string).
37807    :type username: any
37808    :param password: Password for authentication.
37809    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
37810    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
37811     encrypted using the integration runtime credential manager. Type: string (or Expression with
37812     resultType string).
37813    :type encrypted_credential: any
37814    """
37815
37816    _validation = {
37817        'type': {'required': True},
37818        'server': {'required': True},
37819        'database': {'required': True},
37820    }
37821
37822    _attribute_map = {
37823        'additional_properties': {'key': '', 'type': '{object}'},
37824        'type': {'key': 'type', 'type': 'str'},
37825        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
37826        'description': {'key': 'description', 'type': 'str'},
37827        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
37828        'annotations': {'key': 'annotations', 'type': '[object]'},
37829        'server': {'key': 'typeProperties.server', 'type': 'object'},
37830        'database': {'key': 'typeProperties.database', 'type': 'object'},
37831        'schema': {'key': 'typeProperties.schema', 'type': 'object'},
37832        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
37833        'username': {'key': 'typeProperties.username', 'type': 'object'},
37834        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
37835        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
37836    }
37837
37838    def __init__(
37839        self,
37840        *,
37841        server: Any,
37842        database: Any,
37843        additional_properties: Optional[Dict[str, Any]] = None,
37844        connect_via: Optional["IntegrationRuntimeReference"] = None,
37845        description: Optional[str] = None,
37846        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
37847        annotations: Optional[List[Any]] = None,
37848        schema: Optional[Any] = None,
37849        authentication_type: Optional[Union[str, "SybaseAuthenticationType"]] = None,
37850        username: Optional[Any] = None,
37851        password: Optional["SecretBase"] = None,
37852        encrypted_credential: Optional[Any] = None,
37853        **kwargs
37854    ):
37855        super(SybaseLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
37856        self.type = 'Sybase'  # type: str
37857        self.server = server
37858        self.database = database
37859        self.schema = schema
37860        self.authentication_type = authentication_type
37861        self.username = username
37862        self.password = password
37863        self.encrypted_credential = encrypted_credential
37864
37865
37866class SybaseSource(TabularSource):
37867    """A copy activity source for Sybase databases.
37868
37869    All required parameters must be populated in order to send to Azure.
37870
37871    :param additional_properties: Unmatched properties from the message are deserialized to this
37872     collection.
37873    :type additional_properties: dict[str, any]
37874    :param type: Required. Copy source type.Constant filled by server.
37875    :type type: str
37876    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
37877     integer).
37878    :type source_retry_count: any
37879    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
37880     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37881    :type source_retry_wait: any
37882    :param max_concurrent_connections: The maximum concurrent connection count for the source data
37883     store. Type: integer (or Expression with resultType integer).
37884    :type max_concurrent_connections: any
37885    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
37886     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37887    :type query_timeout: any
37888    :param additional_columns: Specifies the additional columns to be added to source data. Type:
37889     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
37890    :type additional_columns: any
37891    :param query: Database query. Type: string (or Expression with resultType string).
37892    :type query: any
37893    """
37894
37895    _validation = {
37896        'type': {'required': True},
37897    }
37898
37899    _attribute_map = {
37900        'additional_properties': {'key': '', 'type': '{object}'},
37901        'type': {'key': 'type', 'type': 'str'},
37902        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
37903        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
37904        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
37905        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
37906        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
37907        'query': {'key': 'query', 'type': 'object'},
37908    }
37909
37910    def __init__(
37911        self,
37912        *,
37913        additional_properties: Optional[Dict[str, Any]] = None,
37914        source_retry_count: Optional[Any] = None,
37915        source_retry_wait: Optional[Any] = None,
37916        max_concurrent_connections: Optional[Any] = None,
37917        query_timeout: Optional[Any] = None,
37918        additional_columns: Optional[Any] = None,
37919        query: Optional[Any] = None,
37920        **kwargs
37921    ):
37922        super(SybaseSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
37923        self.type = 'SybaseSource'  # type: str
37924        self.query = query
37925
37926
37927class SybaseTableDataset(Dataset):
37928    """The Sybase table dataset.
37929
37930    All required parameters must be populated in order to send to Azure.
37931
37932    :param additional_properties: Unmatched properties from the message are deserialized to this
37933     collection.
37934    :type additional_properties: dict[str, any]
37935    :param type: Required. Type of dataset.Constant filled by server.
37936    :type type: str
37937    :param description: Dataset description.
37938    :type description: str
37939    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
37940     with resultType array), itemType: DatasetDataElement.
37941    :type structure: any
37942    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
37943     Expression with resultType array), itemType: DatasetSchemaDataElement.
37944    :type schema: any
37945    :param linked_service_name: Required. Linked service reference.
37946    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
37947    :param parameters: Parameters for dataset.
37948    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
37949    :param annotations: List of tags that can be used for describing the Dataset.
37950    :type annotations: list[any]
37951    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
37952     root level.
37953    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
37954    :param table_name: The Sybase table name. Type: string (or Expression with resultType string).
37955    :type table_name: any
37956    """
37957
37958    _validation = {
37959        'type': {'required': True},
37960        'linked_service_name': {'required': True},
37961    }
37962
37963    _attribute_map = {
37964        'additional_properties': {'key': '', 'type': '{object}'},
37965        'type': {'key': 'type', 'type': 'str'},
37966        'description': {'key': 'description', 'type': 'str'},
37967        'structure': {'key': 'structure', 'type': 'object'},
37968        'schema': {'key': 'schema', 'type': 'object'},
37969        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
37970        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
37971        'annotations': {'key': 'annotations', 'type': '[object]'},
37972        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
37973        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
37974    }
37975
37976    def __init__(
37977        self,
37978        *,
37979        linked_service_name: "LinkedServiceReference",
37980        additional_properties: Optional[Dict[str, Any]] = None,
37981        description: Optional[str] = None,
37982        structure: Optional[Any] = None,
37983        schema: Optional[Any] = None,
37984        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
37985        annotations: Optional[List[Any]] = None,
37986        folder: Optional["DatasetFolder"] = None,
37987        table_name: Optional[Any] = None,
37988        **kwargs
37989    ):
37990        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)
37991        self.type = 'SybaseTable'  # type: str
37992        self.table_name = table_name
37993
37994
37995class SynapseNotebookActivity(ExecutionActivity):
37996    """Execute Synapse notebook activity.
37997
37998    All required parameters must be populated in order to send to Azure.
37999
38000    :param additional_properties: Unmatched properties from the message are deserialized to this
38001     collection.
38002    :type additional_properties: dict[str, any]
38003    :param name: Required. Activity name.
38004    :type name: str
38005    :param type: Required. Type of activity.Constant filled by server.
38006    :type type: str
38007    :param description: Activity description.
38008    :type description: str
38009    :param depends_on: Activity depends on condition.
38010    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
38011    :param user_properties: Activity user properties.
38012    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
38013    :param linked_service_name: Linked service reference.
38014    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
38015    :param policy: Activity policy.
38016    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
38017    :param notebook: Required. Synapse notebook reference.
38018    :type notebook: ~azure.synapse.artifacts.v2020_12_01.models.SynapseNotebookReference
38019    :param parameters: Notebook parameters.
38020    :type parameters: dict[str, any]
38021    """
38022
38023    _validation = {
38024        'name': {'required': True},
38025        'type': {'required': True},
38026        'notebook': {'required': True},
38027    }
38028
38029    _attribute_map = {
38030        'additional_properties': {'key': '', 'type': '{object}'},
38031        'name': {'key': 'name', 'type': 'str'},
38032        'type': {'key': 'type', 'type': 'str'},
38033        'description': {'key': 'description', 'type': 'str'},
38034        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
38035        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
38036        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
38037        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
38038        'notebook': {'key': 'typeProperties.notebook', 'type': 'SynapseNotebookReference'},
38039        'parameters': {'key': 'typeProperties.parameters', 'type': '{object}'},
38040    }
38041
38042    def __init__(
38043        self,
38044        *,
38045        name: str,
38046        notebook: "SynapseNotebookReference",
38047        additional_properties: Optional[Dict[str, Any]] = None,
38048        description: Optional[str] = None,
38049        depends_on: Optional[List["ActivityDependency"]] = None,
38050        user_properties: Optional[List["UserProperty"]] = None,
38051        linked_service_name: Optional["LinkedServiceReference"] = None,
38052        policy: Optional["ActivityPolicy"] = None,
38053        parameters: Optional[Dict[str, Any]] = None,
38054        **kwargs
38055    ):
38056        super(SynapseNotebookActivity, 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)
38057        self.type = 'SynapseNotebook'  # type: str
38058        self.notebook = notebook
38059        self.parameters = parameters
38060
38061
38062class SynapseNotebookReference(msrest.serialization.Model):
38063    """Synapse notebook reference type.
38064
38065    All required parameters must be populated in order to send to Azure.
38066
38067    :param type: Required. Synapse notebook reference type. Possible values include:
38068     "NotebookReference".
38069    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.NotebookReferenceType
38070    :param reference_name: Required. Reference notebook name.
38071    :type reference_name: str
38072    """
38073
38074    _validation = {
38075        'type': {'required': True},
38076        'reference_name': {'required': True},
38077    }
38078
38079    _attribute_map = {
38080        'type': {'key': 'type', 'type': 'str'},
38081        'reference_name': {'key': 'referenceName', 'type': 'str'},
38082    }
38083
38084    def __init__(
38085        self,
38086        *,
38087        type: Union[str, "NotebookReferenceType"],
38088        reference_name: str,
38089        **kwargs
38090    ):
38091        super(SynapseNotebookReference, self).__init__(**kwargs)
38092        self.type = type
38093        self.reference_name = reference_name
38094
38095
38096class SynapseSparkJobDefinitionActivity(ExecutionActivity):
38097    """Execute spark job activity.
38098
38099    All required parameters must be populated in order to send to Azure.
38100
38101    :param additional_properties: Unmatched properties from the message are deserialized to this
38102     collection.
38103    :type additional_properties: dict[str, any]
38104    :param name: Required. Activity name.
38105    :type name: str
38106    :param type: Required. Type of activity.Constant filled by server.
38107    :type type: str
38108    :param description: Activity description.
38109    :type description: str
38110    :param depends_on: Activity depends on condition.
38111    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
38112    :param user_properties: Activity user properties.
38113    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
38114    :param linked_service_name: Linked service reference.
38115    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
38116    :param policy: Activity policy.
38117    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
38118    :param spark_job: Required. Synapse spark job reference.
38119    :type spark_job: ~azure.synapse.artifacts.v2020_12_01.models.SynapseSparkJobReference
38120    """
38121
38122    _validation = {
38123        'name': {'required': True},
38124        'type': {'required': True},
38125        'spark_job': {'required': True},
38126    }
38127
38128    _attribute_map = {
38129        'additional_properties': {'key': '', 'type': '{object}'},
38130        'name': {'key': 'name', 'type': 'str'},
38131        'type': {'key': 'type', 'type': 'str'},
38132        'description': {'key': 'description', 'type': 'str'},
38133        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
38134        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
38135        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
38136        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
38137        'spark_job': {'key': 'typeProperties.sparkJob', 'type': 'SynapseSparkJobReference'},
38138    }
38139
38140    def __init__(
38141        self,
38142        *,
38143        name: str,
38144        spark_job: "SynapseSparkJobReference",
38145        additional_properties: Optional[Dict[str, Any]] = None,
38146        description: Optional[str] = None,
38147        depends_on: Optional[List["ActivityDependency"]] = None,
38148        user_properties: Optional[List["UserProperty"]] = None,
38149        linked_service_name: Optional["LinkedServiceReference"] = None,
38150        policy: Optional["ActivityPolicy"] = None,
38151        **kwargs
38152    ):
38153        super(SynapseSparkJobDefinitionActivity, 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)
38154        self.type = 'SparkJob'  # type: str
38155        self.spark_job = spark_job
38156
38157
38158class SynapseSparkJobReference(msrest.serialization.Model):
38159    """Synapse spark job reference type.
38160
38161    All required parameters must be populated in order to send to Azure.
38162
38163    :param type: Required. Synapse spark job reference type. Possible values include:
38164     "SparkJobDefinitionReference".
38165    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.SparkJobReferenceType
38166    :param reference_name: Required. Reference spark job name.
38167    :type reference_name: str
38168    """
38169
38170    _validation = {
38171        'type': {'required': True},
38172        'reference_name': {'required': True},
38173    }
38174
38175    _attribute_map = {
38176        'type': {'key': 'type', 'type': 'str'},
38177        'reference_name': {'key': 'referenceName', 'type': 'str'},
38178    }
38179
38180    def __init__(
38181        self,
38182        *,
38183        type: Union[str, "SparkJobReferenceType"],
38184        reference_name: str,
38185        **kwargs
38186    ):
38187        super(SynapseSparkJobReference, self).__init__(**kwargs)
38188        self.type = type
38189        self.reference_name = reference_name
38190
38191
38192class TabularTranslator(CopyTranslator):
38193    """A copy activity tabular translator.
38194
38195    All required parameters must be populated in order to send to Azure.
38196
38197    :param additional_properties: Unmatched properties from the message are deserialized to this
38198     collection.
38199    :type additional_properties: dict[str, any]
38200    :param type: Required. Copy translator type.Constant filled by server.
38201    :type type: str
38202    :param column_mappings: Column mappings. Example: "UserId: MyUserId, Group: MyGroup, Name:
38203     MyName" Type: string (or Expression with resultType string). This property will be retired.
38204     Please use mappings property.
38205    :type column_mappings: any
38206    :param schema_mapping: The schema mapping to map between tabular data and hierarchical data.
38207     Example: {"Column1": "$.Column1", "Column2": "$.Column2.Property1", "Column3":
38208     "$.Column2.Property2"}. Type: object (or Expression with resultType object). This property will
38209     be retired. Please use mappings property.
38210    :type schema_mapping: any
38211    :param collection_reference: The JSON Path of the Nested Array that is going to do cross-apply.
38212     Type: object (or Expression with resultType object).
38213    :type collection_reference: any
38214    :param map_complex_values_to_string: Whether to map complex (array and object) values to simple
38215     strings in json format. Type: boolean (or Expression with resultType boolean).
38216    :type map_complex_values_to_string: any
38217    :param mappings: Column mappings with logical types. Tabular->tabular example:
38218     [{"source":{"name":"CustomerName","type":"String"},"sink":{"name":"ClientName","type":"String"}},{"source":{"name":"CustomerAddress","type":"String"},"sink":{"name":"ClientAddress","type":"String"}}].
38219     Hierarchical->tabular example:
38220     [{"source":{"path":"$.CustomerName","type":"String"},"sink":{"name":"ClientName","type":"String"}},{"source":{"path":"$.CustomerAddress","type":"String"},"sink":{"name":"ClientAddress","type":"String"}}].
38221     Type: object (or Expression with resultType object).
38222    :type mappings: any
38223    :param type_conversion: Whether to enable the advanced type conversion feature in the Copy
38224     activity. Type: boolean (or Expression with resultType boolean).
38225    :type type_conversion: any
38226    :param type_conversion_settings: Type conversion settings.
38227    :type type_conversion_settings:
38228     ~azure.synapse.artifacts.v2020_12_01.models.TypeConversionSettings
38229    """
38230
38231    _validation = {
38232        'type': {'required': True},
38233    }
38234
38235    _attribute_map = {
38236        'additional_properties': {'key': '', 'type': '{object}'},
38237        'type': {'key': 'type', 'type': 'str'},
38238        'column_mappings': {'key': 'columnMappings', 'type': 'object'},
38239        'schema_mapping': {'key': 'schemaMapping', 'type': 'object'},
38240        'collection_reference': {'key': 'collectionReference', 'type': 'object'},
38241        'map_complex_values_to_string': {'key': 'mapComplexValuesToString', 'type': 'object'},
38242        'mappings': {'key': 'mappings', 'type': 'object'},
38243        'type_conversion': {'key': 'typeConversion', 'type': 'object'},
38244        'type_conversion_settings': {'key': 'typeConversionSettings', 'type': 'TypeConversionSettings'},
38245    }
38246
38247    def __init__(
38248        self,
38249        *,
38250        additional_properties: Optional[Dict[str, Any]] = None,
38251        column_mappings: Optional[Any] = None,
38252        schema_mapping: Optional[Any] = None,
38253        collection_reference: Optional[Any] = None,
38254        map_complex_values_to_string: Optional[Any] = None,
38255        mappings: Optional[Any] = None,
38256        type_conversion: Optional[Any] = None,
38257        type_conversion_settings: Optional["TypeConversionSettings"] = None,
38258        **kwargs
38259    ):
38260        super(TabularTranslator, self).__init__(additional_properties=additional_properties, **kwargs)
38261        self.type = 'TabularTranslator'  # type: str
38262        self.column_mappings = column_mappings
38263        self.schema_mapping = schema_mapping
38264        self.collection_reference = collection_reference
38265        self.map_complex_values_to_string = map_complex_values_to_string
38266        self.mappings = mappings
38267        self.type_conversion = type_conversion
38268        self.type_conversion_settings = type_conversion_settings
38269
38270
38271class TarGZipReadSettings(CompressionReadSettings):
38272    """The TarGZip compression read settings.
38273
38274    All required parameters must be populated in order to send to Azure.
38275
38276    :param additional_properties: Unmatched properties from the message are deserialized to this
38277     collection.
38278    :type additional_properties: dict[str, any]
38279    :param type: Required. The Compression setting type.Constant filled by server.
38280    :type type: str
38281    :param preserve_compression_file_name_as_folder: Preserve the compression file name as folder
38282     path. Type: boolean (or Expression with resultType boolean).
38283    :type preserve_compression_file_name_as_folder: any
38284    """
38285
38286    _validation = {
38287        'type': {'required': True},
38288    }
38289
38290    _attribute_map = {
38291        'additional_properties': {'key': '', 'type': '{object}'},
38292        'type': {'key': 'type', 'type': 'str'},
38293        'preserve_compression_file_name_as_folder': {'key': 'preserveCompressionFileNameAsFolder', 'type': 'object'},
38294    }
38295
38296    def __init__(
38297        self,
38298        *,
38299        additional_properties: Optional[Dict[str, Any]] = None,
38300        preserve_compression_file_name_as_folder: Optional[Any] = None,
38301        **kwargs
38302    ):
38303        super(TarGZipReadSettings, self).__init__(additional_properties=additional_properties, **kwargs)
38304        self.type = 'TarGZipReadSettings'  # type: str
38305        self.preserve_compression_file_name_as_folder = preserve_compression_file_name_as_folder
38306
38307
38308class TarReadSettings(CompressionReadSettings):
38309    """The Tar compression read settings.
38310
38311    All required parameters must be populated in order to send to Azure.
38312
38313    :param additional_properties: Unmatched properties from the message are deserialized to this
38314     collection.
38315    :type additional_properties: dict[str, any]
38316    :param type: Required. The Compression setting type.Constant filled by server.
38317    :type type: str
38318    :param preserve_compression_file_name_as_folder: Preserve the compression file name as folder
38319     path. Type: boolean (or Expression with resultType boolean).
38320    :type preserve_compression_file_name_as_folder: any
38321    """
38322
38323    _validation = {
38324        'type': {'required': True},
38325    }
38326
38327    _attribute_map = {
38328        'additional_properties': {'key': '', 'type': '{object}'},
38329        'type': {'key': 'type', 'type': 'str'},
38330        'preserve_compression_file_name_as_folder': {'key': 'preserveCompressionFileNameAsFolder', 'type': 'object'},
38331    }
38332
38333    def __init__(
38334        self,
38335        *,
38336        additional_properties: Optional[Dict[str, Any]] = None,
38337        preserve_compression_file_name_as_folder: Optional[Any] = None,
38338        **kwargs
38339    ):
38340        super(TarReadSettings, self).__init__(additional_properties=additional_properties, **kwargs)
38341        self.type = 'TarReadSettings'  # type: str
38342        self.preserve_compression_file_name_as_folder = preserve_compression_file_name_as_folder
38343
38344
38345class TeradataLinkedService(LinkedService):
38346    """Linked service for Teradata data source.
38347
38348    All required parameters must be populated in order to send to Azure.
38349
38350    :param additional_properties: Unmatched properties from the message are deserialized to this
38351     collection.
38352    :type additional_properties: dict[str, any]
38353    :param type: Required. Type of linked service.Constant filled by server.
38354    :type type: str
38355    :param connect_via: The integration runtime reference.
38356    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
38357    :param description: Linked service description.
38358    :type description: str
38359    :param parameters: Parameters for linked service.
38360    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
38361    :param annotations: List of tags that can be used for describing the linked service.
38362    :type annotations: list[any]
38363    :param connection_string: Teradata ODBC connection string. Type: string, SecureString or
38364     AzureKeyVaultSecretReference.
38365    :type connection_string: any
38366    :param server: Server name for connection. Type: string (or Expression with resultType string).
38367    :type server: any
38368    :param authentication_type: AuthenticationType to be used for connection. Possible values
38369     include: "Basic", "Windows".
38370    :type authentication_type: str or
38371     ~azure.synapse.artifacts.v2020_12_01.models.TeradataAuthenticationType
38372    :param username: Username for authentication. Type: string (or Expression with resultType
38373     string).
38374    :type username: any
38375    :param password: Password for authentication.
38376    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
38377    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
38378     encrypted using the integration runtime credential manager. Type: string (or Expression with
38379     resultType string).
38380    :type encrypted_credential: any
38381    """
38382
38383    _validation = {
38384        'type': {'required': True},
38385    }
38386
38387    _attribute_map = {
38388        'additional_properties': {'key': '', 'type': '{object}'},
38389        'type': {'key': 'type', 'type': 'str'},
38390        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
38391        'description': {'key': 'description', 'type': 'str'},
38392        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
38393        'annotations': {'key': 'annotations', 'type': '[object]'},
38394        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
38395        'server': {'key': 'typeProperties.server', 'type': 'object'},
38396        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
38397        'username': {'key': 'typeProperties.username', 'type': 'object'},
38398        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
38399        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
38400    }
38401
38402    def __init__(
38403        self,
38404        *,
38405        additional_properties: Optional[Dict[str, Any]] = None,
38406        connect_via: Optional["IntegrationRuntimeReference"] = None,
38407        description: Optional[str] = None,
38408        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
38409        annotations: Optional[List[Any]] = None,
38410        connection_string: Optional[Any] = None,
38411        server: Optional[Any] = None,
38412        authentication_type: Optional[Union[str, "TeradataAuthenticationType"]] = None,
38413        username: Optional[Any] = None,
38414        password: Optional["SecretBase"] = None,
38415        encrypted_credential: Optional[Any] = None,
38416        **kwargs
38417    ):
38418        super(TeradataLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
38419        self.type = 'Teradata'  # type: str
38420        self.connection_string = connection_string
38421        self.server = server
38422        self.authentication_type = authentication_type
38423        self.username = username
38424        self.password = password
38425        self.encrypted_credential = encrypted_credential
38426
38427
38428class TeradataPartitionSettings(msrest.serialization.Model):
38429    """The settings that will be leveraged for teradata source partitioning.
38430
38431    :param partition_column_name: The name of the column that will be used for proceeding range or
38432     hash partitioning. Type: string (or Expression with resultType string).
38433    :type partition_column_name: any
38434    :param partition_upper_bound: The maximum value of column specified in partitionColumnName that
38435     will be used for proceeding range partitioning. Type: string (or Expression with resultType
38436     string).
38437    :type partition_upper_bound: any
38438    :param partition_lower_bound: The minimum value of column specified in partitionColumnName that
38439     will be used for proceeding range partitioning. Type: string (or Expression with resultType
38440     string).
38441    :type partition_lower_bound: any
38442    """
38443
38444    _attribute_map = {
38445        'partition_column_name': {'key': 'partitionColumnName', 'type': 'object'},
38446        'partition_upper_bound': {'key': 'partitionUpperBound', 'type': 'object'},
38447        'partition_lower_bound': {'key': 'partitionLowerBound', 'type': 'object'},
38448    }
38449
38450    def __init__(
38451        self,
38452        *,
38453        partition_column_name: Optional[Any] = None,
38454        partition_upper_bound: Optional[Any] = None,
38455        partition_lower_bound: Optional[Any] = None,
38456        **kwargs
38457    ):
38458        super(TeradataPartitionSettings, self).__init__(**kwargs)
38459        self.partition_column_name = partition_column_name
38460        self.partition_upper_bound = partition_upper_bound
38461        self.partition_lower_bound = partition_lower_bound
38462
38463
38464class TeradataSource(TabularSource):
38465    """A copy activity Teradata source.
38466
38467    All required parameters must be populated in order to send to Azure.
38468
38469    :param additional_properties: Unmatched properties from the message are deserialized to this
38470     collection.
38471    :type additional_properties: dict[str, any]
38472    :param type: Required. Copy source type.Constant filled by server.
38473    :type type: str
38474    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
38475     integer).
38476    :type source_retry_count: any
38477    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
38478     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
38479    :type source_retry_wait: any
38480    :param max_concurrent_connections: The maximum concurrent connection count for the source data
38481     store. Type: integer (or Expression with resultType integer).
38482    :type max_concurrent_connections: any
38483    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
38484     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
38485    :type query_timeout: any
38486    :param additional_columns: Specifies the additional columns to be added to source data. Type:
38487     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
38488    :type additional_columns: any
38489    :param query: Teradata query. Type: string (or Expression with resultType string).
38490    :type query: any
38491    :param partition_option: The partition mechanism that will be used for teradata read in
38492     parallel. Possible values include: "None", "Hash", "DynamicRange".
38493    :type partition_option: str or
38494     ~azure.synapse.artifacts.v2020_12_01.models.TeradataPartitionOption
38495    :param partition_settings: The settings that will be leveraged for teradata source
38496     partitioning.
38497    :type partition_settings: ~azure.synapse.artifacts.v2020_12_01.models.TeradataPartitionSettings
38498    """
38499
38500    _validation = {
38501        'type': {'required': True},
38502    }
38503
38504    _attribute_map = {
38505        'additional_properties': {'key': '', 'type': '{object}'},
38506        'type': {'key': 'type', 'type': 'str'},
38507        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
38508        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
38509        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
38510        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
38511        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
38512        'query': {'key': 'query', 'type': 'object'},
38513        'partition_option': {'key': 'partitionOption', 'type': 'str'},
38514        'partition_settings': {'key': 'partitionSettings', 'type': 'TeradataPartitionSettings'},
38515    }
38516
38517    def __init__(
38518        self,
38519        *,
38520        additional_properties: Optional[Dict[str, Any]] = None,
38521        source_retry_count: Optional[Any] = None,
38522        source_retry_wait: Optional[Any] = None,
38523        max_concurrent_connections: Optional[Any] = None,
38524        query_timeout: Optional[Any] = None,
38525        additional_columns: Optional[Any] = None,
38526        query: Optional[Any] = None,
38527        partition_option: Optional[Union[str, "TeradataPartitionOption"]] = None,
38528        partition_settings: Optional["TeradataPartitionSettings"] = None,
38529        **kwargs
38530    ):
38531        super(TeradataSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
38532        self.type = 'TeradataSource'  # type: str
38533        self.query = query
38534        self.partition_option = partition_option
38535        self.partition_settings = partition_settings
38536
38537
38538class TeradataTableDataset(Dataset):
38539    """The Teradata database dataset.
38540
38541    All required parameters must be populated in order to send to Azure.
38542
38543    :param additional_properties: Unmatched properties from the message are deserialized to this
38544     collection.
38545    :type additional_properties: dict[str, any]
38546    :param type: Required. Type of dataset.Constant filled by server.
38547    :type type: str
38548    :param description: Dataset description.
38549    :type description: str
38550    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
38551     with resultType array), itemType: DatasetDataElement.
38552    :type structure: any
38553    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
38554     Expression with resultType array), itemType: DatasetSchemaDataElement.
38555    :type schema: any
38556    :param linked_service_name: Required. Linked service reference.
38557    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
38558    :param parameters: Parameters for dataset.
38559    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
38560    :param annotations: List of tags that can be used for describing the Dataset.
38561    :type annotations: list[any]
38562    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
38563     root level.
38564    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
38565    :param database: The database name of Teradata. Type: string (or Expression with resultType
38566     string).
38567    :type database: any
38568    :param table: The table name of Teradata. Type: string (or Expression with resultType string).
38569    :type table: any
38570    """
38571
38572    _validation = {
38573        'type': {'required': True},
38574        'linked_service_name': {'required': True},
38575    }
38576
38577    _attribute_map = {
38578        'additional_properties': {'key': '', 'type': '{object}'},
38579        'type': {'key': 'type', 'type': 'str'},
38580        'description': {'key': 'description', 'type': 'str'},
38581        'structure': {'key': 'structure', 'type': 'object'},
38582        'schema': {'key': 'schema', 'type': 'object'},
38583        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
38584        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
38585        'annotations': {'key': 'annotations', 'type': '[object]'},
38586        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
38587        'database': {'key': 'typeProperties.database', 'type': 'object'},
38588        'table': {'key': 'typeProperties.table', 'type': 'object'},
38589    }
38590
38591    def __init__(
38592        self,
38593        *,
38594        linked_service_name: "LinkedServiceReference",
38595        additional_properties: Optional[Dict[str, Any]] = None,
38596        description: Optional[str] = None,
38597        structure: Optional[Any] = None,
38598        schema: Optional[Any] = None,
38599        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
38600        annotations: Optional[List[Any]] = None,
38601        folder: Optional["DatasetFolder"] = None,
38602        database: Optional[Any] = None,
38603        table: Optional[Any] = None,
38604        **kwargs
38605    ):
38606        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)
38607        self.type = 'TeradataTable'  # type: str
38608        self.database = database
38609        self.table = table
38610
38611
38612class TextFormat(DatasetStorageFormat):
38613    """The data stored in text format.
38614
38615    All required parameters must be populated in order to send to Azure.
38616
38617    :param additional_properties: Unmatched properties from the message are deserialized to this
38618     collection.
38619    :type additional_properties: dict[str, any]
38620    :param type: Required. Type of dataset storage format.Constant filled by server.
38621    :type type: str
38622    :param serializer: Serializer. Type: string (or Expression with resultType string).
38623    :type serializer: any
38624    :param deserializer: Deserializer. Type: string (or Expression with resultType string).
38625    :type deserializer: any
38626    :param column_delimiter: The column delimiter. Type: string (or Expression with resultType
38627     string).
38628    :type column_delimiter: any
38629    :param row_delimiter: The row delimiter. Type: string (or Expression with resultType string).
38630    :type row_delimiter: any
38631    :param escape_char: The escape character. Type: string (or Expression with resultType string).
38632    :type escape_char: any
38633    :param quote_char: The quote character. Type: string (or Expression with resultType string).
38634    :type quote_char: any
38635    :param null_value: The null value string. Type: string (or Expression with resultType string).
38636    :type null_value: any
38637    :param encoding_name: The code page name of the preferred encoding. If miss, the default value
38638     is ΓÇ£utf-8ΓÇ¥, unless BOM denotes another Unicode encoding. Refer to the ΓÇ£NameΓÇ¥ column of
38639     the table in the following link to set supported values:
38640     https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with
38641     resultType string).
38642    :type encoding_name: any
38643    :param treat_empty_as_null: Treat empty column values in the text file as null. The default
38644     value is true. Type: boolean (or Expression with resultType boolean).
38645    :type treat_empty_as_null: any
38646    :param skip_line_count: The number of lines/rows to be skipped when parsing text files. The
38647     default value is 0. Type: integer (or Expression with resultType integer).
38648    :type skip_line_count: any
38649    :param first_row_as_header: When used as input, treat the first row of data as headers. When
38650     used as output,write the headers into the output as the first row of data. The default value is
38651     false. Type: boolean (or Expression with resultType boolean).
38652    :type first_row_as_header: any
38653    """
38654
38655    _validation = {
38656        'type': {'required': True},
38657    }
38658
38659    _attribute_map = {
38660        'additional_properties': {'key': '', 'type': '{object}'},
38661        'type': {'key': 'type', 'type': 'str'},
38662        'serializer': {'key': 'serializer', 'type': 'object'},
38663        'deserializer': {'key': 'deserializer', 'type': 'object'},
38664        'column_delimiter': {'key': 'columnDelimiter', 'type': 'object'},
38665        'row_delimiter': {'key': 'rowDelimiter', 'type': 'object'},
38666        'escape_char': {'key': 'escapeChar', 'type': 'object'},
38667        'quote_char': {'key': 'quoteChar', 'type': 'object'},
38668        'null_value': {'key': 'nullValue', 'type': 'object'},
38669        'encoding_name': {'key': 'encodingName', 'type': 'object'},
38670        'treat_empty_as_null': {'key': 'treatEmptyAsNull', 'type': 'object'},
38671        'skip_line_count': {'key': 'skipLineCount', 'type': 'object'},
38672        'first_row_as_header': {'key': 'firstRowAsHeader', 'type': 'object'},
38673    }
38674
38675    def __init__(
38676        self,
38677        *,
38678        additional_properties: Optional[Dict[str, Any]] = None,
38679        serializer: Optional[Any] = None,
38680        deserializer: Optional[Any] = None,
38681        column_delimiter: Optional[Any] = None,
38682        row_delimiter: Optional[Any] = None,
38683        escape_char: Optional[Any] = None,
38684        quote_char: Optional[Any] = None,
38685        null_value: Optional[Any] = None,
38686        encoding_name: Optional[Any] = None,
38687        treat_empty_as_null: Optional[Any] = None,
38688        skip_line_count: Optional[Any] = None,
38689        first_row_as_header: Optional[Any] = None,
38690        **kwargs
38691    ):
38692        super(TextFormat, self).__init__(additional_properties=additional_properties, serializer=serializer, deserializer=deserializer, **kwargs)
38693        self.type = 'TextFormat'  # type: str
38694        self.column_delimiter = column_delimiter
38695        self.row_delimiter = row_delimiter
38696        self.escape_char = escape_char
38697        self.quote_char = quote_char
38698        self.null_value = null_value
38699        self.encoding_name = encoding_name
38700        self.treat_empty_as_null = treat_empty_as_null
38701        self.skip_line_count = skip_line_count
38702        self.first_row_as_header = first_row_as_header
38703
38704
38705class TriggerDependencyProvisioningStatus(msrest.serialization.Model):
38706    """Defines the response of a provision trigger dependency operation.
38707
38708    All required parameters must be populated in order to send to Azure.
38709
38710    :param trigger_name: Required. Trigger name.
38711    :type trigger_name: str
38712    :param provisioning_status: Required. Provisioning status.
38713    :type provisioning_status: str
38714    """
38715
38716    _validation = {
38717        'trigger_name': {'required': True},
38718        'provisioning_status': {'required': True},
38719    }
38720
38721    _attribute_map = {
38722        'trigger_name': {'key': 'triggerName', 'type': 'str'},
38723        'provisioning_status': {'key': 'provisioningStatus', 'type': 'str'},
38724    }
38725
38726    def __init__(
38727        self,
38728        *,
38729        trigger_name: str,
38730        provisioning_status: str,
38731        **kwargs
38732    ):
38733        super(TriggerDependencyProvisioningStatus, self).__init__(**kwargs)
38734        self.trigger_name = trigger_name
38735        self.provisioning_status = provisioning_status
38736
38737
38738class TriggerDependencyReference(DependencyReference):
38739    """Trigger referenced dependency.
38740
38741    You probably want to use the sub-classes and not this class directly. Known
38742    sub-classes are: TumblingWindowTriggerDependencyReference.
38743
38744    All required parameters must be populated in order to send to Azure.
38745
38746    :param type: Required. The type of dependency reference.Constant filled by server.
38747    :type type: str
38748    :param reference_trigger: Required. Referenced trigger.
38749    :type reference_trigger: ~azure.synapse.artifacts.v2020_12_01.models.TriggerReference
38750    """
38751
38752    _validation = {
38753        'type': {'required': True},
38754        'reference_trigger': {'required': True},
38755    }
38756
38757    _attribute_map = {
38758        'type': {'key': 'type', 'type': 'str'},
38759        'reference_trigger': {'key': 'referenceTrigger', 'type': 'TriggerReference'},
38760    }
38761
38762    _subtype_map = {
38763        'type': {'TumblingWindowTriggerDependencyReference': 'TumblingWindowTriggerDependencyReference'}
38764    }
38765
38766    def __init__(
38767        self,
38768        *,
38769        reference_trigger: "TriggerReference",
38770        **kwargs
38771    ):
38772        super(TriggerDependencyReference, self).__init__(**kwargs)
38773        self.type = 'TriggerDependencyReference'  # type: str
38774        self.reference_trigger = reference_trigger
38775
38776
38777class TriggerListResponse(msrest.serialization.Model):
38778    """A list of trigger resources.
38779
38780    All required parameters must be populated in order to send to Azure.
38781
38782    :param value: Required. List of triggers.
38783    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.TriggerResource]
38784    :param next_link: The link to the next page of results, if any remaining results exist.
38785    :type next_link: str
38786    """
38787
38788    _validation = {
38789        'value': {'required': True},
38790    }
38791
38792    _attribute_map = {
38793        'value': {'key': 'value', 'type': '[TriggerResource]'},
38794        'next_link': {'key': 'nextLink', 'type': 'str'},
38795    }
38796
38797    def __init__(
38798        self,
38799        *,
38800        value: List["TriggerResource"],
38801        next_link: Optional[str] = None,
38802        **kwargs
38803    ):
38804        super(TriggerListResponse, self).__init__(**kwargs)
38805        self.value = value
38806        self.next_link = next_link
38807
38808
38809class TriggerPipelineReference(msrest.serialization.Model):
38810    """Pipeline that needs to be triggered with the given parameters.
38811
38812    :param pipeline_reference: Pipeline reference.
38813    :type pipeline_reference: ~azure.synapse.artifacts.v2020_12_01.models.PipelineReference
38814    :param parameters: Pipeline parameters.
38815    :type parameters: dict[str, any]
38816    """
38817
38818    _attribute_map = {
38819        'pipeline_reference': {'key': 'pipelineReference', 'type': 'PipelineReference'},
38820        'parameters': {'key': 'parameters', 'type': '{object}'},
38821    }
38822
38823    def __init__(
38824        self,
38825        *,
38826        pipeline_reference: Optional["PipelineReference"] = None,
38827        parameters: Optional[Dict[str, Any]] = None,
38828        **kwargs
38829    ):
38830        super(TriggerPipelineReference, self).__init__(**kwargs)
38831        self.pipeline_reference = pipeline_reference
38832        self.parameters = parameters
38833
38834
38835class TriggerReference(msrest.serialization.Model):
38836    """Trigger reference type.
38837
38838    All required parameters must be populated in order to send to Azure.
38839
38840    :param type: Required. Trigger reference type. Possible values include: "TriggerReference".
38841    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.TriggerReferenceType
38842    :param reference_name: Required. Reference trigger name.
38843    :type reference_name: str
38844    """
38845
38846    _validation = {
38847        'type': {'required': True},
38848        'reference_name': {'required': True},
38849    }
38850
38851    _attribute_map = {
38852        'type': {'key': 'type', 'type': 'str'},
38853        'reference_name': {'key': 'referenceName', 'type': 'str'},
38854    }
38855
38856    def __init__(
38857        self,
38858        *,
38859        type: Union[str, "TriggerReferenceType"],
38860        reference_name: str,
38861        **kwargs
38862    ):
38863        super(TriggerReference, self).__init__(**kwargs)
38864        self.type = type
38865        self.reference_name = reference_name
38866
38867
38868class TriggerResource(SubResource):
38869    """Trigger resource type.
38870
38871    Variables are only populated by the server, and will be ignored when sending a request.
38872
38873    All required parameters must be populated in order to send to Azure.
38874
38875    :ivar id: Fully qualified resource ID for the resource. Ex -
38876     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
38877    :vartype id: str
38878    :ivar name: The name of the resource.
38879    :vartype name: str
38880    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
38881     "Microsoft.Storage/storageAccounts".
38882    :vartype type: str
38883    :ivar etag: Resource Etag.
38884    :vartype etag: str
38885    :param properties: Required. Properties of the trigger.
38886    :type properties: ~azure.synapse.artifacts.v2020_12_01.models.Trigger
38887    """
38888
38889    _validation = {
38890        'id': {'readonly': True},
38891        'name': {'readonly': True},
38892        'type': {'readonly': True},
38893        'etag': {'readonly': True},
38894        'properties': {'required': True},
38895    }
38896
38897    _attribute_map = {
38898        'id': {'key': 'id', 'type': 'str'},
38899        'name': {'key': 'name', 'type': 'str'},
38900        'type': {'key': 'type', 'type': 'str'},
38901        'etag': {'key': 'etag', 'type': 'str'},
38902        'properties': {'key': 'properties', 'type': 'Trigger'},
38903    }
38904
38905    def __init__(
38906        self,
38907        *,
38908        properties: "Trigger",
38909        **kwargs
38910    ):
38911        super(TriggerResource, self).__init__(**kwargs)
38912        self.properties = properties
38913
38914
38915class TriggerRun(msrest.serialization.Model):
38916    """Trigger runs.
38917
38918    Variables are only populated by the server, and will be ignored when sending a request.
38919
38920    :param additional_properties: Unmatched properties from the message are deserialized to this
38921     collection.
38922    :type additional_properties: dict[str, any]
38923    :ivar trigger_run_id: Trigger run id.
38924    :vartype trigger_run_id: str
38925    :ivar trigger_name: Trigger name.
38926    :vartype trigger_name: str
38927    :ivar trigger_type: Trigger type.
38928    :vartype trigger_type: str
38929    :ivar trigger_run_timestamp: Trigger run start time.
38930    :vartype trigger_run_timestamp: ~datetime.datetime
38931    :ivar status: Trigger run status. Possible values include: "Succeeded", "Failed", "Inprogress".
38932    :vartype status: str or ~azure.synapse.artifacts.v2020_12_01.models.TriggerRunStatus
38933    :ivar message: Trigger error message.
38934    :vartype message: str
38935    :ivar properties: List of property name and value related to trigger run. Name, value pair
38936     depends on type of trigger.
38937    :vartype properties: dict[str, str]
38938    :ivar triggered_pipelines: List of pipeline name and run Id triggered by the trigger run.
38939    :vartype triggered_pipelines: dict[str, str]
38940    """
38941
38942    _validation = {
38943        'trigger_run_id': {'readonly': True},
38944        'trigger_name': {'readonly': True},
38945        'trigger_type': {'readonly': True},
38946        'trigger_run_timestamp': {'readonly': True},
38947        'status': {'readonly': True},
38948        'message': {'readonly': True},
38949        'properties': {'readonly': True},
38950        'triggered_pipelines': {'readonly': True},
38951    }
38952
38953    _attribute_map = {
38954        'additional_properties': {'key': '', 'type': '{object}'},
38955        'trigger_run_id': {'key': 'triggerRunId', 'type': 'str'},
38956        'trigger_name': {'key': 'triggerName', 'type': 'str'},
38957        'trigger_type': {'key': 'triggerType', 'type': 'str'},
38958        'trigger_run_timestamp': {'key': 'triggerRunTimestamp', 'type': 'iso-8601'},
38959        'status': {'key': 'status', 'type': 'str'},
38960        'message': {'key': 'message', 'type': 'str'},
38961        'properties': {'key': 'properties', 'type': '{str}'},
38962        'triggered_pipelines': {'key': 'triggeredPipelines', 'type': '{str}'},
38963    }
38964
38965    def __init__(
38966        self,
38967        *,
38968        additional_properties: Optional[Dict[str, Any]] = None,
38969        **kwargs
38970    ):
38971        super(TriggerRun, self).__init__(**kwargs)
38972        self.additional_properties = additional_properties
38973        self.trigger_run_id = None
38974        self.trigger_name = None
38975        self.trigger_type = None
38976        self.trigger_run_timestamp = None
38977        self.status = None
38978        self.message = None
38979        self.properties = None
38980        self.triggered_pipelines = None
38981
38982
38983class TriggerRunsQueryResponse(msrest.serialization.Model):
38984    """A list of trigger runs.
38985
38986    All required parameters must be populated in order to send to Azure.
38987
38988    :param value: Required. List of trigger runs.
38989    :type value: list[~azure.synapse.artifacts.v2020_12_01.models.TriggerRun]
38990    :param continuation_token: The continuation token for getting the next page of results, if any
38991     remaining results exist, null otherwise.
38992    :type continuation_token: str
38993    """
38994
38995    _validation = {
38996        'value': {'required': True},
38997    }
38998
38999    _attribute_map = {
39000        'value': {'key': 'value', 'type': '[TriggerRun]'},
39001        'continuation_token': {'key': 'continuationToken', 'type': 'str'},
39002    }
39003
39004    def __init__(
39005        self,
39006        *,
39007        value: List["TriggerRun"],
39008        continuation_token: Optional[str] = None,
39009        **kwargs
39010    ):
39011        super(TriggerRunsQueryResponse, self).__init__(**kwargs)
39012        self.value = value
39013        self.continuation_token = continuation_token
39014
39015
39016class TriggerSubscriptionOperationStatus(msrest.serialization.Model):
39017    """Defines the response of a trigger subscription operation.
39018
39019    Variables are only populated by the server, and will be ignored when sending a request.
39020
39021    :ivar trigger_name: Trigger name.
39022    :vartype trigger_name: str
39023    :ivar status: Event Subscription Status. Possible values include: "Enabled", "Provisioning",
39024     "Deprovisioning", "Disabled", "Unknown".
39025    :vartype status: str or ~azure.synapse.artifacts.v2020_12_01.models.EventSubscriptionStatus
39026    """
39027
39028    _validation = {
39029        'trigger_name': {'readonly': True},
39030        'status': {'readonly': True},
39031    }
39032
39033    _attribute_map = {
39034        'trigger_name': {'key': 'triggerName', 'type': 'str'},
39035        'status': {'key': 'status', 'type': 'str'},
39036    }
39037
39038    def __init__(
39039        self,
39040        **kwargs
39041    ):
39042        super(TriggerSubscriptionOperationStatus, self).__init__(**kwargs)
39043        self.trigger_name = None
39044        self.status = None
39045
39046
39047class TumblingWindowTrigger(Trigger):
39048    """Trigger that schedules pipeline runs for all fixed time interval windows from a start time without gaps and also supports backfill scenarios (when start time is in the past).
39049
39050    Variables are only populated by the server, and will be ignored when sending a request.
39051
39052    All required parameters must be populated in order to send to Azure.
39053
39054    :param additional_properties: Unmatched properties from the message are deserialized to this
39055     collection.
39056    :type additional_properties: dict[str, any]
39057    :param type: Required. Trigger type.Constant filled by server.
39058    :type type: str
39059    :param description: Trigger description.
39060    :type description: str
39061    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
39062     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
39063    :vartype runtime_state: str or ~azure.synapse.artifacts.v2020_12_01.models.TriggerRuntimeState
39064    :param annotations: List of tags that can be used for describing the trigger.
39065    :type annotations: list[any]
39066    :param pipeline: Required. Pipeline for which runs are created when an event is fired for
39067     trigger window that is ready.
39068    :type pipeline: ~azure.synapse.artifacts.v2020_12_01.models.TriggerPipelineReference
39069    :param frequency: Required. The frequency of the time windows. Possible values include:
39070     "Minute", "Hour", "Month".
39071    :type frequency: str or ~azure.synapse.artifacts.v2020_12_01.models.TumblingWindowFrequency
39072    :param interval: Required. The interval of the time windows. The minimum interval allowed is 15
39073     Minutes.
39074    :type interval: int
39075    :param start_time: Required. The start time for the time period for the trigger during which
39076     events are fired for windows that are ready. Only UTC time is currently supported.
39077    :type start_time: ~datetime.datetime
39078    :param end_time: The end time for the time period for the trigger during which events are fired
39079     for windows that are ready. Only UTC time is currently supported.
39080    :type end_time: ~datetime.datetime
39081    :param delay: Specifies how long the trigger waits past due time before triggering new run. It
39082     doesn't alter window start and end time. The default is 0. Type: string (or Expression with
39083     resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
39084    :type delay: any
39085    :param max_concurrency: Required. The max number of parallel time windows (ready for execution)
39086     for which a new run is triggered.
39087    :type max_concurrency: int
39088    :param retry_policy: Retry policy that will be applied for failed pipeline runs.
39089    :type retry_policy: ~azure.synapse.artifacts.v2020_12_01.models.RetryPolicy
39090    :param depends_on: Triggers that this trigger depends on. Only tumbling window triggers are
39091     supported.
39092    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.DependencyReference]
39093    """
39094
39095    _validation = {
39096        'type': {'required': True},
39097        'runtime_state': {'readonly': True},
39098        'pipeline': {'required': True},
39099        'frequency': {'required': True},
39100        'interval': {'required': True},
39101        'start_time': {'required': True},
39102        'max_concurrency': {'required': True, 'maximum': 50, 'minimum': 1},
39103    }
39104
39105    _attribute_map = {
39106        'additional_properties': {'key': '', 'type': '{object}'},
39107        'type': {'key': 'type', 'type': 'str'},
39108        'description': {'key': 'description', 'type': 'str'},
39109        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
39110        'annotations': {'key': 'annotations', 'type': '[object]'},
39111        'pipeline': {'key': 'pipeline', 'type': 'TriggerPipelineReference'},
39112        'frequency': {'key': 'typeProperties.frequency', 'type': 'str'},
39113        'interval': {'key': 'typeProperties.interval', 'type': 'int'},
39114        'start_time': {'key': 'typeProperties.startTime', 'type': 'iso-8601'},
39115        'end_time': {'key': 'typeProperties.endTime', 'type': 'iso-8601'},
39116        'delay': {'key': 'typeProperties.delay', 'type': 'object'},
39117        'max_concurrency': {'key': 'typeProperties.maxConcurrency', 'type': 'int'},
39118        'retry_policy': {'key': 'typeProperties.retryPolicy', 'type': 'RetryPolicy'},
39119        'depends_on': {'key': 'typeProperties.dependsOn', 'type': '[DependencyReference]'},
39120    }
39121
39122    def __init__(
39123        self,
39124        *,
39125        pipeline: "TriggerPipelineReference",
39126        frequency: Union[str, "TumblingWindowFrequency"],
39127        interval: int,
39128        start_time: datetime.datetime,
39129        max_concurrency: int,
39130        additional_properties: Optional[Dict[str, Any]] = None,
39131        description: Optional[str] = None,
39132        annotations: Optional[List[Any]] = None,
39133        end_time: Optional[datetime.datetime] = None,
39134        delay: Optional[Any] = None,
39135        retry_policy: Optional["RetryPolicy"] = None,
39136        depends_on: Optional[List["DependencyReference"]] = None,
39137        **kwargs
39138    ):
39139        super(TumblingWindowTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, **kwargs)
39140        self.type = 'TumblingWindowTrigger'  # type: str
39141        self.pipeline = pipeline
39142        self.frequency = frequency
39143        self.interval = interval
39144        self.start_time = start_time
39145        self.end_time = end_time
39146        self.delay = delay
39147        self.max_concurrency = max_concurrency
39148        self.retry_policy = retry_policy
39149        self.depends_on = depends_on
39150
39151
39152class TumblingWindowTriggerDependencyReference(TriggerDependencyReference):
39153    """Referenced tumbling window trigger dependency.
39154
39155    All required parameters must be populated in order to send to Azure.
39156
39157    :param type: Required. The type of dependency reference.Constant filled by server.
39158    :type type: str
39159    :param reference_trigger: Required. Referenced trigger.
39160    :type reference_trigger: ~azure.synapse.artifacts.v2020_12_01.models.TriggerReference
39161    :param offset: Timespan applied to the start time of a tumbling window when evaluating
39162     dependency.
39163    :type offset: str
39164    :param size: The size of the window when evaluating the dependency. If undefined the frequency
39165     of the tumbling window will be used.
39166    :type size: str
39167    """
39168
39169    _validation = {
39170        'type': {'required': True},
39171        'reference_trigger': {'required': True},
39172        'offset': {'max_length': 15, 'min_length': 8, 'pattern': r'-?((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))'},
39173        'size': {'max_length': 15, 'min_length': 8, 'pattern': r'((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))'},
39174    }
39175
39176    _attribute_map = {
39177        'type': {'key': 'type', 'type': 'str'},
39178        'reference_trigger': {'key': 'referenceTrigger', 'type': 'TriggerReference'},
39179        'offset': {'key': 'offset', 'type': 'str'},
39180        'size': {'key': 'size', 'type': 'str'},
39181    }
39182
39183    def __init__(
39184        self,
39185        *,
39186        reference_trigger: "TriggerReference",
39187        offset: Optional[str] = None,
39188        size: Optional[str] = None,
39189        **kwargs
39190    ):
39191        super(TumblingWindowTriggerDependencyReference, self).__init__(reference_trigger=reference_trigger, **kwargs)
39192        self.type = 'TumblingWindowTriggerDependencyReference'  # type: str
39193        self.offset = offset
39194        self.size = size
39195
39196
39197class TypeConversionSettings(msrest.serialization.Model):
39198    """Type conversion settings.
39199
39200    :param allow_data_truncation: Whether to allow data truncation when converting the data. Type:
39201     boolean (or Expression with resultType boolean).
39202    :type allow_data_truncation: any
39203    :param treat_boolean_as_number: Whether to treat boolean values as numbers. Type: boolean (or
39204     Expression with resultType boolean).
39205    :type treat_boolean_as_number: any
39206    :param date_time_format: The format for DateTime values. Type: string (or Expression with
39207     resultType string).
39208    :type date_time_format: any
39209    :param date_time_offset_format: The format for DateTimeOffset values. Type: string (or
39210     Expression with resultType string).
39211    :type date_time_offset_format: any
39212    :param time_span_format: The format for TimeSpan values. Type: string (or Expression with
39213     resultType string).
39214    :type time_span_format: any
39215    :param culture: The culture used to convert data from/to string. Type: string (or Expression
39216     with resultType string).
39217    :type culture: any
39218    """
39219
39220    _attribute_map = {
39221        'allow_data_truncation': {'key': 'allowDataTruncation', 'type': 'object'},
39222        'treat_boolean_as_number': {'key': 'treatBooleanAsNumber', 'type': 'object'},
39223        'date_time_format': {'key': 'dateTimeFormat', 'type': 'object'},
39224        'date_time_offset_format': {'key': 'dateTimeOffsetFormat', 'type': 'object'},
39225        'time_span_format': {'key': 'timeSpanFormat', 'type': 'object'},
39226        'culture': {'key': 'culture', 'type': 'object'},
39227    }
39228
39229    def __init__(
39230        self,
39231        *,
39232        allow_data_truncation: Optional[Any] = None,
39233        treat_boolean_as_number: Optional[Any] = None,
39234        date_time_format: Optional[Any] = None,
39235        date_time_offset_format: Optional[Any] = None,
39236        time_span_format: Optional[Any] = None,
39237        culture: Optional[Any] = None,
39238        **kwargs
39239    ):
39240        super(TypeConversionSettings, self).__init__(**kwargs)
39241        self.allow_data_truncation = allow_data_truncation
39242        self.treat_boolean_as_number = treat_boolean_as_number
39243        self.date_time_format = date_time_format
39244        self.date_time_offset_format = date_time_offset_format
39245        self.time_span_format = time_span_format
39246        self.culture = culture
39247
39248
39249class UntilActivity(ControlActivity):
39250    """This activity executes inner activities until the specified boolean expression results to true or timeout is reached, whichever is earlier.
39251
39252    All required parameters must be populated in order to send to Azure.
39253
39254    :param additional_properties: Unmatched properties from the message are deserialized to this
39255     collection.
39256    :type additional_properties: dict[str, any]
39257    :param name: Required. Activity name.
39258    :type name: str
39259    :param type: Required. Type of activity.Constant filled by server.
39260    :type type: str
39261    :param description: Activity description.
39262    :type description: str
39263    :param depends_on: Activity depends on condition.
39264    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
39265    :param user_properties: Activity user properties.
39266    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
39267    :param expression: Required. An expression that would evaluate to Boolean. The loop will
39268     continue until this expression evaluates to true.
39269    :type expression: ~azure.synapse.artifacts.v2020_12_01.models.Expression
39270    :param timeout: Specifies the timeout for the activity to run. If there is no value specified,
39271     it takes the value of TimeSpan.FromDays(7) which is 1 week as default. Type: string (or
39272     Expression with resultType string), pattern:
39273     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). Type: string (or Expression with
39274     resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
39275    :type timeout: any
39276    :param activities: Required. List of activities to execute.
39277    :type activities: list[~azure.synapse.artifacts.v2020_12_01.models.Activity]
39278    """
39279
39280    _validation = {
39281        'name': {'required': True},
39282        'type': {'required': True},
39283        'expression': {'required': True},
39284        'activities': {'required': True},
39285    }
39286
39287    _attribute_map = {
39288        'additional_properties': {'key': '', 'type': '{object}'},
39289        'name': {'key': 'name', 'type': 'str'},
39290        'type': {'key': 'type', 'type': 'str'},
39291        'description': {'key': 'description', 'type': 'str'},
39292        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
39293        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
39294        'expression': {'key': 'typeProperties.expression', 'type': 'Expression'},
39295        'timeout': {'key': 'typeProperties.timeout', 'type': 'object'},
39296        'activities': {'key': 'typeProperties.activities', 'type': '[Activity]'},
39297    }
39298
39299    def __init__(
39300        self,
39301        *,
39302        name: str,
39303        expression: "Expression",
39304        activities: List["Activity"],
39305        additional_properties: Optional[Dict[str, Any]] = None,
39306        description: Optional[str] = None,
39307        depends_on: Optional[List["ActivityDependency"]] = None,
39308        user_properties: Optional[List["UserProperty"]] = None,
39309        timeout: Optional[Any] = None,
39310        **kwargs
39311    ):
39312        super(UntilActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
39313        self.type = 'Until'  # type: str
39314        self.expression = expression
39315        self.timeout = timeout
39316        self.activities = activities
39317
39318
39319class UserProperty(msrest.serialization.Model):
39320    """User property.
39321
39322    All required parameters must be populated in order to send to Azure.
39323
39324    :param name: Required. User property name.
39325    :type name: str
39326    :param value: Required. User property value. Type: string (or Expression with resultType
39327     string).
39328    :type value: any
39329    """
39330
39331    _validation = {
39332        'name': {'required': True},
39333        'value': {'required': True},
39334    }
39335
39336    _attribute_map = {
39337        'name': {'key': 'name', 'type': 'str'},
39338        'value': {'key': 'value', 'type': 'object'},
39339    }
39340
39341    def __init__(
39342        self,
39343        *,
39344        name: str,
39345        value: Any,
39346        **kwargs
39347    ):
39348        super(UserProperty, self).__init__(**kwargs)
39349        self.name = name
39350        self.value = value
39351
39352
39353class ValidationActivity(ControlActivity):
39354    """This activity verifies that an external resource exists.
39355
39356    All required parameters must be populated in order to send to Azure.
39357
39358    :param additional_properties: Unmatched properties from the message are deserialized to this
39359     collection.
39360    :type additional_properties: dict[str, any]
39361    :param name: Required. Activity name.
39362    :type name: str
39363    :param type: Required. Type of activity.Constant filled by server.
39364    :type type: str
39365    :param description: Activity description.
39366    :type description: str
39367    :param depends_on: Activity depends on condition.
39368    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
39369    :param user_properties: Activity user properties.
39370    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
39371    :param timeout: Specifies the timeout for the activity to run. If there is no value specified,
39372     it takes the value of TimeSpan.FromDays(7) which is 1 week as default. Type: string (or
39373     Expression with resultType string), pattern:
39374     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
39375    :type timeout: any
39376    :param sleep: A delay in seconds between validation attempts. If no value is specified, 10
39377     seconds will be used as the default. Type: integer (or Expression with resultType integer).
39378    :type sleep: any
39379    :param minimum_size: Can be used if dataset points to a file. The file must be greater than or
39380     equal in size to the value specified. Type: integer (or Expression with resultType integer).
39381    :type minimum_size: any
39382    :param child_items: Can be used if dataset points to a folder. If set to true, the folder must
39383     have at least one file. If set to false, the folder must be empty. Type: boolean (or Expression
39384     with resultType boolean).
39385    :type child_items: any
39386    :param dataset: Required. Validation activity dataset reference.
39387    :type dataset: ~azure.synapse.artifacts.v2020_12_01.models.DatasetReference
39388    """
39389
39390    _validation = {
39391        'name': {'required': True},
39392        'type': {'required': True},
39393        'dataset': {'required': True},
39394    }
39395
39396    _attribute_map = {
39397        'additional_properties': {'key': '', 'type': '{object}'},
39398        'name': {'key': 'name', 'type': 'str'},
39399        'type': {'key': 'type', 'type': 'str'},
39400        'description': {'key': 'description', 'type': 'str'},
39401        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
39402        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
39403        'timeout': {'key': 'typeProperties.timeout', 'type': 'object'},
39404        'sleep': {'key': 'typeProperties.sleep', 'type': 'object'},
39405        'minimum_size': {'key': 'typeProperties.minimumSize', 'type': 'object'},
39406        'child_items': {'key': 'typeProperties.childItems', 'type': 'object'},
39407        'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'},
39408    }
39409
39410    def __init__(
39411        self,
39412        *,
39413        name: str,
39414        dataset: "DatasetReference",
39415        additional_properties: Optional[Dict[str, Any]] = None,
39416        description: Optional[str] = None,
39417        depends_on: Optional[List["ActivityDependency"]] = None,
39418        user_properties: Optional[List["UserProperty"]] = None,
39419        timeout: Optional[Any] = None,
39420        sleep: Optional[Any] = None,
39421        minimum_size: Optional[Any] = None,
39422        child_items: Optional[Any] = None,
39423        **kwargs
39424    ):
39425        super(ValidationActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
39426        self.type = 'Validation'  # type: str
39427        self.timeout = timeout
39428        self.sleep = sleep
39429        self.minimum_size = minimum_size
39430        self.child_items = child_items
39431        self.dataset = dataset
39432
39433
39434class VariableSpecification(msrest.serialization.Model):
39435    """Definition of a single variable for a Pipeline.
39436
39437    All required parameters must be populated in order to send to Azure.
39438
39439    :param type: Required. Variable type. Possible values include: "String", "Bool", "Boolean",
39440     "Array".
39441    :type type: str or ~azure.synapse.artifacts.v2020_12_01.models.VariableType
39442    :param default_value: Default value of variable.
39443    :type default_value: any
39444    """
39445
39446    _validation = {
39447        'type': {'required': True},
39448    }
39449
39450    _attribute_map = {
39451        'type': {'key': 'type', 'type': 'str'},
39452        'default_value': {'key': 'defaultValue', 'type': 'object'},
39453    }
39454
39455    def __init__(
39456        self,
39457        *,
39458        type: Union[str, "VariableType"],
39459        default_value: Optional[Any] = None,
39460        **kwargs
39461    ):
39462        super(VariableSpecification, self).__init__(**kwargs)
39463        self.type = type
39464        self.default_value = default_value
39465
39466
39467class VerticaLinkedService(LinkedService):
39468    """Vertica linked service.
39469
39470    All required parameters must be populated in order to send to Azure.
39471
39472    :param additional_properties: Unmatched properties from the message are deserialized to this
39473     collection.
39474    :type additional_properties: dict[str, any]
39475    :param type: Required. Type of linked service.Constant filled by server.
39476    :type type: str
39477    :param connect_via: The integration runtime reference.
39478    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
39479    :param description: Linked service description.
39480    :type description: str
39481    :param parameters: Parameters for linked service.
39482    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
39483    :param annotations: List of tags that can be used for describing the linked service.
39484    :type annotations: list[any]
39485    :param connection_string: An ODBC connection string. Type: string, SecureString or
39486     AzureKeyVaultSecretReference.
39487    :type connection_string: any
39488    :param pwd: The Azure key vault secret reference of password in connection string.
39489    :type pwd: ~azure.synapse.artifacts.v2020_12_01.models.AzureKeyVaultSecretReference
39490    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
39491     encrypted using the integration runtime credential manager. Type: string (or Expression with
39492     resultType string).
39493    :type encrypted_credential: any
39494    """
39495
39496    _validation = {
39497        'type': {'required': True},
39498    }
39499
39500    _attribute_map = {
39501        'additional_properties': {'key': '', 'type': '{object}'},
39502        'type': {'key': 'type', 'type': 'str'},
39503        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
39504        'description': {'key': 'description', 'type': 'str'},
39505        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
39506        'annotations': {'key': 'annotations', 'type': '[object]'},
39507        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
39508        'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'},
39509        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
39510    }
39511
39512    def __init__(
39513        self,
39514        *,
39515        additional_properties: Optional[Dict[str, Any]] = None,
39516        connect_via: Optional["IntegrationRuntimeReference"] = None,
39517        description: Optional[str] = None,
39518        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
39519        annotations: Optional[List[Any]] = None,
39520        connection_string: Optional[Any] = None,
39521        pwd: Optional["AzureKeyVaultSecretReference"] = None,
39522        encrypted_credential: Optional[Any] = None,
39523        **kwargs
39524    ):
39525        super(VerticaLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
39526        self.type = 'Vertica'  # type: str
39527        self.connection_string = connection_string
39528        self.pwd = pwd
39529        self.encrypted_credential = encrypted_credential
39530
39531
39532class VerticaSource(TabularSource):
39533    """A copy activity Vertica source.
39534
39535    All required parameters must be populated in order to send to Azure.
39536
39537    :param additional_properties: Unmatched properties from the message are deserialized to this
39538     collection.
39539    :type additional_properties: dict[str, any]
39540    :param type: Required. Copy source type.Constant filled by server.
39541    :type type: str
39542    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
39543     integer).
39544    :type source_retry_count: any
39545    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
39546     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
39547    :type source_retry_wait: any
39548    :param max_concurrent_connections: The maximum concurrent connection count for the source data
39549     store. Type: integer (or Expression with resultType integer).
39550    :type max_concurrent_connections: any
39551    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
39552     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
39553    :type query_timeout: any
39554    :param additional_columns: Specifies the additional columns to be added to source data. Type:
39555     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
39556    :type additional_columns: any
39557    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
39558     string).
39559    :type query: any
39560    """
39561
39562    _validation = {
39563        'type': {'required': True},
39564    }
39565
39566    _attribute_map = {
39567        'additional_properties': {'key': '', 'type': '{object}'},
39568        'type': {'key': 'type', 'type': 'str'},
39569        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
39570        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
39571        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
39572        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
39573        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
39574        'query': {'key': 'query', 'type': 'object'},
39575    }
39576
39577    def __init__(
39578        self,
39579        *,
39580        additional_properties: Optional[Dict[str, Any]] = None,
39581        source_retry_count: Optional[Any] = None,
39582        source_retry_wait: Optional[Any] = None,
39583        max_concurrent_connections: Optional[Any] = None,
39584        query_timeout: Optional[Any] = None,
39585        additional_columns: Optional[Any] = None,
39586        query: Optional[Any] = None,
39587        **kwargs
39588    ):
39589        super(VerticaSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
39590        self.type = 'VerticaSource'  # type: str
39591        self.query = query
39592
39593
39594class VerticaTableDataset(Dataset):
39595    """Vertica dataset.
39596
39597    All required parameters must be populated in order to send to Azure.
39598
39599    :param additional_properties: Unmatched properties from the message are deserialized to this
39600     collection.
39601    :type additional_properties: dict[str, any]
39602    :param type: Required. Type of dataset.Constant filled by server.
39603    :type type: str
39604    :param description: Dataset description.
39605    :type description: str
39606    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
39607     with resultType array), itemType: DatasetDataElement.
39608    :type structure: any
39609    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
39610     Expression with resultType array), itemType: DatasetSchemaDataElement.
39611    :type schema: any
39612    :param linked_service_name: Required. Linked service reference.
39613    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
39614    :param parameters: Parameters for dataset.
39615    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
39616    :param annotations: List of tags that can be used for describing the Dataset.
39617    :type annotations: list[any]
39618    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
39619     root level.
39620    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
39621    :param table_name: This property will be retired. Please consider using schema + table
39622     properties instead.
39623    :type table_name: any
39624    :param table: The table name of the Vertica. Type: string (or Expression with resultType
39625     string).
39626    :type table: any
39627    :param schema_type_properties_schema: The schema name of the Vertica. Type: string (or
39628     Expression with resultType string).
39629    :type schema_type_properties_schema: any
39630    """
39631
39632    _validation = {
39633        'type': {'required': True},
39634        'linked_service_name': {'required': True},
39635    }
39636
39637    _attribute_map = {
39638        'additional_properties': {'key': '', 'type': '{object}'},
39639        'type': {'key': 'type', 'type': 'str'},
39640        'description': {'key': 'description', 'type': 'str'},
39641        'structure': {'key': 'structure', 'type': 'object'},
39642        'schema': {'key': 'schema', 'type': 'object'},
39643        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
39644        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
39645        'annotations': {'key': 'annotations', 'type': '[object]'},
39646        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
39647        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
39648        'table': {'key': 'typeProperties.table', 'type': 'object'},
39649        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
39650    }
39651
39652    def __init__(
39653        self,
39654        *,
39655        linked_service_name: "LinkedServiceReference",
39656        additional_properties: Optional[Dict[str, Any]] = None,
39657        description: Optional[str] = None,
39658        structure: Optional[Any] = None,
39659        schema: Optional[Any] = None,
39660        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
39661        annotations: Optional[List[Any]] = None,
39662        folder: Optional["DatasetFolder"] = None,
39663        table_name: Optional[Any] = None,
39664        table: Optional[Any] = None,
39665        schema_type_properties_schema: Optional[Any] = None,
39666        **kwargs
39667    ):
39668        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)
39669        self.type = 'VerticaTable'  # type: str
39670        self.table_name = table_name
39671        self.table = table
39672        self.schema_type_properties_schema = schema_type_properties_schema
39673
39674
39675class VirtualNetworkProfile(msrest.serialization.Model):
39676    """Virtual Network Profile.
39677
39678    :param compute_subnet_id: Subnet ID used for computes in workspace.
39679    :type compute_subnet_id: str
39680    """
39681
39682    _attribute_map = {
39683        'compute_subnet_id': {'key': 'computeSubnetId', 'type': 'str'},
39684    }
39685
39686    def __init__(
39687        self,
39688        *,
39689        compute_subnet_id: Optional[str] = None,
39690        **kwargs
39691    ):
39692        super(VirtualNetworkProfile, self).__init__(**kwargs)
39693        self.compute_subnet_id = compute_subnet_id
39694
39695
39696class WaitActivity(ControlActivity):
39697    """This activity suspends pipeline execution for the specified interval.
39698
39699    All required parameters must be populated in order to send to Azure.
39700
39701    :param additional_properties: Unmatched properties from the message are deserialized to this
39702     collection.
39703    :type additional_properties: dict[str, any]
39704    :param name: Required. Activity name.
39705    :type name: str
39706    :param type: Required. Type of activity.Constant filled by server.
39707    :type type: str
39708    :param description: Activity description.
39709    :type description: str
39710    :param depends_on: Activity depends on condition.
39711    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
39712    :param user_properties: Activity user properties.
39713    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
39714    :param wait_time_in_seconds: Required. Duration in seconds.
39715    :type wait_time_in_seconds: any
39716    """
39717
39718    _validation = {
39719        'name': {'required': True},
39720        'type': {'required': True},
39721        'wait_time_in_seconds': {'required': True},
39722    }
39723
39724    _attribute_map = {
39725        'additional_properties': {'key': '', 'type': '{object}'},
39726        'name': {'key': 'name', 'type': 'str'},
39727        'type': {'key': 'type', 'type': 'str'},
39728        'description': {'key': 'description', 'type': 'str'},
39729        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
39730        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
39731        'wait_time_in_seconds': {'key': 'typeProperties.waitTimeInSeconds', 'type': 'object'},
39732    }
39733
39734    def __init__(
39735        self,
39736        *,
39737        name: str,
39738        wait_time_in_seconds: Any,
39739        additional_properties: Optional[Dict[str, Any]] = None,
39740        description: Optional[str] = None,
39741        depends_on: Optional[List["ActivityDependency"]] = None,
39742        user_properties: Optional[List["UserProperty"]] = None,
39743        **kwargs
39744    ):
39745        super(WaitActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
39746        self.type = 'Wait'  # type: str
39747        self.wait_time_in_seconds = wait_time_in_seconds
39748
39749
39750class WebActivity(ExecutionActivity):
39751    """Web activity.
39752
39753    All required parameters must be populated in order to send to Azure.
39754
39755    :param additional_properties: Unmatched properties from the message are deserialized to this
39756     collection.
39757    :type additional_properties: dict[str, any]
39758    :param name: Required. Activity name.
39759    :type name: str
39760    :param type: Required. Type of activity.Constant filled by server.
39761    :type type: str
39762    :param description: Activity description.
39763    :type description: str
39764    :param depends_on: Activity depends on condition.
39765    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
39766    :param user_properties: Activity user properties.
39767    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
39768    :param linked_service_name: Linked service reference.
39769    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
39770    :param policy: Activity policy.
39771    :type policy: ~azure.synapse.artifacts.v2020_12_01.models.ActivityPolicy
39772    :param method: Required. Rest API method for target endpoint. Possible values include: "GET",
39773     "POST", "PUT", "DELETE".
39774    :type method: str or ~azure.synapse.artifacts.v2020_12_01.models.WebActivityMethod
39775    :param url: Required. Web activity target endpoint and path. Type: string (or Expression with
39776     resultType string).
39777    :type url: any
39778    :param headers: Represents the headers that will be sent to the request. For example, to set
39779     the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type":
39780     "application/json" }. Type: string (or Expression with resultType string).
39781    :type headers: any
39782    :param body: Represents the payload that will be sent to the endpoint. Required for POST/PUT
39783     method, not allowed for GET method Type: string (or Expression with resultType string).
39784    :type body: any
39785    :param authentication: Authentication method used for calling the endpoint.
39786    :type authentication: ~azure.synapse.artifacts.v2020_12_01.models.WebActivityAuthentication
39787    :param datasets: List of datasets passed to web endpoint.
39788    :type datasets: list[~azure.synapse.artifacts.v2020_12_01.models.DatasetReference]
39789    :param linked_services: List of linked services passed to web endpoint.
39790    :type linked_services: list[~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference]
39791    :param connect_via: The integration runtime reference.
39792    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
39793    """
39794
39795    _validation = {
39796        'name': {'required': True},
39797        'type': {'required': True},
39798        'method': {'required': True},
39799        'url': {'required': True},
39800    }
39801
39802    _attribute_map = {
39803        'additional_properties': {'key': '', 'type': '{object}'},
39804        'name': {'key': 'name', 'type': 'str'},
39805        'type': {'key': 'type', 'type': 'str'},
39806        'description': {'key': 'description', 'type': 'str'},
39807        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
39808        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
39809        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
39810        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
39811        'method': {'key': 'typeProperties.method', 'type': 'str'},
39812        'url': {'key': 'typeProperties.url', 'type': 'object'},
39813        'headers': {'key': 'typeProperties.headers', 'type': 'object'},
39814        'body': {'key': 'typeProperties.body', 'type': 'object'},
39815        'authentication': {'key': 'typeProperties.authentication', 'type': 'WebActivityAuthentication'},
39816        'datasets': {'key': 'typeProperties.datasets', 'type': '[DatasetReference]'},
39817        'linked_services': {'key': 'typeProperties.linkedServices', 'type': '[LinkedServiceReference]'},
39818        'connect_via': {'key': 'typeProperties.connectVia', 'type': 'IntegrationRuntimeReference'},
39819    }
39820
39821    def __init__(
39822        self,
39823        *,
39824        name: str,
39825        method: Union[str, "WebActivityMethod"],
39826        url: Any,
39827        additional_properties: Optional[Dict[str, Any]] = None,
39828        description: Optional[str] = None,
39829        depends_on: Optional[List["ActivityDependency"]] = None,
39830        user_properties: Optional[List["UserProperty"]] = None,
39831        linked_service_name: Optional["LinkedServiceReference"] = None,
39832        policy: Optional["ActivityPolicy"] = None,
39833        headers: Optional[Any] = None,
39834        body: Optional[Any] = None,
39835        authentication: Optional["WebActivityAuthentication"] = None,
39836        datasets: Optional[List["DatasetReference"]] = None,
39837        linked_services: Optional[List["LinkedServiceReference"]] = None,
39838        connect_via: Optional["IntegrationRuntimeReference"] = None,
39839        **kwargs
39840    ):
39841        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)
39842        self.type = 'WebActivity'  # type: str
39843        self.method = method
39844        self.url = url
39845        self.headers = headers
39846        self.body = body
39847        self.authentication = authentication
39848        self.datasets = datasets
39849        self.linked_services = linked_services
39850        self.connect_via = connect_via
39851
39852
39853class WebActivityAuthentication(msrest.serialization.Model):
39854    """Web activity authentication properties.
39855
39856    All required parameters must be populated in order to send to Azure.
39857
39858    :param type: Required. Web activity authentication (Basic/ClientCertificate/MSI).
39859    :type type: str
39860    :param pfx: Base64-encoded contents of a PFX file.
39861    :type pfx: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
39862    :param username: Web activity authentication user name for basic authentication.
39863    :type username: str
39864    :param password: Password for the PFX file or basic authentication.
39865    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
39866    :param resource: Resource for which Azure Auth token will be requested when using MSI
39867     Authentication.
39868    :type resource: str
39869    """
39870
39871    _validation = {
39872        'type': {'required': True},
39873    }
39874
39875    _attribute_map = {
39876        'type': {'key': 'type', 'type': 'str'},
39877        'pfx': {'key': 'pfx', 'type': 'SecretBase'},
39878        'username': {'key': 'username', 'type': 'str'},
39879        'password': {'key': 'password', 'type': 'SecretBase'},
39880        'resource': {'key': 'resource', 'type': 'str'},
39881    }
39882
39883    def __init__(
39884        self,
39885        *,
39886        type: str,
39887        pfx: Optional["SecretBase"] = None,
39888        username: Optional[str] = None,
39889        password: Optional["SecretBase"] = None,
39890        resource: Optional[str] = None,
39891        **kwargs
39892    ):
39893        super(WebActivityAuthentication, self).__init__(**kwargs)
39894        self.type = type
39895        self.pfx = pfx
39896        self.username = username
39897        self.password = password
39898        self.resource = resource
39899
39900
39901class WebLinkedServiceTypeProperties(msrest.serialization.Model):
39902    """Base definition of WebLinkedServiceTypeProperties, this typeProperties is polymorphic based on authenticationType, so not flattened in SDK models.
39903
39904    You probably want to use the sub-classes and not this class directly. Known
39905    sub-classes are: WebAnonymousAuthentication, WebBasicAuthentication, WebClientCertificateAuthentication.
39906
39907    All required parameters must be populated in order to send to Azure.
39908
39909    :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com .
39910     Type: string (or Expression with resultType string).
39911    :type url: any
39912    :param authentication_type: Required. Type of authentication used to connect to the web table
39913     source.Constant filled by server.  Possible values include: "Basic", "Anonymous",
39914     "ClientCertificate".
39915    :type authentication_type: str or
39916     ~azure.synapse.artifacts.v2020_12_01.models.WebAuthenticationType
39917    """
39918
39919    _validation = {
39920        'url': {'required': True},
39921        'authentication_type': {'required': True},
39922    }
39923
39924    _attribute_map = {
39925        'url': {'key': 'url', 'type': 'object'},
39926        'authentication_type': {'key': 'authenticationType', 'type': 'str'},
39927    }
39928
39929    _subtype_map = {
39930        'authentication_type': {'Anonymous': 'WebAnonymousAuthentication', 'Basic': 'WebBasicAuthentication', 'ClientCertificate': 'WebClientCertificateAuthentication'}
39931    }
39932
39933    def __init__(
39934        self,
39935        *,
39936        url: Any,
39937        **kwargs
39938    ):
39939        super(WebLinkedServiceTypeProperties, self).__init__(**kwargs)
39940        self.url = url
39941        self.authentication_type = None  # type: Optional[str]
39942
39943
39944class WebAnonymousAuthentication(WebLinkedServiceTypeProperties):
39945    """A WebLinkedService that uses anonymous authentication to communicate with an HTTP endpoint.
39946
39947    All required parameters must be populated in order to send to Azure.
39948
39949    :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com .
39950     Type: string (or Expression with resultType string).
39951    :type url: any
39952    :param authentication_type: Required. Type of authentication used to connect to the web table
39953     source.Constant filled by server.  Possible values include: "Basic", "Anonymous",
39954     "ClientCertificate".
39955    :type authentication_type: str or
39956     ~azure.synapse.artifacts.v2020_12_01.models.WebAuthenticationType
39957    """
39958
39959    _validation = {
39960        'url': {'required': True},
39961        'authentication_type': {'required': True},
39962    }
39963
39964    _attribute_map = {
39965        'url': {'key': 'url', 'type': 'object'},
39966        'authentication_type': {'key': 'authenticationType', 'type': 'str'},
39967    }
39968
39969    def __init__(
39970        self,
39971        *,
39972        url: Any,
39973        **kwargs
39974    ):
39975        super(WebAnonymousAuthentication, self).__init__(url=url, **kwargs)
39976        self.authentication_type = 'Anonymous'  # type: str
39977
39978
39979class WebBasicAuthentication(WebLinkedServiceTypeProperties):
39980    """A WebLinkedService that uses basic authentication to communicate with an HTTP endpoint.
39981
39982    All required parameters must be populated in order to send to Azure.
39983
39984    :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com .
39985     Type: string (or Expression with resultType string).
39986    :type url: any
39987    :param authentication_type: Required. Type of authentication used to connect to the web table
39988     source.Constant filled by server.  Possible values include: "Basic", "Anonymous",
39989     "ClientCertificate".
39990    :type authentication_type: str or
39991     ~azure.synapse.artifacts.v2020_12_01.models.WebAuthenticationType
39992    :param username: Required. User name for Basic authentication. Type: string (or Expression with
39993     resultType string).
39994    :type username: any
39995    :param password: Required. The password for Basic authentication.
39996    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
39997    """
39998
39999    _validation = {
40000        'url': {'required': True},
40001        'authentication_type': {'required': True},
40002        'username': {'required': True},
40003        'password': {'required': True},
40004    }
40005
40006    _attribute_map = {
40007        'url': {'key': 'url', 'type': 'object'},
40008        'authentication_type': {'key': 'authenticationType', 'type': 'str'},
40009        'username': {'key': 'username', 'type': 'object'},
40010        'password': {'key': 'password', 'type': 'SecretBase'},
40011    }
40012
40013    def __init__(
40014        self,
40015        *,
40016        url: Any,
40017        username: Any,
40018        password: "SecretBase",
40019        **kwargs
40020    ):
40021        super(WebBasicAuthentication, self).__init__(url=url, **kwargs)
40022        self.authentication_type = 'Basic'  # type: str
40023        self.username = username
40024        self.password = password
40025
40026
40027class WebClientCertificateAuthentication(WebLinkedServiceTypeProperties):
40028    """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.
40029
40030    All required parameters must be populated in order to send to Azure.
40031
40032    :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com .
40033     Type: string (or Expression with resultType string).
40034    :type url: any
40035    :param authentication_type: Required. Type of authentication used to connect to the web table
40036     source.Constant filled by server.  Possible values include: "Basic", "Anonymous",
40037     "ClientCertificate".
40038    :type authentication_type: str or
40039     ~azure.synapse.artifacts.v2020_12_01.models.WebAuthenticationType
40040    :param pfx: Required. Base64-encoded contents of a PFX file.
40041    :type pfx: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
40042    :param password: Required. Password for the PFX file.
40043    :type password: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
40044    """
40045
40046    _validation = {
40047        'url': {'required': True},
40048        'authentication_type': {'required': True},
40049        'pfx': {'required': True},
40050        'password': {'required': True},
40051    }
40052
40053    _attribute_map = {
40054        'url': {'key': 'url', 'type': 'object'},
40055        'authentication_type': {'key': 'authenticationType', 'type': 'str'},
40056        'pfx': {'key': 'pfx', 'type': 'SecretBase'},
40057        'password': {'key': 'password', 'type': 'SecretBase'},
40058    }
40059
40060    def __init__(
40061        self,
40062        *,
40063        url: Any,
40064        pfx: "SecretBase",
40065        password: "SecretBase",
40066        **kwargs
40067    ):
40068        super(WebClientCertificateAuthentication, self).__init__(url=url, **kwargs)
40069        self.authentication_type = 'ClientCertificate'  # type: str
40070        self.pfx = pfx
40071        self.password = password
40072
40073
40074class WebHookActivity(ControlActivity):
40075    """WebHook activity.
40076
40077    All required parameters must be populated in order to send to Azure.
40078
40079    :param additional_properties: Unmatched properties from the message are deserialized to this
40080     collection.
40081    :type additional_properties: dict[str, any]
40082    :param name: Required. Activity name.
40083    :type name: str
40084    :param type: Required. Type of activity.Constant filled by server.
40085    :type type: str
40086    :param description: Activity description.
40087    :type description: str
40088    :param depends_on: Activity depends on condition.
40089    :type depends_on: list[~azure.synapse.artifacts.v2020_12_01.models.ActivityDependency]
40090    :param user_properties: Activity user properties.
40091    :type user_properties: list[~azure.synapse.artifacts.v2020_12_01.models.UserProperty]
40092    :param method: Required. Rest API method for target endpoint. Possible values include: "POST".
40093    :type method: str or ~azure.synapse.artifacts.v2020_12_01.models.WebHookActivityMethod
40094    :param url: Required. WebHook activity target endpoint and path. Type: string (or Expression
40095     with resultType string).
40096    :type url: any
40097    :param timeout: The timeout within which the webhook should be called back. If there is no
40098     value specified, it defaults to 10 minutes. Type: string. Pattern:
40099     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
40100    :type timeout: str
40101    :param headers: Represents the headers that will be sent to the request. For example, to set
40102     the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type":
40103     "application/json" }. Type: string (or Expression with resultType string).
40104    :type headers: any
40105    :param body: Represents the payload that will be sent to the endpoint. Required for POST/PUT
40106     method, not allowed for GET method Type: string (or Expression with resultType string).
40107    :type body: any
40108    :param authentication: Authentication method used for calling the endpoint.
40109    :type authentication: ~azure.synapse.artifacts.v2020_12_01.models.WebActivityAuthentication
40110    :param report_status_on_call_back: When set to true, statusCode, output and error in callback
40111     request body will be consumed by activity. The activity can be marked as failed by setting
40112     statusCode >= 400 in callback request. Default is false. Type: boolean (or Expression with
40113     resultType boolean).
40114    :type report_status_on_call_back: any
40115    """
40116
40117    _validation = {
40118        'name': {'required': True},
40119        'type': {'required': True},
40120        'method': {'required': True},
40121        'url': {'required': True},
40122    }
40123
40124    _attribute_map = {
40125        'additional_properties': {'key': '', 'type': '{object}'},
40126        'name': {'key': 'name', 'type': 'str'},
40127        'type': {'key': 'type', 'type': 'str'},
40128        'description': {'key': 'description', 'type': 'str'},
40129        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
40130        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
40131        'method': {'key': 'typeProperties.method', 'type': 'str'},
40132        'url': {'key': 'typeProperties.url', 'type': 'object'},
40133        'timeout': {'key': 'typeProperties.timeout', 'type': 'str'},
40134        'headers': {'key': 'typeProperties.headers', 'type': 'object'},
40135        'body': {'key': 'typeProperties.body', 'type': 'object'},
40136        'authentication': {'key': 'typeProperties.authentication', 'type': 'WebActivityAuthentication'},
40137        'report_status_on_call_back': {'key': 'typeProperties.reportStatusOnCallBack', 'type': 'object'},
40138    }
40139
40140    def __init__(
40141        self,
40142        *,
40143        name: str,
40144        method: Union[str, "WebHookActivityMethod"],
40145        url: Any,
40146        additional_properties: Optional[Dict[str, Any]] = None,
40147        description: Optional[str] = None,
40148        depends_on: Optional[List["ActivityDependency"]] = None,
40149        user_properties: Optional[List["UserProperty"]] = None,
40150        timeout: Optional[str] = None,
40151        headers: Optional[Any] = None,
40152        body: Optional[Any] = None,
40153        authentication: Optional["WebActivityAuthentication"] = None,
40154        report_status_on_call_back: Optional[Any] = None,
40155        **kwargs
40156    ):
40157        super(WebHookActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
40158        self.type = 'WebHook'  # type: str
40159        self.method = method
40160        self.url = url
40161        self.timeout = timeout
40162        self.headers = headers
40163        self.body = body
40164        self.authentication = authentication
40165        self.report_status_on_call_back = report_status_on_call_back
40166
40167
40168class WebLinkedService(LinkedService):
40169    """Web linked service.
40170
40171    All required parameters must be populated in order to send to Azure.
40172
40173    :param additional_properties: Unmatched properties from the message are deserialized to this
40174     collection.
40175    :type additional_properties: dict[str, any]
40176    :param type: Required. Type of linked service.Constant filled by server.
40177    :type type: str
40178    :param connect_via: The integration runtime reference.
40179    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
40180    :param description: Linked service description.
40181    :type description: str
40182    :param parameters: Parameters for linked service.
40183    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
40184    :param annotations: List of tags that can be used for describing the linked service.
40185    :type annotations: list[any]
40186    :param type_properties: Required. Web linked service properties.
40187    :type type_properties:
40188     ~azure.synapse.artifacts.v2020_12_01.models.WebLinkedServiceTypeProperties
40189    """
40190
40191    _validation = {
40192        'type': {'required': True},
40193        'type_properties': {'required': True},
40194    }
40195
40196    _attribute_map = {
40197        'additional_properties': {'key': '', 'type': '{object}'},
40198        'type': {'key': 'type', 'type': 'str'},
40199        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
40200        'description': {'key': 'description', 'type': 'str'},
40201        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
40202        'annotations': {'key': 'annotations', 'type': '[object]'},
40203        'type_properties': {'key': 'typeProperties', 'type': 'WebLinkedServiceTypeProperties'},
40204    }
40205
40206    def __init__(
40207        self,
40208        *,
40209        type_properties: "WebLinkedServiceTypeProperties",
40210        additional_properties: Optional[Dict[str, Any]] = None,
40211        connect_via: Optional["IntegrationRuntimeReference"] = None,
40212        description: Optional[str] = None,
40213        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
40214        annotations: Optional[List[Any]] = None,
40215        **kwargs
40216    ):
40217        super(WebLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
40218        self.type = 'Web'  # type: str
40219        self.type_properties = type_properties
40220
40221
40222class WebSource(CopySource):
40223    """A copy activity source for web page table.
40224
40225    All required parameters must be populated in order to send to Azure.
40226
40227    :param additional_properties: Unmatched properties from the message are deserialized to this
40228     collection.
40229    :type additional_properties: dict[str, any]
40230    :param type: Required. Copy source type.Constant filled by server.
40231    :type type: str
40232    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
40233     integer).
40234    :type source_retry_count: any
40235    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
40236     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
40237    :type source_retry_wait: any
40238    :param max_concurrent_connections: The maximum concurrent connection count for the source data
40239     store. Type: integer (or Expression with resultType integer).
40240    :type max_concurrent_connections: any
40241    :param additional_columns: Specifies the additional columns to be added to source data. Type:
40242     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
40243    :type additional_columns: any
40244    """
40245
40246    _validation = {
40247        'type': {'required': True},
40248    }
40249
40250    _attribute_map = {
40251        'additional_properties': {'key': '', 'type': '{object}'},
40252        'type': {'key': 'type', 'type': 'str'},
40253        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
40254        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
40255        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
40256        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
40257    }
40258
40259    def __init__(
40260        self,
40261        *,
40262        additional_properties: Optional[Dict[str, Any]] = None,
40263        source_retry_count: Optional[Any] = None,
40264        source_retry_wait: Optional[Any] = None,
40265        max_concurrent_connections: Optional[Any] = None,
40266        additional_columns: Optional[Any] = None,
40267        **kwargs
40268    ):
40269        super(WebSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
40270        self.type = 'WebSource'  # type: str
40271        self.additional_columns = additional_columns
40272
40273
40274class WebTableDataset(Dataset):
40275    """The dataset points to a HTML table in the web page.
40276
40277    All required parameters must be populated in order to send to Azure.
40278
40279    :param additional_properties: Unmatched properties from the message are deserialized to this
40280     collection.
40281    :type additional_properties: dict[str, any]
40282    :param type: Required. Type of dataset.Constant filled by server.
40283    :type type: str
40284    :param description: Dataset description.
40285    :type description: str
40286    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
40287     with resultType array), itemType: DatasetDataElement.
40288    :type structure: any
40289    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
40290     Expression with resultType array), itemType: DatasetSchemaDataElement.
40291    :type schema: any
40292    :param linked_service_name: Required. Linked service reference.
40293    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
40294    :param parameters: Parameters for dataset.
40295    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
40296    :param annotations: List of tags that can be used for describing the Dataset.
40297    :type annotations: list[any]
40298    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
40299     root level.
40300    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
40301    :param index: Required. The zero-based index of the table in the web page. Type: integer (or
40302     Expression with resultType integer), minimum: 0.
40303    :type index: any
40304    :param path: The relative URL to the web page from the linked service URL. Type: string (or
40305     Expression with resultType string).
40306    :type path: any
40307    """
40308
40309    _validation = {
40310        'type': {'required': True},
40311        'linked_service_name': {'required': True},
40312        'index': {'required': True},
40313    }
40314
40315    _attribute_map = {
40316        'additional_properties': {'key': '', 'type': '{object}'},
40317        'type': {'key': 'type', 'type': 'str'},
40318        'description': {'key': 'description', 'type': 'str'},
40319        'structure': {'key': 'structure', 'type': 'object'},
40320        'schema': {'key': 'schema', 'type': 'object'},
40321        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
40322        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
40323        'annotations': {'key': 'annotations', 'type': '[object]'},
40324        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
40325        'index': {'key': 'typeProperties.index', 'type': 'object'},
40326        'path': {'key': 'typeProperties.path', 'type': 'object'},
40327    }
40328
40329    def __init__(
40330        self,
40331        *,
40332        linked_service_name: "LinkedServiceReference",
40333        index: Any,
40334        additional_properties: Optional[Dict[str, Any]] = None,
40335        description: Optional[str] = None,
40336        structure: Optional[Any] = None,
40337        schema: Optional[Any] = None,
40338        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
40339        annotations: Optional[List[Any]] = None,
40340        folder: Optional["DatasetFolder"] = None,
40341        path: Optional[Any] = None,
40342        **kwargs
40343    ):
40344        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)
40345        self.type = 'WebTable'  # type: str
40346        self.index = index
40347        self.path = path
40348
40349
40350class Workspace(TrackedResource):
40351    """A workspace.
40352
40353    Variables are only populated by the server, and will be ignored when sending a request.
40354
40355    All required parameters must be populated in order to send to Azure.
40356
40357    :ivar id: Fully qualified resource ID for the resource. Ex -
40358     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
40359    :vartype id: str
40360    :ivar name: The name of the resource.
40361    :vartype name: str
40362    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
40363     "Microsoft.Storage/storageAccounts".
40364    :vartype type: str
40365    :param tags: A set of tags. Resource tags.
40366    :type tags: dict[str, str]
40367    :param location: Required. The geo-location where the resource lives.
40368    :type location: str
40369    :param identity: Identity of the workspace.
40370    :type identity: ~azure.synapse.artifacts.v2020_12_01.models.ManagedIdentity
40371    :param default_data_lake_storage: Workspace default data lake storage account details.
40372    :type default_data_lake_storage:
40373     ~azure.synapse.artifacts.v2020_12_01.models.DataLakeStorageAccountDetails
40374    :param sql_administrator_login_password: SQL administrator login password.
40375    :type sql_administrator_login_password: str
40376    :param managed_resource_group_name: Workspace managed resource group. The resource group name
40377     uniquely identifies the resource group within the user subscriptionId. The resource group name
40378     must be no longer than 90 characters long, and must be alphanumeric characters
40379     (Char.IsLetterOrDigit()) and '-', '_', '(', ')' and'.'. Note that the name cannot end with '.'.
40380    :type managed_resource_group_name: str
40381    :ivar provisioning_state: Resource provisioning state.
40382    :vartype provisioning_state: str
40383    :param sql_administrator_login: Login for workspace SQL active directory administrator.
40384    :type sql_administrator_login: str
40385    :param virtual_network_profile: Virtual Network profile.
40386    :type virtual_network_profile:
40387     ~azure.synapse.artifacts.v2020_12_01.models.VirtualNetworkProfile
40388    :param connectivity_endpoints: Connectivity endpoints.
40389    :type connectivity_endpoints: dict[str, str]
40390    :param managed_virtual_network: Setting this to 'default' will ensure that all compute for this
40391     workspace is in a virtual network managed on behalf of the user.
40392    :type managed_virtual_network: str
40393    :param private_endpoint_connections: Private endpoint connections to the workspace.
40394    :type private_endpoint_connections:
40395     list[~azure.synapse.artifacts.v2020_12_01.models.PrivateEndpointConnection]
40396    :param encryption: The encryption details of the workspace.
40397    :type encryption: ~azure.synapse.artifacts.v2020_12_01.models.EncryptionDetails
40398    :ivar workspace_uid: The workspace unique identifier.
40399    :vartype workspace_uid: str
40400    :ivar extra_properties: Workspace level configs and feature flags.
40401    :vartype extra_properties: dict[str, any]
40402    :param managed_virtual_network_settings: Managed Virtual Network Settings.
40403    :type managed_virtual_network_settings:
40404     ~azure.synapse.artifacts.v2020_12_01.models.ManagedVirtualNetworkSettings
40405    :param workspace_repository_configuration: Git integration settings.
40406    :type workspace_repository_configuration:
40407     ~azure.synapse.artifacts.v2020_12_01.models.WorkspaceRepositoryConfiguration
40408    :param purview_configuration: Purview Configuration.
40409    :type purview_configuration: ~azure.synapse.artifacts.v2020_12_01.models.PurviewConfiguration
40410    :ivar adla_resource_id: The ADLA resource ID.
40411    :vartype adla_resource_id: str
40412    """
40413
40414    _validation = {
40415        'id': {'readonly': True},
40416        'name': {'readonly': True},
40417        'type': {'readonly': True},
40418        'location': {'required': True},
40419        'provisioning_state': {'readonly': True},
40420        'workspace_uid': {'readonly': True},
40421        'extra_properties': {'readonly': True},
40422        'adla_resource_id': {'readonly': True},
40423    }
40424
40425    _attribute_map = {
40426        'id': {'key': 'id', 'type': 'str'},
40427        'name': {'key': 'name', 'type': 'str'},
40428        'type': {'key': 'type', 'type': 'str'},
40429        'tags': {'key': 'tags', 'type': '{str}'},
40430        'location': {'key': 'location', 'type': 'str'},
40431        'identity': {'key': 'identity', 'type': 'ManagedIdentity'},
40432        'default_data_lake_storage': {'key': 'properties.defaultDataLakeStorage', 'type': 'DataLakeStorageAccountDetails'},
40433        'sql_administrator_login_password': {'key': 'properties.sqlAdministratorLoginPassword', 'type': 'str'},
40434        'managed_resource_group_name': {'key': 'properties.managedResourceGroupName', 'type': 'str'},
40435        'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
40436        'sql_administrator_login': {'key': 'properties.sqlAdministratorLogin', 'type': 'str'},
40437        'virtual_network_profile': {'key': 'properties.virtualNetworkProfile', 'type': 'VirtualNetworkProfile'},
40438        'connectivity_endpoints': {'key': 'properties.connectivityEndpoints', 'type': '{str}'},
40439        'managed_virtual_network': {'key': 'properties.managedVirtualNetwork', 'type': 'str'},
40440        'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'},
40441        'encryption': {'key': 'properties.encryption', 'type': 'EncryptionDetails'},
40442        'workspace_uid': {'key': 'properties.workspaceUID', 'type': 'str'},
40443        'extra_properties': {'key': 'properties.extraProperties', 'type': '{object}'},
40444        'managed_virtual_network_settings': {'key': 'properties.managedVirtualNetworkSettings', 'type': 'ManagedVirtualNetworkSettings'},
40445        'workspace_repository_configuration': {'key': 'properties.workspaceRepositoryConfiguration', 'type': 'WorkspaceRepositoryConfiguration'},
40446        'purview_configuration': {'key': 'properties.purviewConfiguration', 'type': 'PurviewConfiguration'},
40447        'adla_resource_id': {'key': 'properties.adlaResourceId', 'type': 'str'},
40448    }
40449
40450    def __init__(
40451        self,
40452        *,
40453        location: str,
40454        tags: Optional[Dict[str, str]] = None,
40455        identity: Optional["ManagedIdentity"] = None,
40456        default_data_lake_storage: Optional["DataLakeStorageAccountDetails"] = None,
40457        sql_administrator_login_password: Optional[str] = None,
40458        managed_resource_group_name: Optional[str] = None,
40459        sql_administrator_login: Optional[str] = None,
40460        virtual_network_profile: Optional["VirtualNetworkProfile"] = None,
40461        connectivity_endpoints: Optional[Dict[str, str]] = None,
40462        managed_virtual_network: Optional[str] = None,
40463        private_endpoint_connections: Optional[List["PrivateEndpointConnection"]] = None,
40464        encryption: Optional["EncryptionDetails"] = None,
40465        managed_virtual_network_settings: Optional["ManagedVirtualNetworkSettings"] = None,
40466        workspace_repository_configuration: Optional["WorkspaceRepositoryConfiguration"] = None,
40467        purview_configuration: Optional["PurviewConfiguration"] = None,
40468        **kwargs
40469    ):
40470        super(Workspace, self).__init__(tags=tags, location=location, **kwargs)
40471        self.identity = identity
40472        self.default_data_lake_storage = default_data_lake_storage
40473        self.sql_administrator_login_password = sql_administrator_login_password
40474        self.managed_resource_group_name = managed_resource_group_name
40475        self.provisioning_state = None
40476        self.sql_administrator_login = sql_administrator_login
40477        self.virtual_network_profile = virtual_network_profile
40478        self.connectivity_endpoints = connectivity_endpoints
40479        self.managed_virtual_network = managed_virtual_network
40480        self.private_endpoint_connections = private_endpoint_connections
40481        self.encryption = encryption
40482        self.workspace_uid = None
40483        self.extra_properties = None
40484        self.managed_virtual_network_settings = managed_virtual_network_settings
40485        self.workspace_repository_configuration = workspace_repository_configuration
40486        self.purview_configuration = purview_configuration
40487        self.adla_resource_id = None
40488
40489
40490class WorkspaceIdentity(msrest.serialization.Model):
40491    """Identity properties of the workspace resource.
40492
40493    Variables are only populated by the server, and will be ignored when sending a request.
40494
40495    All required parameters must be populated in order to send to Azure.
40496
40497    :ivar type: The identity type. Currently the only supported type is 'SystemAssigned'. Has
40498     constant value: "SystemAssigned".
40499    :vartype type: str
40500    :ivar principal_id: The principal id of the identity.
40501    :vartype principal_id: str
40502    :ivar tenant_id: The client tenant id of the identity.
40503    :vartype tenant_id: str
40504    """
40505
40506    _validation = {
40507        'type': {'required': True, 'constant': True},
40508        'principal_id': {'readonly': True},
40509        'tenant_id': {'readonly': True},
40510    }
40511
40512    _attribute_map = {
40513        'type': {'key': 'type', 'type': 'str'},
40514        'principal_id': {'key': 'principalId', 'type': 'str'},
40515        'tenant_id': {'key': 'tenantId', 'type': 'str'},
40516    }
40517
40518    type = "SystemAssigned"
40519
40520    def __init__(
40521        self,
40522        **kwargs
40523    ):
40524        super(WorkspaceIdentity, self).__init__(**kwargs)
40525        self.principal_id = None
40526        self.tenant_id = None
40527
40528
40529class WorkspaceKeyDetails(msrest.serialization.Model):
40530    """Details of the customer managed key associated with the workspace.
40531
40532    :param name: Workspace Key sub-resource name.
40533    :type name: str
40534    :param key_vault_url: Workspace Key sub-resource key vault url.
40535    :type key_vault_url: str
40536    """
40537
40538    _attribute_map = {
40539        'name': {'key': 'name', 'type': 'str'},
40540        'key_vault_url': {'key': 'keyVaultUrl', 'type': 'str'},
40541    }
40542
40543    def __init__(
40544        self,
40545        *,
40546        name: Optional[str] = None,
40547        key_vault_url: Optional[str] = None,
40548        **kwargs
40549    ):
40550        super(WorkspaceKeyDetails, self).__init__(**kwargs)
40551        self.name = name
40552        self.key_vault_url = key_vault_url
40553
40554
40555class WorkspaceRepositoryConfiguration(msrest.serialization.Model):
40556    """Git integration settings.
40557
40558    :param type: Type of workspace repositoryID configuration. Example WorkspaceVSTSConfiguration,
40559     WorkspaceGitHubConfiguration.
40560    :type type: str
40561    :param host_name: GitHub Enterprise host name. For example: https://github.mydomain.com.
40562    :type host_name: str
40563    :param account_name: Account name.
40564    :type account_name: str
40565    :param project_name: VSTS project name.
40566    :type project_name: str
40567    :param repository_name: Repository name.
40568    :type repository_name: str
40569    :param collaboration_branch: Collaboration branch.
40570    :type collaboration_branch: str
40571    :param root_folder: Root folder to use in the repository.
40572    :type root_folder: str
40573    :param last_commit_id: The last commit ID.
40574    :type last_commit_id: str
40575    :param tenant_id: The VSTS tenant ID.
40576    :type tenant_id: str
40577    :param client_id: GitHub bring your own app client id.
40578    :type client_id: str
40579    :param client_secret: GitHub bring your own app client secret information.
40580    :type client_secret: ~azure.synapse.artifacts.v2020_12_01.models.GitHubClientSecret
40581    """
40582
40583    _attribute_map = {
40584        'type': {'key': 'type', 'type': 'str'},
40585        'host_name': {'key': 'hostName', 'type': 'str'},
40586        'account_name': {'key': 'accountName', 'type': 'str'},
40587        'project_name': {'key': 'projectName', 'type': 'str'},
40588        'repository_name': {'key': 'repositoryName', 'type': 'str'},
40589        'collaboration_branch': {'key': 'collaborationBranch', 'type': 'str'},
40590        'root_folder': {'key': 'rootFolder', 'type': 'str'},
40591        'last_commit_id': {'key': 'lastCommitId', 'type': 'str'},
40592        'tenant_id': {'key': 'tenantId', 'type': 'str'},
40593        'client_id': {'key': 'clientId', 'type': 'str'},
40594        'client_secret': {'key': 'clientSecret', 'type': 'GitHubClientSecret'},
40595    }
40596
40597    def __init__(
40598        self,
40599        *,
40600        type: Optional[str] = None,
40601        host_name: Optional[str] = None,
40602        account_name: Optional[str] = None,
40603        project_name: Optional[str] = None,
40604        repository_name: Optional[str] = None,
40605        collaboration_branch: Optional[str] = None,
40606        root_folder: Optional[str] = None,
40607        last_commit_id: Optional[str] = None,
40608        tenant_id: Optional[str] = None,
40609        client_id: Optional[str] = None,
40610        client_secret: Optional["GitHubClientSecret"] = None,
40611        **kwargs
40612    ):
40613        super(WorkspaceRepositoryConfiguration, self).__init__(**kwargs)
40614        self.type = type
40615        self.host_name = host_name
40616        self.account_name = account_name
40617        self.project_name = project_name
40618        self.repository_name = repository_name
40619        self.collaboration_branch = collaboration_branch
40620        self.root_folder = root_folder
40621        self.last_commit_id = last_commit_id
40622        self.tenant_id = tenant_id
40623        self.client_id = client_id
40624        self.client_secret = client_secret
40625
40626
40627class WorkspaceUpdateParameters(msrest.serialization.Model):
40628    """Parameters for updating a workspace resource.
40629
40630    :param tags: A set of tags. The resource tags.
40631    :type tags: dict[str, str]
40632    :param identity: Managed service identity of the workspace.
40633    :type identity: ~azure.synapse.artifacts.v2020_12_01.models.WorkspaceIdentity
40634    """
40635
40636    _attribute_map = {
40637        'tags': {'key': 'tags', 'type': '{str}'},
40638        'identity': {'key': 'identity', 'type': 'WorkspaceIdentity'},
40639    }
40640
40641    def __init__(
40642        self,
40643        *,
40644        tags: Optional[Dict[str, str]] = None,
40645        identity: Optional["WorkspaceIdentity"] = None,
40646        **kwargs
40647    ):
40648        super(WorkspaceUpdateParameters, self).__init__(**kwargs)
40649        self.tags = tags
40650        self.identity = identity
40651
40652
40653class XeroLinkedService(LinkedService):
40654    """Xero Service linked service.
40655
40656    All required parameters must be populated in order to send to Azure.
40657
40658    :param additional_properties: Unmatched properties from the message are deserialized to this
40659     collection.
40660    :type additional_properties: dict[str, any]
40661    :param type: Required. Type of linked service.Constant filled by server.
40662    :type type: str
40663    :param connect_via: The integration runtime reference.
40664    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
40665    :param description: Linked service description.
40666    :type description: str
40667    :param parameters: Parameters for linked service.
40668    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
40669    :param annotations: List of tags that can be used for describing the linked service.
40670    :type annotations: list[any]
40671    :param connection_properties: Properties used to connect to Xero. It is mutually exclusive with
40672     any other properties in the linked service. Type: object.
40673    :type connection_properties: any
40674    :param host: Required. The endpoint of the Xero server. (i.e. api.xero.com).
40675    :type host: any
40676    :param consumer_key: The consumer key associated with the Xero application.
40677    :type consumer_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
40678    :param private_key: The private key from the .pem file that was generated for your Xero private
40679     application. You must include all the text from the .pem file, including the Unix line endings(
40680     ).
40681    :type private_key: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
40682    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
40683     HTTPS. The default value is true.
40684    :type use_encrypted_endpoints: any
40685    :param use_host_verification: Specifies whether to require the host name in the server's
40686     certificate to match the host name of the server when connecting over SSL. The default value is
40687     true.
40688    :type use_host_verification: any
40689    :param use_peer_verification: Specifies whether to verify the identity of the server when
40690     connecting over SSL. The default value is true.
40691    :type use_peer_verification: any
40692    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
40693     encrypted using the integration runtime credential manager. Type: string (or Expression with
40694     resultType string).
40695    :type encrypted_credential: any
40696    """
40697
40698    _validation = {
40699        'type': {'required': True},
40700        'host': {'required': True},
40701    }
40702
40703    _attribute_map = {
40704        'additional_properties': {'key': '', 'type': '{object}'},
40705        'type': {'key': 'type', 'type': 'str'},
40706        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
40707        'description': {'key': 'description', 'type': 'str'},
40708        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
40709        'annotations': {'key': 'annotations', 'type': '[object]'},
40710        'connection_properties': {'key': 'typeProperties.connectionProperties', 'type': 'object'},
40711        'host': {'key': 'typeProperties.host', 'type': 'object'},
40712        'consumer_key': {'key': 'typeProperties.consumerKey', 'type': 'SecretBase'},
40713        'private_key': {'key': 'typeProperties.privateKey', 'type': 'SecretBase'},
40714        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
40715        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
40716        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
40717        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
40718    }
40719
40720    def __init__(
40721        self,
40722        *,
40723        host: Any,
40724        additional_properties: Optional[Dict[str, Any]] = None,
40725        connect_via: Optional["IntegrationRuntimeReference"] = None,
40726        description: Optional[str] = None,
40727        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
40728        annotations: Optional[List[Any]] = None,
40729        connection_properties: Optional[Any] = None,
40730        consumer_key: Optional["SecretBase"] = None,
40731        private_key: Optional["SecretBase"] = None,
40732        use_encrypted_endpoints: Optional[Any] = None,
40733        use_host_verification: Optional[Any] = None,
40734        use_peer_verification: Optional[Any] = None,
40735        encrypted_credential: Optional[Any] = None,
40736        **kwargs
40737    ):
40738        super(XeroLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
40739        self.type = 'Xero'  # type: str
40740        self.connection_properties = connection_properties
40741        self.host = host
40742        self.consumer_key = consumer_key
40743        self.private_key = private_key
40744        self.use_encrypted_endpoints = use_encrypted_endpoints
40745        self.use_host_verification = use_host_verification
40746        self.use_peer_verification = use_peer_verification
40747        self.encrypted_credential = encrypted_credential
40748
40749
40750class XeroObjectDataset(Dataset):
40751    """Xero Service dataset.
40752
40753    All required parameters must be populated in order to send to Azure.
40754
40755    :param additional_properties: Unmatched properties from the message are deserialized to this
40756     collection.
40757    :type additional_properties: dict[str, any]
40758    :param type: Required. Type of dataset.Constant filled by server.
40759    :type type: str
40760    :param description: Dataset description.
40761    :type description: str
40762    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
40763     with resultType array), itemType: DatasetDataElement.
40764    :type structure: any
40765    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
40766     Expression with resultType array), itemType: DatasetSchemaDataElement.
40767    :type schema: any
40768    :param linked_service_name: Required. Linked service reference.
40769    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
40770    :param parameters: Parameters for dataset.
40771    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
40772    :param annotations: List of tags that can be used for describing the Dataset.
40773    :type annotations: list[any]
40774    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
40775     root level.
40776    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
40777    :param table_name: The table name. Type: string (or Expression with resultType string).
40778    :type table_name: any
40779    """
40780
40781    _validation = {
40782        'type': {'required': True},
40783        'linked_service_name': {'required': True},
40784    }
40785
40786    _attribute_map = {
40787        'additional_properties': {'key': '', 'type': '{object}'},
40788        'type': {'key': 'type', 'type': 'str'},
40789        'description': {'key': 'description', 'type': 'str'},
40790        'structure': {'key': 'structure', 'type': 'object'},
40791        'schema': {'key': 'schema', 'type': 'object'},
40792        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
40793        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
40794        'annotations': {'key': 'annotations', 'type': '[object]'},
40795        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
40796        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
40797    }
40798
40799    def __init__(
40800        self,
40801        *,
40802        linked_service_name: "LinkedServiceReference",
40803        additional_properties: Optional[Dict[str, Any]] = None,
40804        description: Optional[str] = None,
40805        structure: Optional[Any] = None,
40806        schema: Optional[Any] = None,
40807        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
40808        annotations: Optional[List[Any]] = None,
40809        folder: Optional["DatasetFolder"] = None,
40810        table_name: Optional[Any] = None,
40811        **kwargs
40812    ):
40813        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)
40814        self.type = 'XeroObject'  # type: str
40815        self.table_name = table_name
40816
40817
40818class XeroSource(TabularSource):
40819    """A copy activity Xero Service source.
40820
40821    All required parameters must be populated in order to send to Azure.
40822
40823    :param additional_properties: Unmatched properties from the message are deserialized to this
40824     collection.
40825    :type additional_properties: dict[str, any]
40826    :param type: Required. Copy source type.Constant filled by server.
40827    :type type: str
40828    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
40829     integer).
40830    :type source_retry_count: any
40831    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
40832     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
40833    :type source_retry_wait: any
40834    :param max_concurrent_connections: The maximum concurrent connection count for the source data
40835     store. Type: integer (or Expression with resultType integer).
40836    :type max_concurrent_connections: any
40837    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
40838     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
40839    :type query_timeout: any
40840    :param additional_columns: Specifies the additional columns to be added to source data. Type:
40841     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
40842    :type additional_columns: any
40843    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
40844     string).
40845    :type query: any
40846    """
40847
40848    _validation = {
40849        'type': {'required': True},
40850    }
40851
40852    _attribute_map = {
40853        'additional_properties': {'key': '', 'type': '{object}'},
40854        'type': {'key': 'type', 'type': 'str'},
40855        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
40856        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
40857        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
40858        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
40859        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
40860        'query': {'key': 'query', 'type': 'object'},
40861    }
40862
40863    def __init__(
40864        self,
40865        *,
40866        additional_properties: Optional[Dict[str, Any]] = None,
40867        source_retry_count: Optional[Any] = None,
40868        source_retry_wait: Optional[Any] = None,
40869        max_concurrent_connections: Optional[Any] = None,
40870        query_timeout: Optional[Any] = None,
40871        additional_columns: Optional[Any] = None,
40872        query: Optional[Any] = None,
40873        **kwargs
40874    ):
40875        super(XeroSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
40876        self.type = 'XeroSource'  # type: str
40877        self.query = query
40878
40879
40880class XmlDataset(Dataset):
40881    """Xml dataset.
40882
40883    All required parameters must be populated in order to send to Azure.
40884
40885    :param additional_properties: Unmatched properties from the message are deserialized to this
40886     collection.
40887    :type additional_properties: dict[str, any]
40888    :param type: Required. Type of dataset.Constant filled by server.
40889    :type type: str
40890    :param description: Dataset description.
40891    :type description: str
40892    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
40893     with resultType array), itemType: DatasetDataElement.
40894    :type structure: any
40895    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
40896     Expression with resultType array), itemType: DatasetSchemaDataElement.
40897    :type schema: any
40898    :param linked_service_name: Required. Linked service reference.
40899    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
40900    :param parameters: Parameters for dataset.
40901    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
40902    :param annotations: List of tags that can be used for describing the Dataset.
40903    :type annotations: list[any]
40904    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
40905     root level.
40906    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
40907    :param location: The location of the json data storage.
40908    :type location: ~azure.synapse.artifacts.v2020_12_01.models.DatasetLocation
40909    :param encoding_name: The code page name of the preferred encoding. If not specified, the
40910     default value is UTF-8, unless BOM denotes another Unicode encoding. Refer to the name column
40911     of the table in the following link to set supported values:
40912     https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with
40913     resultType string).
40914    :type encoding_name: any
40915    :param null_value: The null value string. Type: string (or Expression with resultType string).
40916    :type null_value: any
40917    :param compression: The data compression method used for the json dataset.
40918    :type compression: ~azure.synapse.artifacts.v2020_12_01.models.DatasetCompression
40919    """
40920
40921    _validation = {
40922        'type': {'required': True},
40923        'linked_service_name': {'required': True},
40924    }
40925
40926    _attribute_map = {
40927        'additional_properties': {'key': '', 'type': '{object}'},
40928        'type': {'key': 'type', 'type': 'str'},
40929        'description': {'key': 'description', 'type': 'str'},
40930        'structure': {'key': 'structure', 'type': 'object'},
40931        'schema': {'key': 'schema', 'type': 'object'},
40932        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
40933        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
40934        'annotations': {'key': 'annotations', 'type': '[object]'},
40935        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
40936        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
40937        'encoding_name': {'key': 'typeProperties.encodingName', 'type': 'object'},
40938        'null_value': {'key': 'typeProperties.nullValue', 'type': 'object'},
40939        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
40940    }
40941
40942    def __init__(
40943        self,
40944        *,
40945        linked_service_name: "LinkedServiceReference",
40946        additional_properties: Optional[Dict[str, Any]] = None,
40947        description: Optional[str] = None,
40948        structure: Optional[Any] = None,
40949        schema: Optional[Any] = None,
40950        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
40951        annotations: Optional[List[Any]] = None,
40952        folder: Optional["DatasetFolder"] = None,
40953        location: Optional["DatasetLocation"] = None,
40954        encoding_name: Optional[Any] = None,
40955        null_value: Optional[Any] = None,
40956        compression: Optional["DatasetCompression"] = None,
40957        **kwargs
40958    ):
40959        super(XmlDataset, 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)
40960        self.type = 'Xml'  # type: str
40961        self.location = location
40962        self.encoding_name = encoding_name
40963        self.null_value = null_value
40964        self.compression = compression
40965
40966
40967class XmlReadSettings(FormatReadSettings):
40968    """Xml read settings.
40969
40970    All required parameters must be populated in order to send to Azure.
40971
40972    :param additional_properties: Unmatched properties from the message are deserialized to this
40973     collection.
40974    :type additional_properties: dict[str, any]
40975    :param type: Required. The read setting type.Constant filled by server.
40976    :type type: str
40977    :param compression_properties: Compression settings.
40978    :type compression_properties:
40979     ~azure.synapse.artifacts.v2020_12_01.models.CompressionReadSettings
40980    :param validation_mode: Indicates what validation method is used when reading the xml files.
40981     Allowed values: 'none', 'xsd', or 'dtd'. Type: string (or Expression with resultType string).
40982    :type validation_mode: any
40983    :param detect_data_type: Indicates whether type detection is enabled when reading the xml
40984     files. Type: boolean (or Expression with resultType boolean).
40985    :type detect_data_type: any
40986    :param namespaces: Indicates whether namespace is enabled when reading the xml files. Type:
40987     boolean (or Expression with resultType boolean).
40988    :type namespaces: any
40989    :param namespace_prefixes: Namespace uri to prefix mappings to override the prefixes in column
40990     names when namespace is enabled, if no prefix is defined for a namespace uri, the prefix of xml
40991     element/attribute name in the xml data file will be used. Example:
40992     "{"http://www.example.com/xml":"prefix"}" Type: object (or Expression with resultType object).
40993    :type namespace_prefixes: any
40994    """
40995
40996    _validation = {
40997        'type': {'required': True},
40998    }
40999
41000    _attribute_map = {
41001        'additional_properties': {'key': '', 'type': '{object}'},
41002        'type': {'key': 'type', 'type': 'str'},
41003        'compression_properties': {'key': 'compressionProperties', 'type': 'CompressionReadSettings'},
41004        'validation_mode': {'key': 'validationMode', 'type': 'object'},
41005        'detect_data_type': {'key': 'detectDataType', 'type': 'object'},
41006        'namespaces': {'key': 'namespaces', 'type': 'object'},
41007        'namespace_prefixes': {'key': 'namespacePrefixes', 'type': 'object'},
41008    }
41009
41010    def __init__(
41011        self,
41012        *,
41013        additional_properties: Optional[Dict[str, Any]] = None,
41014        compression_properties: Optional["CompressionReadSettings"] = None,
41015        validation_mode: Optional[Any] = None,
41016        detect_data_type: Optional[Any] = None,
41017        namespaces: Optional[Any] = None,
41018        namespace_prefixes: Optional[Any] = None,
41019        **kwargs
41020    ):
41021        super(XmlReadSettings, self).__init__(additional_properties=additional_properties, **kwargs)
41022        self.type = 'XmlReadSettings'  # type: str
41023        self.compression_properties = compression_properties
41024        self.validation_mode = validation_mode
41025        self.detect_data_type = detect_data_type
41026        self.namespaces = namespaces
41027        self.namespace_prefixes = namespace_prefixes
41028
41029
41030class XmlSource(CopySource):
41031    """A copy activity Xml source.
41032
41033    All required parameters must be populated in order to send to Azure.
41034
41035    :param additional_properties: Unmatched properties from the message are deserialized to this
41036     collection.
41037    :type additional_properties: dict[str, any]
41038    :param type: Required. Copy source type.Constant filled by server.
41039    :type type: str
41040    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
41041     integer).
41042    :type source_retry_count: any
41043    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
41044     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
41045    :type source_retry_wait: any
41046    :param max_concurrent_connections: The maximum concurrent connection count for the source data
41047     store. Type: integer (or Expression with resultType integer).
41048    :type max_concurrent_connections: any
41049    :param store_settings: Xml store settings.
41050    :type store_settings: ~azure.synapse.artifacts.v2020_12_01.models.StoreReadSettings
41051    :param format_settings: Xml format settings.
41052    :type format_settings: ~azure.synapse.artifacts.v2020_12_01.models.XmlReadSettings
41053    :param additional_columns: Specifies the additional columns to be added to source data. Type:
41054     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
41055    :type additional_columns: any
41056    """
41057
41058    _validation = {
41059        'type': {'required': True},
41060    }
41061
41062    _attribute_map = {
41063        'additional_properties': {'key': '', 'type': '{object}'},
41064        'type': {'key': 'type', 'type': 'str'},
41065        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
41066        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
41067        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
41068        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
41069        'format_settings': {'key': 'formatSettings', 'type': 'XmlReadSettings'},
41070        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
41071    }
41072
41073    def __init__(
41074        self,
41075        *,
41076        additional_properties: Optional[Dict[str, Any]] = None,
41077        source_retry_count: Optional[Any] = None,
41078        source_retry_wait: Optional[Any] = None,
41079        max_concurrent_connections: Optional[Any] = None,
41080        store_settings: Optional["StoreReadSettings"] = None,
41081        format_settings: Optional["XmlReadSettings"] = None,
41082        additional_columns: Optional[Any] = None,
41083        **kwargs
41084    ):
41085        super(XmlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs)
41086        self.type = 'XmlSource'  # type: str
41087        self.store_settings = store_settings
41088        self.format_settings = format_settings
41089        self.additional_columns = additional_columns
41090
41091
41092class ZipDeflateReadSettings(CompressionReadSettings):
41093    """The ZipDeflate compression read settings.
41094
41095    All required parameters must be populated in order to send to Azure.
41096
41097    :param additional_properties: Unmatched properties from the message are deserialized to this
41098     collection.
41099    :type additional_properties: dict[str, any]
41100    :param type: Required. The Compression setting type.Constant filled by server.
41101    :type type: str
41102    :param preserve_zip_file_name_as_folder: Preserve the zip file name as folder path. Type:
41103     boolean (or Expression with resultType boolean).
41104    :type preserve_zip_file_name_as_folder: any
41105    """
41106
41107    _validation = {
41108        'type': {'required': True},
41109    }
41110
41111    _attribute_map = {
41112        'additional_properties': {'key': '', 'type': '{object}'},
41113        'type': {'key': 'type', 'type': 'str'},
41114        'preserve_zip_file_name_as_folder': {'key': 'preserveZipFileNameAsFolder', 'type': 'object'},
41115    }
41116
41117    def __init__(
41118        self,
41119        *,
41120        additional_properties: Optional[Dict[str, Any]] = None,
41121        preserve_zip_file_name_as_folder: Optional[Any] = None,
41122        **kwargs
41123    ):
41124        super(ZipDeflateReadSettings, self).__init__(additional_properties=additional_properties, **kwargs)
41125        self.type = 'ZipDeflateReadSettings'  # type: str
41126        self.preserve_zip_file_name_as_folder = preserve_zip_file_name_as_folder
41127
41128
41129class ZohoLinkedService(LinkedService):
41130    """Zoho server linked service.
41131
41132    All required parameters must be populated in order to send to Azure.
41133
41134    :param additional_properties: Unmatched properties from the message are deserialized to this
41135     collection.
41136    :type additional_properties: dict[str, any]
41137    :param type: Required. Type of linked service.Constant filled by server.
41138    :type type: str
41139    :param connect_via: The integration runtime reference.
41140    :type connect_via: ~azure.synapse.artifacts.v2020_12_01.models.IntegrationRuntimeReference
41141    :param description: Linked service description.
41142    :type description: str
41143    :param parameters: Parameters for linked service.
41144    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
41145    :param annotations: List of tags that can be used for describing the linked service.
41146    :type annotations: list[any]
41147    :param connection_properties: Properties used to connect to Zoho. It is mutually exclusive with
41148     any other properties in the linked service. Type: object.
41149    :type connection_properties: any
41150    :param endpoint: Required. The endpoint of the Zoho server. (i.e. crm.zoho.com/crm/private).
41151    :type endpoint: any
41152    :param access_token: The access token for Zoho authentication.
41153    :type access_token: ~azure.synapse.artifacts.v2020_12_01.models.SecretBase
41154    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
41155     HTTPS. The default value is true.
41156    :type use_encrypted_endpoints: any
41157    :param use_host_verification: Specifies whether to require the host name in the server's
41158     certificate to match the host name of the server when connecting over SSL. The default value is
41159     true.
41160    :type use_host_verification: any
41161    :param use_peer_verification: Specifies whether to verify the identity of the server when
41162     connecting over SSL. The default value is true.
41163    :type use_peer_verification: any
41164    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
41165     encrypted using the integration runtime credential manager. Type: string (or Expression with
41166     resultType string).
41167    :type encrypted_credential: any
41168    """
41169
41170    _validation = {
41171        'type': {'required': True},
41172        'endpoint': {'required': True},
41173    }
41174
41175    _attribute_map = {
41176        'additional_properties': {'key': '', 'type': '{object}'},
41177        'type': {'key': 'type', 'type': 'str'},
41178        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
41179        'description': {'key': 'description', 'type': 'str'},
41180        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
41181        'annotations': {'key': 'annotations', 'type': '[object]'},
41182        'connection_properties': {'key': 'typeProperties.connectionProperties', 'type': 'object'},
41183        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
41184        'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'},
41185        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
41186        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
41187        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
41188        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
41189    }
41190
41191    def __init__(
41192        self,
41193        *,
41194        endpoint: Any,
41195        additional_properties: Optional[Dict[str, Any]] = None,
41196        connect_via: Optional["IntegrationRuntimeReference"] = None,
41197        description: Optional[str] = None,
41198        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
41199        annotations: Optional[List[Any]] = None,
41200        connection_properties: Optional[Any] = None,
41201        access_token: Optional["SecretBase"] = None,
41202        use_encrypted_endpoints: Optional[Any] = None,
41203        use_host_verification: Optional[Any] = None,
41204        use_peer_verification: Optional[Any] = None,
41205        encrypted_credential: Optional[Any] = None,
41206        **kwargs
41207    ):
41208        super(ZohoLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
41209        self.type = 'Zoho'  # type: str
41210        self.connection_properties = connection_properties
41211        self.endpoint = endpoint
41212        self.access_token = access_token
41213        self.use_encrypted_endpoints = use_encrypted_endpoints
41214        self.use_host_verification = use_host_verification
41215        self.use_peer_verification = use_peer_verification
41216        self.encrypted_credential = encrypted_credential
41217
41218
41219class ZohoObjectDataset(Dataset):
41220    """Zoho server dataset.
41221
41222    All required parameters must be populated in order to send to Azure.
41223
41224    :param additional_properties: Unmatched properties from the message are deserialized to this
41225     collection.
41226    :type additional_properties: dict[str, any]
41227    :param type: Required. Type of dataset.Constant filled by server.
41228    :type type: str
41229    :param description: Dataset description.
41230    :type description: str
41231    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
41232     with resultType array), itemType: DatasetDataElement.
41233    :type structure: any
41234    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
41235     Expression with resultType array), itemType: DatasetSchemaDataElement.
41236    :type schema: any
41237    :param linked_service_name: Required. Linked service reference.
41238    :type linked_service_name: ~azure.synapse.artifacts.v2020_12_01.models.LinkedServiceReference
41239    :param parameters: Parameters for dataset.
41240    :type parameters: dict[str, ~azure.synapse.artifacts.v2020_12_01.models.ParameterSpecification]
41241    :param annotations: List of tags that can be used for describing the Dataset.
41242    :type annotations: list[any]
41243    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
41244     root level.
41245    :type folder: ~azure.synapse.artifacts.v2020_12_01.models.DatasetFolder
41246    :param table_name: The table name. Type: string (or Expression with resultType string).
41247    :type table_name: any
41248    """
41249
41250    _validation = {
41251        'type': {'required': True},
41252        'linked_service_name': {'required': True},
41253    }
41254
41255    _attribute_map = {
41256        'additional_properties': {'key': '', 'type': '{object}'},
41257        'type': {'key': 'type', 'type': 'str'},
41258        'description': {'key': 'description', 'type': 'str'},
41259        'structure': {'key': 'structure', 'type': 'object'},
41260        'schema': {'key': 'schema', 'type': 'object'},
41261        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
41262        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
41263        'annotations': {'key': 'annotations', 'type': '[object]'},
41264        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
41265        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
41266    }
41267
41268    def __init__(
41269        self,
41270        *,
41271        linked_service_name: "LinkedServiceReference",
41272        additional_properties: Optional[Dict[str, Any]] = None,
41273        description: Optional[str] = None,
41274        structure: Optional[Any] = None,
41275        schema: Optional[Any] = None,
41276        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
41277        annotations: Optional[List[Any]] = None,
41278        folder: Optional["DatasetFolder"] = None,
41279        table_name: Optional[Any] = None,
41280        **kwargs
41281    ):
41282        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)
41283        self.type = 'ZohoObject'  # type: str
41284        self.table_name = table_name
41285
41286
41287class ZohoSource(TabularSource):
41288    """A copy activity Zoho server source.
41289
41290    All required parameters must be populated in order to send to Azure.
41291
41292    :param additional_properties: Unmatched properties from the message are deserialized to this
41293     collection.
41294    :type additional_properties: dict[str, any]
41295    :param type: Required. Copy source type.Constant filled by server.
41296    :type type: str
41297    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
41298     integer).
41299    :type source_retry_count: any
41300    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
41301     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
41302    :type source_retry_wait: any
41303    :param max_concurrent_connections: The maximum concurrent connection count for the source data
41304     store. Type: integer (or Expression with resultType integer).
41305    :type max_concurrent_connections: any
41306    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
41307     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
41308    :type query_timeout: any
41309    :param additional_columns: Specifies the additional columns to be added to source data. Type:
41310     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
41311    :type additional_columns: any
41312    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
41313     string).
41314    :type query: any
41315    """
41316
41317    _validation = {
41318        'type': {'required': True},
41319    }
41320
41321    _attribute_map = {
41322        'additional_properties': {'key': '', 'type': '{object}'},
41323        'type': {'key': 'type', 'type': 'str'},
41324        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
41325        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
41326        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
41327        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
41328        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
41329        'query': {'key': 'query', 'type': 'object'},
41330    }
41331
41332    def __init__(
41333        self,
41334        *,
41335        additional_properties: Optional[Dict[str, Any]] = None,
41336        source_retry_count: Optional[Any] = None,
41337        source_retry_wait: Optional[Any] = None,
41338        max_concurrent_connections: Optional[Any] = None,
41339        query_timeout: Optional[Any] = None,
41340        additional_columns: Optional[Any] = None,
41341        query: Optional[Any] = None,
41342        **kwargs
41343    ):
41344        super(ZohoSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs)
41345        self.type = 'ZohoSource'  # type: str
41346        self.query = query
41347