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.v2021_06_01_preview.models.ActivityDependency]
37    :param user_properties: Activity user properties.
38    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.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.v2021_06_01_preview.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.v2021_06_01_preview.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:
362     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
363    :param description: Linked service description.
364    :type description: str
365    :param parameters: Parameters for linked service.
366    :type parameters: dict[str,
367     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
368    :param annotations: List of tags that can be used for describing the linked service.
369    :type annotations: list[any]
370    """
371
372    _validation = {
373        'type': {'required': True},
374    }
375
376    _attribute_map = {
377        'additional_properties': {'key': '', 'type': '{object}'},
378        'type': {'key': 'type', 'type': 'str'},
379        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
380        'description': {'key': 'description', 'type': 'str'},
381        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
382        'annotations': {'key': 'annotations', 'type': '[object]'},
383    }
384
385    _subtype_map = {
386        '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'}
387    }
388
389    def __init__(
390        self,
391        *,
392        additional_properties: Optional[Dict[str, Any]] = None,
393        connect_via: Optional["IntegrationRuntimeReference"] = None,
394        description: Optional[str] = None,
395        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
396        annotations: Optional[List[Any]] = None,
397        **kwargs
398    ):
399        super(LinkedService, self).__init__(**kwargs)
400        self.additional_properties = additional_properties
401        self.type = 'LinkedService'  # type: str
402        self.connect_via = connect_via
403        self.description = description
404        self.parameters = parameters
405        self.annotations = annotations
406
407
408class AmazonMWSLinkedService(LinkedService):
409    """Amazon Marketplace Web Service linked service.
410
411    All required parameters must be populated in order to send to Azure.
412
413    :param additional_properties: Unmatched properties from the message are deserialized to this
414     collection.
415    :type additional_properties: dict[str, any]
416    :param type: Required. Type of linked service.Constant filled by server.
417    :type type: str
418    :param connect_via: The integration runtime reference.
419    :type connect_via:
420     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
421    :param description: Linked service description.
422    :type description: str
423    :param parameters: Parameters for linked service.
424    :type parameters: dict[str,
425     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
426    :param annotations: List of tags that can be used for describing the linked service.
427    :type annotations: list[any]
428    :param endpoint: Required. The endpoint of the Amazon MWS server, (i.e.
429     mws.amazonservices.com).
430    :type endpoint: any
431    :param marketplace_id: Required. The Amazon Marketplace ID you want to retrieve data from. To
432     retrieve data from multiple Marketplace IDs, separate them with a comma (,). (i.e.
433     A2EUQ1WTGCTBG2).
434    :type marketplace_id: any
435    :param seller_id: Required. The Amazon seller ID.
436    :type seller_id: any
437    :param mws_auth_token: The Amazon MWS authentication token.
438    :type mws_auth_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
439    :param access_key_id: Required. The access key id used to access data.
440    :type access_key_id: any
441    :param secret_key: The secret key used to access data.
442    :type secret_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
443    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
444     HTTPS. The default value is true.
445    :type use_encrypted_endpoints: any
446    :param use_host_verification: Specifies whether to require the host name in the server's
447     certificate to match the host name of the server when connecting over SSL. The default value is
448     true.
449    :type use_host_verification: any
450    :param use_peer_verification: Specifies whether to verify the identity of the server when
451     connecting over SSL. The default value is true.
452    :type use_peer_verification: any
453    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
454     encrypted using the integration runtime credential manager. Type: string (or Expression with
455     resultType string).
456    :type encrypted_credential: any
457    """
458
459    _validation = {
460        'type': {'required': True},
461        'endpoint': {'required': True},
462        'marketplace_id': {'required': True},
463        'seller_id': {'required': True},
464        'access_key_id': {'required': True},
465    }
466
467    _attribute_map = {
468        'additional_properties': {'key': '', 'type': '{object}'},
469        'type': {'key': 'type', 'type': 'str'},
470        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
471        'description': {'key': 'description', 'type': 'str'},
472        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
473        'annotations': {'key': 'annotations', 'type': '[object]'},
474        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
475        'marketplace_id': {'key': 'typeProperties.marketplaceID', 'type': 'object'},
476        'seller_id': {'key': 'typeProperties.sellerID', 'type': 'object'},
477        'mws_auth_token': {'key': 'typeProperties.mwsAuthToken', 'type': 'SecretBase'},
478        'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'},
479        'secret_key': {'key': 'typeProperties.secretKey', 'type': 'SecretBase'},
480        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
481        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
482        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
483        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
484    }
485
486    def __init__(
487        self,
488        *,
489        endpoint: Any,
490        marketplace_id: Any,
491        seller_id: Any,
492        access_key_id: Any,
493        additional_properties: Optional[Dict[str, Any]] = None,
494        connect_via: Optional["IntegrationRuntimeReference"] = None,
495        description: Optional[str] = None,
496        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
497        annotations: Optional[List[Any]] = None,
498        mws_auth_token: Optional["SecretBase"] = None,
499        secret_key: Optional["SecretBase"] = None,
500        use_encrypted_endpoints: Optional[Any] = None,
501        use_host_verification: Optional[Any] = None,
502        use_peer_verification: Optional[Any] = None,
503        encrypted_credential: Optional[Any] = None,
504        **kwargs
505    ):
506        super(AmazonMWSLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
507        self.type = 'AmazonMWS'  # type: str
508        self.endpoint = endpoint
509        self.marketplace_id = marketplace_id
510        self.seller_id = seller_id
511        self.mws_auth_token = mws_auth_token
512        self.access_key_id = access_key_id
513        self.secret_key = secret_key
514        self.use_encrypted_endpoints = use_encrypted_endpoints
515        self.use_host_verification = use_host_verification
516        self.use_peer_verification = use_peer_verification
517        self.encrypted_credential = encrypted_credential
518
519
520class Dataset(msrest.serialization.Model):
521    """The Azure Data Factory nested object which identifies data within different data stores, such as tables, files, folders, and documents.
522
523    You probably want to use the sub-classes and not this class directly. Known
524    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.
525
526    All required parameters must be populated in order to send to Azure.
527
528    :param additional_properties: Unmatched properties from the message are deserialized to this
529     collection.
530    :type additional_properties: dict[str, any]
531    :param type: Required. Type of dataset.Constant filled by server.
532    :type type: str
533    :param description: Dataset description.
534    :type description: str
535    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
536     with resultType array), itemType: DatasetDataElement.
537    :type structure: any
538    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
539     Expression with resultType array), itemType: DatasetSchemaDataElement.
540    :type schema: any
541    :param linked_service_name: Required. Linked service reference.
542    :type linked_service_name:
543     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
544    :param parameters: Parameters for dataset.
545    :type parameters: dict[str,
546     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
547    :param annotations: List of tags that can be used for describing the Dataset.
548    :type annotations: list[any]
549    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
550     root level.
551    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
552    """
553
554    _validation = {
555        'type': {'required': True},
556        'linked_service_name': {'required': True},
557    }
558
559    _attribute_map = {
560        'additional_properties': {'key': '', 'type': '{object}'},
561        'type': {'key': 'type', 'type': 'str'},
562        'description': {'key': 'description', 'type': 'str'},
563        'structure': {'key': 'structure', 'type': 'object'},
564        'schema': {'key': 'schema', 'type': 'object'},
565        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
566        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
567        'annotations': {'key': 'annotations', 'type': '[object]'},
568        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
569    }
570
571    _subtype_map = {
572        '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'}
573    }
574
575    def __init__(
576        self,
577        *,
578        linked_service_name: "LinkedServiceReference",
579        additional_properties: Optional[Dict[str, Any]] = None,
580        description: Optional[str] = None,
581        structure: Optional[Any] = None,
582        schema: Optional[Any] = None,
583        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
584        annotations: Optional[List[Any]] = None,
585        folder: Optional["DatasetFolder"] = None,
586        **kwargs
587    ):
588        super(Dataset, self).__init__(**kwargs)
589        self.additional_properties = additional_properties
590        self.type = 'Dataset'  # type: str
591        self.description = description
592        self.structure = structure
593        self.schema = schema
594        self.linked_service_name = linked_service_name
595        self.parameters = parameters
596        self.annotations = annotations
597        self.folder = folder
598
599
600class AmazonMWSObjectDataset(Dataset):
601    """Amazon Marketplace Web Service dataset.
602
603    All required parameters must be populated in order to send to Azure.
604
605    :param additional_properties: Unmatched properties from the message are deserialized to this
606     collection.
607    :type additional_properties: dict[str, any]
608    :param type: Required. Type of dataset.Constant filled by server.
609    :type type: str
610    :param description: Dataset description.
611    :type description: str
612    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
613     with resultType array), itemType: DatasetDataElement.
614    :type structure: any
615    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
616     Expression with resultType array), itemType: DatasetSchemaDataElement.
617    :type schema: any
618    :param linked_service_name: Required. Linked service reference.
619    :type linked_service_name:
620     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
621    :param parameters: Parameters for dataset.
622    :type parameters: dict[str,
623     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
624    :param annotations: List of tags that can be used for describing the Dataset.
625    :type annotations: list[any]
626    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
627     root level.
628    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
629    :param table_name: The table name. Type: string (or Expression with resultType string).
630    :type table_name: any
631    """
632
633    _validation = {
634        'type': {'required': True},
635        'linked_service_name': {'required': True},
636    }
637
638    _attribute_map = {
639        'additional_properties': {'key': '', 'type': '{object}'},
640        'type': {'key': 'type', 'type': 'str'},
641        'description': {'key': 'description', 'type': 'str'},
642        'structure': {'key': 'structure', 'type': 'object'},
643        'schema': {'key': 'schema', 'type': 'object'},
644        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
645        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
646        'annotations': {'key': 'annotations', 'type': '[object]'},
647        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
648        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
649    }
650
651    def __init__(
652        self,
653        *,
654        linked_service_name: "LinkedServiceReference",
655        additional_properties: Optional[Dict[str, Any]] = None,
656        description: Optional[str] = None,
657        structure: Optional[Any] = None,
658        schema: Optional[Any] = None,
659        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
660        annotations: Optional[List[Any]] = None,
661        folder: Optional["DatasetFolder"] = None,
662        table_name: Optional[Any] = None,
663        **kwargs
664    ):
665        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)
666        self.type = 'AmazonMWSObject'  # type: str
667        self.table_name = table_name
668
669
670class CopySource(msrest.serialization.Model):
671    """A copy activity source.
672
673    You probably want to use the sub-classes and not this class directly. Known
674    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.
675
676    All required parameters must be populated in order to send to Azure.
677
678    :param additional_properties: Unmatched properties from the message are deserialized to this
679     collection.
680    :type additional_properties: dict[str, any]
681    :param type: Required. Copy source type.Constant filled by server.
682    :type type: str
683    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
684     integer).
685    :type source_retry_count: any
686    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
687     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
688    :type source_retry_wait: any
689    :param max_concurrent_connections: The maximum concurrent connection count for the source data
690     store. Type: integer (or Expression with resultType integer).
691    :type max_concurrent_connections: any
692    """
693
694    _validation = {
695        'type': {'required': True},
696    }
697
698    _attribute_map = {
699        'additional_properties': {'key': '', 'type': '{object}'},
700        'type': {'key': 'type', 'type': 'str'},
701        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
702        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
703        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
704    }
705
706    _subtype_map = {
707        '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'}
708    }
709
710    def __init__(
711        self,
712        *,
713        additional_properties: Optional[Dict[str, Any]] = None,
714        source_retry_count: Optional[Any] = None,
715        source_retry_wait: Optional[Any] = None,
716        max_concurrent_connections: Optional[Any] = None,
717        **kwargs
718    ):
719        super(CopySource, self).__init__(**kwargs)
720        self.additional_properties = additional_properties
721        self.type = 'CopySource'  # type: str
722        self.source_retry_count = source_retry_count
723        self.source_retry_wait = source_retry_wait
724        self.max_concurrent_connections = max_concurrent_connections
725
726
727class TabularSource(CopySource):
728    """Copy activity sources of tabular type.
729
730    You probably want to use the sub-classes and not this class directly. Known
731    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.
732
733    All required parameters must be populated in order to send to Azure.
734
735    :param additional_properties: Unmatched properties from the message are deserialized to this
736     collection.
737    :type additional_properties: dict[str, any]
738    :param type: Required. Copy source type.Constant filled by server.
739    :type type: str
740    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
741     integer).
742    :type source_retry_count: any
743    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
744     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
745    :type source_retry_wait: any
746    :param max_concurrent_connections: The maximum concurrent connection count for the source data
747     store. Type: integer (or Expression with resultType integer).
748    :type max_concurrent_connections: any
749    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
750     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
751    :type query_timeout: any
752    :param additional_columns: Specifies the additional columns to be added to source data. Type:
753     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
754    :type additional_columns: any
755    """
756
757    _validation = {
758        'type': {'required': True},
759    }
760
761    _attribute_map = {
762        'additional_properties': {'key': '', 'type': '{object}'},
763        'type': {'key': 'type', 'type': 'str'},
764        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
765        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
766        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
767        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
768        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
769    }
770
771    _subtype_map = {
772        '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'}
773    }
774
775    def __init__(
776        self,
777        *,
778        additional_properties: Optional[Dict[str, Any]] = None,
779        source_retry_count: Optional[Any] = None,
780        source_retry_wait: Optional[Any] = None,
781        max_concurrent_connections: Optional[Any] = None,
782        query_timeout: Optional[Any] = None,
783        additional_columns: Optional[Any] = None,
784        **kwargs
785    ):
786        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)
787        self.type = 'TabularSource'  # type: str
788        self.query_timeout = query_timeout
789        self.additional_columns = additional_columns
790
791
792class AmazonMWSSource(TabularSource):
793    """A copy activity Amazon Marketplace Web Service source.
794
795    All required parameters must be populated in order to send to Azure.
796
797    :param additional_properties: Unmatched properties from the message are deserialized to this
798     collection.
799    :type additional_properties: dict[str, any]
800    :param type: Required. Copy source type.Constant filled by server.
801    :type type: str
802    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
803     integer).
804    :type source_retry_count: any
805    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
806     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
807    :type source_retry_wait: any
808    :param max_concurrent_connections: The maximum concurrent connection count for the source data
809     store. Type: integer (or Expression with resultType integer).
810    :type max_concurrent_connections: any
811    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
812     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
813    :type query_timeout: any
814    :param additional_columns: Specifies the additional columns to be added to source data. Type:
815     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
816    :type additional_columns: any
817    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
818     string).
819    :type query: any
820    """
821
822    _validation = {
823        'type': {'required': True},
824    }
825
826    _attribute_map = {
827        'additional_properties': {'key': '', 'type': '{object}'},
828        'type': {'key': 'type', 'type': 'str'},
829        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
830        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
831        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
832        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
833        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
834        'query': {'key': 'query', 'type': 'object'},
835    }
836
837    def __init__(
838        self,
839        *,
840        additional_properties: Optional[Dict[str, Any]] = None,
841        source_retry_count: Optional[Any] = None,
842        source_retry_wait: Optional[Any] = None,
843        max_concurrent_connections: Optional[Any] = None,
844        query_timeout: Optional[Any] = None,
845        additional_columns: Optional[Any] = None,
846        query: Optional[Any] = None,
847        **kwargs
848    ):
849        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)
850        self.type = 'AmazonMWSSource'  # type: str
851        self.query = query
852
853
854class AmazonRedshiftLinkedService(LinkedService):
855    """Linked service for Amazon Redshift.
856
857    All required parameters must be populated in order to send to Azure.
858
859    :param additional_properties: Unmatched properties from the message are deserialized to this
860     collection.
861    :type additional_properties: dict[str, any]
862    :param type: Required. Type of linked service.Constant filled by server.
863    :type type: str
864    :param connect_via: The integration runtime reference.
865    :type connect_via:
866     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
867    :param description: Linked service description.
868    :type description: str
869    :param parameters: Parameters for linked service.
870    :type parameters: dict[str,
871     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
872    :param annotations: List of tags that can be used for describing the linked service.
873    :type annotations: list[any]
874    :param server: Required. The name of the Amazon Redshift server. Type: string (or Expression
875     with resultType string).
876    :type server: any
877    :param username: The username of the Amazon Redshift source. Type: string (or Expression with
878     resultType string).
879    :type username: any
880    :param password: The password of the Amazon Redshift source.
881    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
882    :param database: Required. The database name of the Amazon Redshift source. Type: string (or
883     Expression with resultType string).
884    :type database: any
885    :param port: The TCP port number that the Amazon Redshift server uses to listen for client
886     connections. The default value is 5439. Type: integer (or Expression with resultType integer).
887    :type port: any
888    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
889     encrypted using the integration runtime credential manager. Type: string (or Expression with
890     resultType string).
891    :type encrypted_credential: any
892    """
893
894    _validation = {
895        'type': {'required': True},
896        'server': {'required': True},
897        'database': {'required': True},
898    }
899
900    _attribute_map = {
901        'additional_properties': {'key': '', 'type': '{object}'},
902        'type': {'key': 'type', 'type': 'str'},
903        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
904        'description': {'key': 'description', 'type': 'str'},
905        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
906        'annotations': {'key': 'annotations', 'type': '[object]'},
907        'server': {'key': 'typeProperties.server', 'type': 'object'},
908        'username': {'key': 'typeProperties.username', 'type': 'object'},
909        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
910        'database': {'key': 'typeProperties.database', 'type': 'object'},
911        'port': {'key': 'typeProperties.port', 'type': 'object'},
912        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
913    }
914
915    def __init__(
916        self,
917        *,
918        server: Any,
919        database: Any,
920        additional_properties: Optional[Dict[str, Any]] = None,
921        connect_via: Optional["IntegrationRuntimeReference"] = None,
922        description: Optional[str] = None,
923        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
924        annotations: Optional[List[Any]] = None,
925        username: Optional[Any] = None,
926        password: Optional["SecretBase"] = None,
927        port: Optional[Any] = None,
928        encrypted_credential: Optional[Any] = None,
929        **kwargs
930    ):
931        super(AmazonRedshiftLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
932        self.type = 'AmazonRedshift'  # type: str
933        self.server = server
934        self.username = username
935        self.password = password
936        self.database = database
937        self.port = port
938        self.encrypted_credential = encrypted_credential
939
940
941class AmazonRedshiftSource(TabularSource):
942    """A copy activity source for Amazon Redshift Source.
943
944    All required parameters must be populated in order to send to Azure.
945
946    :param additional_properties: Unmatched properties from the message are deserialized to this
947     collection.
948    :type additional_properties: dict[str, any]
949    :param type: Required. Copy source type.Constant filled by server.
950    :type type: str
951    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
952     integer).
953    :type source_retry_count: any
954    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
955     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
956    :type source_retry_wait: any
957    :param max_concurrent_connections: The maximum concurrent connection count for the source data
958     store. Type: integer (or Expression with resultType integer).
959    :type max_concurrent_connections: any
960    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
961     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
962    :type query_timeout: any
963    :param additional_columns: Specifies the additional columns to be added to source data. Type:
964     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
965    :type additional_columns: any
966    :param query: Database query. Type: string (or Expression with resultType string).
967    :type query: any
968    :param redshift_unload_settings: The Amazon S3 settings needed for the interim Amazon S3 when
969     copying from Amazon Redshift with unload. With this, data from Amazon Redshift source will be
970     unloaded into S3 first and then copied into the targeted sink from the interim S3.
971    :type redshift_unload_settings:
972     ~azure.synapse.artifacts.v2021_06_01_preview.models.RedshiftUnloadSettings
973    """
974
975    _validation = {
976        'type': {'required': True},
977    }
978
979    _attribute_map = {
980        'additional_properties': {'key': '', 'type': '{object}'},
981        'type': {'key': 'type', 'type': 'str'},
982        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
983        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
984        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
985        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
986        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
987        'query': {'key': 'query', 'type': 'object'},
988        'redshift_unload_settings': {'key': 'redshiftUnloadSettings', 'type': 'RedshiftUnloadSettings'},
989    }
990
991    def __init__(
992        self,
993        *,
994        additional_properties: Optional[Dict[str, Any]] = None,
995        source_retry_count: Optional[Any] = None,
996        source_retry_wait: Optional[Any] = None,
997        max_concurrent_connections: Optional[Any] = None,
998        query_timeout: Optional[Any] = None,
999        additional_columns: Optional[Any] = None,
1000        query: Optional[Any] = None,
1001        redshift_unload_settings: Optional["RedshiftUnloadSettings"] = None,
1002        **kwargs
1003    ):
1004        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)
1005        self.type = 'AmazonRedshiftSource'  # type: str
1006        self.query = query
1007        self.redshift_unload_settings = redshift_unload_settings
1008
1009
1010class AmazonRedshiftTableDataset(Dataset):
1011    """The Amazon Redshift table dataset.
1012
1013    All required parameters must be populated in order to send to Azure.
1014
1015    :param additional_properties: Unmatched properties from the message are deserialized to this
1016     collection.
1017    :type additional_properties: dict[str, any]
1018    :param type: Required. Type of dataset.Constant filled by server.
1019    :type type: str
1020    :param description: Dataset description.
1021    :type description: str
1022    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
1023     with resultType array), itemType: DatasetDataElement.
1024    :type structure: any
1025    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
1026     Expression with resultType array), itemType: DatasetSchemaDataElement.
1027    :type schema: any
1028    :param linked_service_name: Required. Linked service reference.
1029    :type linked_service_name:
1030     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
1031    :param parameters: Parameters for dataset.
1032    :type parameters: dict[str,
1033     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
1034    :param annotations: List of tags that can be used for describing the Dataset.
1035    :type annotations: list[any]
1036    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
1037     root level.
1038    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
1039    :param table_name: This property will be retired. Please consider using schema + table
1040     properties instead.
1041    :type table_name: any
1042    :param table: The Amazon Redshift table name. Type: string (or Expression with resultType
1043     string).
1044    :type table: any
1045    :param schema_type_properties_schema: The Amazon Redshift schema name. Type: string (or
1046     Expression with resultType string).
1047    :type schema_type_properties_schema: any
1048    """
1049
1050    _validation = {
1051        'type': {'required': True},
1052        'linked_service_name': {'required': True},
1053    }
1054
1055    _attribute_map = {
1056        'additional_properties': {'key': '', 'type': '{object}'},
1057        'type': {'key': 'type', 'type': 'str'},
1058        'description': {'key': 'description', 'type': 'str'},
1059        'structure': {'key': 'structure', 'type': 'object'},
1060        'schema': {'key': 'schema', 'type': 'object'},
1061        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
1062        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
1063        'annotations': {'key': 'annotations', 'type': '[object]'},
1064        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
1065        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
1066        'table': {'key': 'typeProperties.table', 'type': 'object'},
1067        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
1068    }
1069
1070    def __init__(
1071        self,
1072        *,
1073        linked_service_name: "LinkedServiceReference",
1074        additional_properties: Optional[Dict[str, Any]] = None,
1075        description: Optional[str] = None,
1076        structure: Optional[Any] = None,
1077        schema: Optional[Any] = None,
1078        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
1079        annotations: Optional[List[Any]] = None,
1080        folder: Optional["DatasetFolder"] = None,
1081        table_name: Optional[Any] = None,
1082        table: Optional[Any] = None,
1083        schema_type_properties_schema: Optional[Any] = None,
1084        **kwargs
1085    ):
1086        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)
1087        self.type = 'AmazonRedshiftTable'  # type: str
1088        self.table_name = table_name
1089        self.table = table
1090        self.schema_type_properties_schema = schema_type_properties_schema
1091
1092
1093class AmazonS3Dataset(Dataset):
1094    """A single Amazon Simple Storage Service (S3) object or a set of S3 objects.
1095
1096    All required parameters must be populated in order to send to Azure.
1097
1098    :param additional_properties: Unmatched properties from the message are deserialized to this
1099     collection.
1100    :type additional_properties: dict[str, any]
1101    :param type: Required. Type of dataset.Constant filled by server.
1102    :type type: str
1103    :param description: Dataset description.
1104    :type description: str
1105    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
1106     with resultType array), itemType: DatasetDataElement.
1107    :type structure: any
1108    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
1109     Expression with resultType array), itemType: DatasetSchemaDataElement.
1110    :type schema: any
1111    :param linked_service_name: Required. Linked service reference.
1112    :type linked_service_name:
1113     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
1114    :param parameters: Parameters for dataset.
1115    :type parameters: dict[str,
1116     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
1117    :param annotations: List of tags that can be used for describing the Dataset.
1118    :type annotations: list[any]
1119    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
1120     root level.
1121    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
1122    :param bucket_name: Required. The name of the Amazon S3 bucket. Type: string (or Expression
1123     with resultType string).
1124    :type bucket_name: any
1125    :param key: The key of the Amazon S3 object. Type: string (or Expression with resultType
1126     string).
1127    :type key: any
1128    :param prefix: The prefix filter for the S3 object name. Type: string (or Expression with
1129     resultType string).
1130    :type prefix: any
1131    :param version: The version for the S3 object. Type: string (or Expression with resultType
1132     string).
1133    :type version: any
1134    :param modified_datetime_start: The start of S3 object's modified datetime. Type: string (or
1135     Expression with resultType string).
1136    :type modified_datetime_start: any
1137    :param modified_datetime_end: The end of S3 object's modified datetime. Type: string (or
1138     Expression with resultType string).
1139    :type modified_datetime_end: any
1140    :param format: The format of files.
1141    :type format: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetStorageFormat
1142    :param compression: The data compression method used for the Amazon S3 object.
1143    :type compression: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetCompression
1144    """
1145
1146    _validation = {
1147        'type': {'required': True},
1148        'linked_service_name': {'required': True},
1149        'bucket_name': {'required': True},
1150    }
1151
1152    _attribute_map = {
1153        'additional_properties': {'key': '', 'type': '{object}'},
1154        'type': {'key': 'type', 'type': 'str'},
1155        'description': {'key': 'description', 'type': 'str'},
1156        'structure': {'key': 'structure', 'type': 'object'},
1157        'schema': {'key': 'schema', 'type': 'object'},
1158        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
1159        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
1160        'annotations': {'key': 'annotations', 'type': '[object]'},
1161        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
1162        'bucket_name': {'key': 'typeProperties.bucketName', 'type': 'object'},
1163        'key': {'key': 'typeProperties.key', 'type': 'object'},
1164        'prefix': {'key': 'typeProperties.prefix', 'type': 'object'},
1165        'version': {'key': 'typeProperties.version', 'type': 'object'},
1166        'modified_datetime_start': {'key': 'typeProperties.modifiedDatetimeStart', 'type': 'object'},
1167        'modified_datetime_end': {'key': 'typeProperties.modifiedDatetimeEnd', 'type': 'object'},
1168        'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'},
1169        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
1170    }
1171
1172    def __init__(
1173        self,
1174        *,
1175        linked_service_name: "LinkedServiceReference",
1176        bucket_name: Any,
1177        additional_properties: Optional[Dict[str, Any]] = None,
1178        description: Optional[str] = None,
1179        structure: Optional[Any] = None,
1180        schema: Optional[Any] = None,
1181        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
1182        annotations: Optional[List[Any]] = None,
1183        folder: Optional["DatasetFolder"] = None,
1184        key: Optional[Any] = None,
1185        prefix: Optional[Any] = None,
1186        version: Optional[Any] = None,
1187        modified_datetime_start: Optional[Any] = None,
1188        modified_datetime_end: Optional[Any] = None,
1189        format: Optional["DatasetStorageFormat"] = None,
1190        compression: Optional["DatasetCompression"] = None,
1191        **kwargs
1192    ):
1193        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)
1194        self.type = 'AmazonS3Object'  # type: str
1195        self.bucket_name = bucket_name
1196        self.key = key
1197        self.prefix = prefix
1198        self.version = version
1199        self.modified_datetime_start = modified_datetime_start
1200        self.modified_datetime_end = modified_datetime_end
1201        self.format = format
1202        self.compression = compression
1203
1204
1205class AmazonS3LinkedService(LinkedService):
1206    """Linked service for Amazon S3.
1207
1208    All required parameters must be populated in order to send to Azure.
1209
1210    :param additional_properties: Unmatched properties from the message are deserialized to this
1211     collection.
1212    :type additional_properties: dict[str, any]
1213    :param type: Required. Type of linked service.Constant filled by server.
1214    :type type: str
1215    :param connect_via: The integration runtime reference.
1216    :type connect_via:
1217     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
1218    :param description: Linked service description.
1219    :type description: str
1220    :param parameters: Parameters for linked service.
1221    :type parameters: dict[str,
1222     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
1223    :param annotations: List of tags that can be used for describing the linked service.
1224    :type annotations: list[any]
1225    :param authentication_type: The authentication type of S3. Allowed value: AccessKey (default)
1226     or TemporarySecurityCredentials. Type: string (or Expression with resultType string).
1227    :type authentication_type: any
1228    :param access_key_id: The access key identifier of the Amazon S3 Identity and Access Management
1229     (IAM) user. Type: string (or Expression with resultType string).
1230    :type access_key_id: any
1231    :param secret_access_key: The secret access key of the Amazon S3 Identity and Access Management
1232     (IAM) user.
1233    :type secret_access_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
1234    :param service_url: This value specifies the endpoint to access with the S3 Connector. This is
1235     an optional property; change it only if you want to try a different service endpoint or want to
1236     switch between https and http. Type: string (or Expression with resultType string).
1237    :type service_url: any
1238    :param session_token: The session token for the S3 temporary security credential.
1239    :type session_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
1240    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
1241     encrypted using the integration runtime credential manager. Type: string (or Expression with
1242     resultType string).
1243    :type encrypted_credential: any
1244    """
1245
1246    _validation = {
1247        'type': {'required': True},
1248    }
1249
1250    _attribute_map = {
1251        'additional_properties': {'key': '', 'type': '{object}'},
1252        'type': {'key': 'type', 'type': 'str'},
1253        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
1254        'description': {'key': 'description', 'type': 'str'},
1255        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
1256        'annotations': {'key': 'annotations', 'type': '[object]'},
1257        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'},
1258        'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'},
1259        'secret_access_key': {'key': 'typeProperties.secretAccessKey', 'type': 'SecretBase'},
1260        'service_url': {'key': 'typeProperties.serviceUrl', 'type': 'object'},
1261        'session_token': {'key': 'typeProperties.sessionToken', 'type': 'SecretBase'},
1262        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
1263    }
1264
1265    def __init__(
1266        self,
1267        *,
1268        additional_properties: Optional[Dict[str, Any]] = None,
1269        connect_via: Optional["IntegrationRuntimeReference"] = None,
1270        description: Optional[str] = None,
1271        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
1272        annotations: Optional[List[Any]] = None,
1273        authentication_type: Optional[Any] = None,
1274        access_key_id: Optional[Any] = None,
1275        secret_access_key: Optional["SecretBase"] = None,
1276        service_url: Optional[Any] = None,
1277        session_token: Optional["SecretBase"] = None,
1278        encrypted_credential: Optional[Any] = None,
1279        **kwargs
1280    ):
1281        super(AmazonS3LinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
1282        self.type = 'AmazonS3'  # type: str
1283        self.authentication_type = authentication_type
1284        self.access_key_id = access_key_id
1285        self.secret_access_key = secret_access_key
1286        self.service_url = service_url
1287        self.session_token = session_token
1288        self.encrypted_credential = encrypted_credential
1289
1290
1291class DatasetLocation(msrest.serialization.Model):
1292    """Dataset location.
1293
1294    You probably want to use the sub-classes and not this class directly. Known
1295    sub-classes are: AmazonS3Location, AzureBlobFSLocation, AzureBlobStorageLocation, AzureDataLakeStoreLocation, AzureFileStorageLocation, FileServerLocation, FtpServerLocation, GoogleCloudStorageLocation, HdfsLocation, HttpServerLocation, SftpLocation.
1296
1297    All required parameters must be populated in order to send to Azure.
1298
1299    :param additional_properties: Unmatched properties from the message are deserialized to this
1300     collection.
1301    :type additional_properties: dict[str, any]
1302    :param type: Required. Type of dataset storage location.Constant filled by server.
1303    :type type: str
1304    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
1305     resultType string).
1306    :type folder_path: any
1307    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
1308     string).
1309    :type file_name: any
1310    """
1311
1312    _validation = {
1313        'type': {'required': True},
1314    }
1315
1316    _attribute_map = {
1317        'additional_properties': {'key': '', 'type': '{object}'},
1318        'type': {'key': 'type', 'type': 'str'},
1319        'folder_path': {'key': 'folderPath', 'type': 'object'},
1320        'file_name': {'key': 'fileName', 'type': 'object'},
1321    }
1322
1323    _subtype_map = {
1324        'type': {'AmazonS3Location': 'AmazonS3Location', 'AzureBlobFSLocation': 'AzureBlobFSLocation', 'AzureBlobStorageLocation': 'AzureBlobStorageLocation', 'AzureDataLakeStoreLocation': 'AzureDataLakeStoreLocation', 'AzureFileStorageLocation': 'AzureFileStorageLocation', 'FileServerLocation': 'FileServerLocation', 'FtpServerLocation': 'FtpServerLocation', 'GoogleCloudStorageLocation': 'GoogleCloudStorageLocation', 'HdfsLocation': 'HdfsLocation', 'HttpServerLocation': 'HttpServerLocation', 'SftpLocation': 'SftpLocation'}
1325    }
1326
1327    def __init__(
1328        self,
1329        *,
1330        additional_properties: Optional[Dict[str, Any]] = None,
1331        folder_path: Optional[Any] = None,
1332        file_name: Optional[Any] = None,
1333        **kwargs
1334    ):
1335        super(DatasetLocation, self).__init__(**kwargs)
1336        self.additional_properties = additional_properties
1337        self.type = 'DatasetLocation'  # type: str
1338        self.folder_path = folder_path
1339        self.file_name = file_name
1340
1341
1342class AmazonS3Location(DatasetLocation):
1343    """The location of amazon S3 dataset.
1344
1345    All required parameters must be populated in order to send to Azure.
1346
1347    :param additional_properties: Unmatched properties from the message are deserialized to this
1348     collection.
1349    :type additional_properties: dict[str, any]
1350    :param type: Required. Type of dataset storage location.Constant filled by server.
1351    :type type: str
1352    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
1353     resultType string).
1354    :type folder_path: any
1355    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
1356     string).
1357    :type file_name: any
1358    :param bucket_name: Specify the bucketName of amazon S3. Type: string (or Expression with
1359     resultType string).
1360    :type bucket_name: any
1361    :param version: Specify the version of amazon S3. Type: string (or Expression with resultType
1362     string).
1363    :type version: any
1364    """
1365
1366    _validation = {
1367        'type': {'required': True},
1368    }
1369
1370    _attribute_map = {
1371        'additional_properties': {'key': '', 'type': '{object}'},
1372        'type': {'key': 'type', 'type': 'str'},
1373        'folder_path': {'key': 'folderPath', 'type': 'object'},
1374        'file_name': {'key': 'fileName', 'type': 'object'},
1375        'bucket_name': {'key': 'bucketName', 'type': 'object'},
1376        'version': {'key': 'version', 'type': 'object'},
1377    }
1378
1379    def __init__(
1380        self,
1381        *,
1382        additional_properties: Optional[Dict[str, Any]] = None,
1383        folder_path: Optional[Any] = None,
1384        file_name: Optional[Any] = None,
1385        bucket_name: Optional[Any] = None,
1386        version: Optional[Any] = None,
1387        **kwargs
1388    ):
1389        super(AmazonS3Location, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
1390        self.type = 'AmazonS3Location'  # type: str
1391        self.bucket_name = bucket_name
1392        self.version = version
1393
1394
1395class StoreReadSettings(msrest.serialization.Model):
1396    """Connector read setting.
1397
1398    You probably want to use the sub-classes and not this class directly. Known
1399    sub-classes are: AmazonS3ReadSettings, AzureBlobFSReadSettings, AzureBlobStorageReadSettings, AzureDataLakeStoreReadSettings, AzureFileStorageReadSettings, FileServerReadSettings, FtpReadSettings, GoogleCloudStorageReadSettings, HdfsReadSettings, HttpReadSettings, SftpReadSettings.
1400
1401    All required parameters must be populated in order to send to Azure.
1402
1403    :param additional_properties: Unmatched properties from the message are deserialized to this
1404     collection.
1405    :type additional_properties: dict[str, any]
1406    :param type: Required. The read setting type.Constant filled by server.
1407    :type type: str
1408    :param max_concurrent_connections: The maximum concurrent connection count for the source data
1409     store. Type: integer (or Expression with resultType integer).
1410    :type max_concurrent_connections: any
1411    """
1412
1413    _validation = {
1414        'type': {'required': True},
1415    }
1416
1417    _attribute_map = {
1418        'additional_properties': {'key': '', 'type': '{object}'},
1419        'type': {'key': 'type', 'type': 'str'},
1420        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
1421    }
1422
1423    _subtype_map = {
1424        'type': {'AmazonS3ReadSettings': 'AmazonS3ReadSettings', 'AzureBlobFSReadSettings': 'AzureBlobFSReadSettings', 'AzureBlobStorageReadSettings': 'AzureBlobStorageReadSettings', 'AzureDataLakeStoreReadSettings': 'AzureDataLakeStoreReadSettings', 'AzureFileStorageReadSettings': 'AzureFileStorageReadSettings', 'FileServerReadSettings': 'FileServerReadSettings', 'FtpReadSettings': 'FtpReadSettings', 'GoogleCloudStorageReadSettings': 'GoogleCloudStorageReadSettings', 'HdfsReadSettings': 'HdfsReadSettings', 'HttpReadSettings': 'HttpReadSettings', 'SftpReadSettings': 'SftpReadSettings'}
1425    }
1426
1427    def __init__(
1428        self,
1429        *,
1430        additional_properties: Optional[Dict[str, Any]] = None,
1431        max_concurrent_connections: Optional[Any] = None,
1432        **kwargs
1433    ):
1434        super(StoreReadSettings, self).__init__(**kwargs)
1435        self.additional_properties = additional_properties
1436        self.type = 'StoreReadSettings'  # type: str
1437        self.max_concurrent_connections = max_concurrent_connections
1438
1439
1440class AmazonS3ReadSettings(StoreReadSettings):
1441    """Azure data lake store read settings.
1442
1443    All required parameters must be populated in order to send to Azure.
1444
1445    :param additional_properties: Unmatched properties from the message are deserialized to this
1446     collection.
1447    :type additional_properties: dict[str, any]
1448    :param type: Required. The read setting type.Constant filled by server.
1449    :type type: str
1450    :param max_concurrent_connections: The maximum concurrent connection count for the source data
1451     store. Type: integer (or Expression with resultType integer).
1452    :type max_concurrent_connections: any
1453    :param recursive: If true, files under the folder path will be read recursively. Default is
1454     true. Type: boolean (or Expression with resultType boolean).
1455    :type recursive: any
1456    :param wildcard_folder_path: AmazonS3 wildcardFolderPath. Type: string (or Expression with
1457     resultType string).
1458    :type wildcard_folder_path: any
1459    :param wildcard_file_name: AmazonS3 wildcardFileName. Type: string (or Expression with
1460     resultType string).
1461    :type wildcard_file_name: any
1462    :param prefix: The prefix filter for the S3 object name. Type: string (or Expression with
1463     resultType string).
1464    :type prefix: any
1465    :param file_list_path: Point to a text file that lists each file (relative path to the path
1466     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
1467     string).
1468    :type file_list_path: any
1469    :param enable_partition_discovery: Indicates whether to enable partition discovery.
1470    :type enable_partition_discovery: bool
1471    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
1472     string (or Expression with resultType string).
1473    :type partition_root_path: any
1474    :param delete_files_after_completion: Indicates whether the source files need to be deleted
1475     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
1476    :type delete_files_after_completion: any
1477    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
1478     Expression with resultType string).
1479    :type modified_datetime_start: any
1480    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
1481     with resultType string).
1482    :type modified_datetime_end: any
1483    """
1484
1485    _validation = {
1486        'type': {'required': True},
1487    }
1488
1489    _attribute_map = {
1490        'additional_properties': {'key': '', 'type': '{object}'},
1491        'type': {'key': 'type', 'type': 'str'},
1492        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
1493        'recursive': {'key': 'recursive', 'type': 'object'},
1494        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
1495        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
1496        'prefix': {'key': 'prefix', 'type': 'object'},
1497        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
1498        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
1499        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
1500        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
1501        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
1502        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
1503    }
1504
1505    def __init__(
1506        self,
1507        *,
1508        additional_properties: Optional[Dict[str, Any]] = None,
1509        max_concurrent_connections: Optional[Any] = None,
1510        recursive: Optional[Any] = None,
1511        wildcard_folder_path: Optional[Any] = None,
1512        wildcard_file_name: Optional[Any] = None,
1513        prefix: Optional[Any] = None,
1514        file_list_path: Optional[Any] = None,
1515        enable_partition_discovery: Optional[bool] = None,
1516        partition_root_path: Optional[Any] = None,
1517        delete_files_after_completion: Optional[Any] = None,
1518        modified_datetime_start: Optional[Any] = None,
1519        modified_datetime_end: Optional[Any] = None,
1520        **kwargs
1521    ):
1522        super(AmazonS3ReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
1523        self.type = 'AmazonS3ReadSettings'  # type: str
1524        self.recursive = recursive
1525        self.wildcard_folder_path = wildcard_folder_path
1526        self.wildcard_file_name = wildcard_file_name
1527        self.prefix = prefix
1528        self.file_list_path = file_list_path
1529        self.enable_partition_discovery = enable_partition_discovery
1530        self.partition_root_path = partition_root_path
1531        self.delete_files_after_completion = delete_files_after_completion
1532        self.modified_datetime_start = modified_datetime_start
1533        self.modified_datetime_end = modified_datetime_end
1534
1535
1536class ControlActivity(Activity):
1537    """Base class for all control activities like IfCondition, ForEach , Until.
1538
1539    You probably want to use the sub-classes and not this class directly. Known
1540    sub-classes are: AppendVariableActivity, ExecutePipelineActivity, FilterActivity, ForEachActivity, IfConditionActivity, SetVariableActivity, SwitchActivity, UntilActivity, ValidationActivity, WaitActivity, WebHookActivity.
1541
1542    All required parameters must be populated in order to send to Azure.
1543
1544    :param additional_properties: Unmatched properties from the message are deserialized to this
1545     collection.
1546    :type additional_properties: dict[str, any]
1547    :param name: Required. Activity name.
1548    :type name: str
1549    :param type: Required. Type of activity.Constant filled by server.
1550    :type type: str
1551    :param description: Activity description.
1552    :type description: str
1553    :param depends_on: Activity depends on condition.
1554    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
1555    :param user_properties: Activity user properties.
1556    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
1557    """
1558
1559    _validation = {
1560        'name': {'required': True},
1561        'type': {'required': True},
1562    }
1563
1564    _attribute_map = {
1565        'additional_properties': {'key': '', 'type': '{object}'},
1566        'name': {'key': 'name', 'type': 'str'},
1567        'type': {'key': 'type', 'type': 'str'},
1568        'description': {'key': 'description', 'type': 'str'},
1569        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
1570        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
1571    }
1572
1573    _subtype_map = {
1574        'type': {'AppendVariable': 'AppendVariableActivity', 'ExecutePipeline': 'ExecutePipelineActivity', 'Filter': 'FilterActivity', 'ForEach': 'ForEachActivity', 'IfCondition': 'IfConditionActivity', 'SetVariable': 'SetVariableActivity', 'Switch': 'SwitchActivity', 'Until': 'UntilActivity', 'Validation': 'ValidationActivity', 'Wait': 'WaitActivity', 'WebHook': 'WebHookActivity'}
1575    }
1576
1577    def __init__(
1578        self,
1579        *,
1580        name: str,
1581        additional_properties: Optional[Dict[str, Any]] = None,
1582        description: Optional[str] = None,
1583        depends_on: Optional[List["ActivityDependency"]] = None,
1584        user_properties: Optional[List["UserProperty"]] = None,
1585        **kwargs
1586    ):
1587        super(ControlActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
1588        self.type = 'Container'  # type: str
1589
1590
1591class AppendVariableActivity(ControlActivity):
1592    """Append value for a Variable of type Array.
1593
1594    All required parameters must be populated in order to send to Azure.
1595
1596    :param additional_properties: Unmatched properties from the message are deserialized to this
1597     collection.
1598    :type additional_properties: dict[str, any]
1599    :param name: Required. Activity name.
1600    :type name: str
1601    :param type: Required. Type of activity.Constant filled by server.
1602    :type type: str
1603    :param description: Activity description.
1604    :type description: str
1605    :param depends_on: Activity depends on condition.
1606    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
1607    :param user_properties: Activity user properties.
1608    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
1609    :param variable_name: Name of the variable whose value needs to be appended to.
1610    :type variable_name: str
1611    :param value: Value to be appended. Could be a static value or Expression.
1612    :type value: any
1613    """
1614
1615    _validation = {
1616        'name': {'required': True},
1617        'type': {'required': True},
1618    }
1619
1620    _attribute_map = {
1621        'additional_properties': {'key': '', 'type': '{object}'},
1622        'name': {'key': 'name', 'type': 'str'},
1623        'type': {'key': 'type', 'type': 'str'},
1624        'description': {'key': 'description', 'type': 'str'},
1625        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
1626        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
1627        'variable_name': {'key': 'typeProperties.variableName', 'type': 'str'},
1628        'value': {'key': 'typeProperties.value', 'type': 'object'},
1629    }
1630
1631    def __init__(
1632        self,
1633        *,
1634        name: str,
1635        additional_properties: Optional[Dict[str, Any]] = None,
1636        description: Optional[str] = None,
1637        depends_on: Optional[List["ActivityDependency"]] = None,
1638        user_properties: Optional[List["UserProperty"]] = None,
1639        variable_name: Optional[str] = None,
1640        value: Optional[Any] = None,
1641        **kwargs
1642    ):
1643        super(AppendVariableActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
1644        self.type = 'AppendVariable'  # type: str
1645        self.variable_name = variable_name
1646        self.value = value
1647
1648
1649class ArtifactRenameRequest(msrest.serialization.Model):
1650    """Request body structure for rename artifact.
1651
1652    :param new_name: New name of the artifact.
1653    :type new_name: str
1654    """
1655
1656    _validation = {
1657        'new_name': {'max_length': 260, 'min_length': 1, 'pattern': r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'},
1658    }
1659
1660    _attribute_map = {
1661        'new_name': {'key': 'newName', 'type': 'str'},
1662    }
1663
1664    def __init__(
1665        self,
1666        *,
1667        new_name: Optional[str] = None,
1668        **kwargs
1669    ):
1670        super(ArtifactRenameRequest, self).__init__(**kwargs)
1671        self.new_name = new_name
1672
1673
1674class AutoPauseProperties(msrest.serialization.Model):
1675    """Auto-pausing properties of a Big Data pool powered by Apache Spark.
1676
1677    :param delay_in_minutes: Number of minutes of idle time before the Big Data pool is
1678     automatically paused.
1679    :type delay_in_minutes: int
1680    :param enabled: Whether auto-pausing is enabled for the Big Data pool.
1681    :type enabled: bool
1682    """
1683
1684    _attribute_map = {
1685        'delay_in_minutes': {'key': 'delayInMinutes', 'type': 'int'},
1686        'enabled': {'key': 'enabled', 'type': 'bool'},
1687    }
1688
1689    def __init__(
1690        self,
1691        *,
1692        delay_in_minutes: Optional[int] = None,
1693        enabled: Optional[bool] = None,
1694        **kwargs
1695    ):
1696        super(AutoPauseProperties, self).__init__(**kwargs)
1697        self.delay_in_minutes = delay_in_minutes
1698        self.enabled = enabled
1699
1700
1701class AutoScaleProperties(msrest.serialization.Model):
1702    """Auto-scaling properties of a Big Data pool powered by Apache Spark.
1703
1704    :param min_node_count: The minimum number of nodes the Big Data pool can support.
1705    :type min_node_count: int
1706    :param enabled: Whether automatic scaling is enabled for the Big Data pool.
1707    :type enabled: bool
1708    :param max_node_count: The maximum number of nodes the Big Data pool can support.
1709    :type max_node_count: int
1710    """
1711
1712    _attribute_map = {
1713        'min_node_count': {'key': 'minNodeCount', 'type': 'int'},
1714        'enabled': {'key': 'enabled', 'type': 'bool'},
1715        'max_node_count': {'key': 'maxNodeCount', 'type': 'int'},
1716    }
1717
1718    def __init__(
1719        self,
1720        *,
1721        min_node_count: Optional[int] = None,
1722        enabled: Optional[bool] = None,
1723        max_node_count: Optional[int] = None,
1724        **kwargs
1725    ):
1726        super(AutoScaleProperties, self).__init__(**kwargs)
1727        self.min_node_count = min_node_count
1728        self.enabled = enabled
1729        self.max_node_count = max_node_count
1730
1731
1732class AvroDataset(Dataset):
1733    """Avro dataset.
1734
1735    All required parameters must be populated in order to send to Azure.
1736
1737    :param additional_properties: Unmatched properties from the message are deserialized to this
1738     collection.
1739    :type additional_properties: dict[str, any]
1740    :param type: Required. Type of dataset.Constant filled by server.
1741    :type type: str
1742    :param description: Dataset description.
1743    :type description: str
1744    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
1745     with resultType array), itemType: DatasetDataElement.
1746    :type structure: any
1747    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
1748     Expression with resultType array), itemType: DatasetSchemaDataElement.
1749    :type schema: any
1750    :param linked_service_name: Required. Linked service reference.
1751    :type linked_service_name:
1752     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
1753    :param parameters: Parameters for dataset.
1754    :type parameters: dict[str,
1755     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
1756    :param annotations: List of tags that can be used for describing the Dataset.
1757    :type annotations: list[any]
1758    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
1759     root level.
1760    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
1761    :param location: The location of the avro storage.
1762    :type location: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetLocation
1763    :param avro_compression_codec: A string from AvroCompressionCodecEnum or an expression.
1764    :type avro_compression_codec: any
1765    :param avro_compression_level:
1766    :type avro_compression_level: int
1767    """
1768
1769    _validation = {
1770        'type': {'required': True},
1771        'linked_service_name': {'required': True},
1772        'avro_compression_level': {'maximum': 9, 'minimum': 1},
1773    }
1774
1775    _attribute_map = {
1776        'additional_properties': {'key': '', 'type': '{object}'},
1777        'type': {'key': 'type', 'type': 'str'},
1778        'description': {'key': 'description', 'type': 'str'},
1779        'structure': {'key': 'structure', 'type': 'object'},
1780        'schema': {'key': 'schema', 'type': 'object'},
1781        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
1782        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
1783        'annotations': {'key': 'annotations', 'type': '[object]'},
1784        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
1785        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
1786        'avro_compression_codec': {'key': 'typeProperties.avroCompressionCodec', 'type': 'object'},
1787        'avro_compression_level': {'key': 'typeProperties.avroCompressionLevel', 'type': 'int'},
1788    }
1789
1790    def __init__(
1791        self,
1792        *,
1793        linked_service_name: "LinkedServiceReference",
1794        additional_properties: Optional[Dict[str, Any]] = None,
1795        description: Optional[str] = None,
1796        structure: Optional[Any] = None,
1797        schema: Optional[Any] = None,
1798        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
1799        annotations: Optional[List[Any]] = None,
1800        folder: Optional["DatasetFolder"] = None,
1801        location: Optional["DatasetLocation"] = None,
1802        avro_compression_codec: Optional[Any] = None,
1803        avro_compression_level: Optional[int] = None,
1804        **kwargs
1805    ):
1806        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)
1807        self.type = 'Avro'  # type: str
1808        self.location = location
1809        self.avro_compression_codec = avro_compression_codec
1810        self.avro_compression_level = avro_compression_level
1811
1812
1813class DatasetStorageFormat(msrest.serialization.Model):
1814    """The format definition of a storage.
1815
1816    You probably want to use the sub-classes and not this class directly. Known
1817    sub-classes are: AvroFormat, JsonFormat, OrcFormat, ParquetFormat, TextFormat.
1818
1819    All required parameters must be populated in order to send to Azure.
1820
1821    :param additional_properties: Unmatched properties from the message are deserialized to this
1822     collection.
1823    :type additional_properties: dict[str, any]
1824    :param type: Required. Type of dataset storage format.Constant filled by server.
1825    :type type: str
1826    :param serializer: Serializer. Type: string (or Expression with resultType string).
1827    :type serializer: any
1828    :param deserializer: Deserializer. Type: string (or Expression with resultType string).
1829    :type deserializer: any
1830    """
1831
1832    _validation = {
1833        'type': {'required': True},
1834    }
1835
1836    _attribute_map = {
1837        'additional_properties': {'key': '', 'type': '{object}'},
1838        'type': {'key': 'type', 'type': 'str'},
1839        'serializer': {'key': 'serializer', 'type': 'object'},
1840        'deserializer': {'key': 'deserializer', 'type': 'object'},
1841    }
1842
1843    _subtype_map = {
1844        'type': {'AvroFormat': 'AvroFormat', 'JsonFormat': 'JsonFormat', 'OrcFormat': 'OrcFormat', 'ParquetFormat': 'ParquetFormat', 'TextFormat': 'TextFormat'}
1845    }
1846
1847    def __init__(
1848        self,
1849        *,
1850        additional_properties: Optional[Dict[str, Any]] = None,
1851        serializer: Optional[Any] = None,
1852        deserializer: Optional[Any] = None,
1853        **kwargs
1854    ):
1855        super(DatasetStorageFormat, self).__init__(**kwargs)
1856        self.additional_properties = additional_properties
1857        self.type = 'DatasetStorageFormat'  # type: str
1858        self.serializer = serializer
1859        self.deserializer = deserializer
1860
1861
1862class AvroFormat(DatasetStorageFormat):
1863    """The data stored in Avro format.
1864
1865    All required parameters must be populated in order to send to Azure.
1866
1867    :param additional_properties: Unmatched properties from the message are deserialized to this
1868     collection.
1869    :type additional_properties: dict[str, any]
1870    :param type: Required. Type of dataset storage format.Constant filled by server.
1871    :type type: str
1872    :param serializer: Serializer. Type: string (or Expression with resultType string).
1873    :type serializer: any
1874    :param deserializer: Deserializer. Type: string (or Expression with resultType string).
1875    :type deserializer: any
1876    """
1877
1878    _validation = {
1879        'type': {'required': True},
1880    }
1881
1882    _attribute_map = {
1883        'additional_properties': {'key': '', 'type': '{object}'},
1884        'type': {'key': 'type', 'type': 'str'},
1885        'serializer': {'key': 'serializer', 'type': 'object'},
1886        'deserializer': {'key': 'deserializer', 'type': 'object'},
1887    }
1888
1889    def __init__(
1890        self,
1891        *,
1892        additional_properties: Optional[Dict[str, Any]] = None,
1893        serializer: Optional[Any] = None,
1894        deserializer: Optional[Any] = None,
1895        **kwargs
1896    ):
1897        super(AvroFormat, self).__init__(additional_properties=additional_properties, serializer=serializer, deserializer=deserializer, **kwargs)
1898        self.type = 'AvroFormat'  # type: str
1899
1900
1901class CopySink(msrest.serialization.Model):
1902    """A copy activity sink.
1903
1904    You probably want to use the sub-classes and not this class directly. Known
1905    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.
1906
1907    All required parameters must be populated in order to send to Azure.
1908
1909    :param additional_properties: Unmatched properties from the message are deserialized to this
1910     collection.
1911    :type additional_properties: dict[str, any]
1912    :param type: Required. Copy sink type.Constant filled by server.
1913    :type type: str
1914    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
1915     integer), minimum: 0.
1916    :type write_batch_size: any
1917    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
1918     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1919    :type write_batch_timeout: any
1920    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
1921     integer).
1922    :type sink_retry_count: any
1923    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
1924     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1925    :type sink_retry_wait: any
1926    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
1927     store. Type: integer (or Expression with resultType integer).
1928    :type max_concurrent_connections: any
1929    """
1930
1931    _validation = {
1932        'type': {'required': True},
1933    }
1934
1935    _attribute_map = {
1936        'additional_properties': {'key': '', 'type': '{object}'},
1937        'type': {'key': 'type', 'type': 'str'},
1938        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
1939        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
1940        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
1941        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
1942        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
1943    }
1944
1945    _subtype_map = {
1946        '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'}
1947    }
1948
1949    def __init__(
1950        self,
1951        *,
1952        additional_properties: Optional[Dict[str, Any]] = None,
1953        write_batch_size: Optional[Any] = None,
1954        write_batch_timeout: Optional[Any] = None,
1955        sink_retry_count: Optional[Any] = None,
1956        sink_retry_wait: Optional[Any] = None,
1957        max_concurrent_connections: Optional[Any] = None,
1958        **kwargs
1959    ):
1960        super(CopySink, self).__init__(**kwargs)
1961        self.additional_properties = additional_properties
1962        self.type = 'CopySink'  # type: str
1963        self.write_batch_size = write_batch_size
1964        self.write_batch_timeout = write_batch_timeout
1965        self.sink_retry_count = sink_retry_count
1966        self.sink_retry_wait = sink_retry_wait
1967        self.max_concurrent_connections = max_concurrent_connections
1968
1969
1970class AvroSink(CopySink):
1971    """A copy activity Avro sink.
1972
1973    All required parameters must be populated in order to send to Azure.
1974
1975    :param additional_properties: Unmatched properties from the message are deserialized to this
1976     collection.
1977    :type additional_properties: dict[str, any]
1978    :param type: Required. Copy sink type.Constant filled by server.
1979    :type type: str
1980    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
1981     integer), minimum: 0.
1982    :type write_batch_size: any
1983    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
1984     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1985    :type write_batch_timeout: any
1986    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
1987     integer).
1988    :type sink_retry_count: any
1989    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
1990     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
1991    :type sink_retry_wait: any
1992    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
1993     store. Type: integer (or Expression with resultType integer).
1994    :type max_concurrent_connections: any
1995    :param store_settings: Avro store settings.
1996    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreWriteSettings
1997    :param format_settings: Avro format settings.
1998    :type format_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.AvroWriteSettings
1999    """
2000
2001    _validation = {
2002        'type': {'required': True},
2003    }
2004
2005    _attribute_map = {
2006        'additional_properties': {'key': '', 'type': '{object}'},
2007        'type': {'key': 'type', 'type': 'str'},
2008        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
2009        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
2010        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
2011        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
2012        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
2013        'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'},
2014        'format_settings': {'key': 'formatSettings', 'type': 'AvroWriteSettings'},
2015    }
2016
2017    def __init__(
2018        self,
2019        *,
2020        additional_properties: Optional[Dict[str, Any]] = None,
2021        write_batch_size: Optional[Any] = None,
2022        write_batch_timeout: Optional[Any] = None,
2023        sink_retry_count: Optional[Any] = None,
2024        sink_retry_wait: Optional[Any] = None,
2025        max_concurrent_connections: Optional[Any] = None,
2026        store_settings: Optional["StoreWriteSettings"] = None,
2027        format_settings: Optional["AvroWriteSettings"] = None,
2028        **kwargs
2029    ):
2030        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)
2031        self.type = 'AvroSink'  # type: str
2032        self.store_settings = store_settings
2033        self.format_settings = format_settings
2034
2035
2036class AvroSource(CopySource):
2037    """A copy activity Avro source.
2038
2039    All required parameters must be populated in order to send to Azure.
2040
2041    :param additional_properties: Unmatched properties from the message are deserialized to this
2042     collection.
2043    :type additional_properties: dict[str, any]
2044    :param type: Required. Copy source type.Constant filled by server.
2045    :type type: str
2046    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
2047     integer).
2048    :type source_retry_count: any
2049    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
2050     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
2051    :type source_retry_wait: any
2052    :param max_concurrent_connections: The maximum concurrent connection count for the source data
2053     store. Type: integer (or Expression with resultType integer).
2054    :type max_concurrent_connections: any
2055    :param store_settings: Avro store settings.
2056    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreReadSettings
2057    :param additional_columns: Specifies the additional columns to be added to source data. Type:
2058     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
2059    :type additional_columns: any
2060    """
2061
2062    _validation = {
2063        'type': {'required': True},
2064    }
2065
2066    _attribute_map = {
2067        'additional_properties': {'key': '', 'type': '{object}'},
2068        'type': {'key': 'type', 'type': 'str'},
2069        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
2070        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
2071        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
2072        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
2073        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
2074    }
2075
2076    def __init__(
2077        self,
2078        *,
2079        additional_properties: Optional[Dict[str, Any]] = None,
2080        source_retry_count: Optional[Any] = None,
2081        source_retry_wait: Optional[Any] = None,
2082        max_concurrent_connections: Optional[Any] = None,
2083        store_settings: Optional["StoreReadSettings"] = None,
2084        additional_columns: Optional[Any] = None,
2085        **kwargs
2086    ):
2087        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)
2088        self.type = 'AvroSource'  # type: str
2089        self.store_settings = store_settings
2090        self.additional_columns = additional_columns
2091
2092
2093class FormatWriteSettings(msrest.serialization.Model):
2094    """Format write settings.
2095
2096    You probably want to use the sub-classes and not this class directly. Known
2097    sub-classes are: AvroWriteSettings, DelimitedTextWriteSettings, JsonWriteSettings, OrcWriteSettings, ParquetWriteSettings.
2098
2099    All required parameters must be populated in order to send to Azure.
2100
2101    :param additional_properties: Unmatched properties from the message are deserialized to this
2102     collection.
2103    :type additional_properties: dict[str, any]
2104    :param type: Required. The write setting type.Constant filled by server.
2105    :type type: str
2106    """
2107
2108    _validation = {
2109        'type': {'required': True},
2110    }
2111
2112    _attribute_map = {
2113        'additional_properties': {'key': '', 'type': '{object}'},
2114        'type': {'key': 'type', 'type': 'str'},
2115    }
2116
2117    _subtype_map = {
2118        'type': {'AvroWriteSettings': 'AvroWriteSettings', 'DelimitedTextWriteSettings': 'DelimitedTextWriteSettings', 'JsonWriteSettings': 'JsonWriteSettings', 'OrcWriteSettings': 'OrcWriteSettings', 'ParquetWriteSettings': 'ParquetWriteSettings'}
2119    }
2120
2121    def __init__(
2122        self,
2123        *,
2124        additional_properties: Optional[Dict[str, Any]] = None,
2125        **kwargs
2126    ):
2127        super(FormatWriteSettings, self).__init__(**kwargs)
2128        self.additional_properties = additional_properties
2129        self.type = 'FormatWriteSettings'  # type: str
2130
2131
2132class AvroWriteSettings(FormatWriteSettings):
2133    """Avro write settings.
2134
2135    All required parameters must be populated in order to send to Azure.
2136
2137    :param additional_properties: Unmatched properties from the message are deserialized to this
2138     collection.
2139    :type additional_properties: dict[str, any]
2140    :param type: Required. The write setting type.Constant filled by server.
2141    :type type: str
2142    :param record_name: Top level record name in write result, which is required in AVRO spec.
2143    :type record_name: str
2144    :param record_namespace: Record namespace in the write result.
2145    :type record_namespace: str
2146    :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the
2147     specified count. Type: integer (or Expression with resultType integer).
2148    :type max_rows_per_file: any
2149    :param file_name_prefix: Specifies the file name pattern
2150     :code:`<fileNamePrefix>`_:code:`<fileIndex>`.:code:`<fileExtension>` when copy from non-file
2151     based store without partitionOptions. Type: string (or Expression with resultType string).
2152    :type file_name_prefix: any
2153    """
2154
2155    _validation = {
2156        'type': {'required': True},
2157    }
2158
2159    _attribute_map = {
2160        'additional_properties': {'key': '', 'type': '{object}'},
2161        'type': {'key': 'type', 'type': 'str'},
2162        'record_name': {'key': 'recordName', 'type': 'str'},
2163        'record_namespace': {'key': 'recordNamespace', 'type': 'str'},
2164        'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'},
2165        'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'},
2166    }
2167
2168    def __init__(
2169        self,
2170        *,
2171        additional_properties: Optional[Dict[str, Any]] = None,
2172        record_name: Optional[str] = None,
2173        record_namespace: Optional[str] = None,
2174        max_rows_per_file: Optional[Any] = None,
2175        file_name_prefix: Optional[Any] = None,
2176        **kwargs
2177    ):
2178        super(AvroWriteSettings, self).__init__(additional_properties=additional_properties, **kwargs)
2179        self.type = 'AvroWriteSettings'  # type: str
2180        self.record_name = record_name
2181        self.record_namespace = record_namespace
2182        self.max_rows_per_file = max_rows_per_file
2183        self.file_name_prefix = file_name_prefix
2184
2185
2186class AzureBatchLinkedService(LinkedService):
2187    """Azure Batch linked service.
2188
2189    All required parameters must be populated in order to send to Azure.
2190
2191    :param additional_properties: Unmatched properties from the message are deserialized to this
2192     collection.
2193    :type additional_properties: dict[str, any]
2194    :param type: Required. Type of linked service.Constant filled by server.
2195    :type type: str
2196    :param connect_via: The integration runtime reference.
2197    :type connect_via:
2198     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
2199    :param description: Linked service description.
2200    :type description: str
2201    :param parameters: Parameters for linked service.
2202    :type parameters: dict[str,
2203     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
2204    :param annotations: List of tags that can be used for describing the linked service.
2205    :type annotations: list[any]
2206    :param account_name: Required. The Azure Batch account name. Type: string (or Expression with
2207     resultType string).
2208    :type account_name: any
2209    :param access_key: The Azure Batch account access key.
2210    :type access_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
2211    :param batch_uri: Required. The Azure Batch URI. Type: string (or Expression with resultType
2212     string).
2213    :type batch_uri: any
2214    :param pool_name: Required. The Azure Batch pool name. Type: string (or Expression with
2215     resultType string).
2216    :type pool_name: any
2217    :param linked_service_name: Required. The Azure Storage linked service reference.
2218    :type linked_service_name:
2219     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
2220    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
2221     encrypted using the integration runtime credential manager. Type: string (or Expression with
2222     resultType string).
2223    :type encrypted_credential: any
2224    """
2225
2226    _validation = {
2227        'type': {'required': True},
2228        'account_name': {'required': True},
2229        'batch_uri': {'required': True},
2230        'pool_name': {'required': True},
2231        'linked_service_name': {'required': True},
2232    }
2233
2234    _attribute_map = {
2235        'additional_properties': {'key': '', 'type': '{object}'},
2236        'type': {'key': 'type', 'type': 'str'},
2237        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
2238        'description': {'key': 'description', 'type': 'str'},
2239        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
2240        'annotations': {'key': 'annotations', 'type': '[object]'},
2241        'account_name': {'key': 'typeProperties.accountName', 'type': 'object'},
2242        'access_key': {'key': 'typeProperties.accessKey', 'type': 'SecretBase'},
2243        'batch_uri': {'key': 'typeProperties.batchUri', 'type': 'object'},
2244        'pool_name': {'key': 'typeProperties.poolName', 'type': 'object'},
2245        'linked_service_name': {'key': 'typeProperties.linkedServiceName', 'type': 'LinkedServiceReference'},
2246        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
2247    }
2248
2249    def __init__(
2250        self,
2251        *,
2252        account_name: Any,
2253        batch_uri: Any,
2254        pool_name: Any,
2255        linked_service_name: "LinkedServiceReference",
2256        additional_properties: Optional[Dict[str, Any]] = None,
2257        connect_via: Optional["IntegrationRuntimeReference"] = None,
2258        description: Optional[str] = None,
2259        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
2260        annotations: Optional[List[Any]] = None,
2261        access_key: Optional["SecretBase"] = None,
2262        encrypted_credential: Optional[Any] = None,
2263        **kwargs
2264    ):
2265        super(AzureBatchLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
2266        self.type = 'AzureBatch'  # type: str
2267        self.account_name = account_name
2268        self.access_key = access_key
2269        self.batch_uri = batch_uri
2270        self.pool_name = pool_name
2271        self.linked_service_name = linked_service_name
2272        self.encrypted_credential = encrypted_credential
2273
2274
2275class AzureBlobDataset(Dataset):
2276    """The Azure Blob storage.
2277
2278    All required parameters must be populated in order to send to Azure.
2279
2280    :param additional_properties: Unmatched properties from the message are deserialized to this
2281     collection.
2282    :type additional_properties: dict[str, any]
2283    :param type: Required. Type of dataset.Constant filled by server.
2284    :type type: str
2285    :param description: Dataset description.
2286    :type description: str
2287    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
2288     with resultType array), itemType: DatasetDataElement.
2289    :type structure: any
2290    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
2291     Expression with resultType array), itemType: DatasetSchemaDataElement.
2292    :type schema: any
2293    :param linked_service_name: Required. Linked service reference.
2294    :type linked_service_name:
2295     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
2296    :param parameters: Parameters for dataset.
2297    :type parameters: dict[str,
2298     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
2299    :param annotations: List of tags that can be used for describing the Dataset.
2300    :type annotations: list[any]
2301    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
2302     root level.
2303    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
2304    :param folder_path: The path of the Azure Blob storage. Type: string (or Expression with
2305     resultType string).
2306    :type folder_path: any
2307    :param table_root_location: The root of blob path. Type: string (or Expression with resultType
2308     string).
2309    :type table_root_location: any
2310    :param file_name: The name of the Azure Blob. Type: string (or Expression with resultType
2311     string).
2312    :type file_name: any
2313    :param modified_datetime_start: The start of Azure Blob's modified datetime. Type: string (or
2314     Expression with resultType string).
2315    :type modified_datetime_start: any
2316    :param modified_datetime_end: The end of Azure Blob's modified datetime. Type: string (or
2317     Expression with resultType string).
2318    :type modified_datetime_end: any
2319    :param format: The format of the Azure Blob storage.
2320    :type format: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetStorageFormat
2321    :param compression: The data compression method used for the blob storage.
2322    :type compression: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetCompression
2323    """
2324
2325    _validation = {
2326        'type': {'required': True},
2327        'linked_service_name': {'required': True},
2328    }
2329
2330    _attribute_map = {
2331        'additional_properties': {'key': '', 'type': '{object}'},
2332        'type': {'key': 'type', 'type': 'str'},
2333        'description': {'key': 'description', 'type': 'str'},
2334        'structure': {'key': 'structure', 'type': 'object'},
2335        'schema': {'key': 'schema', 'type': 'object'},
2336        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
2337        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
2338        'annotations': {'key': 'annotations', 'type': '[object]'},
2339        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
2340        'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'},
2341        'table_root_location': {'key': 'typeProperties.tableRootLocation', 'type': 'object'},
2342        'file_name': {'key': 'typeProperties.fileName', 'type': 'object'},
2343        'modified_datetime_start': {'key': 'typeProperties.modifiedDatetimeStart', 'type': 'object'},
2344        'modified_datetime_end': {'key': 'typeProperties.modifiedDatetimeEnd', 'type': 'object'},
2345        'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'},
2346        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
2347    }
2348
2349    def __init__(
2350        self,
2351        *,
2352        linked_service_name: "LinkedServiceReference",
2353        additional_properties: Optional[Dict[str, Any]] = None,
2354        description: Optional[str] = None,
2355        structure: Optional[Any] = None,
2356        schema: Optional[Any] = None,
2357        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
2358        annotations: Optional[List[Any]] = None,
2359        folder: Optional["DatasetFolder"] = None,
2360        folder_path: Optional[Any] = None,
2361        table_root_location: Optional[Any] = None,
2362        file_name: Optional[Any] = None,
2363        modified_datetime_start: Optional[Any] = None,
2364        modified_datetime_end: Optional[Any] = None,
2365        format: Optional["DatasetStorageFormat"] = None,
2366        compression: Optional["DatasetCompression"] = None,
2367        **kwargs
2368    ):
2369        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)
2370        self.type = 'AzureBlob'  # type: str
2371        self.folder_path = folder_path
2372        self.table_root_location = table_root_location
2373        self.file_name = file_name
2374        self.modified_datetime_start = modified_datetime_start
2375        self.modified_datetime_end = modified_datetime_end
2376        self.format = format
2377        self.compression = compression
2378
2379
2380class AzureBlobFSDataset(Dataset):
2381    """The Azure Data Lake Storage Gen2 storage.
2382
2383    All required parameters must be populated in order to send to Azure.
2384
2385    :param additional_properties: Unmatched properties from the message are deserialized to this
2386     collection.
2387    :type additional_properties: dict[str, any]
2388    :param type: Required. Type of dataset.Constant filled by server.
2389    :type type: str
2390    :param description: Dataset description.
2391    :type description: str
2392    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
2393     with resultType array), itemType: DatasetDataElement.
2394    :type structure: any
2395    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
2396     Expression with resultType array), itemType: DatasetSchemaDataElement.
2397    :type schema: any
2398    :param linked_service_name: Required. Linked service reference.
2399    :type linked_service_name:
2400     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
2401    :param parameters: Parameters for dataset.
2402    :type parameters: dict[str,
2403     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
2404    :param annotations: List of tags that can be used for describing the Dataset.
2405    :type annotations: list[any]
2406    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
2407     root level.
2408    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
2409    :param folder_path: The path of the Azure Data Lake Storage Gen2 storage. Type: string (or
2410     Expression with resultType string).
2411    :type folder_path: any
2412    :param file_name: The name of the Azure Data Lake Storage Gen2. Type: string (or Expression
2413     with resultType string).
2414    :type file_name: any
2415    :param format: The format of the Azure Data Lake Storage Gen2 storage.
2416    :type format: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetStorageFormat
2417    :param compression: The data compression method used for the blob storage.
2418    :type compression: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetCompression
2419    """
2420
2421    _validation = {
2422        'type': {'required': True},
2423        'linked_service_name': {'required': True},
2424    }
2425
2426    _attribute_map = {
2427        'additional_properties': {'key': '', 'type': '{object}'},
2428        'type': {'key': 'type', 'type': 'str'},
2429        'description': {'key': 'description', 'type': 'str'},
2430        'structure': {'key': 'structure', 'type': 'object'},
2431        'schema': {'key': 'schema', 'type': 'object'},
2432        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
2433        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
2434        'annotations': {'key': 'annotations', 'type': '[object]'},
2435        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
2436        'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'},
2437        'file_name': {'key': 'typeProperties.fileName', 'type': 'object'},
2438        'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'},
2439        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
2440    }
2441
2442    def __init__(
2443        self,
2444        *,
2445        linked_service_name: "LinkedServiceReference",
2446        additional_properties: Optional[Dict[str, Any]] = None,
2447        description: Optional[str] = None,
2448        structure: Optional[Any] = None,
2449        schema: Optional[Any] = None,
2450        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
2451        annotations: Optional[List[Any]] = None,
2452        folder: Optional["DatasetFolder"] = None,
2453        folder_path: Optional[Any] = None,
2454        file_name: Optional[Any] = None,
2455        format: Optional["DatasetStorageFormat"] = None,
2456        compression: Optional["DatasetCompression"] = None,
2457        **kwargs
2458    ):
2459        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)
2460        self.type = 'AzureBlobFSFile'  # type: str
2461        self.folder_path = folder_path
2462        self.file_name = file_name
2463        self.format = format
2464        self.compression = compression
2465
2466
2467class AzureBlobFSLinkedService(LinkedService):
2468    """Azure Data Lake Storage Gen2 linked service.
2469
2470    All required parameters must be populated in order to send to Azure.
2471
2472    :param additional_properties: Unmatched properties from the message are deserialized to this
2473     collection.
2474    :type additional_properties: dict[str, any]
2475    :param type: Required. Type of linked service.Constant filled by server.
2476    :type type: str
2477    :param connect_via: The integration runtime reference.
2478    :type connect_via:
2479     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
2480    :param description: Linked service description.
2481    :type description: str
2482    :param parameters: Parameters for linked service.
2483    :type parameters: dict[str,
2484     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
2485    :param annotations: List of tags that can be used for describing the linked service.
2486    :type annotations: list[any]
2487    :param url: Required. Endpoint for the Azure Data Lake Storage Gen2 service. Type: string (or
2488     Expression with resultType string).
2489    :type url: any
2490    :param account_key: Account key for the Azure Data Lake Storage Gen2 service. Type: string (or
2491     Expression with resultType string).
2492    :type account_key: any
2493    :param service_principal_id: The ID of the application used to authenticate against the Azure
2494     Data Lake Storage Gen2 account. Type: string (or Expression with resultType string).
2495    :type service_principal_id: any
2496    :param service_principal_key: The Key of the application used to authenticate against the Azure
2497     Data Lake Storage Gen2 account.
2498    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
2499    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
2500     string (or Expression with resultType string).
2501    :type tenant: any
2502    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
2503     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
2504     factory regions’ cloud type. Type: string (or Expression with resultType string).
2505    :type azure_cloud_type: any
2506    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
2507     encrypted using the integration runtime credential manager. Type: string (or Expression with
2508     resultType string).
2509    :type encrypted_credential: any
2510    """
2511
2512    _validation = {
2513        'type': {'required': True},
2514        'url': {'required': True},
2515    }
2516
2517    _attribute_map = {
2518        'additional_properties': {'key': '', 'type': '{object}'},
2519        'type': {'key': 'type', 'type': 'str'},
2520        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
2521        'description': {'key': 'description', 'type': 'str'},
2522        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
2523        'annotations': {'key': 'annotations', 'type': '[object]'},
2524        'url': {'key': 'typeProperties.url', 'type': 'object'},
2525        'account_key': {'key': 'typeProperties.accountKey', 'type': 'object'},
2526        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
2527        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
2528        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
2529        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
2530        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
2531    }
2532
2533    def __init__(
2534        self,
2535        *,
2536        url: Any,
2537        additional_properties: Optional[Dict[str, Any]] = None,
2538        connect_via: Optional["IntegrationRuntimeReference"] = None,
2539        description: Optional[str] = None,
2540        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
2541        annotations: Optional[List[Any]] = None,
2542        account_key: Optional[Any] = None,
2543        service_principal_id: Optional[Any] = None,
2544        service_principal_key: Optional["SecretBase"] = None,
2545        tenant: Optional[Any] = None,
2546        azure_cloud_type: Optional[Any] = None,
2547        encrypted_credential: Optional[Any] = None,
2548        **kwargs
2549    ):
2550        super(AzureBlobFSLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
2551        self.type = 'AzureBlobFS'  # type: str
2552        self.url = url
2553        self.account_key = account_key
2554        self.service_principal_id = service_principal_id
2555        self.service_principal_key = service_principal_key
2556        self.tenant = tenant
2557        self.azure_cloud_type = azure_cloud_type
2558        self.encrypted_credential = encrypted_credential
2559
2560
2561class AzureBlobFSLocation(DatasetLocation):
2562    """The location of azure blobFS dataset.
2563
2564    All required parameters must be populated in order to send to Azure.
2565
2566    :param additional_properties: Unmatched properties from the message are deserialized to this
2567     collection.
2568    :type additional_properties: dict[str, any]
2569    :param type: Required. Type of dataset storage location.Constant filled by server.
2570    :type type: str
2571    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
2572     resultType string).
2573    :type folder_path: any
2574    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
2575     string).
2576    :type file_name: any
2577    :param file_system: Specify the fileSystem of azure blobFS. Type: string (or Expression with
2578     resultType string).
2579    :type file_system: any
2580    """
2581
2582    _validation = {
2583        'type': {'required': True},
2584    }
2585
2586    _attribute_map = {
2587        'additional_properties': {'key': '', 'type': '{object}'},
2588        'type': {'key': 'type', 'type': 'str'},
2589        'folder_path': {'key': 'folderPath', 'type': 'object'},
2590        'file_name': {'key': 'fileName', 'type': 'object'},
2591        'file_system': {'key': 'fileSystem', 'type': 'object'},
2592    }
2593
2594    def __init__(
2595        self,
2596        *,
2597        additional_properties: Optional[Dict[str, Any]] = None,
2598        folder_path: Optional[Any] = None,
2599        file_name: Optional[Any] = None,
2600        file_system: Optional[Any] = None,
2601        **kwargs
2602    ):
2603        super(AzureBlobFSLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
2604        self.type = 'AzureBlobFSLocation'  # type: str
2605        self.file_system = file_system
2606
2607
2608class AzureBlobFSReadSettings(StoreReadSettings):
2609    """Azure blobFS read settings.
2610
2611    All required parameters must be populated in order to send to Azure.
2612
2613    :param additional_properties: Unmatched properties from the message are deserialized to this
2614     collection.
2615    :type additional_properties: dict[str, any]
2616    :param type: Required. The read setting type.Constant filled by server.
2617    :type type: str
2618    :param max_concurrent_connections: The maximum concurrent connection count for the source data
2619     store. Type: integer (or Expression with resultType integer).
2620    :type max_concurrent_connections: any
2621    :param recursive: If true, files under the folder path will be read recursively. Default is
2622     true. Type: boolean (or Expression with resultType boolean).
2623    :type recursive: any
2624    :param wildcard_folder_path: Azure blobFS wildcardFolderPath. Type: string (or Expression with
2625     resultType string).
2626    :type wildcard_folder_path: any
2627    :param wildcard_file_name: Azure blobFS wildcardFileName. Type: string (or Expression with
2628     resultType string).
2629    :type wildcard_file_name: any
2630    :param file_list_path: Point to a text file that lists each file (relative path to the path
2631     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
2632     string).
2633    :type file_list_path: any
2634    :param enable_partition_discovery: Indicates whether to enable partition discovery.
2635    :type enable_partition_discovery: bool
2636    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
2637     string (or Expression with resultType string).
2638    :type partition_root_path: any
2639    :param delete_files_after_completion: Indicates whether the source files need to be deleted
2640     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
2641    :type delete_files_after_completion: any
2642    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
2643     Expression with resultType string).
2644    :type modified_datetime_start: any
2645    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
2646     with resultType string).
2647    :type modified_datetime_end: any
2648    """
2649
2650    _validation = {
2651        'type': {'required': True},
2652    }
2653
2654    _attribute_map = {
2655        'additional_properties': {'key': '', 'type': '{object}'},
2656        'type': {'key': 'type', 'type': 'str'},
2657        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
2658        'recursive': {'key': 'recursive', 'type': 'object'},
2659        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
2660        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
2661        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
2662        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
2663        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
2664        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
2665        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
2666        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
2667    }
2668
2669    def __init__(
2670        self,
2671        *,
2672        additional_properties: Optional[Dict[str, Any]] = None,
2673        max_concurrent_connections: Optional[Any] = None,
2674        recursive: Optional[Any] = None,
2675        wildcard_folder_path: Optional[Any] = None,
2676        wildcard_file_name: Optional[Any] = None,
2677        file_list_path: Optional[Any] = None,
2678        enable_partition_discovery: Optional[bool] = None,
2679        partition_root_path: Optional[Any] = None,
2680        delete_files_after_completion: Optional[Any] = None,
2681        modified_datetime_start: Optional[Any] = None,
2682        modified_datetime_end: Optional[Any] = None,
2683        **kwargs
2684    ):
2685        super(AzureBlobFSReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
2686        self.type = 'AzureBlobFSReadSettings'  # type: str
2687        self.recursive = recursive
2688        self.wildcard_folder_path = wildcard_folder_path
2689        self.wildcard_file_name = wildcard_file_name
2690        self.file_list_path = file_list_path
2691        self.enable_partition_discovery = enable_partition_discovery
2692        self.partition_root_path = partition_root_path
2693        self.delete_files_after_completion = delete_files_after_completion
2694        self.modified_datetime_start = modified_datetime_start
2695        self.modified_datetime_end = modified_datetime_end
2696
2697
2698class AzureBlobFSSink(CopySink):
2699    """A copy activity Azure Data Lake Storage Gen2 sink.
2700
2701    All required parameters must be populated in order to send to Azure.
2702
2703    :param additional_properties: Unmatched properties from the message are deserialized to this
2704     collection.
2705    :type additional_properties: dict[str, any]
2706    :param type: Required. Copy sink type.Constant filled by server.
2707    :type type: str
2708    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
2709     integer), minimum: 0.
2710    :type write_batch_size: any
2711    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
2712     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
2713    :type write_batch_timeout: any
2714    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
2715     integer).
2716    :type sink_retry_count: any
2717    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
2718     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
2719    :type sink_retry_wait: any
2720    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
2721     store. Type: integer (or Expression with resultType integer).
2722    :type max_concurrent_connections: any
2723    :param copy_behavior: The type of copy behavior for copy sink.
2724    :type copy_behavior: any
2725    """
2726
2727    _validation = {
2728        'type': {'required': True},
2729    }
2730
2731    _attribute_map = {
2732        'additional_properties': {'key': '', 'type': '{object}'},
2733        'type': {'key': 'type', 'type': 'str'},
2734        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
2735        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
2736        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
2737        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
2738        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
2739        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
2740    }
2741
2742    def __init__(
2743        self,
2744        *,
2745        additional_properties: Optional[Dict[str, Any]] = None,
2746        write_batch_size: Optional[Any] = None,
2747        write_batch_timeout: Optional[Any] = None,
2748        sink_retry_count: Optional[Any] = None,
2749        sink_retry_wait: Optional[Any] = None,
2750        max_concurrent_connections: Optional[Any] = None,
2751        copy_behavior: Optional[Any] = None,
2752        **kwargs
2753    ):
2754        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)
2755        self.type = 'AzureBlobFSSink'  # type: str
2756        self.copy_behavior = copy_behavior
2757
2758
2759class AzureBlobFSSource(CopySource):
2760    """A copy activity Azure BlobFS source.
2761
2762    All required parameters must be populated in order to send to Azure.
2763
2764    :param additional_properties: Unmatched properties from the message are deserialized to this
2765     collection.
2766    :type additional_properties: dict[str, any]
2767    :param type: Required. Copy source type.Constant filled by server.
2768    :type type: str
2769    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
2770     integer).
2771    :type source_retry_count: any
2772    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
2773     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
2774    :type source_retry_wait: any
2775    :param max_concurrent_connections: The maximum concurrent connection count for the source data
2776     store. Type: integer (or Expression with resultType integer).
2777    :type max_concurrent_connections: any
2778    :param treat_empty_as_null: Treat empty as null. Type: boolean (or Expression with resultType
2779     boolean).
2780    :type treat_empty_as_null: any
2781    :param skip_header_line_count: Number of header lines to skip from each blob. Type: integer (or
2782     Expression with resultType integer).
2783    :type skip_header_line_count: any
2784    :param recursive: If true, files under the folder path will be read recursively. Default is
2785     true. Type: boolean (or Expression with resultType boolean).
2786    :type recursive: any
2787    """
2788
2789    _validation = {
2790        'type': {'required': True},
2791    }
2792
2793    _attribute_map = {
2794        'additional_properties': {'key': '', 'type': '{object}'},
2795        'type': {'key': 'type', 'type': 'str'},
2796        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
2797        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
2798        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
2799        'treat_empty_as_null': {'key': 'treatEmptyAsNull', 'type': 'object'},
2800        'skip_header_line_count': {'key': 'skipHeaderLineCount', 'type': 'object'},
2801        'recursive': {'key': 'recursive', 'type': 'object'},
2802    }
2803
2804    def __init__(
2805        self,
2806        *,
2807        additional_properties: Optional[Dict[str, Any]] = None,
2808        source_retry_count: Optional[Any] = None,
2809        source_retry_wait: Optional[Any] = None,
2810        max_concurrent_connections: Optional[Any] = None,
2811        treat_empty_as_null: Optional[Any] = None,
2812        skip_header_line_count: Optional[Any] = None,
2813        recursive: Optional[Any] = None,
2814        **kwargs
2815    ):
2816        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)
2817        self.type = 'AzureBlobFSSource'  # type: str
2818        self.treat_empty_as_null = treat_empty_as_null
2819        self.skip_header_line_count = skip_header_line_count
2820        self.recursive = recursive
2821
2822
2823class StoreWriteSettings(msrest.serialization.Model):
2824    """Connector write settings.
2825
2826    You probably want to use the sub-classes and not this class directly. Known
2827    sub-classes are: AzureBlobFSWriteSettings, AzureBlobStorageWriteSettings, AzureDataLakeStoreWriteSettings, AzureFileStorageWriteSettings, FileServerWriteSettings, SftpWriteSettings.
2828
2829    All required parameters must be populated in order to send to Azure.
2830
2831    :param additional_properties: Unmatched properties from the message are deserialized to this
2832     collection.
2833    :type additional_properties: dict[str, any]
2834    :param type: Required. The write setting type.Constant filled by server.
2835    :type type: str
2836    :param max_concurrent_connections: The maximum concurrent connection count for the source data
2837     store. Type: integer (or Expression with resultType integer).
2838    :type max_concurrent_connections: any
2839    :param copy_behavior: The type of copy behavior for copy sink.
2840    :type copy_behavior: any
2841    """
2842
2843    _validation = {
2844        'type': {'required': True},
2845    }
2846
2847    _attribute_map = {
2848        'additional_properties': {'key': '', 'type': '{object}'},
2849        'type': {'key': 'type', 'type': 'str'},
2850        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
2851        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
2852    }
2853
2854    _subtype_map = {
2855        'type': {'AzureBlobFSWriteSettings': 'AzureBlobFSWriteSettings', 'AzureBlobStorageWriteSettings': 'AzureBlobStorageWriteSettings', 'AzureDataLakeStoreWriteSettings': 'AzureDataLakeStoreWriteSettings', 'AzureFileStorageWriteSettings': 'AzureFileStorageWriteSettings', 'FileServerWriteSettings': 'FileServerWriteSettings', 'SftpWriteSettings': 'SftpWriteSettings'}
2856    }
2857
2858    def __init__(
2859        self,
2860        *,
2861        additional_properties: Optional[Dict[str, Any]] = None,
2862        max_concurrent_connections: Optional[Any] = None,
2863        copy_behavior: Optional[Any] = None,
2864        **kwargs
2865    ):
2866        super(StoreWriteSettings, self).__init__(**kwargs)
2867        self.additional_properties = additional_properties
2868        self.type = 'StoreWriteSettings'  # type: str
2869        self.max_concurrent_connections = max_concurrent_connections
2870        self.copy_behavior = copy_behavior
2871
2872
2873class AzureBlobFSWriteSettings(StoreWriteSettings):
2874    """Azure blobFS write settings.
2875
2876    All required parameters must be populated in order to send to Azure.
2877
2878    :param additional_properties: Unmatched properties from the message are deserialized to this
2879     collection.
2880    :type additional_properties: dict[str, any]
2881    :param type: Required. The write setting type.Constant filled by server.
2882    :type type: str
2883    :param max_concurrent_connections: The maximum concurrent connection count for the source data
2884     store. Type: integer (or Expression with resultType integer).
2885    :type max_concurrent_connections: any
2886    :param copy_behavior: The type of copy behavior for copy sink.
2887    :type copy_behavior: any
2888    :param block_size_in_mb: Indicates the block size(MB) when writing data to blob. Type: integer
2889     (or Expression with resultType integer).
2890    :type block_size_in_mb: any
2891    """
2892
2893    _validation = {
2894        'type': {'required': True},
2895    }
2896
2897    _attribute_map = {
2898        'additional_properties': {'key': '', 'type': '{object}'},
2899        'type': {'key': 'type', 'type': 'str'},
2900        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
2901        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
2902        'block_size_in_mb': {'key': 'blockSizeInMB', 'type': 'object'},
2903    }
2904
2905    def __init__(
2906        self,
2907        *,
2908        additional_properties: Optional[Dict[str, Any]] = None,
2909        max_concurrent_connections: Optional[Any] = None,
2910        copy_behavior: Optional[Any] = None,
2911        block_size_in_mb: Optional[Any] = None,
2912        **kwargs
2913    ):
2914        super(AzureBlobFSWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs)
2915        self.type = 'AzureBlobFSWriteSettings'  # type: str
2916        self.block_size_in_mb = block_size_in_mb
2917
2918
2919class AzureBlobStorageLinkedService(LinkedService):
2920    """The azure blob storage linked service.
2921
2922    All required parameters must be populated in order to send to Azure.
2923
2924    :param additional_properties: Unmatched properties from the message are deserialized to this
2925     collection.
2926    :type additional_properties: dict[str, any]
2927    :param type: Required. Type of linked service.Constant filled by server.
2928    :type type: str
2929    :param connect_via: The integration runtime reference.
2930    :type connect_via:
2931     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
2932    :param description: Linked service description.
2933    :type description: str
2934    :param parameters: Parameters for linked service.
2935    :type parameters: dict[str,
2936     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
2937    :param annotations: List of tags that can be used for describing the linked service.
2938    :type annotations: list[any]
2939    :param connection_string: The connection string. It is mutually exclusive with sasUri,
2940     serviceEndpoint property. Type: string, SecureString or AzureKeyVaultSecretReference.
2941    :type connection_string: any
2942    :param account_key: The Azure key vault secret reference of accountKey in connection string.
2943    :type account_key:
2944     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
2945    :param sas_uri: SAS URI of the Azure Blob Storage resource. It is mutually exclusive with
2946     connectionString, serviceEndpoint property. Type: string, SecureString or
2947     AzureKeyVaultSecretReference.
2948    :type sas_uri: any
2949    :param sas_token: The Azure key vault secret reference of sasToken in sas uri.
2950    :type sas_token:
2951     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
2952    :param service_endpoint: Blob service endpoint of the Azure Blob Storage resource. It is
2953     mutually exclusive with connectionString, sasUri property.
2954    :type service_endpoint: str
2955    :param service_principal_id: The ID of the service principal used to authenticate against Azure
2956     SQL Data Warehouse. Type: string (or Expression with resultType string).
2957    :type service_principal_id: any
2958    :param service_principal_key: The key of the service principal used to authenticate against
2959     Azure SQL Data Warehouse.
2960    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
2961    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
2962     string (or Expression with resultType string).
2963    :type tenant: any
2964    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
2965     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
2966     factory regions’ cloud type. Type: string (or Expression with resultType string).
2967    :type azure_cloud_type: any
2968    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
2969     encrypted using the integration runtime credential manager. Type: string (or Expression with
2970     resultType string).
2971    :type encrypted_credential: str
2972    """
2973
2974    _validation = {
2975        'type': {'required': True},
2976    }
2977
2978    _attribute_map = {
2979        'additional_properties': {'key': '', 'type': '{object}'},
2980        'type': {'key': 'type', 'type': 'str'},
2981        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
2982        'description': {'key': 'description', 'type': 'str'},
2983        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
2984        'annotations': {'key': 'annotations', 'type': '[object]'},
2985        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
2986        'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'},
2987        'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'},
2988        'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'},
2989        'service_endpoint': {'key': 'typeProperties.serviceEndpoint', 'type': 'str'},
2990        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
2991        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
2992        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
2993        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
2994        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'},
2995    }
2996
2997    def __init__(
2998        self,
2999        *,
3000        additional_properties: Optional[Dict[str, Any]] = None,
3001        connect_via: Optional["IntegrationRuntimeReference"] = None,
3002        description: Optional[str] = None,
3003        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
3004        annotations: Optional[List[Any]] = None,
3005        connection_string: Optional[Any] = None,
3006        account_key: Optional["AzureKeyVaultSecretReference"] = None,
3007        sas_uri: Optional[Any] = None,
3008        sas_token: Optional["AzureKeyVaultSecretReference"] = None,
3009        service_endpoint: Optional[str] = None,
3010        service_principal_id: Optional[Any] = None,
3011        service_principal_key: Optional["SecretBase"] = None,
3012        tenant: Optional[Any] = None,
3013        azure_cloud_type: Optional[Any] = None,
3014        encrypted_credential: Optional[str] = None,
3015        **kwargs
3016    ):
3017        super(AzureBlobStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
3018        self.type = 'AzureBlobStorage'  # type: str
3019        self.connection_string = connection_string
3020        self.account_key = account_key
3021        self.sas_uri = sas_uri
3022        self.sas_token = sas_token
3023        self.service_endpoint = service_endpoint
3024        self.service_principal_id = service_principal_id
3025        self.service_principal_key = service_principal_key
3026        self.tenant = tenant
3027        self.azure_cloud_type = azure_cloud_type
3028        self.encrypted_credential = encrypted_credential
3029
3030
3031class AzureBlobStorageLocation(DatasetLocation):
3032    """The location of azure blob dataset.
3033
3034    All required parameters must be populated in order to send to Azure.
3035
3036    :param additional_properties: Unmatched properties from the message are deserialized to this
3037     collection.
3038    :type additional_properties: dict[str, any]
3039    :param type: Required. Type of dataset storage location.Constant filled by server.
3040    :type type: str
3041    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
3042     resultType string).
3043    :type folder_path: any
3044    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
3045     string).
3046    :type file_name: any
3047    :param container: Specify the container of azure blob. Type: string (or Expression with
3048     resultType string).
3049    :type container: any
3050    """
3051
3052    _validation = {
3053        'type': {'required': True},
3054    }
3055
3056    _attribute_map = {
3057        'additional_properties': {'key': '', 'type': '{object}'},
3058        'type': {'key': 'type', 'type': 'str'},
3059        'folder_path': {'key': 'folderPath', 'type': 'object'},
3060        'file_name': {'key': 'fileName', 'type': 'object'},
3061        'container': {'key': 'container', 'type': 'object'},
3062    }
3063
3064    def __init__(
3065        self,
3066        *,
3067        additional_properties: Optional[Dict[str, Any]] = None,
3068        folder_path: Optional[Any] = None,
3069        file_name: Optional[Any] = None,
3070        container: Optional[Any] = None,
3071        **kwargs
3072    ):
3073        super(AzureBlobStorageLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
3074        self.type = 'AzureBlobStorageLocation'  # type: str
3075        self.container = container
3076
3077
3078class AzureBlobStorageReadSettings(StoreReadSettings):
3079    """Azure blob read settings.
3080
3081    All required parameters must be populated in order to send to Azure.
3082
3083    :param additional_properties: Unmatched properties from the message are deserialized to this
3084     collection.
3085    :type additional_properties: dict[str, any]
3086    :param type: Required. The read setting type.Constant filled by server.
3087    :type type: str
3088    :param max_concurrent_connections: The maximum concurrent connection count for the source data
3089     store. Type: integer (or Expression with resultType integer).
3090    :type max_concurrent_connections: any
3091    :param recursive: If true, files under the folder path will be read recursively. Default is
3092     true. Type: boolean (or Expression with resultType boolean).
3093    :type recursive: any
3094    :param wildcard_folder_path: Azure blob wildcardFolderPath. Type: string (or Expression with
3095     resultType string).
3096    :type wildcard_folder_path: any
3097    :param wildcard_file_name: Azure blob wildcardFileName. Type: string (or Expression with
3098     resultType string).
3099    :type wildcard_file_name: any
3100    :param prefix: The prefix filter for the Azure Blob name. Type: string (or Expression with
3101     resultType string).
3102    :type prefix: any
3103    :param file_list_path: Point to a text file that lists each file (relative path to the path
3104     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
3105     string).
3106    :type file_list_path: any
3107    :param enable_partition_discovery: Indicates whether to enable partition discovery.
3108    :type enable_partition_discovery: bool
3109    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
3110     string (or Expression with resultType string).
3111    :type partition_root_path: any
3112    :param delete_files_after_completion: Indicates whether the source files need to be deleted
3113     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
3114    :type delete_files_after_completion: any
3115    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
3116     Expression with resultType string).
3117    :type modified_datetime_start: any
3118    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
3119     with resultType string).
3120    :type modified_datetime_end: any
3121    """
3122
3123    _validation = {
3124        'type': {'required': True},
3125    }
3126
3127    _attribute_map = {
3128        'additional_properties': {'key': '', 'type': '{object}'},
3129        'type': {'key': 'type', 'type': 'str'},
3130        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
3131        'recursive': {'key': 'recursive', 'type': 'object'},
3132        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
3133        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
3134        'prefix': {'key': 'prefix', 'type': 'object'},
3135        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
3136        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
3137        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
3138        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
3139        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
3140        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
3141    }
3142
3143    def __init__(
3144        self,
3145        *,
3146        additional_properties: Optional[Dict[str, Any]] = None,
3147        max_concurrent_connections: Optional[Any] = None,
3148        recursive: Optional[Any] = None,
3149        wildcard_folder_path: Optional[Any] = None,
3150        wildcard_file_name: Optional[Any] = None,
3151        prefix: Optional[Any] = None,
3152        file_list_path: Optional[Any] = None,
3153        enable_partition_discovery: Optional[bool] = None,
3154        partition_root_path: Optional[Any] = None,
3155        delete_files_after_completion: Optional[Any] = None,
3156        modified_datetime_start: Optional[Any] = None,
3157        modified_datetime_end: Optional[Any] = None,
3158        **kwargs
3159    ):
3160        super(AzureBlobStorageReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
3161        self.type = 'AzureBlobStorageReadSettings'  # type: str
3162        self.recursive = recursive
3163        self.wildcard_folder_path = wildcard_folder_path
3164        self.wildcard_file_name = wildcard_file_name
3165        self.prefix = prefix
3166        self.file_list_path = file_list_path
3167        self.enable_partition_discovery = enable_partition_discovery
3168        self.partition_root_path = partition_root_path
3169        self.delete_files_after_completion = delete_files_after_completion
3170        self.modified_datetime_start = modified_datetime_start
3171        self.modified_datetime_end = modified_datetime_end
3172
3173
3174class AzureBlobStorageWriteSettings(StoreWriteSettings):
3175    """Azure blob write settings.
3176
3177    All required parameters must be populated in order to send to Azure.
3178
3179    :param additional_properties: Unmatched properties from the message are deserialized to this
3180     collection.
3181    :type additional_properties: dict[str, any]
3182    :param type: Required. The write setting type.Constant filled by server.
3183    :type type: str
3184    :param max_concurrent_connections: The maximum concurrent connection count for the source data
3185     store. Type: integer (or Expression with resultType integer).
3186    :type max_concurrent_connections: any
3187    :param copy_behavior: The type of copy behavior for copy sink.
3188    :type copy_behavior: any
3189    :param block_size_in_mb: Indicates the block size(MB) when writing data to blob. Type: integer
3190     (or Expression with resultType integer).
3191    :type block_size_in_mb: any
3192    """
3193
3194    _validation = {
3195        'type': {'required': True},
3196    }
3197
3198    _attribute_map = {
3199        'additional_properties': {'key': '', 'type': '{object}'},
3200        'type': {'key': 'type', 'type': 'str'},
3201        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
3202        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
3203        'block_size_in_mb': {'key': 'blockSizeInMB', 'type': 'object'},
3204    }
3205
3206    def __init__(
3207        self,
3208        *,
3209        additional_properties: Optional[Dict[str, Any]] = None,
3210        max_concurrent_connections: Optional[Any] = None,
3211        copy_behavior: Optional[Any] = None,
3212        block_size_in_mb: Optional[Any] = None,
3213        **kwargs
3214    ):
3215        super(AzureBlobStorageWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs)
3216        self.type = 'AzureBlobStorageWriteSettings'  # type: str
3217        self.block_size_in_mb = block_size_in_mb
3218
3219
3220class AzureDatabricksDeltaLakeDataset(Dataset):
3221    """Azure Databricks Delta Lake dataset.
3222
3223    All required parameters must be populated in order to send to Azure.
3224
3225    :param additional_properties: Unmatched properties from the message are deserialized to this
3226     collection.
3227    :type additional_properties: dict[str, any]
3228    :param type: Required. Type of dataset.Constant filled by server.
3229    :type type: str
3230    :param description: Dataset description.
3231    :type description: str
3232    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
3233     with resultType array), itemType: DatasetDataElement.
3234    :type structure: any
3235    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
3236     Expression with resultType array), itemType: DatasetSchemaDataElement.
3237    :type schema: any
3238    :param linked_service_name: Required. Linked service reference.
3239    :type linked_service_name:
3240     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
3241    :param parameters: Parameters for dataset.
3242    :type parameters: dict[str,
3243     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
3244    :param annotations: List of tags that can be used for describing the Dataset.
3245    :type annotations: list[any]
3246    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
3247     root level.
3248    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
3249    :param table: The name of delta table. Type: string (or Expression with resultType string).
3250    :type table: any
3251    :param database: The database name of delta table. Type: string (or Expression with resultType
3252     string).
3253    :type database: any
3254    """
3255
3256    _validation = {
3257        'type': {'required': True},
3258        'linked_service_name': {'required': True},
3259    }
3260
3261    _attribute_map = {
3262        'additional_properties': {'key': '', 'type': '{object}'},
3263        'type': {'key': 'type', 'type': 'str'},
3264        'description': {'key': 'description', 'type': 'str'},
3265        'structure': {'key': 'structure', 'type': 'object'},
3266        'schema': {'key': 'schema', 'type': 'object'},
3267        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
3268        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
3269        'annotations': {'key': 'annotations', 'type': '[object]'},
3270        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
3271        'table': {'key': 'typeProperties.table', 'type': 'object'},
3272        'database': {'key': 'typeProperties.database', 'type': 'object'},
3273    }
3274
3275    def __init__(
3276        self,
3277        *,
3278        linked_service_name: "LinkedServiceReference",
3279        additional_properties: Optional[Dict[str, Any]] = None,
3280        description: Optional[str] = None,
3281        structure: Optional[Any] = None,
3282        schema: Optional[Any] = None,
3283        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
3284        annotations: Optional[List[Any]] = None,
3285        folder: Optional["DatasetFolder"] = None,
3286        table: Optional[Any] = None,
3287        database: Optional[Any] = None,
3288        **kwargs
3289    ):
3290        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)
3291        self.type = 'AzureDatabricksDeltaLakeDataset'  # type: str
3292        self.table = table
3293        self.database = database
3294
3295
3296class ExportSettings(msrest.serialization.Model):
3297    """Export command settings.
3298
3299    You probably want to use the sub-classes and not this class directly. Known
3300    sub-classes are: AzureDatabricksDeltaLakeExportCommand, SnowflakeExportCopyCommand.
3301
3302    All required parameters must be populated in order to send to Azure.
3303
3304    :param additional_properties: Unmatched properties from the message are deserialized to this
3305     collection.
3306    :type additional_properties: dict[str, any]
3307    :param type: Required. The export setting type.Constant filled by server.
3308    :type type: str
3309    """
3310
3311    _validation = {
3312        'type': {'required': True},
3313    }
3314
3315    _attribute_map = {
3316        'additional_properties': {'key': '', 'type': '{object}'},
3317        'type': {'key': 'type', 'type': 'str'},
3318    }
3319
3320    _subtype_map = {
3321        'type': {'AzureDatabricksDeltaLakeExportCommand': 'AzureDatabricksDeltaLakeExportCommand', 'SnowflakeExportCopyCommand': 'SnowflakeExportCopyCommand'}
3322    }
3323
3324    def __init__(
3325        self,
3326        *,
3327        additional_properties: Optional[Dict[str, Any]] = None,
3328        **kwargs
3329    ):
3330        super(ExportSettings, self).__init__(**kwargs)
3331        self.additional_properties = additional_properties
3332        self.type = 'ExportSettings'  # type: str
3333
3334
3335class AzureDatabricksDeltaLakeExportCommand(ExportSettings):
3336    """Azure Databricks Delta Lake export command settings.
3337
3338    All required parameters must be populated in order to send to Azure.
3339
3340    :param additional_properties: Unmatched properties from the message are deserialized to this
3341     collection.
3342    :type additional_properties: dict[str, any]
3343    :param type: Required. The export setting type.Constant filled by server.
3344    :type type: str
3345    :param date_format: Specify the date format for the csv in Azure Databricks Delta Lake Copy.
3346     Type: string (or Expression with resultType string).
3347    :type date_format: any
3348    :param timestamp_format: Specify the timestamp format for the csv in Azure Databricks Delta
3349     Lake Copy. Type: string (or Expression with resultType string).
3350    :type timestamp_format: any
3351    """
3352
3353    _validation = {
3354        'type': {'required': True},
3355    }
3356
3357    _attribute_map = {
3358        'additional_properties': {'key': '', 'type': '{object}'},
3359        'type': {'key': 'type', 'type': 'str'},
3360        'date_format': {'key': 'dateFormat', 'type': 'object'},
3361        'timestamp_format': {'key': 'timestampFormat', 'type': 'object'},
3362    }
3363
3364    def __init__(
3365        self,
3366        *,
3367        additional_properties: Optional[Dict[str, Any]] = None,
3368        date_format: Optional[Any] = None,
3369        timestamp_format: Optional[Any] = None,
3370        **kwargs
3371    ):
3372        super(AzureDatabricksDeltaLakeExportCommand, self).__init__(additional_properties=additional_properties, **kwargs)
3373        self.type = 'AzureDatabricksDeltaLakeExportCommand'  # type: str
3374        self.date_format = date_format
3375        self.timestamp_format = timestamp_format
3376
3377
3378class ImportSettings(msrest.serialization.Model):
3379    """Import command settings.
3380
3381    You probably want to use the sub-classes and not this class directly. Known
3382    sub-classes are: AzureDatabricksDeltaLakeImportCommand, SnowflakeImportCopyCommand.
3383
3384    All required parameters must be populated in order to send to Azure.
3385
3386    :param additional_properties: Unmatched properties from the message are deserialized to this
3387     collection.
3388    :type additional_properties: dict[str, any]
3389    :param type: Required. The import setting type.Constant filled by server.
3390    :type type: str
3391    """
3392
3393    _validation = {
3394        'type': {'required': True},
3395    }
3396
3397    _attribute_map = {
3398        'additional_properties': {'key': '', 'type': '{object}'},
3399        'type': {'key': 'type', 'type': 'str'},
3400    }
3401
3402    _subtype_map = {
3403        'type': {'AzureDatabricksDeltaLakeImportCommand': 'AzureDatabricksDeltaLakeImportCommand', 'SnowflakeImportCopyCommand': 'SnowflakeImportCopyCommand'}
3404    }
3405
3406    def __init__(
3407        self,
3408        *,
3409        additional_properties: Optional[Dict[str, Any]] = None,
3410        **kwargs
3411    ):
3412        super(ImportSettings, self).__init__(**kwargs)
3413        self.additional_properties = additional_properties
3414        self.type = 'ImportSettings'  # type: str
3415
3416
3417class AzureDatabricksDeltaLakeImportCommand(ImportSettings):
3418    """Azure Databricks Delta Lake import command settings.
3419
3420    All required parameters must be populated in order to send to Azure.
3421
3422    :param additional_properties: Unmatched properties from the message are deserialized to this
3423     collection.
3424    :type additional_properties: dict[str, any]
3425    :param type: Required. The import setting type.Constant filled by server.
3426    :type type: str
3427    :param date_format: Specify the date format for csv in Azure Databricks Delta Lake Copy. Type:
3428     string (or Expression with resultType string).
3429    :type date_format: any
3430    :param timestamp_format: Specify the timestamp format for csv in Azure Databricks Delta Lake
3431     Copy. Type: string (or Expression with resultType string).
3432    :type timestamp_format: any
3433    """
3434
3435    _validation = {
3436        'type': {'required': True},
3437    }
3438
3439    _attribute_map = {
3440        'additional_properties': {'key': '', 'type': '{object}'},
3441        'type': {'key': 'type', 'type': 'str'},
3442        'date_format': {'key': 'dateFormat', 'type': 'object'},
3443        'timestamp_format': {'key': 'timestampFormat', 'type': 'object'},
3444    }
3445
3446    def __init__(
3447        self,
3448        *,
3449        additional_properties: Optional[Dict[str, Any]] = None,
3450        date_format: Optional[Any] = None,
3451        timestamp_format: Optional[Any] = None,
3452        **kwargs
3453    ):
3454        super(AzureDatabricksDeltaLakeImportCommand, self).__init__(additional_properties=additional_properties, **kwargs)
3455        self.type = 'AzureDatabricksDeltaLakeImportCommand'  # type: str
3456        self.date_format = date_format
3457        self.timestamp_format = timestamp_format
3458
3459
3460class AzureDatabricksDeltaLakeLinkedService(LinkedService):
3461    """Azure Databricks Delta Lake linked service.
3462
3463    All required parameters must be populated in order to send to Azure.
3464
3465    :param additional_properties: Unmatched properties from the message are deserialized to this
3466     collection.
3467    :type additional_properties: dict[str, any]
3468    :param type: Required. Type of linked service.Constant filled by server.
3469    :type type: str
3470    :param connect_via: The integration runtime reference.
3471    :type connect_via:
3472     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
3473    :param description: Linked service description.
3474    :type description: str
3475    :param parameters: Parameters for linked service.
3476    :type parameters: dict[str,
3477     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
3478    :param annotations: List of tags that can be used for describing the linked service.
3479    :type annotations: list[any]
3480    :param domain: Required. :code:`<REGION>`.azuredatabricks.net, domain name of your Databricks
3481     deployment. Type: string (or Expression with resultType string).
3482    :type domain: any
3483    :param access_token: Required. Access token for databricks REST API. Refer to
3484     https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string, SecureString or
3485     AzureKeyVaultSecretReference.
3486    :type access_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
3487    :param cluster_id: The id of an existing interactive cluster that will be used for all runs of
3488     this job. Type: string (or Expression with resultType string).
3489    :type cluster_id: any
3490    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
3491     encrypted using the integration runtime credential manager. Type: string (or Expression with
3492     resultType string).
3493    :type encrypted_credential: any
3494    """
3495
3496    _validation = {
3497        'type': {'required': True},
3498        'domain': {'required': True},
3499        'access_token': {'required': True},
3500    }
3501
3502    _attribute_map = {
3503        'additional_properties': {'key': '', 'type': '{object}'},
3504        'type': {'key': 'type', 'type': 'str'},
3505        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
3506        'description': {'key': 'description', 'type': 'str'},
3507        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
3508        'annotations': {'key': 'annotations', 'type': '[object]'},
3509        'domain': {'key': 'typeProperties.domain', 'type': 'object'},
3510        'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'},
3511        'cluster_id': {'key': 'typeProperties.clusterId', 'type': 'object'},
3512        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
3513    }
3514
3515    def __init__(
3516        self,
3517        *,
3518        domain: Any,
3519        access_token: "SecretBase",
3520        additional_properties: Optional[Dict[str, Any]] = None,
3521        connect_via: Optional["IntegrationRuntimeReference"] = None,
3522        description: Optional[str] = None,
3523        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
3524        annotations: Optional[List[Any]] = None,
3525        cluster_id: Optional[Any] = None,
3526        encrypted_credential: Optional[Any] = None,
3527        **kwargs
3528    ):
3529        super(AzureDatabricksDeltaLakeLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
3530        self.type = 'AzureDatabricksDeltaLake'  # type: str
3531        self.domain = domain
3532        self.access_token = access_token
3533        self.cluster_id = cluster_id
3534        self.encrypted_credential = encrypted_credential
3535
3536
3537class AzureDatabricksDeltaLakeSink(CopySink):
3538    """A copy activity Azure Databricks Delta Lake sink.
3539
3540    All required parameters must be populated in order to send to Azure.
3541
3542    :param additional_properties: Unmatched properties from the message are deserialized to this
3543     collection.
3544    :type additional_properties: dict[str, any]
3545    :param type: Required. Copy sink type.Constant filled by server.
3546    :type type: str
3547    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
3548     integer), minimum: 0.
3549    :type write_batch_size: any
3550    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
3551     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
3552    :type write_batch_timeout: any
3553    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
3554     integer).
3555    :type sink_retry_count: any
3556    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
3557     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
3558    :type sink_retry_wait: any
3559    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
3560     store. Type: integer (or Expression with resultType integer).
3561    :type max_concurrent_connections: any
3562    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
3563     string).
3564    :type pre_copy_script: any
3565    :param import_settings: Azure Databricks Delta Lake import settings.
3566    :type import_settings:
3567     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureDatabricksDeltaLakeImportCommand
3568    """
3569
3570    _validation = {
3571        'type': {'required': True},
3572    }
3573
3574    _attribute_map = {
3575        'additional_properties': {'key': '', 'type': '{object}'},
3576        'type': {'key': 'type', 'type': 'str'},
3577        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
3578        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
3579        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
3580        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
3581        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
3582        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
3583        'import_settings': {'key': 'importSettings', 'type': 'AzureDatabricksDeltaLakeImportCommand'},
3584    }
3585
3586    def __init__(
3587        self,
3588        *,
3589        additional_properties: Optional[Dict[str, Any]] = None,
3590        write_batch_size: Optional[Any] = None,
3591        write_batch_timeout: Optional[Any] = None,
3592        sink_retry_count: Optional[Any] = None,
3593        sink_retry_wait: Optional[Any] = None,
3594        max_concurrent_connections: Optional[Any] = None,
3595        pre_copy_script: Optional[Any] = None,
3596        import_settings: Optional["AzureDatabricksDeltaLakeImportCommand"] = None,
3597        **kwargs
3598    ):
3599        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)
3600        self.type = 'AzureDatabricksDeltaLakeSink'  # type: str
3601        self.pre_copy_script = pre_copy_script
3602        self.import_settings = import_settings
3603
3604
3605class AzureDatabricksDeltaLakeSource(CopySource):
3606    """A copy activity Azure Databricks Delta Lake source.
3607
3608    All required parameters must be populated in order to send to Azure.
3609
3610    :param additional_properties: Unmatched properties from the message are deserialized to this
3611     collection.
3612    :type additional_properties: dict[str, any]
3613    :param type: Required. Copy source type.Constant filled by server.
3614    :type type: str
3615    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
3616     integer).
3617    :type source_retry_count: any
3618    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
3619     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
3620    :type source_retry_wait: any
3621    :param max_concurrent_connections: The maximum concurrent connection count for the source data
3622     store. Type: integer (or Expression with resultType integer).
3623    :type max_concurrent_connections: any
3624    :param query: Azure Databricks Delta Lake Sql query. Type: string (or Expression with
3625     resultType string).
3626    :type query: any
3627    :param export_settings: Azure Databricks Delta Lake export settings.
3628    :type export_settings:
3629     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureDatabricksDeltaLakeExportCommand
3630    """
3631
3632    _validation = {
3633        'type': {'required': True},
3634    }
3635
3636    _attribute_map = {
3637        'additional_properties': {'key': '', 'type': '{object}'},
3638        'type': {'key': 'type', 'type': 'str'},
3639        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
3640        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
3641        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
3642        'query': {'key': 'query', 'type': 'object'},
3643        'export_settings': {'key': 'exportSettings', 'type': 'AzureDatabricksDeltaLakeExportCommand'},
3644    }
3645
3646    def __init__(
3647        self,
3648        *,
3649        additional_properties: Optional[Dict[str, Any]] = None,
3650        source_retry_count: Optional[Any] = None,
3651        source_retry_wait: Optional[Any] = None,
3652        max_concurrent_connections: Optional[Any] = None,
3653        query: Optional[Any] = None,
3654        export_settings: Optional["AzureDatabricksDeltaLakeExportCommand"] = None,
3655        **kwargs
3656    ):
3657        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)
3658        self.type = 'AzureDatabricksDeltaLakeSource'  # type: str
3659        self.query = query
3660        self.export_settings = export_settings
3661
3662
3663class AzureDatabricksLinkedService(LinkedService):
3664    """Azure Databricks linked service.
3665
3666    All required parameters must be populated in order to send to Azure.
3667
3668    :param additional_properties: Unmatched properties from the message are deserialized to this
3669     collection.
3670    :type additional_properties: dict[str, any]
3671    :param type: Required. Type of linked service.Constant filled by server.
3672    :type type: str
3673    :param connect_via: The integration runtime reference.
3674    :type connect_via:
3675     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
3676    :param description: Linked service description.
3677    :type description: str
3678    :param parameters: Parameters for linked service.
3679    :type parameters: dict[str,
3680     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
3681    :param annotations: List of tags that can be used for describing the linked service.
3682    :type annotations: list[any]
3683    :param domain: Required. :code:`<REGION>`.azuredatabricks.net, domain name of your Databricks
3684     deployment. Type: string (or Expression with resultType string).
3685    :type domain: any
3686    :param access_token: Access token for databricks REST API. Refer to
3687     https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string (or Expression
3688     with resultType string).
3689    :type access_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
3690    :param authentication: Required to specify MSI, if using Workspace resource id for databricks
3691     REST API. Type: string (or Expression with resultType string).
3692    :type authentication: any
3693    :param workspace_resource_id: Workspace resource id for databricks REST API. Type: string (or
3694     Expression with resultType string).
3695    :type workspace_resource_id: any
3696    :param existing_cluster_id: The id of an existing interactive cluster that will be used for all
3697     runs of this activity. Type: string (or Expression with resultType string).
3698    :type existing_cluster_id: any
3699    :param instance_pool_id: The id of an existing instance pool that will be used for all runs of
3700     this activity. Type: string (or Expression with resultType string).
3701    :type instance_pool_id: any
3702    :param new_cluster_version: If not using an existing interactive cluster, this specifies the
3703     Spark version of a new job cluster or instance pool nodes created for each run of this
3704     activity. Required if instancePoolId is specified. Type: string (or Expression with resultType
3705     string).
3706    :type new_cluster_version: any
3707    :param new_cluster_num_of_worker: If not using an existing interactive cluster, this specifies
3708     the number of worker nodes to use for the new job cluster or instance pool. For new job
3709     clusters, this a string-formatted Int32, like '1' means numOfWorker is 1 or '1:10' means
3710     auto-scale from 1 (min) to 10 (max). For instance pools, this is a string-formatted Int32, and
3711     can only specify a fixed number of worker nodes, such as '2'. Required if newClusterVersion is
3712     specified. Type: string (or Expression with resultType string).
3713    :type new_cluster_num_of_worker: any
3714    :param new_cluster_node_type: The node type of the new job cluster. This property is required
3715     if newClusterVersion is specified and instancePoolId is not specified. If instancePoolId is
3716     specified, this property is ignored. Type: string (or Expression with resultType string).
3717    :type new_cluster_node_type: any
3718    :param new_cluster_spark_conf: A set of optional, user-specified Spark configuration key-value
3719     pairs.
3720    :type new_cluster_spark_conf: dict[str, any]
3721    :param new_cluster_spark_env_vars: A set of optional, user-specified Spark environment
3722     variables key-value pairs.
3723    :type new_cluster_spark_env_vars: dict[str, any]
3724    :param new_cluster_custom_tags: Additional tags for cluster resources. This property is ignored
3725     in instance pool configurations.
3726    :type new_cluster_custom_tags: dict[str, any]
3727    :param new_cluster_log_destination: Specify a location to deliver Spark driver, worker, and
3728     event logs. Type: string (or Expression with resultType string).
3729    :type new_cluster_log_destination: any
3730    :param new_cluster_driver_node_type: The driver node type for the new job cluster. This
3731     property is ignored in instance pool configurations. Type: string (or Expression with
3732     resultType string).
3733    :type new_cluster_driver_node_type: any
3734    :param new_cluster_init_scripts: User-defined initialization scripts for the new cluster. Type:
3735     array of strings (or Expression with resultType array of strings).
3736    :type new_cluster_init_scripts: any
3737    :param new_cluster_enable_elastic_disk: Enable the elastic disk on the new cluster. This
3738     property is now ignored, and takes the default elastic disk behavior in Databricks (elastic
3739     disks are always enabled). Type: boolean (or Expression with resultType boolean).
3740    :type new_cluster_enable_elastic_disk: any
3741    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
3742     encrypted using the integration runtime credential manager. Type: string (or Expression with
3743     resultType string).
3744    :type encrypted_credential: any
3745    :param policy_id: The policy id for limiting the ability to configure clusters based on a user
3746     defined set of rules. Type: string (or Expression with resultType string).
3747    :type policy_id: any
3748    """
3749
3750    _validation = {
3751        'type': {'required': True},
3752        'domain': {'required': True},
3753    }
3754
3755    _attribute_map = {
3756        'additional_properties': {'key': '', 'type': '{object}'},
3757        'type': {'key': 'type', 'type': 'str'},
3758        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
3759        'description': {'key': 'description', 'type': 'str'},
3760        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
3761        'annotations': {'key': 'annotations', 'type': '[object]'},
3762        'domain': {'key': 'typeProperties.domain', 'type': 'object'},
3763        'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'},
3764        'authentication': {'key': 'typeProperties.authentication', 'type': 'object'},
3765        'workspace_resource_id': {'key': 'typeProperties.workspaceResourceId', 'type': 'object'},
3766        'existing_cluster_id': {'key': 'typeProperties.existingClusterId', 'type': 'object'},
3767        'instance_pool_id': {'key': 'typeProperties.instancePoolId', 'type': 'object'},
3768        'new_cluster_version': {'key': 'typeProperties.newClusterVersion', 'type': 'object'},
3769        'new_cluster_num_of_worker': {'key': 'typeProperties.newClusterNumOfWorker', 'type': 'object'},
3770        'new_cluster_node_type': {'key': 'typeProperties.newClusterNodeType', 'type': 'object'},
3771        'new_cluster_spark_conf': {'key': 'typeProperties.newClusterSparkConf', 'type': '{object}'},
3772        'new_cluster_spark_env_vars': {'key': 'typeProperties.newClusterSparkEnvVars', 'type': '{object}'},
3773        'new_cluster_custom_tags': {'key': 'typeProperties.newClusterCustomTags', 'type': '{object}'},
3774        'new_cluster_log_destination': {'key': 'typeProperties.newClusterLogDestination', 'type': 'object'},
3775        'new_cluster_driver_node_type': {'key': 'typeProperties.newClusterDriverNodeType', 'type': 'object'},
3776        'new_cluster_init_scripts': {'key': 'typeProperties.newClusterInitScripts', 'type': 'object'},
3777        'new_cluster_enable_elastic_disk': {'key': 'typeProperties.newClusterEnableElasticDisk', 'type': 'object'},
3778        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
3779        'policy_id': {'key': 'typeProperties.policyId', 'type': 'object'},
3780    }
3781
3782    def __init__(
3783        self,
3784        *,
3785        domain: Any,
3786        additional_properties: Optional[Dict[str, Any]] = None,
3787        connect_via: Optional["IntegrationRuntimeReference"] = None,
3788        description: Optional[str] = None,
3789        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
3790        annotations: Optional[List[Any]] = None,
3791        access_token: Optional["SecretBase"] = None,
3792        authentication: Optional[Any] = None,
3793        workspace_resource_id: Optional[Any] = None,
3794        existing_cluster_id: Optional[Any] = None,
3795        instance_pool_id: Optional[Any] = None,
3796        new_cluster_version: Optional[Any] = None,
3797        new_cluster_num_of_worker: Optional[Any] = None,
3798        new_cluster_node_type: Optional[Any] = None,
3799        new_cluster_spark_conf: Optional[Dict[str, Any]] = None,
3800        new_cluster_spark_env_vars: Optional[Dict[str, Any]] = None,
3801        new_cluster_custom_tags: Optional[Dict[str, Any]] = None,
3802        new_cluster_log_destination: Optional[Any] = None,
3803        new_cluster_driver_node_type: Optional[Any] = None,
3804        new_cluster_init_scripts: Optional[Any] = None,
3805        new_cluster_enable_elastic_disk: Optional[Any] = None,
3806        encrypted_credential: Optional[Any] = None,
3807        policy_id: Optional[Any] = None,
3808        **kwargs
3809    ):
3810        super(AzureDatabricksLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
3811        self.type = 'AzureDatabricks'  # type: str
3812        self.domain = domain
3813        self.access_token = access_token
3814        self.authentication = authentication
3815        self.workspace_resource_id = workspace_resource_id
3816        self.existing_cluster_id = existing_cluster_id
3817        self.instance_pool_id = instance_pool_id
3818        self.new_cluster_version = new_cluster_version
3819        self.new_cluster_num_of_worker = new_cluster_num_of_worker
3820        self.new_cluster_node_type = new_cluster_node_type
3821        self.new_cluster_spark_conf = new_cluster_spark_conf
3822        self.new_cluster_spark_env_vars = new_cluster_spark_env_vars
3823        self.new_cluster_custom_tags = new_cluster_custom_tags
3824        self.new_cluster_log_destination = new_cluster_log_destination
3825        self.new_cluster_driver_node_type = new_cluster_driver_node_type
3826        self.new_cluster_init_scripts = new_cluster_init_scripts
3827        self.new_cluster_enable_elastic_disk = new_cluster_enable_elastic_disk
3828        self.encrypted_credential = encrypted_credential
3829        self.policy_id = policy_id
3830
3831
3832class ExecutionActivity(Activity):
3833    """Base class for all execution activities.
3834
3835    You probably want to use the sub-classes and not this class directly. Known
3836    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.
3837
3838    All required parameters must be populated in order to send to Azure.
3839
3840    :param additional_properties: Unmatched properties from the message are deserialized to this
3841     collection.
3842    :type additional_properties: dict[str, any]
3843    :param name: Required. Activity name.
3844    :type name: str
3845    :param type: Required. Type of activity.Constant filled by server.
3846    :type type: str
3847    :param description: Activity description.
3848    :type description: str
3849    :param depends_on: Activity depends on condition.
3850    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
3851    :param user_properties: Activity user properties.
3852    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
3853    :param linked_service_name: Linked service reference.
3854    :type linked_service_name:
3855     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
3856    :param policy: Activity policy.
3857    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
3858    """
3859
3860    _validation = {
3861        'name': {'required': True},
3862        'type': {'required': True},
3863    }
3864
3865    _attribute_map = {
3866        'additional_properties': {'key': '', 'type': '{object}'},
3867        'name': {'key': 'name', 'type': 'str'},
3868        'type': {'key': 'type', 'type': 'str'},
3869        'description': {'key': 'description', 'type': 'str'},
3870        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
3871        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
3872        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
3873        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
3874    }
3875
3876    _subtype_map = {
3877        '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'}
3878    }
3879
3880    def __init__(
3881        self,
3882        *,
3883        name: str,
3884        additional_properties: Optional[Dict[str, Any]] = None,
3885        description: Optional[str] = None,
3886        depends_on: Optional[List["ActivityDependency"]] = None,
3887        user_properties: Optional[List["UserProperty"]] = None,
3888        linked_service_name: Optional["LinkedServiceReference"] = None,
3889        policy: Optional["ActivityPolicy"] = None,
3890        **kwargs
3891    ):
3892        super(ExecutionActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
3893        self.type = 'Execution'  # type: str
3894        self.linked_service_name = linked_service_name
3895        self.policy = policy
3896
3897
3898class AzureDataExplorerCommandActivity(ExecutionActivity):
3899    """Azure Data Explorer command activity.
3900
3901    All required parameters must be populated in order to send to Azure.
3902
3903    :param additional_properties: Unmatched properties from the message are deserialized to this
3904     collection.
3905    :type additional_properties: dict[str, any]
3906    :param name: Required. Activity name.
3907    :type name: str
3908    :param type: Required. Type of activity.Constant filled by server.
3909    :type type: str
3910    :param description: Activity description.
3911    :type description: str
3912    :param depends_on: Activity depends on condition.
3913    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
3914    :param user_properties: Activity user properties.
3915    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
3916    :param linked_service_name: Linked service reference.
3917    :type linked_service_name:
3918     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
3919    :param policy: Activity policy.
3920    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
3921    :param command: Required. A control command, according to the Azure Data Explorer command
3922     syntax. Type: string (or Expression with resultType string).
3923    :type command: any
3924    :param command_timeout: Control command timeout. Type: string (or Expression with resultType
3925     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..).
3926    :type command_timeout: any
3927    """
3928
3929    _validation = {
3930        'name': {'required': True},
3931        'type': {'required': True},
3932        'command': {'required': True},
3933    }
3934
3935    _attribute_map = {
3936        'additional_properties': {'key': '', 'type': '{object}'},
3937        'name': {'key': 'name', 'type': 'str'},
3938        'type': {'key': 'type', 'type': 'str'},
3939        'description': {'key': 'description', 'type': 'str'},
3940        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
3941        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
3942        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
3943        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
3944        'command': {'key': 'typeProperties.command', 'type': 'object'},
3945        'command_timeout': {'key': 'typeProperties.commandTimeout', 'type': 'object'},
3946    }
3947
3948    def __init__(
3949        self,
3950        *,
3951        name: str,
3952        command: Any,
3953        additional_properties: Optional[Dict[str, Any]] = None,
3954        description: Optional[str] = None,
3955        depends_on: Optional[List["ActivityDependency"]] = None,
3956        user_properties: Optional[List["UserProperty"]] = None,
3957        linked_service_name: Optional["LinkedServiceReference"] = None,
3958        policy: Optional["ActivityPolicy"] = None,
3959        command_timeout: Optional[Any] = None,
3960        **kwargs
3961    ):
3962        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)
3963        self.type = 'AzureDataExplorerCommand'  # type: str
3964        self.command = command
3965        self.command_timeout = command_timeout
3966
3967
3968class AzureDataExplorerLinkedService(LinkedService):
3969    """Azure Data Explorer (Kusto) linked service.
3970
3971    All required parameters must be populated in order to send to Azure.
3972
3973    :param additional_properties: Unmatched properties from the message are deserialized to this
3974     collection.
3975    :type additional_properties: dict[str, any]
3976    :param type: Required. Type of linked service.Constant filled by server.
3977    :type type: str
3978    :param connect_via: The integration runtime reference.
3979    :type connect_via:
3980     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
3981    :param description: Linked service description.
3982    :type description: str
3983    :param parameters: Parameters for linked service.
3984    :type parameters: dict[str,
3985     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
3986    :param annotations: List of tags that can be used for describing the linked service.
3987    :type annotations: list[any]
3988    :param endpoint: Required. The endpoint of Azure Data Explorer (the engine's endpoint). URL
3989     will be in the format https://:code:`<clusterName>`.:code:`<regionName>`.kusto.windows.net.
3990     Type: string (or Expression with resultType string).
3991    :type endpoint: any
3992    :param service_principal_id: Required. The ID of the service principal used to authenticate
3993     against Azure Data Explorer. Type: string (or Expression with resultType string).
3994    :type service_principal_id: any
3995    :param service_principal_key: Required. The key of the service principal used to authenticate
3996     against Kusto.
3997    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
3998    :param database: Required. Database name for connection. Type: string (or Expression with
3999     resultType string).
4000    :type database: any
4001    :param tenant: Required. The name or ID of the tenant to which the service principal belongs.
4002     Type: string (or Expression with resultType string).
4003    :type tenant: any
4004    """
4005
4006    _validation = {
4007        'type': {'required': True},
4008        'endpoint': {'required': True},
4009        'service_principal_id': {'required': True},
4010        'service_principal_key': {'required': True},
4011        'database': {'required': True},
4012        'tenant': {'required': True},
4013    }
4014
4015    _attribute_map = {
4016        'additional_properties': {'key': '', 'type': '{object}'},
4017        'type': {'key': 'type', 'type': 'str'},
4018        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
4019        'description': {'key': 'description', 'type': 'str'},
4020        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
4021        'annotations': {'key': 'annotations', 'type': '[object]'},
4022        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
4023        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
4024        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
4025        'database': {'key': 'typeProperties.database', 'type': 'object'},
4026        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
4027    }
4028
4029    def __init__(
4030        self,
4031        *,
4032        endpoint: Any,
4033        service_principal_id: Any,
4034        service_principal_key: "SecretBase",
4035        database: Any,
4036        tenant: Any,
4037        additional_properties: Optional[Dict[str, Any]] = None,
4038        connect_via: Optional["IntegrationRuntimeReference"] = None,
4039        description: Optional[str] = None,
4040        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
4041        annotations: Optional[List[Any]] = None,
4042        **kwargs
4043    ):
4044        super(AzureDataExplorerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
4045        self.type = 'AzureDataExplorer'  # type: str
4046        self.endpoint = endpoint
4047        self.service_principal_id = service_principal_id
4048        self.service_principal_key = service_principal_key
4049        self.database = database
4050        self.tenant = tenant
4051
4052
4053class AzureDataExplorerSink(CopySink):
4054    """A copy activity Azure Data Explorer sink.
4055
4056    All required parameters must be populated in order to send to Azure.
4057
4058    :param additional_properties: Unmatched properties from the message are deserialized to this
4059     collection.
4060    :type additional_properties: dict[str, any]
4061    :param type: Required. Copy sink type.Constant filled by server.
4062    :type type: str
4063    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
4064     integer), minimum: 0.
4065    :type write_batch_size: any
4066    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
4067     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
4068    :type write_batch_timeout: any
4069    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
4070     integer).
4071    :type sink_retry_count: any
4072    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
4073     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
4074    :type sink_retry_wait: any
4075    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
4076     store. Type: integer (or Expression with resultType integer).
4077    :type max_concurrent_connections: any
4078    :param ingestion_mapping_name: A name of a pre-created csv mapping that was defined on the
4079     target Kusto table. Type: string.
4080    :type ingestion_mapping_name: any
4081    :param ingestion_mapping_as_json: An explicit column mapping description provided in a json
4082     format. Type: string.
4083    :type ingestion_mapping_as_json: any
4084    :param flush_immediately: If set to true, any aggregation will be skipped. Default is false.
4085     Type: boolean.
4086    :type flush_immediately: any
4087    """
4088
4089    _validation = {
4090        'type': {'required': True},
4091    }
4092
4093    _attribute_map = {
4094        'additional_properties': {'key': '', 'type': '{object}'},
4095        'type': {'key': 'type', 'type': 'str'},
4096        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
4097        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
4098        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
4099        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
4100        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
4101        'ingestion_mapping_name': {'key': 'ingestionMappingName', 'type': 'object'},
4102        'ingestion_mapping_as_json': {'key': 'ingestionMappingAsJson', 'type': 'object'},
4103        'flush_immediately': {'key': 'flushImmediately', 'type': 'object'},
4104    }
4105
4106    def __init__(
4107        self,
4108        *,
4109        additional_properties: Optional[Dict[str, Any]] = None,
4110        write_batch_size: Optional[Any] = None,
4111        write_batch_timeout: Optional[Any] = None,
4112        sink_retry_count: Optional[Any] = None,
4113        sink_retry_wait: Optional[Any] = None,
4114        max_concurrent_connections: Optional[Any] = None,
4115        ingestion_mapping_name: Optional[Any] = None,
4116        ingestion_mapping_as_json: Optional[Any] = None,
4117        flush_immediately: Optional[Any] = None,
4118        **kwargs
4119    ):
4120        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)
4121        self.type = 'AzureDataExplorerSink'  # type: str
4122        self.ingestion_mapping_name = ingestion_mapping_name
4123        self.ingestion_mapping_as_json = ingestion_mapping_as_json
4124        self.flush_immediately = flush_immediately
4125
4126
4127class AzureDataExplorerSource(CopySource):
4128    """A copy activity Azure Data Explorer (Kusto) source.
4129
4130    All required parameters must be populated in order to send to Azure.
4131
4132    :param additional_properties: Unmatched properties from the message are deserialized to this
4133     collection.
4134    :type additional_properties: dict[str, any]
4135    :param type: Required. Copy source type.Constant filled by server.
4136    :type type: str
4137    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
4138     integer).
4139    :type source_retry_count: any
4140    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
4141     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
4142    :type source_retry_wait: any
4143    :param max_concurrent_connections: The maximum concurrent connection count for the source data
4144     store. Type: integer (or Expression with resultType integer).
4145    :type max_concurrent_connections: any
4146    :param query: Required. Database query. Should be a Kusto Query Language (KQL) query. Type:
4147     string (or Expression with resultType string).
4148    :type query: any
4149    :param no_truncation: The name of the Boolean option that controls whether truncation is
4150     applied to result-sets that go beyond a certain row-count limit.
4151    :type no_truncation: any
4152    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
4153     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))..
4154    :type query_timeout: any
4155    :param additional_columns: Specifies the additional columns to be added to source data. Type:
4156     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
4157    :type additional_columns: any
4158    """
4159
4160    _validation = {
4161        'type': {'required': True},
4162        'query': {'required': True},
4163    }
4164
4165    _attribute_map = {
4166        'additional_properties': {'key': '', 'type': '{object}'},
4167        'type': {'key': 'type', 'type': 'str'},
4168        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
4169        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
4170        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
4171        'query': {'key': 'query', 'type': 'object'},
4172        'no_truncation': {'key': 'noTruncation', 'type': 'object'},
4173        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
4174        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
4175    }
4176
4177    def __init__(
4178        self,
4179        *,
4180        query: Any,
4181        additional_properties: Optional[Dict[str, Any]] = None,
4182        source_retry_count: Optional[Any] = None,
4183        source_retry_wait: Optional[Any] = None,
4184        max_concurrent_connections: Optional[Any] = None,
4185        no_truncation: Optional[Any] = None,
4186        query_timeout: Optional[Any] = None,
4187        additional_columns: Optional[Any] = None,
4188        **kwargs
4189    ):
4190        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)
4191        self.type = 'AzureDataExplorerSource'  # type: str
4192        self.query = query
4193        self.no_truncation = no_truncation
4194        self.query_timeout = query_timeout
4195        self.additional_columns = additional_columns
4196
4197
4198class AzureDataExplorerTableDataset(Dataset):
4199    """The Azure Data Explorer (Kusto) dataset.
4200
4201    All required parameters must be populated in order to send to Azure.
4202
4203    :param additional_properties: Unmatched properties from the message are deserialized to this
4204     collection.
4205    :type additional_properties: dict[str, any]
4206    :param type: Required. Type of dataset.Constant filled by server.
4207    :type type: str
4208    :param description: Dataset description.
4209    :type description: str
4210    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
4211     with resultType array), itemType: DatasetDataElement.
4212    :type structure: any
4213    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
4214     Expression with resultType array), itemType: DatasetSchemaDataElement.
4215    :type schema: any
4216    :param linked_service_name: Required. Linked service reference.
4217    :type linked_service_name:
4218     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
4219    :param parameters: Parameters for dataset.
4220    :type parameters: dict[str,
4221     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
4222    :param annotations: List of tags that can be used for describing the Dataset.
4223    :type annotations: list[any]
4224    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
4225     root level.
4226    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
4227    :param table: The table name of the Azure Data Explorer database. Type: string (or Expression
4228     with resultType string).
4229    :type table: any
4230    """
4231
4232    _validation = {
4233        'type': {'required': True},
4234        'linked_service_name': {'required': True},
4235    }
4236
4237    _attribute_map = {
4238        'additional_properties': {'key': '', 'type': '{object}'},
4239        'type': {'key': 'type', 'type': 'str'},
4240        'description': {'key': 'description', 'type': 'str'},
4241        'structure': {'key': 'structure', 'type': 'object'},
4242        'schema': {'key': 'schema', 'type': 'object'},
4243        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
4244        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
4245        'annotations': {'key': 'annotations', 'type': '[object]'},
4246        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
4247        'table': {'key': 'typeProperties.table', 'type': 'object'},
4248    }
4249
4250    def __init__(
4251        self,
4252        *,
4253        linked_service_name: "LinkedServiceReference",
4254        additional_properties: Optional[Dict[str, Any]] = None,
4255        description: Optional[str] = None,
4256        structure: Optional[Any] = None,
4257        schema: Optional[Any] = None,
4258        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
4259        annotations: Optional[List[Any]] = None,
4260        folder: Optional["DatasetFolder"] = None,
4261        table: Optional[Any] = None,
4262        **kwargs
4263    ):
4264        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)
4265        self.type = 'AzureDataExplorerTable'  # type: str
4266        self.table = table
4267
4268
4269class AzureDataLakeAnalyticsLinkedService(LinkedService):
4270    """Azure Data Lake Analytics linked service.
4271
4272    All required parameters must be populated in order to send to Azure.
4273
4274    :param additional_properties: Unmatched properties from the message are deserialized to this
4275     collection.
4276    :type additional_properties: dict[str, any]
4277    :param type: Required. Type of linked service.Constant filled by server.
4278    :type type: str
4279    :param connect_via: The integration runtime reference.
4280    :type connect_via:
4281     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
4282    :param description: Linked service description.
4283    :type description: str
4284    :param parameters: Parameters for linked service.
4285    :type parameters: dict[str,
4286     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
4287    :param annotations: List of tags that can be used for describing the linked service.
4288    :type annotations: list[any]
4289    :param account_name: Required. The Azure Data Lake Analytics account name. Type: string (or
4290     Expression with resultType string).
4291    :type account_name: any
4292    :param service_principal_id: The ID of the application used to authenticate against the Azure
4293     Data Lake Analytics account. Type: string (or Expression with resultType string).
4294    :type service_principal_id: any
4295    :param service_principal_key: The Key of the application used to authenticate against the Azure
4296     Data Lake Analytics account.
4297    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
4298    :param tenant: Required. The name or ID of the tenant to which the service principal belongs.
4299     Type: string (or Expression with resultType string).
4300    :type tenant: any
4301    :param subscription_id: Data Lake Analytics account subscription ID (if different from Data
4302     Factory account). Type: string (or Expression with resultType string).
4303    :type subscription_id: any
4304    :param resource_group_name: Data Lake Analytics account resource group name (if different from
4305     Data Factory account). Type: string (or Expression with resultType string).
4306    :type resource_group_name: any
4307    :param data_lake_analytics_uri: Azure Data Lake Analytics URI Type: string (or Expression with
4308     resultType string).
4309    :type data_lake_analytics_uri: any
4310    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
4311     encrypted using the integration runtime credential manager. Type: string (or Expression with
4312     resultType string).
4313    :type encrypted_credential: any
4314    """
4315
4316    _validation = {
4317        'type': {'required': True},
4318        'account_name': {'required': True},
4319        'tenant': {'required': True},
4320    }
4321
4322    _attribute_map = {
4323        'additional_properties': {'key': '', 'type': '{object}'},
4324        'type': {'key': 'type', 'type': 'str'},
4325        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
4326        'description': {'key': 'description', 'type': 'str'},
4327        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
4328        'annotations': {'key': 'annotations', 'type': '[object]'},
4329        'account_name': {'key': 'typeProperties.accountName', 'type': 'object'},
4330        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
4331        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
4332        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
4333        'subscription_id': {'key': 'typeProperties.subscriptionId', 'type': 'object'},
4334        'resource_group_name': {'key': 'typeProperties.resourceGroupName', 'type': 'object'},
4335        'data_lake_analytics_uri': {'key': 'typeProperties.dataLakeAnalyticsUri', 'type': 'object'},
4336        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
4337    }
4338
4339    def __init__(
4340        self,
4341        *,
4342        account_name: Any,
4343        tenant: Any,
4344        additional_properties: Optional[Dict[str, Any]] = None,
4345        connect_via: Optional["IntegrationRuntimeReference"] = None,
4346        description: Optional[str] = None,
4347        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
4348        annotations: Optional[List[Any]] = None,
4349        service_principal_id: Optional[Any] = None,
4350        service_principal_key: Optional["SecretBase"] = None,
4351        subscription_id: Optional[Any] = None,
4352        resource_group_name: Optional[Any] = None,
4353        data_lake_analytics_uri: Optional[Any] = None,
4354        encrypted_credential: Optional[Any] = None,
4355        **kwargs
4356    ):
4357        super(AzureDataLakeAnalyticsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
4358        self.type = 'AzureDataLakeAnalytics'  # type: str
4359        self.account_name = account_name
4360        self.service_principal_id = service_principal_id
4361        self.service_principal_key = service_principal_key
4362        self.tenant = tenant
4363        self.subscription_id = subscription_id
4364        self.resource_group_name = resource_group_name
4365        self.data_lake_analytics_uri = data_lake_analytics_uri
4366        self.encrypted_credential = encrypted_credential
4367
4368
4369class AzureDataLakeStoreDataset(Dataset):
4370    """Azure Data Lake Store dataset.
4371
4372    All required parameters must be populated in order to send to Azure.
4373
4374    :param additional_properties: Unmatched properties from the message are deserialized to this
4375     collection.
4376    :type additional_properties: dict[str, any]
4377    :param type: Required. Type of dataset.Constant filled by server.
4378    :type type: str
4379    :param description: Dataset description.
4380    :type description: str
4381    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
4382     with resultType array), itemType: DatasetDataElement.
4383    :type structure: any
4384    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
4385     Expression with resultType array), itemType: DatasetSchemaDataElement.
4386    :type schema: any
4387    :param linked_service_name: Required. Linked service reference.
4388    :type linked_service_name:
4389     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
4390    :param parameters: Parameters for dataset.
4391    :type parameters: dict[str,
4392     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
4393    :param annotations: List of tags that can be used for describing the Dataset.
4394    :type annotations: list[any]
4395    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
4396     root level.
4397    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
4398    :param folder_path: Path to the folder in the Azure Data Lake Store. Type: string (or
4399     Expression with resultType string).
4400    :type folder_path: any
4401    :param file_name: The name of the file in the Azure Data Lake Store. Type: string (or
4402     Expression with resultType string).
4403    :type file_name: any
4404    :param format: The format of the Data Lake Store.
4405    :type format: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetStorageFormat
4406    :param compression: The data compression method used for the item(s) in the Azure Data Lake
4407     Store.
4408    :type compression: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetCompression
4409    """
4410
4411    _validation = {
4412        'type': {'required': True},
4413        'linked_service_name': {'required': True},
4414    }
4415
4416    _attribute_map = {
4417        'additional_properties': {'key': '', 'type': '{object}'},
4418        'type': {'key': 'type', 'type': 'str'},
4419        'description': {'key': 'description', 'type': 'str'},
4420        'structure': {'key': 'structure', 'type': 'object'},
4421        'schema': {'key': 'schema', 'type': 'object'},
4422        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
4423        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
4424        'annotations': {'key': 'annotations', 'type': '[object]'},
4425        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
4426        'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'},
4427        'file_name': {'key': 'typeProperties.fileName', 'type': 'object'},
4428        'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'},
4429        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
4430    }
4431
4432    def __init__(
4433        self,
4434        *,
4435        linked_service_name: "LinkedServiceReference",
4436        additional_properties: Optional[Dict[str, Any]] = None,
4437        description: Optional[str] = None,
4438        structure: Optional[Any] = None,
4439        schema: Optional[Any] = None,
4440        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
4441        annotations: Optional[List[Any]] = None,
4442        folder: Optional["DatasetFolder"] = None,
4443        folder_path: Optional[Any] = None,
4444        file_name: Optional[Any] = None,
4445        format: Optional["DatasetStorageFormat"] = None,
4446        compression: Optional["DatasetCompression"] = None,
4447        **kwargs
4448    ):
4449        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)
4450        self.type = 'AzureDataLakeStoreFile'  # type: str
4451        self.folder_path = folder_path
4452        self.file_name = file_name
4453        self.format = format
4454        self.compression = compression
4455
4456
4457class AzureDataLakeStoreLinkedService(LinkedService):
4458    """Azure Data Lake Store linked service.
4459
4460    All required parameters must be populated in order to send to Azure.
4461
4462    :param additional_properties: Unmatched properties from the message are deserialized to this
4463     collection.
4464    :type additional_properties: dict[str, any]
4465    :param type: Required. Type of linked service.Constant filled by server.
4466    :type type: str
4467    :param connect_via: The integration runtime reference.
4468    :type connect_via:
4469     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
4470    :param description: Linked service description.
4471    :type description: str
4472    :param parameters: Parameters for linked service.
4473    :type parameters: dict[str,
4474     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
4475    :param annotations: List of tags that can be used for describing the linked service.
4476    :type annotations: list[any]
4477    :param data_lake_store_uri: Required. Data Lake Store service URI. Type: string (or Expression
4478     with resultType string).
4479    :type data_lake_store_uri: any
4480    :param service_principal_id: The ID of the application used to authenticate against the Azure
4481     Data Lake Store account. Type: string (or Expression with resultType string).
4482    :type service_principal_id: any
4483    :param service_principal_key: The Key of the application used to authenticate against the Azure
4484     Data Lake Store account.
4485    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
4486    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
4487     string (or Expression with resultType string).
4488    :type tenant: any
4489    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
4490     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
4491     factory regions’ cloud type. Type: string (or Expression with resultType string).
4492    :type azure_cloud_type: any
4493    :param account_name: Data Lake Store account name. Type: string (or Expression with resultType
4494     string).
4495    :type account_name: any
4496    :param subscription_id: Data Lake Store account subscription ID (if different from Data Factory
4497     account). Type: string (or Expression with resultType string).
4498    :type subscription_id: any
4499    :param resource_group_name: Data Lake Store account resource group name (if different from Data
4500     Factory account). Type: string (or Expression with resultType string).
4501    :type resource_group_name: any
4502    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
4503     encrypted using the integration runtime credential manager. Type: string (or Expression with
4504     resultType string).
4505    :type encrypted_credential: any
4506    """
4507
4508    _validation = {
4509        'type': {'required': True},
4510        'data_lake_store_uri': {'required': True},
4511    }
4512
4513    _attribute_map = {
4514        'additional_properties': {'key': '', 'type': '{object}'},
4515        'type': {'key': 'type', 'type': 'str'},
4516        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
4517        'description': {'key': 'description', 'type': 'str'},
4518        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
4519        'annotations': {'key': 'annotations', 'type': '[object]'},
4520        'data_lake_store_uri': {'key': 'typeProperties.dataLakeStoreUri', 'type': 'object'},
4521        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
4522        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
4523        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
4524        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
4525        'account_name': {'key': 'typeProperties.accountName', 'type': 'object'},
4526        'subscription_id': {'key': 'typeProperties.subscriptionId', 'type': 'object'},
4527        'resource_group_name': {'key': 'typeProperties.resourceGroupName', 'type': 'object'},
4528        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
4529    }
4530
4531    def __init__(
4532        self,
4533        *,
4534        data_lake_store_uri: Any,
4535        additional_properties: Optional[Dict[str, Any]] = None,
4536        connect_via: Optional["IntegrationRuntimeReference"] = None,
4537        description: Optional[str] = None,
4538        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
4539        annotations: Optional[List[Any]] = None,
4540        service_principal_id: Optional[Any] = None,
4541        service_principal_key: Optional["SecretBase"] = None,
4542        tenant: Optional[Any] = None,
4543        azure_cloud_type: Optional[Any] = None,
4544        account_name: Optional[Any] = None,
4545        subscription_id: Optional[Any] = None,
4546        resource_group_name: Optional[Any] = None,
4547        encrypted_credential: Optional[Any] = None,
4548        **kwargs
4549    ):
4550        super(AzureDataLakeStoreLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
4551        self.type = 'AzureDataLakeStore'  # type: str
4552        self.data_lake_store_uri = data_lake_store_uri
4553        self.service_principal_id = service_principal_id
4554        self.service_principal_key = service_principal_key
4555        self.tenant = tenant
4556        self.azure_cloud_type = azure_cloud_type
4557        self.account_name = account_name
4558        self.subscription_id = subscription_id
4559        self.resource_group_name = resource_group_name
4560        self.encrypted_credential = encrypted_credential
4561
4562
4563class AzureDataLakeStoreLocation(DatasetLocation):
4564    """The location of azure data lake store dataset.
4565
4566    All required parameters must be populated in order to send to Azure.
4567
4568    :param additional_properties: Unmatched properties from the message are deserialized to this
4569     collection.
4570    :type additional_properties: dict[str, any]
4571    :param type: Required. Type of dataset storage location.Constant filled by server.
4572    :type type: str
4573    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
4574     resultType string).
4575    :type folder_path: any
4576    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
4577     string).
4578    :type file_name: any
4579    """
4580
4581    _validation = {
4582        'type': {'required': True},
4583    }
4584
4585    _attribute_map = {
4586        'additional_properties': {'key': '', 'type': '{object}'},
4587        'type': {'key': 'type', 'type': 'str'},
4588        'folder_path': {'key': 'folderPath', 'type': 'object'},
4589        'file_name': {'key': 'fileName', 'type': 'object'},
4590    }
4591
4592    def __init__(
4593        self,
4594        *,
4595        additional_properties: Optional[Dict[str, Any]] = None,
4596        folder_path: Optional[Any] = None,
4597        file_name: Optional[Any] = None,
4598        **kwargs
4599    ):
4600        super(AzureDataLakeStoreLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
4601        self.type = 'AzureDataLakeStoreLocation'  # type: str
4602
4603
4604class AzureDataLakeStoreReadSettings(StoreReadSettings):
4605    """Azure data lake store read settings.
4606
4607    All required parameters must be populated in order to send to Azure.
4608
4609    :param additional_properties: Unmatched properties from the message are deserialized to this
4610     collection.
4611    :type additional_properties: dict[str, any]
4612    :param type: Required. The read setting type.Constant filled by server.
4613    :type type: str
4614    :param max_concurrent_connections: The maximum concurrent connection count for the source data
4615     store. Type: integer (or Expression with resultType integer).
4616    :type max_concurrent_connections: any
4617    :param recursive: If true, files under the folder path will be read recursively. Default is
4618     true. Type: boolean (or Expression with resultType boolean).
4619    :type recursive: any
4620    :param wildcard_folder_path: ADLS wildcardFolderPath. Type: string (or Expression with
4621     resultType string).
4622    :type wildcard_folder_path: any
4623    :param wildcard_file_name: ADLS wildcardFileName. Type: string (or Expression with resultType
4624     string).
4625    :type wildcard_file_name: any
4626    :param file_list_path: Point to a text file that lists each file (relative path to the path
4627     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
4628     string).
4629    :type file_list_path: any
4630    :param list_after: Lists files after the value (exclusive) based on file/folder names’
4631     lexicographical order. Applies under the folderPath in data set, and filter files/sub-folders
4632     under the folderPath. Type: string (or Expression with resultType string).
4633    :type list_after: any
4634    :param list_before: Lists files before the value (inclusive) based on file/folder names’
4635     lexicographical order. Applies under the folderPath in data set, and filter files/sub-folders
4636     under the folderPath. Type: string (or Expression with resultType string).
4637    :type list_before: any
4638    :param enable_partition_discovery: Indicates whether to enable partition discovery.
4639    :type enable_partition_discovery: bool
4640    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
4641     string (or Expression with resultType string).
4642    :type partition_root_path: any
4643    :param delete_files_after_completion: Indicates whether the source files need to be deleted
4644     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
4645    :type delete_files_after_completion: any
4646    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
4647     Expression with resultType string).
4648    :type modified_datetime_start: any
4649    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
4650     with resultType string).
4651    :type modified_datetime_end: any
4652    """
4653
4654    _validation = {
4655        'type': {'required': True},
4656    }
4657
4658    _attribute_map = {
4659        'additional_properties': {'key': '', 'type': '{object}'},
4660        'type': {'key': 'type', 'type': 'str'},
4661        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
4662        'recursive': {'key': 'recursive', 'type': 'object'},
4663        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
4664        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
4665        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
4666        'list_after': {'key': 'listAfter', 'type': 'object'},
4667        'list_before': {'key': 'listBefore', 'type': 'object'},
4668        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
4669        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
4670        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
4671        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
4672        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
4673    }
4674
4675    def __init__(
4676        self,
4677        *,
4678        additional_properties: Optional[Dict[str, Any]] = None,
4679        max_concurrent_connections: Optional[Any] = None,
4680        recursive: Optional[Any] = None,
4681        wildcard_folder_path: Optional[Any] = None,
4682        wildcard_file_name: Optional[Any] = None,
4683        file_list_path: Optional[Any] = None,
4684        list_after: Optional[Any] = None,
4685        list_before: Optional[Any] = None,
4686        enable_partition_discovery: Optional[bool] = None,
4687        partition_root_path: Optional[Any] = None,
4688        delete_files_after_completion: Optional[Any] = None,
4689        modified_datetime_start: Optional[Any] = None,
4690        modified_datetime_end: Optional[Any] = None,
4691        **kwargs
4692    ):
4693        super(AzureDataLakeStoreReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
4694        self.type = 'AzureDataLakeStoreReadSettings'  # type: str
4695        self.recursive = recursive
4696        self.wildcard_folder_path = wildcard_folder_path
4697        self.wildcard_file_name = wildcard_file_name
4698        self.file_list_path = file_list_path
4699        self.list_after = list_after
4700        self.list_before = list_before
4701        self.enable_partition_discovery = enable_partition_discovery
4702        self.partition_root_path = partition_root_path
4703        self.delete_files_after_completion = delete_files_after_completion
4704        self.modified_datetime_start = modified_datetime_start
4705        self.modified_datetime_end = modified_datetime_end
4706
4707
4708class AzureDataLakeStoreSink(CopySink):
4709    """A copy activity Azure Data Lake Store sink.
4710
4711    All required parameters must be populated in order to send to Azure.
4712
4713    :param additional_properties: Unmatched properties from the message are deserialized to this
4714     collection.
4715    :type additional_properties: dict[str, any]
4716    :param type: Required. Copy sink type.Constant filled by server.
4717    :type type: str
4718    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
4719     integer), minimum: 0.
4720    :type write_batch_size: any
4721    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
4722     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
4723    :type write_batch_timeout: any
4724    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
4725     integer).
4726    :type sink_retry_count: any
4727    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
4728     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
4729    :type sink_retry_wait: any
4730    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
4731     store. Type: integer (or Expression with resultType integer).
4732    :type max_concurrent_connections: any
4733    :param copy_behavior: The type of copy behavior for copy sink.
4734    :type copy_behavior: any
4735    :param enable_adls_single_file_parallel: Single File Parallel.
4736    :type enable_adls_single_file_parallel: any
4737    """
4738
4739    _validation = {
4740        'type': {'required': True},
4741    }
4742
4743    _attribute_map = {
4744        'additional_properties': {'key': '', 'type': '{object}'},
4745        'type': {'key': 'type', 'type': 'str'},
4746        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
4747        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
4748        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
4749        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
4750        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
4751        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
4752        'enable_adls_single_file_parallel': {'key': 'enableAdlsSingleFileParallel', 'type': 'object'},
4753    }
4754
4755    def __init__(
4756        self,
4757        *,
4758        additional_properties: Optional[Dict[str, Any]] = None,
4759        write_batch_size: Optional[Any] = None,
4760        write_batch_timeout: Optional[Any] = None,
4761        sink_retry_count: Optional[Any] = None,
4762        sink_retry_wait: Optional[Any] = None,
4763        max_concurrent_connections: Optional[Any] = None,
4764        copy_behavior: Optional[Any] = None,
4765        enable_adls_single_file_parallel: Optional[Any] = None,
4766        **kwargs
4767    ):
4768        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)
4769        self.type = 'AzureDataLakeStoreSink'  # type: str
4770        self.copy_behavior = copy_behavior
4771        self.enable_adls_single_file_parallel = enable_adls_single_file_parallel
4772
4773
4774class AzureDataLakeStoreSource(CopySource):
4775    """A copy activity Azure Data Lake source.
4776
4777    All required parameters must be populated in order to send to Azure.
4778
4779    :param additional_properties: Unmatched properties from the message are deserialized to this
4780     collection.
4781    :type additional_properties: dict[str, any]
4782    :param type: Required. Copy source type.Constant filled by server.
4783    :type type: str
4784    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
4785     integer).
4786    :type source_retry_count: any
4787    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
4788     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
4789    :type source_retry_wait: any
4790    :param max_concurrent_connections: The maximum concurrent connection count for the source data
4791     store. Type: integer (or Expression with resultType integer).
4792    :type max_concurrent_connections: any
4793    :param recursive: If true, files under the folder path will be read recursively. Default is
4794     true. Type: boolean (or Expression with resultType boolean).
4795    :type recursive: 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        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
4806        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
4807        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
4808        'recursive': {'key': 'recursive', 'type': 'object'},
4809    }
4810
4811    def __init__(
4812        self,
4813        *,
4814        additional_properties: Optional[Dict[str, Any]] = None,
4815        source_retry_count: Optional[Any] = None,
4816        source_retry_wait: Optional[Any] = None,
4817        max_concurrent_connections: Optional[Any] = None,
4818        recursive: Optional[Any] = None,
4819        **kwargs
4820    ):
4821        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)
4822        self.type = 'AzureDataLakeStoreSource'  # type: str
4823        self.recursive = recursive
4824
4825
4826class AzureDataLakeStoreWriteSettings(StoreWriteSettings):
4827    """Azure data lake store write settings.
4828
4829    All required parameters must be populated in order to send to Azure.
4830
4831    :param additional_properties: Unmatched properties from the message are deserialized to this
4832     collection.
4833    :type additional_properties: dict[str, any]
4834    :param type: Required. The write setting type.Constant filled by server.
4835    :type type: str
4836    :param max_concurrent_connections: The maximum concurrent connection count for the source data
4837     store. Type: integer (or Expression with resultType integer).
4838    :type max_concurrent_connections: any
4839    :param copy_behavior: The type of copy behavior for copy sink.
4840    :type copy_behavior: any
4841    :param expiry_date_time: Specifies the expiry time of the written files. The time is applied to
4842     the UTC time zone in the format of "2018-12-01T05:00:00Z". Default value is NULL. Type: integer
4843     (or Expression with resultType integer).
4844    :type expiry_date_time: any
4845    """
4846
4847    _validation = {
4848        'type': {'required': True},
4849    }
4850
4851    _attribute_map = {
4852        'additional_properties': {'key': '', 'type': '{object}'},
4853        'type': {'key': 'type', 'type': 'str'},
4854        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
4855        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
4856        'expiry_date_time': {'key': 'expiryDateTime', 'type': 'object'},
4857    }
4858
4859    def __init__(
4860        self,
4861        *,
4862        additional_properties: Optional[Dict[str, Any]] = None,
4863        max_concurrent_connections: Optional[Any] = None,
4864        copy_behavior: Optional[Any] = None,
4865        expiry_date_time: Optional[Any] = None,
4866        **kwargs
4867    ):
4868        super(AzureDataLakeStoreWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs)
4869        self.type = 'AzureDataLakeStoreWriteSettings'  # type: str
4870        self.expiry_date_time = expiry_date_time
4871
4872
4873class Resource(msrest.serialization.Model):
4874    """Common fields that are returned in the response for all Azure Resource Manager resources.
4875
4876    Variables are only populated by the server, and will be ignored when sending a request.
4877
4878    :ivar id: Fully qualified resource ID for the resource. Ex -
4879     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
4880    :vartype id: str
4881    :ivar name: The name of the resource.
4882    :vartype name: str
4883    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
4884     "Microsoft.Storage/storageAccounts".
4885    :vartype type: str
4886    """
4887
4888    _validation = {
4889        'id': {'readonly': True},
4890        'name': {'readonly': True},
4891        'type': {'readonly': True},
4892    }
4893
4894    _attribute_map = {
4895        'id': {'key': 'id', 'type': 'str'},
4896        'name': {'key': 'name', 'type': 'str'},
4897        'type': {'key': 'type', 'type': 'str'},
4898    }
4899
4900    def __init__(
4901        self,
4902        **kwargs
4903    ):
4904        super(Resource, self).__init__(**kwargs)
4905        self.id = None
4906        self.name = None
4907        self.type = None
4908
4909
4910class AzureEntityResource(Resource):
4911    """The resource model definition for an Azure Resource Manager resource with an etag.
4912
4913    Variables are only populated by the server, and will be ignored when sending a request.
4914
4915    :ivar id: Fully qualified resource ID for the resource. Ex -
4916     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
4917    :vartype id: str
4918    :ivar name: The name of the resource.
4919    :vartype name: str
4920    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
4921     "Microsoft.Storage/storageAccounts".
4922    :vartype type: str
4923    :ivar etag: Resource Etag.
4924    :vartype etag: str
4925    """
4926
4927    _validation = {
4928        'id': {'readonly': True},
4929        'name': {'readonly': True},
4930        'type': {'readonly': True},
4931        'etag': {'readonly': True},
4932    }
4933
4934    _attribute_map = {
4935        'id': {'key': 'id', 'type': 'str'},
4936        'name': {'key': 'name', 'type': 'str'},
4937        'type': {'key': 'type', 'type': 'str'},
4938        'etag': {'key': 'etag', 'type': 'str'},
4939    }
4940
4941    def __init__(
4942        self,
4943        **kwargs
4944    ):
4945        super(AzureEntityResource, self).__init__(**kwargs)
4946        self.etag = None
4947
4948
4949class AzureFileStorageLinkedService(LinkedService):
4950    """Azure File Storage linked service.
4951
4952    All required parameters must be populated in order to send to Azure.
4953
4954    :param additional_properties: Unmatched properties from the message are deserialized to this
4955     collection.
4956    :type additional_properties: dict[str, any]
4957    :param type: Required. Type of linked service.Constant filled by server.
4958    :type type: str
4959    :param connect_via: The integration runtime reference.
4960    :type connect_via:
4961     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
4962    :param description: Linked service description.
4963    :type description: str
4964    :param parameters: Parameters for linked service.
4965    :type parameters: dict[str,
4966     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
4967    :param annotations: List of tags that can be used for describing the linked service.
4968    :type annotations: list[any]
4969    :param host: Required. Host name of the server. Type: string (or Expression with resultType
4970     string).
4971    :type host: any
4972    :param user_id: User ID to logon the server. Type: string (or Expression with resultType
4973     string).
4974    :type user_id: any
4975    :param password: Password to logon the server.
4976    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
4977    :param connection_string: The connection string. It is mutually exclusive with sasUri property.
4978     Type: string, SecureString or AzureKeyVaultSecretReference.
4979    :type connection_string: any
4980    :param account_key: The Azure key vault secret reference of accountKey in connection string.
4981    :type account_key:
4982     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
4983    :param sas_uri: SAS URI of the Azure File resource. It is mutually exclusive with
4984     connectionString property. Type: string, SecureString or AzureKeyVaultSecretReference.
4985    :type sas_uri: any
4986    :param sas_token: The Azure key vault secret reference of sasToken in sas uri.
4987    :type sas_token:
4988     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
4989    :param file_share: The azure file share name. It is required when auth with
4990     accountKey/sasToken. Type: string (or Expression with resultType string).
4991    :type file_share: any
4992    :param snapshot: The azure file share snapshot version. Type: string (or Expression with
4993     resultType string).
4994    :type snapshot: any
4995    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
4996     encrypted using the integration runtime credential manager. Type: string (or Expression with
4997     resultType string).
4998    :type encrypted_credential: any
4999    """
5000
5001    _validation = {
5002        'type': {'required': True},
5003        'host': {'required': True},
5004    }
5005
5006    _attribute_map = {
5007        'additional_properties': {'key': '', 'type': '{object}'},
5008        'type': {'key': 'type', 'type': 'str'},
5009        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
5010        'description': {'key': 'description', 'type': 'str'},
5011        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
5012        'annotations': {'key': 'annotations', 'type': '[object]'},
5013        'host': {'key': 'typeProperties.host', 'type': 'object'},
5014        'user_id': {'key': 'typeProperties.userId', 'type': 'object'},
5015        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
5016        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
5017        'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'},
5018        'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'},
5019        'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'},
5020        'file_share': {'key': 'typeProperties.fileShare', 'type': 'object'},
5021        'snapshot': {'key': 'typeProperties.snapshot', 'type': 'object'},
5022        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
5023    }
5024
5025    def __init__(
5026        self,
5027        *,
5028        host: Any,
5029        additional_properties: Optional[Dict[str, Any]] = None,
5030        connect_via: Optional["IntegrationRuntimeReference"] = None,
5031        description: Optional[str] = None,
5032        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
5033        annotations: Optional[List[Any]] = None,
5034        user_id: Optional[Any] = None,
5035        password: Optional["SecretBase"] = None,
5036        connection_string: Optional[Any] = None,
5037        account_key: Optional["AzureKeyVaultSecretReference"] = None,
5038        sas_uri: Optional[Any] = None,
5039        sas_token: Optional["AzureKeyVaultSecretReference"] = None,
5040        file_share: Optional[Any] = None,
5041        snapshot: Optional[Any] = None,
5042        encrypted_credential: Optional[Any] = None,
5043        **kwargs
5044    ):
5045        super(AzureFileStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
5046        self.type = 'AzureFileStorage'  # type: str
5047        self.host = host
5048        self.user_id = user_id
5049        self.password = password
5050        self.connection_string = connection_string
5051        self.account_key = account_key
5052        self.sas_uri = sas_uri
5053        self.sas_token = sas_token
5054        self.file_share = file_share
5055        self.snapshot = snapshot
5056        self.encrypted_credential = encrypted_credential
5057
5058
5059class AzureFileStorageLocation(DatasetLocation):
5060    """The location of file server dataset.
5061
5062    All required parameters must be populated in order to send to Azure.
5063
5064    :param additional_properties: Unmatched properties from the message are deserialized to this
5065     collection.
5066    :type additional_properties: dict[str, any]
5067    :param type: Required. Type of dataset storage location.Constant filled by server.
5068    :type type: str
5069    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
5070     resultType string).
5071    :type folder_path: any
5072    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
5073     string).
5074    :type file_name: any
5075    """
5076
5077    _validation = {
5078        'type': {'required': True},
5079    }
5080
5081    _attribute_map = {
5082        'additional_properties': {'key': '', 'type': '{object}'},
5083        'type': {'key': 'type', 'type': 'str'},
5084        'folder_path': {'key': 'folderPath', 'type': 'object'},
5085        'file_name': {'key': 'fileName', 'type': 'object'},
5086    }
5087
5088    def __init__(
5089        self,
5090        *,
5091        additional_properties: Optional[Dict[str, Any]] = None,
5092        folder_path: Optional[Any] = None,
5093        file_name: Optional[Any] = None,
5094        **kwargs
5095    ):
5096        super(AzureFileStorageLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
5097        self.type = 'AzureFileStorageLocation'  # type: str
5098
5099
5100class AzureFileStorageReadSettings(StoreReadSettings):
5101    """Azure File Storage read settings.
5102
5103    All required parameters must be populated in order to send to Azure.
5104
5105    :param additional_properties: Unmatched properties from the message are deserialized to this
5106     collection.
5107    :type additional_properties: dict[str, any]
5108    :param type: Required. The read setting type.Constant filled by server.
5109    :type type: str
5110    :param max_concurrent_connections: The maximum concurrent connection count for the source data
5111     store. Type: integer (or Expression with resultType integer).
5112    :type max_concurrent_connections: any
5113    :param recursive: If true, files under the folder path will be read recursively. Default is
5114     true. Type: boolean (or Expression with resultType boolean).
5115    :type recursive: any
5116    :param wildcard_folder_path: Azure File Storage wildcardFolderPath. Type: string (or Expression
5117     with resultType string).
5118    :type wildcard_folder_path: any
5119    :param wildcard_file_name: Azure File Storage wildcardFileName. Type: string (or Expression
5120     with resultType string).
5121    :type wildcard_file_name: any
5122    :param prefix: The prefix filter for the Azure File name starting from root path. Type: string
5123     (or Expression with resultType string).
5124    :type prefix: any
5125    :param file_list_path: Point to a text file that lists each file (relative path to the path
5126     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
5127     string).
5128    :type file_list_path: any
5129    :param enable_partition_discovery: Indicates whether to enable partition discovery.
5130    :type enable_partition_discovery: bool
5131    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
5132     string (or Expression with resultType string).
5133    :type partition_root_path: any
5134    :param delete_files_after_completion: Indicates whether the source files need to be deleted
5135     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
5136    :type delete_files_after_completion: any
5137    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
5138     Expression with resultType string).
5139    :type modified_datetime_start: any
5140    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
5141     with resultType string).
5142    :type modified_datetime_end: any
5143    """
5144
5145    _validation = {
5146        'type': {'required': True},
5147    }
5148
5149    _attribute_map = {
5150        'additional_properties': {'key': '', 'type': '{object}'},
5151        'type': {'key': 'type', 'type': 'str'},
5152        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
5153        'recursive': {'key': 'recursive', 'type': 'object'},
5154        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
5155        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
5156        'prefix': {'key': 'prefix', 'type': 'object'},
5157        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
5158        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
5159        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
5160        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
5161        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
5162        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
5163    }
5164
5165    def __init__(
5166        self,
5167        *,
5168        additional_properties: Optional[Dict[str, Any]] = None,
5169        max_concurrent_connections: Optional[Any] = None,
5170        recursive: Optional[Any] = None,
5171        wildcard_folder_path: Optional[Any] = None,
5172        wildcard_file_name: Optional[Any] = None,
5173        prefix: Optional[Any] = None,
5174        file_list_path: Optional[Any] = None,
5175        enable_partition_discovery: Optional[bool] = None,
5176        partition_root_path: Optional[Any] = None,
5177        delete_files_after_completion: Optional[Any] = None,
5178        modified_datetime_start: Optional[Any] = None,
5179        modified_datetime_end: Optional[Any] = None,
5180        **kwargs
5181    ):
5182        super(AzureFileStorageReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
5183        self.type = 'AzureFileStorageReadSettings'  # type: str
5184        self.recursive = recursive
5185        self.wildcard_folder_path = wildcard_folder_path
5186        self.wildcard_file_name = wildcard_file_name
5187        self.prefix = prefix
5188        self.file_list_path = file_list_path
5189        self.enable_partition_discovery = enable_partition_discovery
5190        self.partition_root_path = partition_root_path
5191        self.delete_files_after_completion = delete_files_after_completion
5192        self.modified_datetime_start = modified_datetime_start
5193        self.modified_datetime_end = modified_datetime_end
5194
5195
5196class AzureFileStorageWriteSettings(StoreWriteSettings):
5197    """Azure File Storage write settings.
5198
5199    All required parameters must be populated in order to send to Azure.
5200
5201    :param additional_properties: Unmatched properties from the message are deserialized to this
5202     collection.
5203    :type additional_properties: dict[str, any]
5204    :param type: Required. The write setting type.Constant filled by server.
5205    :type type: str
5206    :param max_concurrent_connections: The maximum concurrent connection count for the source data
5207     store. Type: integer (or Expression with resultType integer).
5208    :type max_concurrent_connections: any
5209    :param copy_behavior: The type of copy behavior for copy sink.
5210    :type copy_behavior: any
5211    """
5212
5213    _validation = {
5214        'type': {'required': True},
5215    }
5216
5217    _attribute_map = {
5218        'additional_properties': {'key': '', 'type': '{object}'},
5219        'type': {'key': 'type', 'type': 'str'},
5220        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
5221        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
5222    }
5223
5224    def __init__(
5225        self,
5226        *,
5227        additional_properties: Optional[Dict[str, Any]] = None,
5228        max_concurrent_connections: Optional[Any] = None,
5229        copy_behavior: Optional[Any] = None,
5230        **kwargs
5231    ):
5232        super(AzureFileStorageWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs)
5233        self.type = 'AzureFileStorageWriteSettings'  # type: str
5234
5235
5236class AzureFunctionActivity(ExecutionActivity):
5237    """Azure Function activity.
5238
5239    All required parameters must be populated in order to send to Azure.
5240
5241    :param additional_properties: Unmatched properties from the message are deserialized to this
5242     collection.
5243    :type additional_properties: dict[str, any]
5244    :param name: Required. Activity name.
5245    :type name: str
5246    :param type: Required. Type of activity.Constant filled by server.
5247    :type type: str
5248    :param description: Activity description.
5249    :type description: str
5250    :param depends_on: Activity depends on condition.
5251    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
5252    :param user_properties: Activity user properties.
5253    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
5254    :param linked_service_name: Linked service reference.
5255    :type linked_service_name:
5256     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
5257    :param policy: Activity policy.
5258    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
5259    :param method: Required. Rest API method for target endpoint. Possible values include: "GET",
5260     "POST", "PUT", "DELETE", "OPTIONS", "HEAD", "TRACE".
5261    :type method: str or
5262     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureFunctionActivityMethod
5263    :param function_name: Required. Name of the Function that the Azure Function Activity will
5264     call. Type: string (or Expression with resultType string).
5265    :type function_name: any
5266    :param headers: Represents the headers that will be sent to the request. For example, to set
5267     the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type":
5268     "application/json" }. Type: string (or Expression with resultType string).
5269    :type headers: any
5270    :param body: Represents the payload that will be sent to the endpoint. Required for POST/PUT
5271     method, not allowed for GET method Type: string (or Expression with resultType string).
5272    :type body: any
5273    """
5274
5275    _validation = {
5276        'name': {'required': True},
5277        'type': {'required': True},
5278        'method': {'required': True},
5279        'function_name': {'required': True},
5280    }
5281
5282    _attribute_map = {
5283        'additional_properties': {'key': '', 'type': '{object}'},
5284        'name': {'key': 'name', 'type': 'str'},
5285        'type': {'key': 'type', 'type': 'str'},
5286        'description': {'key': 'description', 'type': 'str'},
5287        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
5288        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
5289        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
5290        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
5291        'method': {'key': 'typeProperties.method', 'type': 'str'},
5292        'function_name': {'key': 'typeProperties.functionName', 'type': 'object'},
5293        'headers': {'key': 'typeProperties.headers', 'type': 'object'},
5294        'body': {'key': 'typeProperties.body', 'type': 'object'},
5295    }
5296
5297    def __init__(
5298        self,
5299        *,
5300        name: str,
5301        method: Union[str, "AzureFunctionActivityMethod"],
5302        function_name: Any,
5303        additional_properties: Optional[Dict[str, Any]] = None,
5304        description: Optional[str] = None,
5305        depends_on: Optional[List["ActivityDependency"]] = None,
5306        user_properties: Optional[List["UserProperty"]] = None,
5307        linked_service_name: Optional["LinkedServiceReference"] = None,
5308        policy: Optional["ActivityPolicy"] = None,
5309        headers: Optional[Any] = None,
5310        body: Optional[Any] = None,
5311        **kwargs
5312    ):
5313        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)
5314        self.type = 'AzureFunctionActivity'  # type: str
5315        self.method = method
5316        self.function_name = function_name
5317        self.headers = headers
5318        self.body = body
5319
5320
5321class AzureFunctionLinkedService(LinkedService):
5322    """Azure Function linked service.
5323
5324    All required parameters must be populated in order to send to Azure.
5325
5326    :param additional_properties: Unmatched properties from the message are deserialized to this
5327     collection.
5328    :type additional_properties: dict[str, any]
5329    :param type: Required. Type of linked service.Constant filled by server.
5330    :type type: str
5331    :param connect_via: The integration runtime reference.
5332    :type connect_via:
5333     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
5334    :param description: Linked service description.
5335    :type description: str
5336    :param parameters: Parameters for linked service.
5337    :type parameters: dict[str,
5338     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
5339    :param annotations: List of tags that can be used for describing the linked service.
5340    :type annotations: list[any]
5341    :param function_app_url: Required. The endpoint of the Azure Function App. URL will be in the
5342     format https://:code:`<accountName>`.azurewebsites.net.
5343    :type function_app_url: any
5344    :param function_key: Function or Host key for Azure Function App.
5345    :type function_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
5346    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
5347     encrypted using the integration runtime credential manager. Type: string (or Expression with
5348     resultType string).
5349    :type encrypted_credential: any
5350    """
5351
5352    _validation = {
5353        'type': {'required': True},
5354        'function_app_url': {'required': True},
5355    }
5356
5357    _attribute_map = {
5358        'additional_properties': {'key': '', 'type': '{object}'},
5359        'type': {'key': 'type', 'type': 'str'},
5360        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
5361        'description': {'key': 'description', 'type': 'str'},
5362        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
5363        'annotations': {'key': 'annotations', 'type': '[object]'},
5364        'function_app_url': {'key': 'typeProperties.functionAppUrl', 'type': 'object'},
5365        'function_key': {'key': 'typeProperties.functionKey', 'type': 'SecretBase'},
5366        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
5367    }
5368
5369    def __init__(
5370        self,
5371        *,
5372        function_app_url: Any,
5373        additional_properties: Optional[Dict[str, Any]] = None,
5374        connect_via: Optional["IntegrationRuntimeReference"] = None,
5375        description: Optional[str] = None,
5376        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
5377        annotations: Optional[List[Any]] = None,
5378        function_key: Optional["SecretBase"] = None,
5379        encrypted_credential: Optional[Any] = None,
5380        **kwargs
5381    ):
5382        super(AzureFunctionLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
5383        self.type = 'AzureFunction'  # type: str
5384        self.function_app_url = function_app_url
5385        self.function_key = function_key
5386        self.encrypted_credential = encrypted_credential
5387
5388
5389class AzureKeyVaultLinkedService(LinkedService):
5390    """Azure Key Vault linked service.
5391
5392    All required parameters must be populated in order to send to Azure.
5393
5394    :param additional_properties: Unmatched properties from the message are deserialized to this
5395     collection.
5396    :type additional_properties: dict[str, any]
5397    :param type: Required. Type of linked service.Constant filled by server.
5398    :type type: str
5399    :param connect_via: The integration runtime reference.
5400    :type connect_via:
5401     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
5402    :param description: Linked service description.
5403    :type description: str
5404    :param parameters: Parameters for linked service.
5405    :type parameters: dict[str,
5406     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
5407    :param annotations: List of tags that can be used for describing the linked service.
5408    :type annotations: list[any]
5409    :param base_url: Required. The base URL of the Azure Key Vault. e.g.
5410     https://myakv.vault.azure.net Type: string (or Expression with resultType string).
5411    :type base_url: any
5412    """
5413
5414    _validation = {
5415        'type': {'required': True},
5416        'base_url': {'required': True},
5417    }
5418
5419    _attribute_map = {
5420        'additional_properties': {'key': '', 'type': '{object}'},
5421        'type': {'key': 'type', 'type': 'str'},
5422        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
5423        'description': {'key': 'description', 'type': 'str'},
5424        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
5425        'annotations': {'key': 'annotations', 'type': '[object]'},
5426        'base_url': {'key': 'typeProperties.baseUrl', 'type': 'object'},
5427    }
5428
5429    def __init__(
5430        self,
5431        *,
5432        base_url: Any,
5433        additional_properties: Optional[Dict[str, Any]] = None,
5434        connect_via: Optional["IntegrationRuntimeReference"] = None,
5435        description: Optional[str] = None,
5436        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
5437        annotations: Optional[List[Any]] = None,
5438        **kwargs
5439    ):
5440        super(AzureKeyVaultLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
5441        self.type = 'AzureKeyVault'  # type: str
5442        self.base_url = base_url
5443
5444
5445class SecretBase(msrest.serialization.Model):
5446    """The base definition of a secret type.
5447
5448    You probably want to use the sub-classes and not this class directly. Known
5449    sub-classes are: AzureKeyVaultSecretReference, SecureString.
5450
5451    All required parameters must be populated in order to send to Azure.
5452
5453    :param type: Required. Type of the secret.Constant filled by server.
5454    :type type: str
5455    """
5456
5457    _validation = {
5458        'type': {'required': True},
5459    }
5460
5461    _attribute_map = {
5462        'type': {'key': 'type', 'type': 'str'},
5463    }
5464
5465    _subtype_map = {
5466        'type': {'AzureKeyVaultSecret': 'AzureKeyVaultSecretReference', 'SecureString': 'SecureString'}
5467    }
5468
5469    def __init__(
5470        self,
5471        **kwargs
5472    ):
5473        super(SecretBase, self).__init__(**kwargs)
5474        self.type = None  # type: Optional[str]
5475
5476
5477class AzureKeyVaultSecretReference(SecretBase):
5478    """Azure Key Vault secret reference.
5479
5480    All required parameters must be populated in order to send to Azure.
5481
5482    :param type: Required. Type of the secret.Constant filled by server.
5483    :type type: str
5484    :param store: Required. The Azure Key Vault linked service reference.
5485    :type store: ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
5486    :param secret_name: Required. The name of the secret in Azure Key Vault. Type: string (or
5487     Expression with resultType string).
5488    :type secret_name: any
5489    :param secret_version: The version of the secret in Azure Key Vault. The default value is the
5490     latest version of the secret. Type: string (or Expression with resultType string).
5491    :type secret_version: any
5492    """
5493
5494    _validation = {
5495        'type': {'required': True},
5496        'store': {'required': True},
5497        'secret_name': {'required': True},
5498    }
5499
5500    _attribute_map = {
5501        'type': {'key': 'type', 'type': 'str'},
5502        'store': {'key': 'store', 'type': 'LinkedServiceReference'},
5503        'secret_name': {'key': 'secretName', 'type': 'object'},
5504        'secret_version': {'key': 'secretVersion', 'type': 'object'},
5505    }
5506
5507    def __init__(
5508        self,
5509        *,
5510        store: "LinkedServiceReference",
5511        secret_name: Any,
5512        secret_version: Optional[Any] = None,
5513        **kwargs
5514    ):
5515        super(AzureKeyVaultSecretReference, self).__init__(**kwargs)
5516        self.type = 'AzureKeyVaultSecret'  # type: str
5517        self.store = store
5518        self.secret_name = secret_name
5519        self.secret_version = secret_version
5520
5521
5522class AzureMariaDBLinkedService(LinkedService):
5523    """Azure Database for MariaDB linked service.
5524
5525    All required parameters must be populated in order to send to Azure.
5526
5527    :param additional_properties: Unmatched properties from the message are deserialized to this
5528     collection.
5529    :type additional_properties: dict[str, any]
5530    :param type: Required. Type of linked service.Constant filled by server.
5531    :type type: str
5532    :param connect_via: The integration runtime reference.
5533    :type connect_via:
5534     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
5535    :param description: Linked service description.
5536    :type description: str
5537    :param parameters: Parameters for linked service.
5538    :type parameters: dict[str,
5539     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
5540    :param annotations: List of tags that can be used for describing the linked service.
5541    :type annotations: list[any]
5542    :param connection_string: An ODBC connection string. Type: string, SecureString or
5543     AzureKeyVaultSecretReference.
5544    :type connection_string: any
5545    :param pwd: The Azure key vault secret reference of password in connection string.
5546    :type pwd: ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
5547    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
5548     encrypted using the integration runtime credential manager. Type: string (or Expression with
5549     resultType string).
5550    :type encrypted_credential: any
5551    """
5552
5553    _validation = {
5554        'type': {'required': True},
5555    }
5556
5557    _attribute_map = {
5558        'additional_properties': {'key': '', 'type': '{object}'},
5559        'type': {'key': 'type', 'type': 'str'},
5560        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
5561        'description': {'key': 'description', 'type': 'str'},
5562        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
5563        'annotations': {'key': 'annotations', 'type': '[object]'},
5564        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
5565        'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'},
5566        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
5567    }
5568
5569    def __init__(
5570        self,
5571        *,
5572        additional_properties: Optional[Dict[str, Any]] = None,
5573        connect_via: Optional["IntegrationRuntimeReference"] = None,
5574        description: Optional[str] = None,
5575        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
5576        annotations: Optional[List[Any]] = None,
5577        connection_string: Optional[Any] = None,
5578        pwd: Optional["AzureKeyVaultSecretReference"] = None,
5579        encrypted_credential: Optional[Any] = None,
5580        **kwargs
5581    ):
5582        super(AzureMariaDBLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
5583        self.type = 'AzureMariaDB'  # type: str
5584        self.connection_string = connection_string
5585        self.pwd = pwd
5586        self.encrypted_credential = encrypted_credential
5587
5588
5589class AzureMariaDBSource(TabularSource):
5590    """A copy activity Azure MariaDB source.
5591
5592    All required parameters must be populated in order to send to Azure.
5593
5594    :param additional_properties: Unmatched properties from the message are deserialized to this
5595     collection.
5596    :type additional_properties: dict[str, any]
5597    :param type: Required. Copy source type.Constant filled by server.
5598    :type type: str
5599    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
5600     integer).
5601    :type source_retry_count: any
5602    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
5603     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
5604    :type source_retry_wait: any
5605    :param max_concurrent_connections: The maximum concurrent connection count for the source data
5606     store. Type: integer (or Expression with resultType integer).
5607    :type max_concurrent_connections: any
5608    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
5609     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
5610    :type query_timeout: any
5611    :param additional_columns: Specifies the additional columns to be added to source data. Type:
5612     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
5613    :type additional_columns: any
5614    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
5615     string).
5616    :type query: any
5617    """
5618
5619    _validation = {
5620        'type': {'required': True},
5621    }
5622
5623    _attribute_map = {
5624        'additional_properties': {'key': '', 'type': '{object}'},
5625        'type': {'key': 'type', 'type': 'str'},
5626        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
5627        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
5628        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
5629        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
5630        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
5631        'query': {'key': 'query', 'type': 'object'},
5632    }
5633
5634    def __init__(
5635        self,
5636        *,
5637        additional_properties: Optional[Dict[str, Any]] = None,
5638        source_retry_count: Optional[Any] = None,
5639        source_retry_wait: Optional[Any] = None,
5640        max_concurrent_connections: Optional[Any] = None,
5641        query_timeout: Optional[Any] = None,
5642        additional_columns: Optional[Any] = None,
5643        query: Optional[Any] = None,
5644        **kwargs
5645    ):
5646        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)
5647        self.type = 'AzureMariaDBSource'  # type: str
5648        self.query = query
5649
5650
5651class AzureMariaDBTableDataset(Dataset):
5652    """Azure Database for MariaDB dataset.
5653
5654    All required parameters must be populated in order to send to Azure.
5655
5656    :param additional_properties: Unmatched properties from the message are deserialized to this
5657     collection.
5658    :type additional_properties: dict[str, any]
5659    :param type: Required. Type of dataset.Constant filled by server.
5660    :type type: str
5661    :param description: Dataset description.
5662    :type description: str
5663    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
5664     with resultType array), itemType: DatasetDataElement.
5665    :type structure: any
5666    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
5667     Expression with resultType array), itemType: DatasetSchemaDataElement.
5668    :type schema: any
5669    :param linked_service_name: Required. Linked service reference.
5670    :type linked_service_name:
5671     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
5672    :param parameters: Parameters for dataset.
5673    :type parameters: dict[str,
5674     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
5675    :param annotations: List of tags that can be used for describing the Dataset.
5676    :type annotations: list[any]
5677    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
5678     root level.
5679    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
5680    :param table_name: The table name. Type: string (or Expression with resultType string).
5681    :type table_name: any
5682    """
5683
5684    _validation = {
5685        'type': {'required': True},
5686        'linked_service_name': {'required': True},
5687    }
5688
5689    _attribute_map = {
5690        'additional_properties': {'key': '', 'type': '{object}'},
5691        'type': {'key': 'type', 'type': 'str'},
5692        'description': {'key': 'description', 'type': 'str'},
5693        'structure': {'key': 'structure', 'type': 'object'},
5694        'schema': {'key': 'schema', 'type': 'object'},
5695        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
5696        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
5697        'annotations': {'key': 'annotations', 'type': '[object]'},
5698        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
5699        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
5700    }
5701
5702    def __init__(
5703        self,
5704        *,
5705        linked_service_name: "LinkedServiceReference",
5706        additional_properties: Optional[Dict[str, Any]] = None,
5707        description: Optional[str] = None,
5708        structure: Optional[Any] = None,
5709        schema: Optional[Any] = None,
5710        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
5711        annotations: Optional[List[Any]] = None,
5712        folder: Optional["DatasetFolder"] = None,
5713        table_name: Optional[Any] = None,
5714        **kwargs
5715    ):
5716        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)
5717        self.type = 'AzureMariaDBTable'  # type: str
5718        self.table_name = table_name
5719
5720
5721class AzureMLBatchExecutionActivity(ExecutionActivity):
5722    """Azure ML Batch Execution activity.
5723
5724    All required parameters must be populated in order to send to Azure.
5725
5726    :param additional_properties: Unmatched properties from the message are deserialized to this
5727     collection.
5728    :type additional_properties: dict[str, any]
5729    :param name: Required. Activity name.
5730    :type name: str
5731    :param type: Required. Type of activity.Constant filled by server.
5732    :type type: str
5733    :param description: Activity description.
5734    :type description: str
5735    :param depends_on: Activity depends on condition.
5736    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
5737    :param user_properties: Activity user properties.
5738    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
5739    :param linked_service_name: Linked service reference.
5740    :type linked_service_name:
5741     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
5742    :param policy: Activity policy.
5743    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
5744    :param global_parameters: Key,Value pairs to be passed to the Azure ML Batch Execution Service
5745     endpoint. Keys must match the names of web service parameters defined in the published Azure ML
5746     web service. Values will be passed in the GlobalParameters property of the Azure ML batch
5747     execution request.
5748    :type global_parameters: dict[str, any]
5749    :param web_service_outputs: Key,Value pairs, mapping the names of Azure ML endpoint's Web
5750     Service Outputs to AzureMLWebServiceFile objects specifying the output Blob locations. This
5751     information will be passed in the WebServiceOutputs property of the Azure ML batch execution
5752     request.
5753    :type web_service_outputs: dict[str,
5754     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureMLWebServiceFile]
5755    :param web_service_inputs: Key,Value pairs, mapping the names of Azure ML endpoint's Web
5756     Service Inputs to AzureMLWebServiceFile objects specifying the input Blob locations.. This
5757     information will be passed in the WebServiceInputs property of the Azure ML batch execution
5758     request.
5759    :type web_service_inputs: dict[str,
5760     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureMLWebServiceFile]
5761    """
5762
5763    _validation = {
5764        'name': {'required': True},
5765        'type': {'required': True},
5766    }
5767
5768    _attribute_map = {
5769        'additional_properties': {'key': '', 'type': '{object}'},
5770        'name': {'key': 'name', 'type': 'str'},
5771        'type': {'key': 'type', 'type': 'str'},
5772        'description': {'key': 'description', 'type': 'str'},
5773        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
5774        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
5775        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
5776        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
5777        'global_parameters': {'key': 'typeProperties.globalParameters', 'type': '{object}'},
5778        'web_service_outputs': {'key': 'typeProperties.webServiceOutputs', 'type': '{AzureMLWebServiceFile}'},
5779        'web_service_inputs': {'key': 'typeProperties.webServiceInputs', 'type': '{AzureMLWebServiceFile}'},
5780    }
5781
5782    def __init__(
5783        self,
5784        *,
5785        name: str,
5786        additional_properties: Optional[Dict[str, Any]] = None,
5787        description: Optional[str] = None,
5788        depends_on: Optional[List["ActivityDependency"]] = None,
5789        user_properties: Optional[List["UserProperty"]] = None,
5790        linked_service_name: Optional["LinkedServiceReference"] = None,
5791        policy: Optional["ActivityPolicy"] = None,
5792        global_parameters: Optional[Dict[str, Any]] = None,
5793        web_service_outputs: Optional[Dict[str, "AzureMLWebServiceFile"]] = None,
5794        web_service_inputs: Optional[Dict[str, "AzureMLWebServiceFile"]] = None,
5795        **kwargs
5796    ):
5797        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)
5798        self.type = 'AzureMLBatchExecution'  # type: str
5799        self.global_parameters = global_parameters
5800        self.web_service_outputs = web_service_outputs
5801        self.web_service_inputs = web_service_inputs
5802
5803
5804class AzureMLExecutePipelineActivity(ExecutionActivity):
5805    """Azure ML Execute Pipeline activity.
5806
5807    All required parameters must be populated in order to send to Azure.
5808
5809    :param additional_properties: Unmatched properties from the message are deserialized to this
5810     collection.
5811    :type additional_properties: dict[str, any]
5812    :param name: Required. Activity name.
5813    :type name: str
5814    :param type: Required. Type of activity.Constant filled by server.
5815    :type type: str
5816    :param description: Activity description.
5817    :type description: str
5818    :param depends_on: Activity depends on condition.
5819    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
5820    :param user_properties: Activity user properties.
5821    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
5822    :param linked_service_name: Linked service reference.
5823    :type linked_service_name:
5824     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
5825    :param policy: Activity policy.
5826    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
5827    :param ml_pipeline_id: Required. ID of the published Azure ML pipeline. Type: string (or
5828     Expression with resultType string).
5829    :type ml_pipeline_id: any
5830    :param experiment_name: Run history experiment name of the pipeline run. This information will
5831     be passed in the ExperimentName property of the published pipeline execution request. Type:
5832     string (or Expression with resultType string).
5833    :type experiment_name: any
5834    :param ml_pipeline_parameters: Key,Value pairs to be passed to the published Azure ML pipeline
5835     endpoint. Keys must match the names of pipeline parameters defined in the published pipeline.
5836     Values will be passed in the ParameterAssignments property of the published pipeline execution
5837     request. Type: object with key value pairs (or Expression with resultType object).
5838    :type ml_pipeline_parameters: any
5839    :param ml_parent_run_id: The parent Azure ML Service pipeline run id. This information will be
5840     passed in the ParentRunId property of the published pipeline execution request. Type: string
5841     (or Expression with resultType string).
5842    :type ml_parent_run_id: any
5843    :param continue_on_step_failure: Whether to continue execution of other steps in the
5844     PipelineRun if a step fails. This information will be passed in the continueOnStepFailure
5845     property of the published pipeline execution request. Type: boolean (or Expression with
5846     resultType boolean).
5847    :type continue_on_step_failure: any
5848    """
5849
5850    _validation = {
5851        'name': {'required': True},
5852        'type': {'required': True},
5853        'ml_pipeline_id': {'required': True},
5854    }
5855
5856    _attribute_map = {
5857        'additional_properties': {'key': '', 'type': '{object}'},
5858        'name': {'key': 'name', 'type': 'str'},
5859        'type': {'key': 'type', 'type': 'str'},
5860        'description': {'key': 'description', 'type': 'str'},
5861        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
5862        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
5863        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
5864        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
5865        'ml_pipeline_id': {'key': 'typeProperties.mlPipelineId', 'type': 'object'},
5866        'experiment_name': {'key': 'typeProperties.experimentName', 'type': 'object'},
5867        'ml_pipeline_parameters': {'key': 'typeProperties.mlPipelineParameters', 'type': 'object'},
5868        'ml_parent_run_id': {'key': 'typeProperties.mlParentRunId', 'type': 'object'},
5869        'continue_on_step_failure': {'key': 'typeProperties.continueOnStepFailure', 'type': 'object'},
5870    }
5871
5872    def __init__(
5873        self,
5874        *,
5875        name: str,
5876        ml_pipeline_id: Any,
5877        additional_properties: Optional[Dict[str, Any]] = None,
5878        description: Optional[str] = None,
5879        depends_on: Optional[List["ActivityDependency"]] = None,
5880        user_properties: Optional[List["UserProperty"]] = None,
5881        linked_service_name: Optional["LinkedServiceReference"] = None,
5882        policy: Optional["ActivityPolicy"] = None,
5883        experiment_name: Optional[Any] = None,
5884        ml_pipeline_parameters: Optional[Any] = None,
5885        ml_parent_run_id: Optional[Any] = None,
5886        continue_on_step_failure: Optional[Any] = None,
5887        **kwargs
5888    ):
5889        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)
5890        self.type = 'AzureMLExecutePipeline'  # type: str
5891        self.ml_pipeline_id = ml_pipeline_id
5892        self.experiment_name = experiment_name
5893        self.ml_pipeline_parameters = ml_pipeline_parameters
5894        self.ml_parent_run_id = ml_parent_run_id
5895        self.continue_on_step_failure = continue_on_step_failure
5896
5897
5898class AzureMLLinkedService(LinkedService):
5899    """Azure ML Studio Web Service linked service.
5900
5901    All required parameters must be populated in order to send to Azure.
5902
5903    :param additional_properties: Unmatched properties from the message are deserialized to this
5904     collection.
5905    :type additional_properties: dict[str, any]
5906    :param type: Required. Type of linked service.Constant filled by server.
5907    :type type: str
5908    :param connect_via: The integration runtime reference.
5909    :type connect_via:
5910     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
5911    :param description: Linked service description.
5912    :type description: str
5913    :param parameters: Parameters for linked service.
5914    :type parameters: dict[str,
5915     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
5916    :param annotations: List of tags that can be used for describing the linked service.
5917    :type annotations: list[any]
5918    :param ml_endpoint: Required. The Batch Execution REST URL for an Azure ML Studio Web Service
5919     endpoint. Type: string (or Expression with resultType string).
5920    :type ml_endpoint: any
5921    :param api_key: Required. The API key for accessing the Azure ML model endpoint.
5922    :type api_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
5923    :param update_resource_endpoint: The Update Resource REST URL for an Azure ML Studio Web
5924     Service endpoint. Type: string (or Expression with resultType string).
5925    :type update_resource_endpoint: any
5926    :param service_principal_id: The ID of the service principal used to authenticate against the
5927     ARM-based updateResourceEndpoint of an Azure ML Studio web service. Type: string (or Expression
5928     with resultType string).
5929    :type service_principal_id: any
5930    :param service_principal_key: The key of the service principal used to authenticate against the
5931     ARM-based updateResourceEndpoint of an Azure ML Studio web service.
5932    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
5933    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
5934     string (or Expression with resultType string).
5935    :type tenant: any
5936    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
5937     encrypted using the integration runtime credential manager. Type: string (or Expression with
5938     resultType string).
5939    :type encrypted_credential: any
5940    """
5941
5942    _validation = {
5943        'type': {'required': True},
5944        'ml_endpoint': {'required': True},
5945        'api_key': {'required': True},
5946    }
5947
5948    _attribute_map = {
5949        'additional_properties': {'key': '', 'type': '{object}'},
5950        'type': {'key': 'type', 'type': 'str'},
5951        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
5952        'description': {'key': 'description', 'type': 'str'},
5953        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
5954        'annotations': {'key': 'annotations', 'type': '[object]'},
5955        'ml_endpoint': {'key': 'typeProperties.mlEndpoint', 'type': 'object'},
5956        'api_key': {'key': 'typeProperties.apiKey', 'type': 'SecretBase'},
5957        'update_resource_endpoint': {'key': 'typeProperties.updateResourceEndpoint', 'type': 'object'},
5958        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
5959        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
5960        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
5961        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
5962    }
5963
5964    def __init__(
5965        self,
5966        *,
5967        ml_endpoint: Any,
5968        api_key: "SecretBase",
5969        additional_properties: Optional[Dict[str, Any]] = None,
5970        connect_via: Optional["IntegrationRuntimeReference"] = None,
5971        description: Optional[str] = None,
5972        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
5973        annotations: Optional[List[Any]] = None,
5974        update_resource_endpoint: Optional[Any] = None,
5975        service_principal_id: Optional[Any] = None,
5976        service_principal_key: Optional["SecretBase"] = None,
5977        tenant: Optional[Any] = None,
5978        encrypted_credential: Optional[Any] = None,
5979        **kwargs
5980    ):
5981        super(AzureMLLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
5982        self.type = 'AzureML'  # type: str
5983        self.ml_endpoint = ml_endpoint
5984        self.api_key = api_key
5985        self.update_resource_endpoint = update_resource_endpoint
5986        self.service_principal_id = service_principal_id
5987        self.service_principal_key = service_principal_key
5988        self.tenant = tenant
5989        self.encrypted_credential = encrypted_credential
5990
5991
5992class AzureMLServiceLinkedService(LinkedService):
5993    """Azure ML Service linked service.
5994
5995    All required parameters must be populated in order to send to Azure.
5996
5997    :param additional_properties: Unmatched properties from the message are deserialized to this
5998     collection.
5999    :type additional_properties: dict[str, any]
6000    :param type: Required. Type of linked service.Constant filled by server.
6001    :type type: str
6002    :param connect_via: The integration runtime reference.
6003    :type connect_via:
6004     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
6005    :param description: Linked service description.
6006    :type description: str
6007    :param parameters: Parameters for linked service.
6008    :type parameters: dict[str,
6009     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
6010    :param annotations: List of tags that can be used for describing the linked service.
6011    :type annotations: list[any]
6012    :param subscription_id: Required. Azure ML Service workspace subscription ID. Type: string (or
6013     Expression with resultType string).
6014    :type subscription_id: any
6015    :param resource_group_name: Required. Azure ML Service workspace resource group name. Type:
6016     string (or Expression with resultType string).
6017    :type resource_group_name: any
6018    :param ml_workspace_name: Required. Azure ML Service workspace name. Type: string (or
6019     Expression with resultType string).
6020    :type ml_workspace_name: any
6021    :param service_principal_id: The ID of the service principal used to authenticate against the
6022     endpoint of a published Azure ML Service pipeline. Type: string (or Expression with resultType
6023     string).
6024    :type service_principal_id: any
6025    :param service_principal_key: The key of the service principal used to authenticate against the
6026     endpoint of a published Azure ML Service pipeline.
6027    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
6028    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
6029     string (or Expression with resultType string).
6030    :type tenant: any
6031    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
6032     encrypted using the integration runtime credential manager. Type: string (or Expression with
6033     resultType string).
6034    :type encrypted_credential: any
6035    """
6036
6037    _validation = {
6038        'type': {'required': True},
6039        'subscription_id': {'required': True},
6040        'resource_group_name': {'required': True},
6041        'ml_workspace_name': {'required': True},
6042    }
6043
6044    _attribute_map = {
6045        'additional_properties': {'key': '', 'type': '{object}'},
6046        'type': {'key': 'type', 'type': 'str'},
6047        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
6048        'description': {'key': 'description', 'type': 'str'},
6049        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
6050        'annotations': {'key': 'annotations', 'type': '[object]'},
6051        'subscription_id': {'key': 'typeProperties.subscriptionId', 'type': 'object'},
6052        'resource_group_name': {'key': 'typeProperties.resourceGroupName', 'type': 'object'},
6053        'ml_workspace_name': {'key': 'typeProperties.mlWorkspaceName', 'type': 'object'},
6054        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
6055        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
6056        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
6057        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
6058    }
6059
6060    def __init__(
6061        self,
6062        *,
6063        subscription_id: Any,
6064        resource_group_name: Any,
6065        ml_workspace_name: Any,
6066        additional_properties: Optional[Dict[str, Any]] = None,
6067        connect_via: Optional["IntegrationRuntimeReference"] = None,
6068        description: Optional[str] = None,
6069        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
6070        annotations: Optional[List[Any]] = None,
6071        service_principal_id: Optional[Any] = None,
6072        service_principal_key: Optional["SecretBase"] = None,
6073        tenant: Optional[Any] = None,
6074        encrypted_credential: Optional[Any] = None,
6075        **kwargs
6076    ):
6077        super(AzureMLServiceLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
6078        self.type = 'AzureMLService'  # type: str
6079        self.subscription_id = subscription_id
6080        self.resource_group_name = resource_group_name
6081        self.ml_workspace_name = ml_workspace_name
6082        self.service_principal_id = service_principal_id
6083        self.service_principal_key = service_principal_key
6084        self.tenant = tenant
6085        self.encrypted_credential = encrypted_credential
6086
6087
6088class AzureMLUpdateResourceActivity(ExecutionActivity):
6089    """Azure ML Update Resource management activity.
6090
6091    All required parameters must be populated in order to send to Azure.
6092
6093    :param additional_properties: Unmatched properties from the message are deserialized to this
6094     collection.
6095    :type additional_properties: dict[str, any]
6096    :param name: Required. Activity name.
6097    :type name: str
6098    :param type: Required. Type of activity.Constant filled by server.
6099    :type type: str
6100    :param description: Activity description.
6101    :type description: str
6102    :param depends_on: Activity depends on condition.
6103    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
6104    :param user_properties: Activity user properties.
6105    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
6106    :param linked_service_name: Linked service reference.
6107    :type linked_service_name:
6108     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
6109    :param policy: Activity policy.
6110    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
6111    :param trained_model_name: Required. Name of the Trained Model module in the Web Service
6112     experiment to be updated. Type: string (or Expression with resultType string).
6113    :type trained_model_name: any
6114    :param trained_model_linked_service_name: Required. Name of Azure Storage linked service
6115     holding the .ilearner file that will be uploaded by the update operation.
6116    :type trained_model_linked_service_name:
6117     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
6118    :param trained_model_file_path: Required. The relative file path in trainedModelLinkedService
6119     to represent the .ilearner file that will be uploaded by the update operation.  Type: string
6120     (or Expression with resultType string).
6121    :type trained_model_file_path: any
6122    """
6123
6124    _validation = {
6125        'name': {'required': True},
6126        'type': {'required': True},
6127        'trained_model_name': {'required': True},
6128        'trained_model_linked_service_name': {'required': True},
6129        'trained_model_file_path': {'required': True},
6130    }
6131
6132    _attribute_map = {
6133        'additional_properties': {'key': '', 'type': '{object}'},
6134        'name': {'key': 'name', 'type': 'str'},
6135        'type': {'key': 'type', 'type': 'str'},
6136        'description': {'key': 'description', 'type': 'str'},
6137        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
6138        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
6139        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
6140        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
6141        'trained_model_name': {'key': 'typeProperties.trainedModelName', 'type': 'object'},
6142        'trained_model_linked_service_name': {'key': 'typeProperties.trainedModelLinkedServiceName', 'type': 'LinkedServiceReference'},
6143        'trained_model_file_path': {'key': 'typeProperties.trainedModelFilePath', 'type': 'object'},
6144    }
6145
6146    def __init__(
6147        self,
6148        *,
6149        name: str,
6150        trained_model_name: Any,
6151        trained_model_linked_service_name: "LinkedServiceReference",
6152        trained_model_file_path: Any,
6153        additional_properties: Optional[Dict[str, Any]] = None,
6154        description: Optional[str] = None,
6155        depends_on: Optional[List["ActivityDependency"]] = None,
6156        user_properties: Optional[List["UserProperty"]] = None,
6157        linked_service_name: Optional["LinkedServiceReference"] = None,
6158        policy: Optional["ActivityPolicy"] = None,
6159        **kwargs
6160    ):
6161        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)
6162        self.type = 'AzureMLUpdateResource'  # type: str
6163        self.trained_model_name = trained_model_name
6164        self.trained_model_linked_service_name = trained_model_linked_service_name
6165        self.trained_model_file_path = trained_model_file_path
6166
6167
6168class AzureMLWebServiceFile(msrest.serialization.Model):
6169    """Azure ML WebService Input/Output file.
6170
6171    All required parameters must be populated in order to send to Azure.
6172
6173    :param file_path: Required. The relative file path, including container name, in the Azure Blob
6174     Storage specified by the LinkedService. Type: string (or Expression with resultType string).
6175    :type file_path: any
6176    :param linked_service_name: Required. Reference to an Azure Storage LinkedService, where Azure
6177     ML WebService Input/Output file located.
6178    :type linked_service_name:
6179     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
6180    """
6181
6182    _validation = {
6183        'file_path': {'required': True},
6184        'linked_service_name': {'required': True},
6185    }
6186
6187    _attribute_map = {
6188        'file_path': {'key': 'filePath', 'type': 'object'},
6189        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
6190    }
6191
6192    def __init__(
6193        self,
6194        *,
6195        file_path: Any,
6196        linked_service_name: "LinkedServiceReference",
6197        **kwargs
6198    ):
6199        super(AzureMLWebServiceFile, self).__init__(**kwargs)
6200        self.file_path = file_path
6201        self.linked_service_name = linked_service_name
6202
6203
6204class AzureMySqlLinkedService(LinkedService):
6205    """Azure MySQL database linked service.
6206
6207    All required parameters must be populated in order to send to Azure.
6208
6209    :param additional_properties: Unmatched properties from the message are deserialized to this
6210     collection.
6211    :type additional_properties: dict[str, any]
6212    :param type: Required. Type of linked service.Constant filled by server.
6213    :type type: str
6214    :param connect_via: The integration runtime reference.
6215    :type connect_via:
6216     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
6217    :param description: Linked service description.
6218    :type description: str
6219    :param parameters: Parameters for linked service.
6220    :type parameters: dict[str,
6221     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
6222    :param annotations: List of tags that can be used for describing the linked service.
6223    :type annotations: list[any]
6224    :param connection_string: Required. The connection string. Type: string, SecureString or
6225     AzureKeyVaultSecretReference.
6226    :type connection_string: any
6227    :param password: The Azure key vault secret reference of password in connection string.
6228    :type password:
6229     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
6230    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
6231     encrypted using the integration runtime credential manager. Type: string (or Expression with
6232     resultType string).
6233    :type encrypted_credential: any
6234    """
6235
6236    _validation = {
6237        'type': {'required': True},
6238        'connection_string': {'required': True},
6239    }
6240
6241    _attribute_map = {
6242        'additional_properties': {'key': '', 'type': '{object}'},
6243        'type': {'key': 'type', 'type': 'str'},
6244        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
6245        'description': {'key': 'description', 'type': 'str'},
6246        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
6247        'annotations': {'key': 'annotations', 'type': '[object]'},
6248        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
6249        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
6250        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
6251    }
6252
6253    def __init__(
6254        self,
6255        *,
6256        connection_string: Any,
6257        additional_properties: Optional[Dict[str, Any]] = None,
6258        connect_via: Optional["IntegrationRuntimeReference"] = None,
6259        description: Optional[str] = None,
6260        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
6261        annotations: Optional[List[Any]] = None,
6262        password: Optional["AzureKeyVaultSecretReference"] = None,
6263        encrypted_credential: Optional[Any] = None,
6264        **kwargs
6265    ):
6266        super(AzureMySqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
6267        self.type = 'AzureMySql'  # type: str
6268        self.connection_string = connection_string
6269        self.password = password
6270        self.encrypted_credential = encrypted_credential
6271
6272
6273class AzureMySqlSink(CopySink):
6274    """A copy activity Azure MySql sink.
6275
6276    All required parameters must be populated in order to send to Azure.
6277
6278    :param additional_properties: Unmatched properties from the message are deserialized to this
6279     collection.
6280    :type additional_properties: dict[str, any]
6281    :param type: Required. Copy sink type.Constant filled by server.
6282    :type type: str
6283    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
6284     integer), minimum: 0.
6285    :type write_batch_size: any
6286    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
6287     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6288    :type write_batch_timeout: any
6289    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
6290     integer).
6291    :type sink_retry_count: any
6292    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
6293     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6294    :type sink_retry_wait: any
6295    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
6296     store. Type: integer (or Expression with resultType integer).
6297    :type max_concurrent_connections: any
6298    :param pre_copy_script: A query to execute before starting the copy. Type: string (or
6299     Expression with resultType string).
6300    :type pre_copy_script: any
6301    """
6302
6303    _validation = {
6304        'type': {'required': True},
6305    }
6306
6307    _attribute_map = {
6308        'additional_properties': {'key': '', 'type': '{object}'},
6309        'type': {'key': 'type', 'type': 'str'},
6310        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
6311        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
6312        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
6313        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
6314        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
6315        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
6316    }
6317
6318    def __init__(
6319        self,
6320        *,
6321        additional_properties: Optional[Dict[str, Any]] = None,
6322        write_batch_size: Optional[Any] = None,
6323        write_batch_timeout: Optional[Any] = None,
6324        sink_retry_count: Optional[Any] = None,
6325        sink_retry_wait: Optional[Any] = None,
6326        max_concurrent_connections: Optional[Any] = None,
6327        pre_copy_script: Optional[Any] = None,
6328        **kwargs
6329    ):
6330        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)
6331        self.type = 'AzureMySqlSink'  # type: str
6332        self.pre_copy_script = pre_copy_script
6333
6334
6335class AzureMySqlSource(TabularSource):
6336    """A copy activity Azure MySQL source.
6337
6338    All required parameters must be populated in order to send to Azure.
6339
6340    :param additional_properties: Unmatched properties from the message are deserialized to this
6341     collection.
6342    :type additional_properties: dict[str, any]
6343    :param type: Required. Copy source type.Constant filled by server.
6344    :type type: str
6345    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
6346     integer).
6347    :type source_retry_count: any
6348    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
6349     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6350    :type source_retry_wait: any
6351    :param max_concurrent_connections: The maximum concurrent connection count for the source data
6352     store. Type: integer (or Expression with resultType integer).
6353    :type max_concurrent_connections: any
6354    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
6355     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6356    :type query_timeout: any
6357    :param additional_columns: Specifies the additional columns to be added to source data. Type:
6358     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
6359    :type additional_columns: any
6360    :param query: Database query. Type: string (or Expression with resultType string).
6361    :type query: any
6362    """
6363
6364    _validation = {
6365        'type': {'required': True},
6366    }
6367
6368    _attribute_map = {
6369        'additional_properties': {'key': '', 'type': '{object}'},
6370        'type': {'key': 'type', 'type': 'str'},
6371        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
6372        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
6373        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
6374        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
6375        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
6376        'query': {'key': 'query', 'type': 'object'},
6377    }
6378
6379    def __init__(
6380        self,
6381        *,
6382        additional_properties: Optional[Dict[str, Any]] = None,
6383        source_retry_count: Optional[Any] = None,
6384        source_retry_wait: Optional[Any] = None,
6385        max_concurrent_connections: Optional[Any] = None,
6386        query_timeout: Optional[Any] = None,
6387        additional_columns: Optional[Any] = None,
6388        query: Optional[Any] = None,
6389        **kwargs
6390    ):
6391        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)
6392        self.type = 'AzureMySqlSource'  # type: str
6393        self.query = query
6394
6395
6396class AzureMySqlTableDataset(Dataset):
6397    """The Azure MySQL database dataset.
6398
6399    All required parameters must be populated in order to send to Azure.
6400
6401    :param additional_properties: Unmatched properties from the message are deserialized to this
6402     collection.
6403    :type additional_properties: dict[str, any]
6404    :param type: Required. Type of dataset.Constant filled by server.
6405    :type type: str
6406    :param description: Dataset description.
6407    :type description: str
6408    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
6409     with resultType array), itemType: DatasetDataElement.
6410    :type structure: any
6411    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
6412     Expression with resultType array), itemType: DatasetSchemaDataElement.
6413    :type schema: any
6414    :param linked_service_name: Required. Linked service reference.
6415    :type linked_service_name:
6416     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
6417    :param parameters: Parameters for dataset.
6418    :type parameters: dict[str,
6419     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
6420    :param annotations: List of tags that can be used for describing the Dataset.
6421    :type annotations: list[any]
6422    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
6423     root level.
6424    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
6425    :param table_name: The Azure MySQL database table name. Type: string (or Expression with
6426     resultType string).
6427    :type table_name: any
6428    :param table: The name of Azure MySQL database table. Type: string (or Expression with
6429     resultType string).
6430    :type table: any
6431    """
6432
6433    _validation = {
6434        'type': {'required': True},
6435        'linked_service_name': {'required': True},
6436    }
6437
6438    _attribute_map = {
6439        'additional_properties': {'key': '', 'type': '{object}'},
6440        'type': {'key': 'type', 'type': 'str'},
6441        'description': {'key': 'description', 'type': 'str'},
6442        'structure': {'key': 'structure', 'type': 'object'},
6443        'schema': {'key': 'schema', 'type': 'object'},
6444        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
6445        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
6446        'annotations': {'key': 'annotations', 'type': '[object]'},
6447        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
6448        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
6449        'table': {'key': 'typeProperties.table', 'type': 'object'},
6450    }
6451
6452    def __init__(
6453        self,
6454        *,
6455        linked_service_name: "LinkedServiceReference",
6456        additional_properties: Optional[Dict[str, Any]] = None,
6457        description: Optional[str] = None,
6458        structure: Optional[Any] = None,
6459        schema: Optional[Any] = None,
6460        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
6461        annotations: Optional[List[Any]] = None,
6462        folder: Optional["DatasetFolder"] = None,
6463        table_name: Optional[Any] = None,
6464        table: Optional[Any] = None,
6465        **kwargs
6466    ):
6467        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)
6468        self.type = 'AzureMySqlTable'  # type: str
6469        self.table_name = table_name
6470        self.table = table
6471
6472
6473class AzurePostgreSqlLinkedService(LinkedService):
6474    """Azure PostgreSQL linked service.
6475
6476    All required parameters must be populated in order to send to Azure.
6477
6478    :param additional_properties: Unmatched properties from the message are deserialized to this
6479     collection.
6480    :type additional_properties: dict[str, any]
6481    :param type: Required. Type of linked service.Constant filled by server.
6482    :type type: str
6483    :param connect_via: The integration runtime reference.
6484    :type connect_via:
6485     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
6486    :param description: Linked service description.
6487    :type description: str
6488    :param parameters: Parameters for linked service.
6489    :type parameters: dict[str,
6490     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
6491    :param annotations: List of tags that can be used for describing the linked service.
6492    :type annotations: list[any]
6493    :param connection_string: An ODBC connection string. Type: string, SecureString or
6494     AzureKeyVaultSecretReference.
6495    :type connection_string: any
6496    :param password: The Azure key vault secret reference of password in connection string.
6497    :type password:
6498     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
6499    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
6500     encrypted using the integration runtime credential manager. Type: string (or Expression with
6501     resultType string).
6502    :type encrypted_credential: any
6503    """
6504
6505    _validation = {
6506        'type': {'required': True},
6507    }
6508
6509    _attribute_map = {
6510        'additional_properties': {'key': '', 'type': '{object}'},
6511        'type': {'key': 'type', 'type': 'str'},
6512        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
6513        'description': {'key': 'description', 'type': 'str'},
6514        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
6515        'annotations': {'key': 'annotations', 'type': '[object]'},
6516        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
6517        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
6518        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
6519    }
6520
6521    def __init__(
6522        self,
6523        *,
6524        additional_properties: Optional[Dict[str, Any]] = None,
6525        connect_via: Optional["IntegrationRuntimeReference"] = None,
6526        description: Optional[str] = None,
6527        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
6528        annotations: Optional[List[Any]] = None,
6529        connection_string: Optional[Any] = None,
6530        password: Optional["AzureKeyVaultSecretReference"] = None,
6531        encrypted_credential: Optional[Any] = None,
6532        **kwargs
6533    ):
6534        super(AzurePostgreSqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
6535        self.type = 'AzurePostgreSql'  # type: str
6536        self.connection_string = connection_string
6537        self.password = password
6538        self.encrypted_credential = encrypted_credential
6539
6540
6541class AzurePostgreSqlSink(CopySink):
6542    """A copy activity Azure PostgreSQL sink.
6543
6544    All required parameters must be populated in order to send to Azure.
6545
6546    :param additional_properties: Unmatched properties from the message are deserialized to this
6547     collection.
6548    :type additional_properties: dict[str, any]
6549    :param type: Required. Copy sink type.Constant filled by server.
6550    :type type: str
6551    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
6552     integer), minimum: 0.
6553    :type write_batch_size: any
6554    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
6555     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6556    :type write_batch_timeout: any
6557    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
6558     integer).
6559    :type sink_retry_count: any
6560    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
6561     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6562    :type sink_retry_wait: any
6563    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
6564     store. Type: integer (or Expression with resultType integer).
6565    :type max_concurrent_connections: any
6566    :param pre_copy_script: A query to execute before starting the copy. Type: string (or
6567     Expression with resultType string).
6568    :type pre_copy_script: any
6569    """
6570
6571    _validation = {
6572        'type': {'required': True},
6573    }
6574
6575    _attribute_map = {
6576        'additional_properties': {'key': '', 'type': '{object}'},
6577        'type': {'key': 'type', 'type': 'str'},
6578        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
6579        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
6580        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
6581        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
6582        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
6583        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
6584    }
6585
6586    def __init__(
6587        self,
6588        *,
6589        additional_properties: Optional[Dict[str, Any]] = None,
6590        write_batch_size: Optional[Any] = None,
6591        write_batch_timeout: Optional[Any] = None,
6592        sink_retry_count: Optional[Any] = None,
6593        sink_retry_wait: Optional[Any] = None,
6594        max_concurrent_connections: Optional[Any] = None,
6595        pre_copy_script: Optional[Any] = None,
6596        **kwargs
6597    ):
6598        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)
6599        self.type = 'AzurePostgreSqlSink'  # type: str
6600        self.pre_copy_script = pre_copy_script
6601
6602
6603class AzurePostgreSqlSource(TabularSource):
6604    """A copy activity Azure PostgreSQL source.
6605
6606    All required parameters must be populated in order to send to Azure.
6607
6608    :param additional_properties: Unmatched properties from the message are deserialized to this
6609     collection.
6610    :type additional_properties: dict[str, any]
6611    :param type: Required. Copy source type.Constant filled by server.
6612    :type type: str
6613    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
6614     integer).
6615    :type source_retry_count: any
6616    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
6617     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6618    :type source_retry_wait: any
6619    :param max_concurrent_connections: The maximum concurrent connection count for the source data
6620     store. Type: integer (or Expression with resultType integer).
6621    :type max_concurrent_connections: any
6622    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
6623     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6624    :type query_timeout: any
6625    :param additional_columns: Specifies the additional columns to be added to source data. Type:
6626     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
6627    :type additional_columns: any
6628    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
6629     string).
6630    :type query: any
6631    """
6632
6633    _validation = {
6634        'type': {'required': True},
6635    }
6636
6637    _attribute_map = {
6638        'additional_properties': {'key': '', 'type': '{object}'},
6639        'type': {'key': 'type', 'type': 'str'},
6640        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
6641        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
6642        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
6643        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
6644        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
6645        'query': {'key': 'query', 'type': 'object'},
6646    }
6647
6648    def __init__(
6649        self,
6650        *,
6651        additional_properties: Optional[Dict[str, Any]] = None,
6652        source_retry_count: Optional[Any] = None,
6653        source_retry_wait: Optional[Any] = None,
6654        max_concurrent_connections: Optional[Any] = None,
6655        query_timeout: Optional[Any] = None,
6656        additional_columns: Optional[Any] = None,
6657        query: Optional[Any] = None,
6658        **kwargs
6659    ):
6660        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)
6661        self.type = 'AzurePostgreSqlSource'  # type: str
6662        self.query = query
6663
6664
6665class AzurePostgreSqlTableDataset(Dataset):
6666    """Azure PostgreSQL dataset.
6667
6668    All required parameters must be populated in order to send to Azure.
6669
6670    :param additional_properties: Unmatched properties from the message are deserialized to this
6671     collection.
6672    :type additional_properties: dict[str, any]
6673    :param type: Required. Type of dataset.Constant filled by server.
6674    :type type: str
6675    :param description: Dataset description.
6676    :type description: str
6677    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
6678     with resultType array), itemType: DatasetDataElement.
6679    :type structure: any
6680    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
6681     Expression with resultType array), itemType: DatasetSchemaDataElement.
6682    :type schema: any
6683    :param linked_service_name: Required. Linked service reference.
6684    :type linked_service_name:
6685     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
6686    :param parameters: Parameters for dataset.
6687    :type parameters: dict[str,
6688     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
6689    :param annotations: List of tags that can be used for describing the Dataset.
6690    :type annotations: list[any]
6691    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
6692     root level.
6693    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
6694    :param table_name: The table name of the Azure PostgreSQL database which includes both schema
6695     and table. Type: string (or Expression with resultType string).
6696    :type table_name: any
6697    :param table: The table name of the Azure PostgreSQL database. Type: string (or Expression with
6698     resultType string).
6699    :type table: any
6700    :param schema_type_properties_schema: The schema name of the Azure PostgreSQL database. Type:
6701     string (or Expression with resultType string).
6702    :type schema_type_properties_schema: any
6703    """
6704
6705    _validation = {
6706        'type': {'required': True},
6707        'linked_service_name': {'required': True},
6708    }
6709
6710    _attribute_map = {
6711        'additional_properties': {'key': '', 'type': '{object}'},
6712        'type': {'key': 'type', 'type': 'str'},
6713        'description': {'key': 'description', 'type': 'str'},
6714        'structure': {'key': 'structure', 'type': 'object'},
6715        'schema': {'key': 'schema', 'type': 'object'},
6716        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
6717        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
6718        'annotations': {'key': 'annotations', 'type': '[object]'},
6719        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
6720        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
6721        'table': {'key': 'typeProperties.table', 'type': 'object'},
6722        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
6723    }
6724
6725    def __init__(
6726        self,
6727        *,
6728        linked_service_name: "LinkedServiceReference",
6729        additional_properties: Optional[Dict[str, Any]] = None,
6730        description: Optional[str] = None,
6731        structure: Optional[Any] = None,
6732        schema: Optional[Any] = None,
6733        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
6734        annotations: Optional[List[Any]] = None,
6735        folder: Optional["DatasetFolder"] = None,
6736        table_name: Optional[Any] = None,
6737        table: Optional[Any] = None,
6738        schema_type_properties_schema: Optional[Any] = None,
6739        **kwargs
6740    ):
6741        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)
6742        self.type = 'AzurePostgreSqlTable'  # type: str
6743        self.table_name = table_name
6744        self.table = table
6745        self.schema_type_properties_schema = schema_type_properties_schema
6746
6747
6748class AzureQueueSink(CopySink):
6749    """A copy activity Azure Queue sink.
6750
6751    All required parameters must be populated in order to send to Azure.
6752
6753    :param additional_properties: Unmatched properties from the message are deserialized to this
6754     collection.
6755    :type additional_properties: dict[str, any]
6756    :param type: Required. Copy sink type.Constant filled by server.
6757    :type type: str
6758    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
6759     integer), minimum: 0.
6760    :type write_batch_size: any
6761    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
6762     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6763    :type write_batch_timeout: any
6764    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
6765     integer).
6766    :type sink_retry_count: any
6767    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
6768     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6769    :type sink_retry_wait: any
6770    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
6771     store. Type: integer (or Expression with resultType integer).
6772    :type max_concurrent_connections: any
6773    """
6774
6775    _validation = {
6776        'type': {'required': True},
6777    }
6778
6779    _attribute_map = {
6780        'additional_properties': {'key': '', 'type': '{object}'},
6781        'type': {'key': 'type', 'type': 'str'},
6782        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
6783        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
6784        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
6785        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
6786        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
6787    }
6788
6789    def __init__(
6790        self,
6791        *,
6792        additional_properties: Optional[Dict[str, Any]] = None,
6793        write_batch_size: Optional[Any] = None,
6794        write_batch_timeout: Optional[Any] = None,
6795        sink_retry_count: Optional[Any] = None,
6796        sink_retry_wait: Optional[Any] = None,
6797        max_concurrent_connections: Optional[Any] = None,
6798        **kwargs
6799    ):
6800        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)
6801        self.type = 'AzureQueueSink'  # type: str
6802
6803
6804class AzureSearchIndexDataset(Dataset):
6805    """The Azure Search Index.
6806
6807    All required parameters must be populated in order to send to Azure.
6808
6809    :param additional_properties: Unmatched properties from the message are deserialized to this
6810     collection.
6811    :type additional_properties: dict[str, any]
6812    :param type: Required. Type of dataset.Constant filled by server.
6813    :type type: str
6814    :param description: Dataset description.
6815    :type description: str
6816    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
6817     with resultType array), itemType: DatasetDataElement.
6818    :type structure: any
6819    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
6820     Expression with resultType array), itemType: DatasetSchemaDataElement.
6821    :type schema: any
6822    :param linked_service_name: Required. Linked service reference.
6823    :type linked_service_name:
6824     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
6825    :param parameters: Parameters for dataset.
6826    :type parameters: dict[str,
6827     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
6828    :param annotations: List of tags that can be used for describing the Dataset.
6829    :type annotations: list[any]
6830    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
6831     root level.
6832    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
6833    :param index_name: Required. The name of the Azure Search Index. Type: string (or Expression
6834     with resultType string).
6835    :type index_name: any
6836    """
6837
6838    _validation = {
6839        'type': {'required': True},
6840        'linked_service_name': {'required': True},
6841        'index_name': {'required': True},
6842    }
6843
6844    _attribute_map = {
6845        'additional_properties': {'key': '', 'type': '{object}'},
6846        'type': {'key': 'type', 'type': 'str'},
6847        'description': {'key': 'description', 'type': 'str'},
6848        'structure': {'key': 'structure', 'type': 'object'},
6849        'schema': {'key': 'schema', 'type': 'object'},
6850        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
6851        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
6852        'annotations': {'key': 'annotations', 'type': '[object]'},
6853        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
6854        'index_name': {'key': 'typeProperties.indexName', 'type': 'object'},
6855    }
6856
6857    def __init__(
6858        self,
6859        *,
6860        linked_service_name: "LinkedServiceReference",
6861        index_name: Any,
6862        additional_properties: Optional[Dict[str, Any]] = None,
6863        description: Optional[str] = None,
6864        structure: Optional[Any] = None,
6865        schema: Optional[Any] = None,
6866        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
6867        annotations: Optional[List[Any]] = None,
6868        folder: Optional["DatasetFolder"] = None,
6869        **kwargs
6870    ):
6871        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)
6872        self.type = 'AzureSearchIndex'  # type: str
6873        self.index_name = index_name
6874
6875
6876class AzureSearchIndexSink(CopySink):
6877    """A copy activity Azure Search Index sink.
6878
6879    All required parameters must be populated in order to send to Azure.
6880
6881    :param additional_properties: Unmatched properties from the message are deserialized to this
6882     collection.
6883    :type additional_properties: dict[str, any]
6884    :param type: Required. Copy sink type.Constant filled by server.
6885    :type type: str
6886    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
6887     integer), minimum: 0.
6888    :type write_batch_size: any
6889    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
6890     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6891    :type write_batch_timeout: any
6892    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
6893     integer).
6894    :type sink_retry_count: any
6895    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
6896     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
6897    :type sink_retry_wait: any
6898    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
6899     store. Type: integer (or Expression with resultType integer).
6900    :type max_concurrent_connections: any
6901    :param write_behavior: Specify the write behavior when upserting documents into Azure Search
6902     Index. Possible values include: "Merge", "Upload".
6903    :type write_behavior: str or
6904     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureSearchIndexWriteBehaviorType
6905    """
6906
6907    _validation = {
6908        'type': {'required': True},
6909    }
6910
6911    _attribute_map = {
6912        'additional_properties': {'key': '', 'type': '{object}'},
6913        'type': {'key': 'type', 'type': 'str'},
6914        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
6915        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
6916        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
6917        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
6918        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
6919        'write_behavior': {'key': 'writeBehavior', 'type': 'str'},
6920    }
6921
6922    def __init__(
6923        self,
6924        *,
6925        additional_properties: Optional[Dict[str, Any]] = None,
6926        write_batch_size: Optional[Any] = None,
6927        write_batch_timeout: Optional[Any] = None,
6928        sink_retry_count: Optional[Any] = None,
6929        sink_retry_wait: Optional[Any] = None,
6930        max_concurrent_connections: Optional[Any] = None,
6931        write_behavior: Optional[Union[str, "AzureSearchIndexWriteBehaviorType"]] = None,
6932        **kwargs
6933    ):
6934        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)
6935        self.type = 'AzureSearchIndexSink'  # type: str
6936        self.write_behavior = write_behavior
6937
6938
6939class AzureSearchLinkedService(LinkedService):
6940    """Linked service for Windows Azure Search Service.
6941
6942    All required parameters must be populated in order to send to Azure.
6943
6944    :param additional_properties: Unmatched properties from the message are deserialized to this
6945     collection.
6946    :type additional_properties: dict[str, any]
6947    :param type: Required. Type of linked service.Constant filled by server.
6948    :type type: str
6949    :param connect_via: The integration runtime reference.
6950    :type connect_via:
6951     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
6952    :param description: Linked service description.
6953    :type description: str
6954    :param parameters: Parameters for linked service.
6955    :type parameters: dict[str,
6956     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
6957    :param annotations: List of tags that can be used for describing the linked service.
6958    :type annotations: list[any]
6959    :param url: Required. URL for Azure Search service. Type: string (or Expression with resultType
6960     string).
6961    :type url: any
6962    :param key: Admin Key for Azure Search service.
6963    :type key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
6964    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
6965     encrypted using the integration runtime credential manager. Type: string (or Expression with
6966     resultType string).
6967    :type encrypted_credential: any
6968    """
6969
6970    _validation = {
6971        'type': {'required': True},
6972        'url': {'required': True},
6973    }
6974
6975    _attribute_map = {
6976        'additional_properties': {'key': '', 'type': '{object}'},
6977        'type': {'key': 'type', 'type': 'str'},
6978        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
6979        'description': {'key': 'description', 'type': 'str'},
6980        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
6981        'annotations': {'key': 'annotations', 'type': '[object]'},
6982        'url': {'key': 'typeProperties.url', 'type': 'object'},
6983        'key': {'key': 'typeProperties.key', 'type': 'SecretBase'},
6984        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
6985    }
6986
6987    def __init__(
6988        self,
6989        *,
6990        url: Any,
6991        additional_properties: Optional[Dict[str, Any]] = None,
6992        connect_via: Optional["IntegrationRuntimeReference"] = None,
6993        description: Optional[str] = None,
6994        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
6995        annotations: Optional[List[Any]] = None,
6996        key: Optional["SecretBase"] = None,
6997        encrypted_credential: Optional[Any] = None,
6998        **kwargs
6999    ):
7000        super(AzureSearchLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
7001        self.type = 'AzureSearch'  # type: str
7002        self.url = url
7003        self.key = key
7004        self.encrypted_credential = encrypted_credential
7005
7006
7007class AzureSqlDatabaseLinkedService(LinkedService):
7008    """Microsoft Azure SQL Database linked service.
7009
7010    All required parameters must be populated in order to send to Azure.
7011
7012    :param additional_properties: Unmatched properties from the message are deserialized to this
7013     collection.
7014    :type additional_properties: dict[str, any]
7015    :param type: Required. Type of linked service.Constant filled by server.
7016    :type type: str
7017    :param connect_via: The integration runtime reference.
7018    :type connect_via:
7019     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
7020    :param description: Linked service description.
7021    :type description: str
7022    :param parameters: Parameters for linked service.
7023    :type parameters: dict[str,
7024     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
7025    :param annotations: List of tags that can be used for describing the linked service.
7026    :type annotations: list[any]
7027    :param connection_string: Required. The connection string. Type: string, SecureString or
7028     AzureKeyVaultSecretReference.
7029    :type connection_string: any
7030    :param password: The Azure key vault secret reference of password in connection string.
7031    :type password:
7032     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
7033    :param service_principal_id: The ID of the service principal used to authenticate against Azure
7034     SQL Database. Type: string (or Expression with resultType string).
7035    :type service_principal_id: any
7036    :param service_principal_key: The key of the service principal used to authenticate against
7037     Azure SQL Database.
7038    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
7039    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
7040     string (or Expression with resultType string).
7041    :type tenant: any
7042    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
7043     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
7044     factory regions’ cloud type. Type: string (or Expression with resultType string).
7045    :type azure_cloud_type: any
7046    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
7047     encrypted using the integration runtime credential manager. Type: string (or Expression with
7048     resultType string).
7049    :type encrypted_credential: any
7050    """
7051
7052    _validation = {
7053        'type': {'required': True},
7054        'connection_string': {'required': True},
7055    }
7056
7057    _attribute_map = {
7058        'additional_properties': {'key': '', 'type': '{object}'},
7059        'type': {'key': 'type', 'type': 'str'},
7060        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
7061        'description': {'key': 'description', 'type': 'str'},
7062        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7063        'annotations': {'key': 'annotations', 'type': '[object]'},
7064        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
7065        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
7066        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
7067        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
7068        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
7069        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
7070        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
7071    }
7072
7073    def __init__(
7074        self,
7075        *,
7076        connection_string: Any,
7077        additional_properties: Optional[Dict[str, Any]] = None,
7078        connect_via: Optional["IntegrationRuntimeReference"] = None,
7079        description: Optional[str] = None,
7080        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7081        annotations: Optional[List[Any]] = None,
7082        password: Optional["AzureKeyVaultSecretReference"] = None,
7083        service_principal_id: Optional[Any] = None,
7084        service_principal_key: Optional["SecretBase"] = None,
7085        tenant: Optional[Any] = None,
7086        azure_cloud_type: Optional[Any] = None,
7087        encrypted_credential: Optional[Any] = None,
7088        **kwargs
7089    ):
7090        super(AzureSqlDatabaseLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
7091        self.type = 'AzureSqlDatabase'  # type: str
7092        self.connection_string = connection_string
7093        self.password = password
7094        self.service_principal_id = service_principal_id
7095        self.service_principal_key = service_principal_key
7096        self.tenant = tenant
7097        self.azure_cloud_type = azure_cloud_type
7098        self.encrypted_credential = encrypted_credential
7099
7100
7101class AzureSqlDWLinkedService(LinkedService):
7102    """Azure SQL Data Warehouse linked service.
7103
7104    All required parameters must be populated in order to send to Azure.
7105
7106    :param additional_properties: Unmatched properties from the message are deserialized to this
7107     collection.
7108    :type additional_properties: dict[str, any]
7109    :param type: Required. Type of linked service.Constant filled by server.
7110    :type type: str
7111    :param connect_via: The integration runtime reference.
7112    :type connect_via:
7113     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
7114    :param description: Linked service description.
7115    :type description: str
7116    :param parameters: Parameters for linked service.
7117    :type parameters: dict[str,
7118     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
7119    :param annotations: List of tags that can be used for describing the linked service.
7120    :type annotations: list[any]
7121    :param connection_string: Required. The connection string. Type: string, SecureString or
7122     AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.
7123    :type connection_string: any
7124    :param password: The Azure key vault secret reference of password in connection string.
7125    :type password:
7126     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
7127    :param service_principal_id: The ID of the service principal used to authenticate against Azure
7128     SQL Data Warehouse. Type: string (or Expression with resultType string).
7129    :type service_principal_id: any
7130    :param service_principal_key: The key of the service principal used to authenticate against
7131     Azure SQL Data Warehouse.
7132    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
7133    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
7134     string (or Expression with resultType string).
7135    :type tenant: any
7136    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
7137     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
7138     factory regions’ cloud type. Type: string (or Expression with resultType string).
7139    :type azure_cloud_type: any
7140    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
7141     encrypted using the integration runtime credential manager. Type: string (or Expression with
7142     resultType string).
7143    :type encrypted_credential: any
7144    """
7145
7146    _validation = {
7147        'type': {'required': True},
7148        'connection_string': {'required': True},
7149    }
7150
7151    _attribute_map = {
7152        'additional_properties': {'key': '', 'type': '{object}'},
7153        'type': {'key': 'type', 'type': 'str'},
7154        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
7155        'description': {'key': 'description', 'type': 'str'},
7156        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7157        'annotations': {'key': 'annotations', 'type': '[object]'},
7158        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
7159        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
7160        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
7161        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
7162        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
7163        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
7164        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
7165    }
7166
7167    def __init__(
7168        self,
7169        *,
7170        connection_string: Any,
7171        additional_properties: Optional[Dict[str, Any]] = None,
7172        connect_via: Optional["IntegrationRuntimeReference"] = None,
7173        description: Optional[str] = None,
7174        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7175        annotations: Optional[List[Any]] = None,
7176        password: Optional["AzureKeyVaultSecretReference"] = None,
7177        service_principal_id: Optional[Any] = None,
7178        service_principal_key: Optional["SecretBase"] = None,
7179        tenant: Optional[Any] = None,
7180        azure_cloud_type: Optional[Any] = None,
7181        encrypted_credential: Optional[Any] = None,
7182        **kwargs
7183    ):
7184        super(AzureSqlDWLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
7185        self.type = 'AzureSqlDW'  # type: str
7186        self.connection_string = connection_string
7187        self.password = password
7188        self.service_principal_id = service_principal_id
7189        self.service_principal_key = service_principal_key
7190        self.tenant = tenant
7191        self.azure_cloud_type = azure_cloud_type
7192        self.encrypted_credential = encrypted_credential
7193
7194
7195class AzureSqlDWTableDataset(Dataset):
7196    """The Azure SQL Data Warehouse dataset.
7197
7198    All required parameters must be populated in order to send to Azure.
7199
7200    :param additional_properties: Unmatched properties from the message are deserialized to this
7201     collection.
7202    :type additional_properties: dict[str, any]
7203    :param type: Required. Type of dataset.Constant filled by server.
7204    :type type: str
7205    :param description: Dataset description.
7206    :type description: str
7207    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
7208     with resultType array), itemType: DatasetDataElement.
7209    :type structure: any
7210    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
7211     Expression with resultType array), itemType: DatasetSchemaDataElement.
7212    :type schema: any
7213    :param linked_service_name: Required. Linked service reference.
7214    :type linked_service_name:
7215     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
7216    :param parameters: Parameters for dataset.
7217    :type parameters: dict[str,
7218     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
7219    :param annotations: List of tags that can be used for describing the Dataset.
7220    :type annotations: list[any]
7221    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
7222     root level.
7223    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
7224    :param table_name: This property will be retired. Please consider using schema + table
7225     properties instead.
7226    :type table_name: any
7227    :param schema_type_properties_schema: The schema name of the Azure SQL Data Warehouse. Type:
7228     string (or Expression with resultType string).
7229    :type schema_type_properties_schema: any
7230    :param table: The table name of the Azure SQL Data Warehouse. Type: string (or Expression with
7231     resultType string).
7232    :type table: any
7233    """
7234
7235    _validation = {
7236        'type': {'required': True},
7237        'linked_service_name': {'required': True},
7238    }
7239
7240    _attribute_map = {
7241        'additional_properties': {'key': '', 'type': '{object}'},
7242        'type': {'key': 'type', 'type': 'str'},
7243        'description': {'key': 'description', 'type': 'str'},
7244        'structure': {'key': 'structure', 'type': 'object'},
7245        'schema': {'key': 'schema', 'type': 'object'},
7246        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
7247        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7248        'annotations': {'key': 'annotations', 'type': '[object]'},
7249        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
7250        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
7251        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
7252        'table': {'key': 'typeProperties.table', 'type': 'object'},
7253    }
7254
7255    def __init__(
7256        self,
7257        *,
7258        linked_service_name: "LinkedServiceReference",
7259        additional_properties: Optional[Dict[str, Any]] = None,
7260        description: Optional[str] = None,
7261        structure: Optional[Any] = None,
7262        schema: Optional[Any] = None,
7263        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7264        annotations: Optional[List[Any]] = None,
7265        folder: Optional["DatasetFolder"] = None,
7266        table_name: Optional[Any] = None,
7267        schema_type_properties_schema: Optional[Any] = None,
7268        table: Optional[Any] = None,
7269        **kwargs
7270    ):
7271        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)
7272        self.type = 'AzureSqlDWTable'  # type: str
7273        self.table_name = table_name
7274        self.schema_type_properties_schema = schema_type_properties_schema
7275        self.table = table
7276
7277
7278class AzureSqlMILinkedService(LinkedService):
7279    """Azure SQL Managed Instance linked service.
7280
7281    All required parameters must be populated in order to send to Azure.
7282
7283    :param additional_properties: Unmatched properties from the message are deserialized to this
7284     collection.
7285    :type additional_properties: dict[str, any]
7286    :param type: Required. Type of linked service.Constant filled by server.
7287    :type type: str
7288    :param connect_via: The integration runtime reference.
7289    :type connect_via:
7290     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
7291    :param description: Linked service description.
7292    :type description: str
7293    :param parameters: Parameters for linked service.
7294    :type parameters: dict[str,
7295     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
7296    :param annotations: List of tags that can be used for describing the linked service.
7297    :type annotations: list[any]
7298    :param connection_string: Required. The connection string. Type: string, SecureString or
7299     AzureKeyVaultSecretReference.
7300    :type connection_string: any
7301    :param password: The Azure key vault secret reference of password in connection string.
7302    :type password:
7303     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
7304    :param service_principal_id: The ID of the service principal used to authenticate against Azure
7305     SQL Managed Instance. Type: string (or Expression with resultType string).
7306    :type service_principal_id: any
7307    :param service_principal_key: The key of the service principal used to authenticate against
7308     Azure SQL Managed Instance.
7309    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
7310    :param tenant: The name or ID of the tenant to which the service principal belongs. Type:
7311     string (or Expression with resultType string).
7312    :type tenant: any
7313    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
7314     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
7315     factory regions’ cloud type. Type: string (or Expression with resultType string).
7316    :type azure_cloud_type: any
7317    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
7318     encrypted using the integration runtime credential manager. Type: string (or Expression with
7319     resultType string).
7320    :type encrypted_credential: any
7321    """
7322
7323    _validation = {
7324        'type': {'required': True},
7325        'connection_string': {'required': True},
7326    }
7327
7328    _attribute_map = {
7329        'additional_properties': {'key': '', 'type': '{object}'},
7330        'type': {'key': 'type', 'type': 'str'},
7331        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
7332        'description': {'key': 'description', 'type': 'str'},
7333        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7334        'annotations': {'key': 'annotations', 'type': '[object]'},
7335        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
7336        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
7337        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
7338        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
7339        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
7340        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
7341        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
7342    }
7343
7344    def __init__(
7345        self,
7346        *,
7347        connection_string: Any,
7348        additional_properties: Optional[Dict[str, Any]] = None,
7349        connect_via: Optional["IntegrationRuntimeReference"] = None,
7350        description: Optional[str] = None,
7351        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7352        annotations: Optional[List[Any]] = None,
7353        password: Optional["AzureKeyVaultSecretReference"] = None,
7354        service_principal_id: Optional[Any] = None,
7355        service_principal_key: Optional["SecretBase"] = None,
7356        tenant: Optional[Any] = None,
7357        azure_cloud_type: Optional[Any] = None,
7358        encrypted_credential: Optional[Any] = None,
7359        **kwargs
7360    ):
7361        super(AzureSqlMILinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
7362        self.type = 'AzureSqlMI'  # type: str
7363        self.connection_string = connection_string
7364        self.password = password
7365        self.service_principal_id = service_principal_id
7366        self.service_principal_key = service_principal_key
7367        self.tenant = tenant
7368        self.azure_cloud_type = azure_cloud_type
7369        self.encrypted_credential = encrypted_credential
7370
7371
7372class AzureSqlMITableDataset(Dataset):
7373    """The Azure SQL Managed Instance dataset.
7374
7375    All required parameters must be populated in order to send to Azure.
7376
7377    :param additional_properties: Unmatched properties from the message are deserialized to this
7378     collection.
7379    :type additional_properties: dict[str, any]
7380    :param type: Required. Type of dataset.Constant filled by server.
7381    :type type: str
7382    :param description: Dataset description.
7383    :type description: str
7384    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
7385     with resultType array), itemType: DatasetDataElement.
7386    :type structure: any
7387    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
7388     Expression with resultType array), itemType: DatasetSchemaDataElement.
7389    :type schema: any
7390    :param linked_service_name: Required. Linked service reference.
7391    :type linked_service_name:
7392     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
7393    :param parameters: Parameters for dataset.
7394    :type parameters: dict[str,
7395     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
7396    :param annotations: List of tags that can be used for describing the Dataset.
7397    :type annotations: list[any]
7398    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
7399     root level.
7400    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
7401    :param table_name: This property will be retired. Please consider using schema + table
7402     properties instead.
7403    :type table_name: any
7404    :param schema_type_properties_schema: The schema name of the Azure SQL Managed Instance. Type:
7405     string (or Expression with resultType string).
7406    :type schema_type_properties_schema: any
7407    :param table: The table name of the Azure SQL Managed Instance dataset. Type: string (or
7408     Expression with resultType string).
7409    :type table: any
7410    """
7411
7412    _validation = {
7413        'type': {'required': True},
7414        'linked_service_name': {'required': True},
7415    }
7416
7417    _attribute_map = {
7418        'additional_properties': {'key': '', 'type': '{object}'},
7419        'type': {'key': 'type', 'type': 'str'},
7420        'description': {'key': 'description', 'type': 'str'},
7421        'structure': {'key': 'structure', 'type': 'object'},
7422        'schema': {'key': 'schema', 'type': 'object'},
7423        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
7424        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7425        'annotations': {'key': 'annotations', 'type': '[object]'},
7426        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
7427        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
7428        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
7429        'table': {'key': 'typeProperties.table', 'type': 'object'},
7430    }
7431
7432    def __init__(
7433        self,
7434        *,
7435        linked_service_name: "LinkedServiceReference",
7436        additional_properties: Optional[Dict[str, Any]] = None,
7437        description: Optional[str] = None,
7438        structure: Optional[Any] = None,
7439        schema: Optional[Any] = None,
7440        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7441        annotations: Optional[List[Any]] = None,
7442        folder: Optional["DatasetFolder"] = None,
7443        table_name: Optional[Any] = None,
7444        schema_type_properties_schema: Optional[Any] = None,
7445        table: Optional[Any] = None,
7446        **kwargs
7447    ):
7448        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)
7449        self.type = 'AzureSqlMITable'  # type: str
7450        self.table_name = table_name
7451        self.schema_type_properties_schema = schema_type_properties_schema
7452        self.table = table
7453
7454
7455class AzureSqlSink(CopySink):
7456    """A copy activity Azure SQL sink.
7457
7458    All required parameters must be populated in order to send to Azure.
7459
7460    :param additional_properties: Unmatched properties from the message are deserialized to this
7461     collection.
7462    :type additional_properties: dict[str, any]
7463    :param type: Required. Copy sink type.Constant filled by server.
7464    :type type: str
7465    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
7466     integer), minimum: 0.
7467    :type write_batch_size: any
7468    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
7469     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7470    :type write_batch_timeout: any
7471    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
7472     integer).
7473    :type sink_retry_count: any
7474    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
7475     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7476    :type sink_retry_wait: any
7477    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
7478     store. Type: integer (or Expression with resultType integer).
7479    :type max_concurrent_connections: any
7480    :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or
7481     Expression with resultType string).
7482    :type sql_writer_stored_procedure_name: any
7483    :param sql_writer_table_type: SQL writer table type. Type: string (or Expression with
7484     resultType string).
7485    :type sql_writer_table_type: any
7486    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
7487     string).
7488    :type pre_copy_script: any
7489    :param stored_procedure_parameters: SQL stored procedure parameters.
7490    :type stored_procedure_parameters: dict[str,
7491     ~azure.synapse.artifacts.v2021_06_01_preview.models.StoredProcedureParameter]
7492    :param stored_procedure_table_type_parameter_name: The stored procedure parameter name of the
7493     table type. Type: string (or Expression with resultType string).
7494    :type stored_procedure_table_type_parameter_name: any
7495    :param table_option: The option to handle sink table, such as autoCreate. For now only
7496     'autoCreate' value is supported. Type: string (or Expression with resultType string).
7497    :type table_option: any
7498    """
7499
7500    _validation = {
7501        'type': {'required': True},
7502    }
7503
7504    _attribute_map = {
7505        'additional_properties': {'key': '', 'type': '{object}'},
7506        'type': {'key': 'type', 'type': 'str'},
7507        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
7508        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
7509        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
7510        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
7511        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
7512        'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'},
7513        'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'},
7514        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
7515        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
7516        'stored_procedure_table_type_parameter_name': {'key': 'storedProcedureTableTypeParameterName', 'type': 'object'},
7517        'table_option': {'key': 'tableOption', 'type': 'object'},
7518    }
7519
7520    def __init__(
7521        self,
7522        *,
7523        additional_properties: Optional[Dict[str, Any]] = None,
7524        write_batch_size: Optional[Any] = None,
7525        write_batch_timeout: Optional[Any] = None,
7526        sink_retry_count: Optional[Any] = None,
7527        sink_retry_wait: Optional[Any] = None,
7528        max_concurrent_connections: Optional[Any] = None,
7529        sql_writer_stored_procedure_name: Optional[Any] = None,
7530        sql_writer_table_type: Optional[Any] = None,
7531        pre_copy_script: Optional[Any] = None,
7532        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
7533        stored_procedure_table_type_parameter_name: Optional[Any] = None,
7534        table_option: Optional[Any] = None,
7535        **kwargs
7536    ):
7537        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)
7538        self.type = 'AzureSqlSink'  # type: str
7539        self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name
7540        self.sql_writer_table_type = sql_writer_table_type
7541        self.pre_copy_script = pre_copy_script
7542        self.stored_procedure_parameters = stored_procedure_parameters
7543        self.stored_procedure_table_type_parameter_name = stored_procedure_table_type_parameter_name
7544        self.table_option = table_option
7545
7546
7547class AzureSqlSource(TabularSource):
7548    """A copy activity Azure SQL source.
7549
7550    All required parameters must be populated in order to send to Azure.
7551
7552    :param additional_properties: Unmatched properties from the message are deserialized to this
7553     collection.
7554    :type additional_properties: dict[str, any]
7555    :param type: Required. Copy source type.Constant filled by server.
7556    :type type: str
7557    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
7558     integer).
7559    :type source_retry_count: any
7560    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
7561     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7562    :type source_retry_wait: any
7563    :param max_concurrent_connections: The maximum concurrent connection count for the source data
7564     store. Type: integer (or Expression with resultType integer).
7565    :type max_concurrent_connections: any
7566    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
7567     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7568    :type query_timeout: any
7569    :param additional_columns: Specifies the additional columns to be added to source data. Type:
7570     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
7571    :type additional_columns: any
7572    :param sql_reader_query: SQL reader query. Type: string (or Expression with resultType string).
7573    :type sql_reader_query: any
7574    :param sql_reader_stored_procedure_name: Name of the stored procedure for a SQL Database
7575     source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression
7576     with resultType string).
7577    :type sql_reader_stored_procedure_name: any
7578    :param stored_procedure_parameters: Value and type setting for stored procedure parameters.
7579     Example: "{Parameter1: {value: "1", type: "int"}}".
7580    :type stored_procedure_parameters: dict[str,
7581     ~azure.synapse.artifacts.v2021_06_01_preview.models.StoredProcedureParameter]
7582    :param produce_additional_types: Which additional types to produce.
7583    :type produce_additional_types: any
7584    :param partition_option: The partition mechanism that will be used for Sql read in parallel.
7585     Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange".
7586    :type partition_option: any
7587    :param partition_settings: The settings that will be leveraged for Sql source partitioning.
7588    :type partition_settings:
7589     ~azure.synapse.artifacts.v2021_06_01_preview.models.SqlPartitionSettings
7590    """
7591
7592    _validation = {
7593        'type': {'required': True},
7594    }
7595
7596    _attribute_map = {
7597        'additional_properties': {'key': '', 'type': '{object}'},
7598        'type': {'key': 'type', 'type': 'str'},
7599        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
7600        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
7601        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
7602        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
7603        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
7604        'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'},
7605        'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'},
7606        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
7607        'produce_additional_types': {'key': 'produceAdditionalTypes', 'type': 'object'},
7608        'partition_option': {'key': 'partitionOption', 'type': 'object'},
7609        'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'},
7610    }
7611
7612    def __init__(
7613        self,
7614        *,
7615        additional_properties: Optional[Dict[str, Any]] = None,
7616        source_retry_count: Optional[Any] = None,
7617        source_retry_wait: Optional[Any] = None,
7618        max_concurrent_connections: Optional[Any] = None,
7619        query_timeout: Optional[Any] = None,
7620        additional_columns: Optional[Any] = None,
7621        sql_reader_query: Optional[Any] = None,
7622        sql_reader_stored_procedure_name: Optional[Any] = None,
7623        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
7624        produce_additional_types: Optional[Any] = None,
7625        partition_option: Optional[Any] = None,
7626        partition_settings: Optional["SqlPartitionSettings"] = None,
7627        **kwargs
7628    ):
7629        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)
7630        self.type = 'AzureSqlSource'  # type: str
7631        self.sql_reader_query = sql_reader_query
7632        self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name
7633        self.stored_procedure_parameters = stored_procedure_parameters
7634        self.produce_additional_types = produce_additional_types
7635        self.partition_option = partition_option
7636        self.partition_settings = partition_settings
7637
7638
7639class AzureSqlTableDataset(Dataset):
7640    """The Azure SQL Server database dataset.
7641
7642    All required parameters must be populated in order to send to Azure.
7643
7644    :param additional_properties: Unmatched properties from the message are deserialized to this
7645     collection.
7646    :type additional_properties: dict[str, any]
7647    :param type: Required. Type of dataset.Constant filled by server.
7648    :type type: str
7649    :param description: Dataset description.
7650    :type description: str
7651    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
7652     with resultType array), itemType: DatasetDataElement.
7653    :type structure: any
7654    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
7655     Expression with resultType array), itemType: DatasetSchemaDataElement.
7656    :type schema: any
7657    :param linked_service_name: Required. Linked service reference.
7658    :type linked_service_name:
7659     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
7660    :param parameters: Parameters for dataset.
7661    :type parameters: dict[str,
7662     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
7663    :param annotations: List of tags that can be used for describing the Dataset.
7664    :type annotations: list[any]
7665    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
7666     root level.
7667    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
7668    :param table_name: This property will be retired. Please consider using schema + table
7669     properties instead.
7670    :type table_name: any
7671    :param schema_type_properties_schema: The schema name of the Azure SQL database. Type: string
7672     (or Expression with resultType string).
7673    :type schema_type_properties_schema: any
7674    :param table: The table name of the Azure SQL database. Type: string (or Expression with
7675     resultType string).
7676    :type table: any
7677    """
7678
7679    _validation = {
7680        'type': {'required': True},
7681        'linked_service_name': {'required': True},
7682    }
7683
7684    _attribute_map = {
7685        'additional_properties': {'key': '', 'type': '{object}'},
7686        'type': {'key': 'type', 'type': 'str'},
7687        'description': {'key': 'description', 'type': 'str'},
7688        'structure': {'key': 'structure', 'type': 'object'},
7689        'schema': {'key': 'schema', 'type': 'object'},
7690        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
7691        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7692        'annotations': {'key': 'annotations', 'type': '[object]'},
7693        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
7694        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
7695        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
7696        'table': {'key': 'typeProperties.table', 'type': 'object'},
7697    }
7698
7699    def __init__(
7700        self,
7701        *,
7702        linked_service_name: "LinkedServiceReference",
7703        additional_properties: Optional[Dict[str, Any]] = None,
7704        description: Optional[str] = None,
7705        structure: Optional[Any] = None,
7706        schema: Optional[Any] = None,
7707        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7708        annotations: Optional[List[Any]] = None,
7709        folder: Optional["DatasetFolder"] = None,
7710        table_name: Optional[Any] = None,
7711        schema_type_properties_schema: Optional[Any] = None,
7712        table: Optional[Any] = None,
7713        **kwargs
7714    ):
7715        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)
7716        self.type = 'AzureSqlTable'  # type: str
7717        self.table_name = table_name
7718        self.schema_type_properties_schema = schema_type_properties_schema
7719        self.table = table
7720
7721
7722class AzureStorageLinkedService(LinkedService):
7723    """The storage account linked service.
7724
7725    All required parameters must be populated in order to send to Azure.
7726
7727    :param additional_properties: Unmatched properties from the message are deserialized to this
7728     collection.
7729    :type additional_properties: dict[str, any]
7730    :param type: Required. Type of linked service.Constant filled by server.
7731    :type type: str
7732    :param connect_via: The integration runtime reference.
7733    :type connect_via:
7734     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
7735    :param description: Linked service description.
7736    :type description: str
7737    :param parameters: Parameters for linked service.
7738    :type parameters: dict[str,
7739     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
7740    :param annotations: List of tags that can be used for describing the linked service.
7741    :type annotations: list[any]
7742    :param connection_string: The connection string. It is mutually exclusive with sasUri property.
7743     Type: string, SecureString or AzureKeyVaultSecretReference.
7744    :type connection_string: any
7745    :param account_key: The Azure key vault secret reference of accountKey in connection string.
7746    :type account_key:
7747     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
7748    :param sas_uri: SAS URI of the Azure Storage resource. It is mutually exclusive with
7749     connectionString property. Type: string, SecureString or AzureKeyVaultSecretReference.
7750    :type sas_uri: any
7751    :param sas_token: The Azure key vault secret reference of sasToken in sas uri.
7752    :type sas_token:
7753     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
7754    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
7755     encrypted using the integration runtime credential manager. Type: string (or Expression with
7756     resultType string).
7757    :type encrypted_credential: str
7758    """
7759
7760    _validation = {
7761        'type': {'required': True},
7762    }
7763
7764    _attribute_map = {
7765        'additional_properties': {'key': '', 'type': '{object}'},
7766        'type': {'key': 'type', 'type': 'str'},
7767        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
7768        'description': {'key': 'description', 'type': 'str'},
7769        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7770        'annotations': {'key': 'annotations', 'type': '[object]'},
7771        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
7772        'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'},
7773        'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'},
7774        'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'},
7775        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'},
7776    }
7777
7778    def __init__(
7779        self,
7780        *,
7781        additional_properties: Optional[Dict[str, Any]] = None,
7782        connect_via: Optional["IntegrationRuntimeReference"] = None,
7783        description: Optional[str] = None,
7784        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7785        annotations: Optional[List[Any]] = None,
7786        connection_string: Optional[Any] = None,
7787        account_key: Optional["AzureKeyVaultSecretReference"] = None,
7788        sas_uri: Optional[Any] = None,
7789        sas_token: Optional["AzureKeyVaultSecretReference"] = None,
7790        encrypted_credential: Optional[str] = None,
7791        **kwargs
7792    ):
7793        super(AzureStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
7794        self.type = 'AzureStorage'  # type: str
7795        self.connection_string = connection_string
7796        self.account_key = account_key
7797        self.sas_uri = sas_uri
7798        self.sas_token = sas_token
7799        self.encrypted_credential = encrypted_credential
7800
7801
7802class AzureTableDataset(Dataset):
7803    """The Azure Table storage dataset.
7804
7805    All required parameters must be populated in order to send to Azure.
7806
7807    :param additional_properties: Unmatched properties from the message are deserialized to this
7808     collection.
7809    :type additional_properties: dict[str, any]
7810    :param type: Required. Type of dataset.Constant filled by server.
7811    :type type: str
7812    :param description: Dataset description.
7813    :type description: str
7814    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
7815     with resultType array), itemType: DatasetDataElement.
7816    :type structure: any
7817    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
7818     Expression with resultType array), itemType: DatasetSchemaDataElement.
7819    :type schema: any
7820    :param linked_service_name: Required. Linked service reference.
7821    :type linked_service_name:
7822     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
7823    :param parameters: Parameters for dataset.
7824    :type parameters: dict[str,
7825     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
7826    :param annotations: List of tags that can be used for describing the Dataset.
7827    :type annotations: list[any]
7828    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
7829     root level.
7830    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
7831    :param table_name: Required. The table name of the Azure Table storage. Type: string (or
7832     Expression with resultType string).
7833    :type table_name: any
7834    """
7835
7836    _validation = {
7837        'type': {'required': True},
7838        'linked_service_name': {'required': True},
7839        'table_name': {'required': True},
7840    }
7841
7842    _attribute_map = {
7843        'additional_properties': {'key': '', 'type': '{object}'},
7844        'type': {'key': 'type', 'type': 'str'},
7845        'description': {'key': 'description', 'type': 'str'},
7846        'structure': {'key': 'structure', 'type': 'object'},
7847        'schema': {'key': 'schema', 'type': 'object'},
7848        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
7849        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
7850        'annotations': {'key': 'annotations', 'type': '[object]'},
7851        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
7852        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
7853    }
7854
7855    def __init__(
7856        self,
7857        *,
7858        linked_service_name: "LinkedServiceReference",
7859        table_name: Any,
7860        additional_properties: Optional[Dict[str, Any]] = None,
7861        description: Optional[str] = None,
7862        structure: Optional[Any] = None,
7863        schema: Optional[Any] = None,
7864        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
7865        annotations: Optional[List[Any]] = None,
7866        folder: Optional["DatasetFolder"] = None,
7867        **kwargs
7868    ):
7869        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)
7870        self.type = 'AzureTable'  # type: str
7871        self.table_name = table_name
7872
7873
7874class AzureTableSink(CopySink):
7875    """A copy activity Azure Table sink.
7876
7877    All required parameters must be populated in order to send to Azure.
7878
7879    :param additional_properties: Unmatched properties from the message are deserialized to this
7880     collection.
7881    :type additional_properties: dict[str, any]
7882    :param type: Required. Copy sink type.Constant filled by server.
7883    :type type: str
7884    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
7885     integer), minimum: 0.
7886    :type write_batch_size: any
7887    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
7888     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7889    :type write_batch_timeout: any
7890    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
7891     integer).
7892    :type sink_retry_count: any
7893    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
7894     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7895    :type sink_retry_wait: any
7896    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
7897     store. Type: integer (or Expression with resultType integer).
7898    :type max_concurrent_connections: any
7899    :param azure_table_default_partition_key_value: Azure Table default partition key value. Type:
7900     string (or Expression with resultType string).
7901    :type azure_table_default_partition_key_value: any
7902    :param azure_table_partition_key_name: Azure Table partition key name. Type: string (or
7903     Expression with resultType string).
7904    :type azure_table_partition_key_name: any
7905    :param azure_table_row_key_name: Azure Table row key name. Type: string (or Expression with
7906     resultType string).
7907    :type azure_table_row_key_name: any
7908    :param azure_table_insert_type: Azure Table insert type. Type: string (or Expression with
7909     resultType string).
7910    :type azure_table_insert_type: any
7911    """
7912
7913    _validation = {
7914        'type': {'required': True},
7915    }
7916
7917    _attribute_map = {
7918        'additional_properties': {'key': '', 'type': '{object}'},
7919        'type': {'key': 'type', 'type': 'str'},
7920        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
7921        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
7922        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
7923        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
7924        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
7925        'azure_table_default_partition_key_value': {'key': 'azureTableDefaultPartitionKeyValue', 'type': 'object'},
7926        'azure_table_partition_key_name': {'key': 'azureTablePartitionKeyName', 'type': 'object'},
7927        'azure_table_row_key_name': {'key': 'azureTableRowKeyName', 'type': 'object'},
7928        'azure_table_insert_type': {'key': 'azureTableInsertType', 'type': 'object'},
7929    }
7930
7931    def __init__(
7932        self,
7933        *,
7934        additional_properties: Optional[Dict[str, Any]] = None,
7935        write_batch_size: Optional[Any] = None,
7936        write_batch_timeout: Optional[Any] = None,
7937        sink_retry_count: Optional[Any] = None,
7938        sink_retry_wait: Optional[Any] = None,
7939        max_concurrent_connections: Optional[Any] = None,
7940        azure_table_default_partition_key_value: Optional[Any] = None,
7941        azure_table_partition_key_name: Optional[Any] = None,
7942        azure_table_row_key_name: Optional[Any] = None,
7943        azure_table_insert_type: Optional[Any] = None,
7944        **kwargs
7945    ):
7946        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)
7947        self.type = 'AzureTableSink'  # type: str
7948        self.azure_table_default_partition_key_value = azure_table_default_partition_key_value
7949        self.azure_table_partition_key_name = azure_table_partition_key_name
7950        self.azure_table_row_key_name = azure_table_row_key_name
7951        self.azure_table_insert_type = azure_table_insert_type
7952
7953
7954class AzureTableSource(TabularSource):
7955    """A copy activity Azure Table source.
7956
7957    All required parameters must be populated in order to send to Azure.
7958
7959    :param additional_properties: Unmatched properties from the message are deserialized to this
7960     collection.
7961    :type additional_properties: dict[str, any]
7962    :param type: Required. Copy source type.Constant filled by server.
7963    :type type: str
7964    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
7965     integer).
7966    :type source_retry_count: any
7967    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
7968     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7969    :type source_retry_wait: any
7970    :param max_concurrent_connections: The maximum concurrent connection count for the source data
7971     store. Type: integer (or Expression with resultType integer).
7972    :type max_concurrent_connections: any
7973    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
7974     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
7975    :type query_timeout: any
7976    :param additional_columns: Specifies the additional columns to be added to source data. Type:
7977     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
7978    :type additional_columns: any
7979    :param azure_table_source_query: Azure Table source query. Type: string (or Expression with
7980     resultType string).
7981    :type azure_table_source_query: any
7982    :param azure_table_source_ignore_table_not_found: Azure Table source ignore table not found.
7983     Type: boolean (or Expression with resultType boolean).
7984    :type azure_table_source_ignore_table_not_found: any
7985    """
7986
7987    _validation = {
7988        'type': {'required': True},
7989    }
7990
7991    _attribute_map = {
7992        'additional_properties': {'key': '', 'type': '{object}'},
7993        'type': {'key': 'type', 'type': 'str'},
7994        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
7995        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
7996        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
7997        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
7998        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
7999        'azure_table_source_query': {'key': 'azureTableSourceQuery', 'type': 'object'},
8000        'azure_table_source_ignore_table_not_found': {'key': 'azureTableSourceIgnoreTableNotFound', 'type': 'object'},
8001    }
8002
8003    def __init__(
8004        self,
8005        *,
8006        additional_properties: Optional[Dict[str, Any]] = None,
8007        source_retry_count: Optional[Any] = None,
8008        source_retry_wait: Optional[Any] = None,
8009        max_concurrent_connections: Optional[Any] = None,
8010        query_timeout: Optional[Any] = None,
8011        additional_columns: Optional[Any] = None,
8012        azure_table_source_query: Optional[Any] = None,
8013        azure_table_source_ignore_table_not_found: Optional[Any] = None,
8014        **kwargs
8015    ):
8016        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)
8017        self.type = 'AzureTableSource'  # type: str
8018        self.azure_table_source_query = azure_table_source_query
8019        self.azure_table_source_ignore_table_not_found = azure_table_source_ignore_table_not_found
8020
8021
8022class AzureTableStorageLinkedService(LinkedService):
8023    """The azure table storage linked service.
8024
8025    All required parameters must be populated in order to send to Azure.
8026
8027    :param additional_properties: Unmatched properties from the message are deserialized to this
8028     collection.
8029    :type additional_properties: dict[str, any]
8030    :param type: Required. Type of linked service.Constant filled by server.
8031    :type type: str
8032    :param connect_via: The integration runtime reference.
8033    :type connect_via:
8034     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
8035    :param description: Linked service description.
8036    :type description: str
8037    :param parameters: Parameters for linked service.
8038    :type parameters: dict[str,
8039     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
8040    :param annotations: List of tags that can be used for describing the linked service.
8041    :type annotations: list[any]
8042    :param connection_string: The connection string. It is mutually exclusive with sasUri property.
8043     Type: string, SecureString or AzureKeyVaultSecretReference.
8044    :type connection_string: any
8045    :param account_key: The Azure key vault secret reference of accountKey in connection string.
8046    :type account_key:
8047     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
8048    :param sas_uri: SAS URI of the Azure Storage resource. It is mutually exclusive with
8049     connectionString property. Type: string, SecureString or AzureKeyVaultSecretReference.
8050    :type sas_uri: any
8051    :param sas_token: The Azure key vault secret reference of sasToken in sas uri.
8052    :type sas_token:
8053     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
8054    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
8055     encrypted using the integration runtime credential manager. Type: string (or Expression with
8056     resultType string).
8057    :type encrypted_credential: str
8058    """
8059
8060    _validation = {
8061        'type': {'required': True},
8062    }
8063
8064    _attribute_map = {
8065        'additional_properties': {'key': '', 'type': '{object}'},
8066        'type': {'key': 'type', 'type': 'str'},
8067        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
8068        'description': {'key': 'description', 'type': 'str'},
8069        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
8070        'annotations': {'key': 'annotations', 'type': '[object]'},
8071        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
8072        'account_key': {'key': 'typeProperties.accountKey', 'type': 'AzureKeyVaultSecretReference'},
8073        'sas_uri': {'key': 'typeProperties.sasUri', 'type': 'object'},
8074        'sas_token': {'key': 'typeProperties.sasToken', 'type': 'AzureKeyVaultSecretReference'},
8075        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'},
8076    }
8077
8078    def __init__(
8079        self,
8080        *,
8081        additional_properties: Optional[Dict[str, Any]] = None,
8082        connect_via: Optional["IntegrationRuntimeReference"] = None,
8083        description: Optional[str] = None,
8084        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
8085        annotations: Optional[List[Any]] = None,
8086        connection_string: Optional[Any] = None,
8087        account_key: Optional["AzureKeyVaultSecretReference"] = None,
8088        sas_uri: Optional[Any] = None,
8089        sas_token: Optional["AzureKeyVaultSecretReference"] = None,
8090        encrypted_credential: Optional[str] = None,
8091        **kwargs
8092    ):
8093        super(AzureTableStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
8094        self.type = 'AzureTableStorage'  # type: str
8095        self.connection_string = connection_string
8096        self.account_key = account_key
8097        self.sas_uri = sas_uri
8098        self.sas_token = sas_token
8099        self.encrypted_credential = encrypted_credential
8100
8101
8102class BigDataPoolReference(msrest.serialization.Model):
8103    """Big data pool reference.
8104
8105    All required parameters must be populated in order to send to Azure.
8106
8107    :param type: Required. Big data pool reference type. Possible values include:
8108     "BigDataPoolReference".
8109    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.BigDataPoolReferenceType
8110    :param reference_name: Required. Reference big data pool name.
8111    :type reference_name: str
8112    """
8113
8114    _validation = {
8115        'type': {'required': True},
8116        'reference_name': {'required': True},
8117    }
8118
8119    _attribute_map = {
8120        'type': {'key': 'type', 'type': 'str'},
8121        'reference_name': {'key': 'referenceName', 'type': 'str'},
8122    }
8123
8124    def __init__(
8125        self,
8126        *,
8127        type: Union[str, "BigDataPoolReferenceType"],
8128        reference_name: str,
8129        **kwargs
8130    ):
8131        super(BigDataPoolReference, self).__init__(**kwargs)
8132        self.type = type
8133        self.reference_name = reference_name
8134
8135
8136class TrackedResource(Resource):
8137    """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'.
8138
8139    Variables are only populated by the server, and will be ignored when sending a request.
8140
8141    All required parameters must be populated in order to send to Azure.
8142
8143    :ivar id: Fully qualified resource ID for the resource. Ex -
8144     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
8145    :vartype id: str
8146    :ivar name: The name of the resource.
8147    :vartype name: str
8148    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
8149     "Microsoft.Storage/storageAccounts".
8150    :vartype type: str
8151    :param tags: A set of tags. Resource tags.
8152    :type tags: dict[str, str]
8153    :param location: Required. The geo-location where the resource lives.
8154    :type location: str
8155    """
8156
8157    _validation = {
8158        'id': {'readonly': True},
8159        'name': {'readonly': True},
8160        'type': {'readonly': True},
8161        'location': {'required': True},
8162    }
8163
8164    _attribute_map = {
8165        'id': {'key': 'id', 'type': 'str'},
8166        'name': {'key': 'name', 'type': 'str'},
8167        'type': {'key': 'type', 'type': 'str'},
8168        'tags': {'key': 'tags', 'type': '{str}'},
8169        'location': {'key': 'location', 'type': 'str'},
8170    }
8171
8172    def __init__(
8173        self,
8174        *,
8175        location: str,
8176        tags: Optional[Dict[str, str]] = None,
8177        **kwargs
8178    ):
8179        super(TrackedResource, self).__init__(**kwargs)
8180        self.tags = tags
8181        self.location = location
8182
8183
8184class BigDataPoolResourceInfo(TrackedResource):
8185    """A Big Data pool.
8186
8187    Variables are only populated by the server, and will be ignored when sending a request.
8188
8189    All required parameters must be populated in order to send to Azure.
8190
8191    :ivar id: Fully qualified resource ID for the resource. Ex -
8192     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
8193    :vartype id: str
8194    :ivar name: The name of the resource.
8195    :vartype name: str
8196    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
8197     "Microsoft.Storage/storageAccounts".
8198    :vartype type: str
8199    :param tags: A set of tags. Resource tags.
8200    :type tags: dict[str, str]
8201    :param location: Required. The geo-location where the resource lives.
8202    :type location: str
8203    :param provisioning_state: The state of the Big Data pool.
8204    :type provisioning_state: str
8205    :param auto_scale: Auto-scaling properties.
8206    :type auto_scale: ~azure.synapse.artifacts.v2021_06_01_preview.models.AutoScaleProperties
8207    :param creation_date: The time when the Big Data pool was created.
8208    :type creation_date: ~datetime.datetime
8209    :param auto_pause: Auto-pausing properties.
8210    :type auto_pause: ~azure.synapse.artifacts.v2021_06_01_preview.models.AutoPauseProperties
8211    :param is_compute_isolation_enabled: Whether compute isolation is required or not.
8212    :type is_compute_isolation_enabled: bool
8213    :param session_level_packages_enabled: Whether session level packages enabled.
8214    :type session_level_packages_enabled: bool
8215    :param cache_size: The cache size.
8216    :type cache_size: int
8217    :param dynamic_executor_allocation: Dynamic Executor Allocation.
8218    :type dynamic_executor_allocation:
8219     ~azure.synapse.artifacts.v2021_06_01_preview.models.DynamicExecutorAllocation
8220    :param spark_events_folder: The Spark events folder.
8221    :type spark_events_folder: str
8222    :param node_count: The number of nodes in the Big Data pool.
8223    :type node_count: int
8224    :param library_requirements: Library version requirements.
8225    :type library_requirements:
8226     ~azure.synapse.artifacts.v2021_06_01_preview.models.LibraryRequirements
8227    :param custom_libraries: List of custom libraries/packages associated with the spark pool.
8228    :type custom_libraries: list[~azure.synapse.artifacts.v2021_06_01_preview.models.LibraryInfo]
8229    :param spark_config_properties: Spark configuration file to specify additional properties.
8230    :type spark_config_properties:
8231     ~azure.synapse.artifacts.v2021_06_01_preview.models.LibraryRequirements
8232    :param spark_version: The Apache Spark version.
8233    :type spark_version: str
8234    :param default_spark_log_folder: The default folder where Spark logs will be written.
8235    :type default_spark_log_folder: str
8236    :param node_size: The level of compute power that each node in the Big Data pool has. Possible
8237     values include: "None", "Small", "Medium", "Large", "XLarge", "XXLarge", "XXXLarge".
8238    :type node_size: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.NodeSize
8239    :param node_size_family: The kind of nodes that the Big Data pool provides. Possible values
8240     include: "None", "MemoryOptimized".
8241    :type node_size_family: str or
8242     ~azure.synapse.artifacts.v2021_06_01_preview.models.NodeSizeFamily
8243    :ivar last_succeeded_timestamp: The time when the Big Data pool was updated successfully.
8244    :vartype last_succeeded_timestamp: ~datetime.datetime
8245    """
8246
8247    _validation = {
8248        'id': {'readonly': True},
8249        'name': {'readonly': True},
8250        'type': {'readonly': True},
8251        'location': {'required': True},
8252        'last_succeeded_timestamp': {'readonly': True},
8253    }
8254
8255    _attribute_map = {
8256        'id': {'key': 'id', 'type': 'str'},
8257        'name': {'key': 'name', 'type': 'str'},
8258        'type': {'key': 'type', 'type': 'str'},
8259        'tags': {'key': 'tags', 'type': '{str}'},
8260        'location': {'key': 'location', 'type': 'str'},
8261        'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
8262        'auto_scale': {'key': 'properties.autoScale', 'type': 'AutoScaleProperties'},
8263        'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'},
8264        'auto_pause': {'key': 'properties.autoPause', 'type': 'AutoPauseProperties'},
8265        'is_compute_isolation_enabled': {'key': 'properties.isComputeIsolationEnabled', 'type': 'bool'},
8266        'session_level_packages_enabled': {'key': 'properties.sessionLevelPackagesEnabled', 'type': 'bool'},
8267        'cache_size': {'key': 'properties.cacheSize', 'type': 'int'},
8268        'dynamic_executor_allocation': {'key': 'properties.dynamicExecutorAllocation', 'type': 'DynamicExecutorAllocation'},
8269        'spark_events_folder': {'key': 'properties.sparkEventsFolder', 'type': 'str'},
8270        'node_count': {'key': 'properties.nodeCount', 'type': 'int'},
8271        'library_requirements': {'key': 'properties.libraryRequirements', 'type': 'LibraryRequirements'},
8272        'custom_libraries': {'key': 'properties.customLibraries', 'type': '[LibraryInfo]'},
8273        'spark_config_properties': {'key': 'properties.sparkConfigProperties', 'type': 'LibraryRequirements'},
8274        'spark_version': {'key': 'properties.sparkVersion', 'type': 'str'},
8275        'default_spark_log_folder': {'key': 'properties.defaultSparkLogFolder', 'type': 'str'},
8276        'node_size': {'key': 'properties.nodeSize', 'type': 'str'},
8277        'node_size_family': {'key': 'properties.nodeSizeFamily', 'type': 'str'},
8278        'last_succeeded_timestamp': {'key': 'properties.lastSucceededTimestamp', 'type': 'iso-8601'},
8279    }
8280
8281    def __init__(
8282        self,
8283        *,
8284        location: str,
8285        tags: Optional[Dict[str, str]] = None,
8286        provisioning_state: Optional[str] = None,
8287        auto_scale: Optional["AutoScaleProperties"] = None,
8288        creation_date: Optional[datetime.datetime] = None,
8289        auto_pause: Optional["AutoPauseProperties"] = None,
8290        is_compute_isolation_enabled: Optional[bool] = None,
8291        session_level_packages_enabled: Optional[bool] = None,
8292        cache_size: Optional[int] = None,
8293        dynamic_executor_allocation: Optional["DynamicExecutorAllocation"] = None,
8294        spark_events_folder: Optional[str] = None,
8295        node_count: Optional[int] = None,
8296        library_requirements: Optional["LibraryRequirements"] = None,
8297        custom_libraries: Optional[List["LibraryInfo"]] = None,
8298        spark_config_properties: Optional["LibraryRequirements"] = None,
8299        spark_version: Optional[str] = None,
8300        default_spark_log_folder: Optional[str] = None,
8301        node_size: Optional[Union[str, "NodeSize"]] = None,
8302        node_size_family: Optional[Union[str, "NodeSizeFamily"]] = None,
8303        **kwargs
8304    ):
8305        super(BigDataPoolResourceInfo, self).__init__(tags=tags, location=location, **kwargs)
8306        self.provisioning_state = provisioning_state
8307        self.auto_scale = auto_scale
8308        self.creation_date = creation_date
8309        self.auto_pause = auto_pause
8310        self.is_compute_isolation_enabled = is_compute_isolation_enabled
8311        self.session_level_packages_enabled = session_level_packages_enabled
8312        self.cache_size = cache_size
8313        self.dynamic_executor_allocation = dynamic_executor_allocation
8314        self.spark_events_folder = spark_events_folder
8315        self.node_count = node_count
8316        self.library_requirements = library_requirements
8317        self.custom_libraries = custom_libraries
8318        self.spark_config_properties = spark_config_properties
8319        self.spark_version = spark_version
8320        self.default_spark_log_folder = default_spark_log_folder
8321        self.node_size = node_size
8322        self.node_size_family = node_size_family
8323        self.last_succeeded_timestamp = None
8324
8325
8326class BigDataPoolResourceInfoListResult(msrest.serialization.Model):
8327    """Collection of Big Data pool information.
8328
8329    :param next_link: Link to the next page of results.
8330    :type next_link: str
8331    :param value: List of Big Data pools.
8332    :type value: list[~azure.synapse.artifacts.v2021_06_01_preview.models.BigDataPoolResourceInfo]
8333    """
8334
8335    _attribute_map = {
8336        'next_link': {'key': 'nextLink', 'type': 'str'},
8337        'value': {'key': 'value', 'type': '[BigDataPoolResourceInfo]'},
8338    }
8339
8340    def __init__(
8341        self,
8342        *,
8343        next_link: Optional[str] = None,
8344        value: Optional[List["BigDataPoolResourceInfo"]] = None,
8345        **kwargs
8346    ):
8347        super(BigDataPoolResourceInfoListResult, self).__init__(**kwargs)
8348        self.next_link = next_link
8349        self.value = value
8350
8351
8352class BinaryDataset(Dataset):
8353    """Binary dataset.
8354
8355    All required parameters must be populated in order to send to Azure.
8356
8357    :param additional_properties: Unmatched properties from the message are deserialized to this
8358     collection.
8359    :type additional_properties: dict[str, any]
8360    :param type: Required. Type of dataset.Constant filled by server.
8361    :type type: str
8362    :param description: Dataset description.
8363    :type description: str
8364    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
8365     with resultType array), itemType: DatasetDataElement.
8366    :type structure: any
8367    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
8368     Expression with resultType array), itemType: DatasetSchemaDataElement.
8369    :type schema: any
8370    :param linked_service_name: Required. Linked service reference.
8371    :type linked_service_name:
8372     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
8373    :param parameters: Parameters for dataset.
8374    :type parameters: dict[str,
8375     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
8376    :param annotations: List of tags that can be used for describing the Dataset.
8377    :type annotations: list[any]
8378    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
8379     root level.
8380    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
8381    :param location: The location of the Binary storage.
8382    :type location: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetLocation
8383    :param compression: The data compression method used for the binary dataset.
8384    :type compression: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetCompression
8385    """
8386
8387    _validation = {
8388        'type': {'required': True},
8389        'linked_service_name': {'required': True},
8390    }
8391
8392    _attribute_map = {
8393        'additional_properties': {'key': '', 'type': '{object}'},
8394        'type': {'key': 'type', 'type': 'str'},
8395        'description': {'key': 'description', 'type': 'str'},
8396        'structure': {'key': 'structure', 'type': 'object'},
8397        'schema': {'key': 'schema', 'type': 'object'},
8398        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
8399        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
8400        'annotations': {'key': 'annotations', 'type': '[object]'},
8401        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
8402        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
8403        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
8404    }
8405
8406    def __init__(
8407        self,
8408        *,
8409        linked_service_name: "LinkedServiceReference",
8410        additional_properties: Optional[Dict[str, Any]] = None,
8411        description: Optional[str] = None,
8412        structure: Optional[Any] = None,
8413        schema: Optional[Any] = None,
8414        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
8415        annotations: Optional[List[Any]] = None,
8416        folder: Optional["DatasetFolder"] = None,
8417        location: Optional["DatasetLocation"] = None,
8418        compression: Optional["DatasetCompression"] = None,
8419        **kwargs
8420    ):
8421        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)
8422        self.type = 'Binary'  # type: str
8423        self.location = location
8424        self.compression = compression
8425
8426
8427class FormatReadSettings(msrest.serialization.Model):
8428    """Format read settings.
8429
8430    You probably want to use the sub-classes and not this class directly. Known
8431    sub-classes are: BinaryReadSettings, DelimitedTextReadSettings, JsonReadSettings, XmlReadSettings.
8432
8433    All required parameters must be populated in order to send to Azure.
8434
8435    :param additional_properties: Unmatched properties from the message are deserialized to this
8436     collection.
8437    :type additional_properties: dict[str, any]
8438    :param type: Required. The read setting type.Constant filled by server.
8439    :type type: str
8440    """
8441
8442    _validation = {
8443        'type': {'required': True},
8444    }
8445
8446    _attribute_map = {
8447        'additional_properties': {'key': '', 'type': '{object}'},
8448        'type': {'key': 'type', 'type': 'str'},
8449    }
8450
8451    _subtype_map = {
8452        'type': {'BinaryReadSettings': 'BinaryReadSettings', 'DelimitedTextReadSettings': 'DelimitedTextReadSettings', 'JsonReadSettings': 'JsonReadSettings', 'XmlReadSettings': 'XmlReadSettings'}
8453    }
8454
8455    def __init__(
8456        self,
8457        *,
8458        additional_properties: Optional[Dict[str, Any]] = None,
8459        **kwargs
8460    ):
8461        super(FormatReadSettings, self).__init__(**kwargs)
8462        self.additional_properties = additional_properties
8463        self.type = 'FormatReadSettings'  # type: str
8464
8465
8466class BinaryReadSettings(FormatReadSettings):
8467    """Binary read settings.
8468
8469    All required parameters must be populated in order to send to Azure.
8470
8471    :param additional_properties: Unmatched properties from the message are deserialized to this
8472     collection.
8473    :type additional_properties: dict[str, any]
8474    :param type: Required. The read setting type.Constant filled by server.
8475    :type type: str
8476    :param compression_properties: Compression settings.
8477    :type compression_properties:
8478     ~azure.synapse.artifacts.v2021_06_01_preview.models.CompressionReadSettings
8479    """
8480
8481    _validation = {
8482        'type': {'required': True},
8483    }
8484
8485    _attribute_map = {
8486        'additional_properties': {'key': '', 'type': '{object}'},
8487        'type': {'key': 'type', 'type': 'str'},
8488        'compression_properties': {'key': 'compressionProperties', 'type': 'CompressionReadSettings'},
8489    }
8490
8491    def __init__(
8492        self,
8493        *,
8494        additional_properties: Optional[Dict[str, Any]] = None,
8495        compression_properties: Optional["CompressionReadSettings"] = None,
8496        **kwargs
8497    ):
8498        super(BinaryReadSettings, self).__init__(additional_properties=additional_properties, **kwargs)
8499        self.type = 'BinaryReadSettings'  # type: str
8500        self.compression_properties = compression_properties
8501
8502
8503class BinarySink(CopySink):
8504    """A copy activity Binary sink.
8505
8506    All required parameters must be populated in order to send to Azure.
8507
8508    :param additional_properties: Unmatched properties from the message are deserialized to this
8509     collection.
8510    :type additional_properties: dict[str, any]
8511    :param type: Required. Copy sink type.Constant filled by server.
8512    :type type: str
8513    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
8514     integer), minimum: 0.
8515    :type write_batch_size: any
8516    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
8517     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
8518    :type write_batch_timeout: any
8519    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
8520     integer).
8521    :type sink_retry_count: any
8522    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
8523     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
8524    :type sink_retry_wait: any
8525    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
8526     store. Type: integer (or Expression with resultType integer).
8527    :type max_concurrent_connections: any
8528    :param store_settings: Binary store settings.
8529    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreWriteSettings
8530    """
8531
8532    _validation = {
8533        'type': {'required': True},
8534    }
8535
8536    _attribute_map = {
8537        'additional_properties': {'key': '', 'type': '{object}'},
8538        'type': {'key': 'type', 'type': 'str'},
8539        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
8540        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
8541        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
8542        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
8543        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
8544        'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'},
8545    }
8546
8547    def __init__(
8548        self,
8549        *,
8550        additional_properties: Optional[Dict[str, Any]] = None,
8551        write_batch_size: Optional[Any] = None,
8552        write_batch_timeout: Optional[Any] = None,
8553        sink_retry_count: Optional[Any] = None,
8554        sink_retry_wait: Optional[Any] = None,
8555        max_concurrent_connections: Optional[Any] = None,
8556        store_settings: Optional["StoreWriteSettings"] = None,
8557        **kwargs
8558    ):
8559        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)
8560        self.type = 'BinarySink'  # type: str
8561        self.store_settings = store_settings
8562
8563
8564class BinarySource(CopySource):
8565    """A copy activity Binary source.
8566
8567    All required parameters must be populated in order to send to Azure.
8568
8569    :param additional_properties: Unmatched properties from the message are deserialized to this
8570     collection.
8571    :type additional_properties: dict[str, any]
8572    :param type: Required. Copy source type.Constant filled by server.
8573    :type type: str
8574    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
8575     integer).
8576    :type source_retry_count: any
8577    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
8578     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
8579    :type source_retry_wait: any
8580    :param max_concurrent_connections: The maximum concurrent connection count for the source data
8581     store. Type: integer (or Expression with resultType integer).
8582    :type max_concurrent_connections: any
8583    :param store_settings: Binary store settings.
8584    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreReadSettings
8585    :param format_settings: Binary format settings.
8586    :type format_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.BinaryReadSettings
8587    """
8588
8589    _validation = {
8590        'type': {'required': True},
8591    }
8592
8593    _attribute_map = {
8594        'additional_properties': {'key': '', 'type': '{object}'},
8595        'type': {'key': 'type', 'type': 'str'},
8596        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
8597        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
8598        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
8599        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
8600        'format_settings': {'key': 'formatSettings', 'type': 'BinaryReadSettings'},
8601    }
8602
8603    def __init__(
8604        self,
8605        *,
8606        additional_properties: Optional[Dict[str, Any]] = None,
8607        source_retry_count: Optional[Any] = None,
8608        source_retry_wait: Optional[Any] = None,
8609        max_concurrent_connections: Optional[Any] = None,
8610        store_settings: Optional["StoreReadSettings"] = None,
8611        format_settings: Optional["BinaryReadSettings"] = None,
8612        **kwargs
8613    ):
8614        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)
8615        self.type = 'BinarySource'  # type: str
8616        self.store_settings = store_settings
8617        self.format_settings = format_settings
8618
8619
8620class Trigger(msrest.serialization.Model):
8621    """Azure Synapse nested object which contains information about creating pipeline run.
8622
8623    You probably want to use the sub-classes and not this class directly. Known
8624    sub-classes are: ChainingTrigger, MultiplePipelineTrigger, RerunTumblingWindowTrigger, TumblingWindowTrigger.
8625
8626    Variables are only populated by the server, and will be ignored when sending a request.
8627
8628    All required parameters must be populated in order to send to Azure.
8629
8630    :param additional_properties: Unmatched properties from the message are deserialized to this
8631     collection.
8632    :type additional_properties: dict[str, any]
8633    :param type: Required. Trigger type.Constant filled by server.
8634    :type type: str
8635    :param description: Trigger description.
8636    :type description: str
8637    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
8638     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
8639    :vartype runtime_state: str or
8640     ~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerRuntimeState
8641    :param annotations: List of tags that can be used for describing the trigger.
8642    :type annotations: list[any]
8643    """
8644
8645    _validation = {
8646        'type': {'required': True},
8647        'runtime_state': {'readonly': True},
8648    }
8649
8650    _attribute_map = {
8651        'additional_properties': {'key': '', 'type': '{object}'},
8652        'type': {'key': 'type', 'type': 'str'},
8653        'description': {'key': 'description', 'type': 'str'},
8654        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
8655        'annotations': {'key': 'annotations', 'type': '[object]'},
8656    }
8657
8658    _subtype_map = {
8659        'type': {'ChainingTrigger': 'ChainingTrigger', 'MultiplePipelineTrigger': 'MultiplePipelineTrigger', 'RerunTumblingWindowTrigger': 'RerunTumblingWindowTrigger', 'TumblingWindowTrigger': 'TumblingWindowTrigger'}
8660    }
8661
8662    def __init__(
8663        self,
8664        *,
8665        additional_properties: Optional[Dict[str, Any]] = None,
8666        description: Optional[str] = None,
8667        annotations: Optional[List[Any]] = None,
8668        **kwargs
8669    ):
8670        super(Trigger, self).__init__(**kwargs)
8671        self.additional_properties = additional_properties
8672        self.type = 'Trigger'  # type: str
8673        self.description = description
8674        self.runtime_state = None
8675        self.annotations = annotations
8676
8677
8678class MultiplePipelineTrigger(Trigger):
8679    """Base class for all triggers that support one to many model for trigger to pipeline.
8680
8681    You probably want to use the sub-classes and not this class directly. Known
8682    sub-classes are: BlobEventsTrigger, BlobTrigger, CustomEventsTrigger, ScheduleTrigger.
8683
8684    Variables are only populated by the server, and will be ignored when sending a request.
8685
8686    All required parameters must be populated in order to send to Azure.
8687
8688    :param additional_properties: Unmatched properties from the message are deserialized to this
8689     collection.
8690    :type additional_properties: dict[str, any]
8691    :param type: Required. Trigger type.Constant filled by server.
8692    :type type: str
8693    :param description: Trigger description.
8694    :type description: str
8695    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
8696     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
8697    :vartype runtime_state: str or
8698     ~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerRuntimeState
8699    :param annotations: List of tags that can be used for describing the trigger.
8700    :type annotations: list[any]
8701    :param pipelines: Pipelines that need to be started.
8702    :type pipelines:
8703     list[~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerPipelineReference]
8704    """
8705
8706    _validation = {
8707        'type': {'required': True},
8708        'runtime_state': {'readonly': True},
8709    }
8710
8711    _attribute_map = {
8712        'additional_properties': {'key': '', 'type': '{object}'},
8713        'type': {'key': 'type', 'type': 'str'},
8714        'description': {'key': 'description', 'type': 'str'},
8715        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
8716        'annotations': {'key': 'annotations', 'type': '[object]'},
8717        'pipelines': {'key': 'pipelines', 'type': '[TriggerPipelineReference]'},
8718    }
8719
8720    _subtype_map = {
8721        'type': {'BlobEventsTrigger': 'BlobEventsTrigger', 'BlobTrigger': 'BlobTrigger', 'CustomEventsTrigger': 'CustomEventsTrigger', 'ScheduleTrigger': 'ScheduleTrigger'}
8722    }
8723
8724    def __init__(
8725        self,
8726        *,
8727        additional_properties: Optional[Dict[str, Any]] = None,
8728        description: Optional[str] = None,
8729        annotations: Optional[List[Any]] = None,
8730        pipelines: Optional[List["TriggerPipelineReference"]] = None,
8731        **kwargs
8732    ):
8733        super(MultiplePipelineTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, **kwargs)
8734        self.type = 'MultiplePipelineTrigger'  # type: str
8735        self.pipelines = pipelines
8736
8737
8738class BlobEventsTrigger(MultiplePipelineTrigger):
8739    """Trigger that runs every time a Blob event occurs.
8740
8741    Variables are only populated by the server, and will be ignored when sending a request.
8742
8743    All required parameters must be populated in order to send to Azure.
8744
8745    :param additional_properties: Unmatched properties from the message are deserialized to this
8746     collection.
8747    :type additional_properties: dict[str, any]
8748    :param type: Required. Trigger type.Constant filled by server.
8749    :type type: str
8750    :param description: Trigger description.
8751    :type description: str
8752    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
8753     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
8754    :vartype runtime_state: str or
8755     ~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerRuntimeState
8756    :param annotations: List of tags that can be used for describing the trigger.
8757    :type annotations: list[any]
8758    :param pipelines: Pipelines that need to be started.
8759    :type pipelines:
8760     list[~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerPipelineReference]
8761    :param blob_path_begins_with: The blob path must begin with the pattern provided for trigger to
8762     fire. For example, '/records/blobs/december/' will only fire the trigger for blobs in the
8763     december folder under the records container. At least one of these must be provided:
8764     blobPathBeginsWith, blobPathEndsWith.
8765    :type blob_path_begins_with: str
8766    :param blob_path_ends_with: The blob path must end with the pattern provided for trigger to
8767     fire. For example, 'december/boxes.csv' will only fire the trigger for blobs named boxes in a
8768     december folder. At least one of these must be provided: blobPathBeginsWith, blobPathEndsWith.
8769    :type blob_path_ends_with: str
8770    :param ignore_empty_blobs: If set to true, blobs with zero bytes will be ignored.
8771    :type ignore_empty_blobs: bool
8772    :param events: Required. The type of events that cause this trigger to fire.
8773    :type events: list[str or ~azure.synapse.artifacts.v2021_06_01_preview.models.BlobEventType]
8774    :param scope: Required. The ARM resource ID of the Storage Account.
8775    :type scope: str
8776    """
8777
8778    _validation = {
8779        'type': {'required': True},
8780        'runtime_state': {'readonly': True},
8781        'events': {'required': True},
8782        'scope': {'required': True},
8783    }
8784
8785    _attribute_map = {
8786        'additional_properties': {'key': '', 'type': '{object}'},
8787        'type': {'key': 'type', 'type': 'str'},
8788        'description': {'key': 'description', 'type': 'str'},
8789        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
8790        'annotations': {'key': 'annotations', 'type': '[object]'},
8791        'pipelines': {'key': 'pipelines', 'type': '[TriggerPipelineReference]'},
8792        'blob_path_begins_with': {'key': 'typeProperties.blobPathBeginsWith', 'type': 'str'},
8793        'blob_path_ends_with': {'key': 'typeProperties.blobPathEndsWith', 'type': 'str'},
8794        'ignore_empty_blobs': {'key': 'typeProperties.ignoreEmptyBlobs', 'type': 'bool'},
8795        'events': {'key': 'typeProperties.events', 'type': '[str]'},
8796        'scope': {'key': 'typeProperties.scope', 'type': 'str'},
8797    }
8798
8799    def __init__(
8800        self,
8801        *,
8802        events: List[Union[str, "BlobEventType"]],
8803        scope: str,
8804        additional_properties: Optional[Dict[str, Any]] = None,
8805        description: Optional[str] = None,
8806        annotations: Optional[List[Any]] = None,
8807        pipelines: Optional[List["TriggerPipelineReference"]] = None,
8808        blob_path_begins_with: Optional[str] = None,
8809        blob_path_ends_with: Optional[str] = None,
8810        ignore_empty_blobs: Optional[bool] = None,
8811        **kwargs
8812    ):
8813        super(BlobEventsTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, pipelines=pipelines, **kwargs)
8814        self.type = 'BlobEventsTrigger'  # type: str
8815        self.blob_path_begins_with = blob_path_begins_with
8816        self.blob_path_ends_with = blob_path_ends_with
8817        self.ignore_empty_blobs = ignore_empty_blobs
8818        self.events = events
8819        self.scope = scope
8820
8821
8822class BlobSink(CopySink):
8823    """A copy activity Azure Blob sink.
8824
8825    All required parameters must be populated in order to send to Azure.
8826
8827    :param additional_properties: Unmatched properties from the message are deserialized to this
8828     collection.
8829    :type additional_properties: dict[str, any]
8830    :param type: Required. Copy sink type.Constant filled by server.
8831    :type type: str
8832    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
8833     integer), minimum: 0.
8834    :type write_batch_size: any
8835    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
8836     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
8837    :type write_batch_timeout: any
8838    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
8839     integer).
8840    :type sink_retry_count: any
8841    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
8842     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
8843    :type sink_retry_wait: any
8844    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
8845     store. Type: integer (or Expression with resultType integer).
8846    :type max_concurrent_connections: any
8847    :param blob_writer_overwrite_files: Blob writer overwrite files. Type: boolean (or Expression
8848     with resultType boolean).
8849    :type blob_writer_overwrite_files: any
8850    :param blob_writer_date_time_format: Blob writer date time format. Type: string (or Expression
8851     with resultType string).
8852    :type blob_writer_date_time_format: any
8853    :param blob_writer_add_header: Blob writer add header. Type: boolean (or Expression with
8854     resultType boolean).
8855    :type blob_writer_add_header: any
8856    :param copy_behavior: The type of copy behavior for copy sink.
8857    :type copy_behavior: any
8858    """
8859
8860    _validation = {
8861        'type': {'required': True},
8862    }
8863
8864    _attribute_map = {
8865        'additional_properties': {'key': '', 'type': '{object}'},
8866        'type': {'key': 'type', 'type': 'str'},
8867        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
8868        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
8869        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
8870        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
8871        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
8872        'blob_writer_overwrite_files': {'key': 'blobWriterOverwriteFiles', 'type': 'object'},
8873        'blob_writer_date_time_format': {'key': 'blobWriterDateTimeFormat', 'type': 'object'},
8874        'blob_writer_add_header': {'key': 'blobWriterAddHeader', 'type': 'object'},
8875        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
8876    }
8877
8878    def __init__(
8879        self,
8880        *,
8881        additional_properties: Optional[Dict[str, Any]] = None,
8882        write_batch_size: Optional[Any] = None,
8883        write_batch_timeout: Optional[Any] = None,
8884        sink_retry_count: Optional[Any] = None,
8885        sink_retry_wait: Optional[Any] = None,
8886        max_concurrent_connections: Optional[Any] = None,
8887        blob_writer_overwrite_files: Optional[Any] = None,
8888        blob_writer_date_time_format: Optional[Any] = None,
8889        blob_writer_add_header: Optional[Any] = None,
8890        copy_behavior: Optional[Any] = None,
8891        **kwargs
8892    ):
8893        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)
8894        self.type = 'BlobSink'  # type: str
8895        self.blob_writer_overwrite_files = blob_writer_overwrite_files
8896        self.blob_writer_date_time_format = blob_writer_date_time_format
8897        self.blob_writer_add_header = blob_writer_add_header
8898        self.copy_behavior = copy_behavior
8899
8900
8901class BlobSource(CopySource):
8902    """A copy activity Azure Blob source.
8903
8904    All required parameters must be populated in order to send to Azure.
8905
8906    :param additional_properties: Unmatched properties from the message are deserialized to this
8907     collection.
8908    :type additional_properties: dict[str, any]
8909    :param type: Required. Copy source type.Constant filled by server.
8910    :type type: str
8911    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
8912     integer).
8913    :type source_retry_count: any
8914    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
8915     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
8916    :type source_retry_wait: any
8917    :param max_concurrent_connections: The maximum concurrent connection count for the source data
8918     store. Type: integer (or Expression with resultType integer).
8919    :type max_concurrent_connections: any
8920    :param treat_empty_as_null: Treat empty as null. Type: boolean (or Expression with resultType
8921     boolean).
8922    :type treat_empty_as_null: any
8923    :param skip_header_line_count: Number of header lines to skip from each blob. Type: integer (or
8924     Expression with resultType integer).
8925    :type skip_header_line_count: any
8926    :param recursive: If true, files under the folder path will be read recursively. Default is
8927     true. Type: boolean (or Expression with resultType boolean).
8928    :type recursive: any
8929    """
8930
8931    _validation = {
8932        'type': {'required': True},
8933    }
8934
8935    _attribute_map = {
8936        'additional_properties': {'key': '', 'type': '{object}'},
8937        'type': {'key': 'type', 'type': 'str'},
8938        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
8939        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
8940        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
8941        'treat_empty_as_null': {'key': 'treatEmptyAsNull', 'type': 'object'},
8942        'skip_header_line_count': {'key': 'skipHeaderLineCount', 'type': 'object'},
8943        'recursive': {'key': 'recursive', 'type': 'object'},
8944    }
8945
8946    def __init__(
8947        self,
8948        *,
8949        additional_properties: Optional[Dict[str, Any]] = None,
8950        source_retry_count: Optional[Any] = None,
8951        source_retry_wait: Optional[Any] = None,
8952        max_concurrent_connections: Optional[Any] = None,
8953        treat_empty_as_null: Optional[Any] = None,
8954        skip_header_line_count: Optional[Any] = None,
8955        recursive: Optional[Any] = None,
8956        **kwargs
8957    ):
8958        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)
8959        self.type = 'BlobSource'  # type: str
8960        self.treat_empty_as_null = treat_empty_as_null
8961        self.skip_header_line_count = skip_header_line_count
8962        self.recursive = recursive
8963
8964
8965class BlobTrigger(MultiplePipelineTrigger):
8966    """Trigger that runs every time the selected Blob container changes.
8967
8968    Variables are only populated by the server, and will be ignored when sending a request.
8969
8970    All required parameters must be populated in order to send to Azure.
8971
8972    :param additional_properties: Unmatched properties from the message are deserialized to this
8973     collection.
8974    :type additional_properties: dict[str, any]
8975    :param type: Required. Trigger type.Constant filled by server.
8976    :type type: str
8977    :param description: Trigger description.
8978    :type description: str
8979    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
8980     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
8981    :vartype runtime_state: str or
8982     ~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerRuntimeState
8983    :param annotations: List of tags that can be used for describing the trigger.
8984    :type annotations: list[any]
8985    :param pipelines: Pipelines that need to be started.
8986    :type pipelines:
8987     list[~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerPipelineReference]
8988    :param folder_path: Required. The path of the container/folder that will trigger the pipeline.
8989    :type folder_path: str
8990    :param max_concurrency: Required. The max number of parallel files to handle when it is
8991     triggered.
8992    :type max_concurrency: int
8993    :param linked_service: Required. The Azure Storage linked service reference.
8994    :type linked_service:
8995     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
8996    """
8997
8998    _validation = {
8999        'type': {'required': True},
9000        'runtime_state': {'readonly': True},
9001        'folder_path': {'required': True},
9002        'max_concurrency': {'required': True},
9003        'linked_service': {'required': True},
9004    }
9005
9006    _attribute_map = {
9007        'additional_properties': {'key': '', 'type': '{object}'},
9008        'type': {'key': 'type', 'type': 'str'},
9009        'description': {'key': 'description', 'type': 'str'},
9010        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
9011        'annotations': {'key': 'annotations', 'type': '[object]'},
9012        'pipelines': {'key': 'pipelines', 'type': '[TriggerPipelineReference]'},
9013        'folder_path': {'key': 'typeProperties.folderPath', 'type': 'str'},
9014        'max_concurrency': {'key': 'typeProperties.maxConcurrency', 'type': 'int'},
9015        'linked_service': {'key': 'typeProperties.linkedService', 'type': 'LinkedServiceReference'},
9016    }
9017
9018    def __init__(
9019        self,
9020        *,
9021        folder_path: str,
9022        max_concurrency: int,
9023        linked_service: "LinkedServiceReference",
9024        additional_properties: Optional[Dict[str, Any]] = None,
9025        description: Optional[str] = None,
9026        annotations: Optional[List[Any]] = None,
9027        pipelines: Optional[List["TriggerPipelineReference"]] = None,
9028        **kwargs
9029    ):
9030        super(BlobTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, pipelines=pipelines, **kwargs)
9031        self.type = 'BlobTrigger'  # type: str
9032        self.folder_path = folder_path
9033        self.max_concurrency = max_concurrency
9034        self.linked_service = linked_service
9035
9036
9037class CassandraLinkedService(LinkedService):
9038    """Linked service for Cassandra data source.
9039
9040    All required parameters must be populated in order to send to Azure.
9041
9042    :param additional_properties: Unmatched properties from the message are deserialized to this
9043     collection.
9044    :type additional_properties: dict[str, any]
9045    :param type: Required. Type of linked service.Constant filled by server.
9046    :type type: str
9047    :param connect_via: The integration runtime reference.
9048    :type connect_via:
9049     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
9050    :param description: Linked service description.
9051    :type description: str
9052    :param parameters: Parameters for linked service.
9053    :type parameters: dict[str,
9054     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
9055    :param annotations: List of tags that can be used for describing the linked service.
9056    :type annotations: list[any]
9057    :param host: Required. Host name for connection. Type: string (or Expression with resultType
9058     string).
9059    :type host: any
9060    :param authentication_type: AuthenticationType to be used for connection. Type: string (or
9061     Expression with resultType string).
9062    :type authentication_type: any
9063    :param port: The port for the connection. Type: integer (or Expression with resultType
9064     integer).
9065    :type port: any
9066    :param username: Username for authentication. Type: string (or Expression with resultType
9067     string).
9068    :type username: any
9069    :param password: Password for authentication.
9070    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
9071    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
9072     encrypted using the integration runtime credential manager. Type: string (or Expression with
9073     resultType string).
9074    :type encrypted_credential: any
9075    """
9076
9077    _validation = {
9078        'type': {'required': True},
9079        'host': {'required': True},
9080    }
9081
9082    _attribute_map = {
9083        'additional_properties': {'key': '', 'type': '{object}'},
9084        'type': {'key': 'type', 'type': 'str'},
9085        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
9086        'description': {'key': 'description', 'type': 'str'},
9087        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
9088        'annotations': {'key': 'annotations', 'type': '[object]'},
9089        'host': {'key': 'typeProperties.host', 'type': 'object'},
9090        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'},
9091        'port': {'key': 'typeProperties.port', 'type': 'object'},
9092        'username': {'key': 'typeProperties.username', 'type': 'object'},
9093        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
9094        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
9095    }
9096
9097    def __init__(
9098        self,
9099        *,
9100        host: Any,
9101        additional_properties: Optional[Dict[str, Any]] = None,
9102        connect_via: Optional["IntegrationRuntimeReference"] = None,
9103        description: Optional[str] = None,
9104        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
9105        annotations: Optional[List[Any]] = None,
9106        authentication_type: Optional[Any] = None,
9107        port: Optional[Any] = None,
9108        username: Optional[Any] = None,
9109        password: Optional["SecretBase"] = None,
9110        encrypted_credential: Optional[Any] = None,
9111        **kwargs
9112    ):
9113        super(CassandraLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
9114        self.type = 'Cassandra'  # type: str
9115        self.host = host
9116        self.authentication_type = authentication_type
9117        self.port = port
9118        self.username = username
9119        self.password = password
9120        self.encrypted_credential = encrypted_credential
9121
9122
9123class CassandraSource(TabularSource):
9124    """A copy activity source for a Cassandra database.
9125
9126    All required parameters must be populated in order to send to Azure.
9127
9128    :param additional_properties: Unmatched properties from the message are deserialized to this
9129     collection.
9130    :type additional_properties: dict[str, any]
9131    :param type: Required. Copy source type.Constant filled by server.
9132    :type type: str
9133    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
9134     integer).
9135    :type source_retry_count: any
9136    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
9137     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
9138    :type source_retry_wait: any
9139    :param max_concurrent_connections: The maximum concurrent connection count for the source data
9140     store. Type: integer (or Expression with resultType integer).
9141    :type max_concurrent_connections: any
9142    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
9143     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
9144    :type query_timeout: any
9145    :param additional_columns: Specifies the additional columns to be added to source data. Type:
9146     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
9147    :type additional_columns: any
9148    :param query: Database query. Should be a SQL-92 query expression or Cassandra Query Language
9149     (CQL) command. Type: string (or Expression with resultType string).
9150    :type query: any
9151    :param consistency_level: The consistency level specifies how many Cassandra servers must
9152     respond to a read request before returning data to the client application. Cassandra checks the
9153     specified number of Cassandra servers for data to satisfy the read request. Must be one of
9154     cassandraSourceReadConsistencyLevels. The default value is 'ONE'. It is case-insensitive.
9155     Possible values include: "ALL", "EACH_QUORUM", "QUORUM", "LOCAL_QUORUM", "ONE", "TWO", "THREE",
9156     "LOCAL_ONE", "SERIAL", "LOCAL_SERIAL".
9157    :type consistency_level: str or
9158     ~azure.synapse.artifacts.v2021_06_01_preview.models.CassandraSourceReadConsistencyLevels
9159    """
9160
9161    _validation = {
9162        'type': {'required': True},
9163    }
9164
9165    _attribute_map = {
9166        'additional_properties': {'key': '', 'type': '{object}'},
9167        'type': {'key': 'type', 'type': 'str'},
9168        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
9169        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
9170        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
9171        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
9172        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
9173        'query': {'key': 'query', 'type': 'object'},
9174        'consistency_level': {'key': 'consistencyLevel', 'type': 'str'},
9175    }
9176
9177    def __init__(
9178        self,
9179        *,
9180        additional_properties: Optional[Dict[str, Any]] = None,
9181        source_retry_count: Optional[Any] = None,
9182        source_retry_wait: Optional[Any] = None,
9183        max_concurrent_connections: Optional[Any] = None,
9184        query_timeout: Optional[Any] = None,
9185        additional_columns: Optional[Any] = None,
9186        query: Optional[Any] = None,
9187        consistency_level: Optional[Union[str, "CassandraSourceReadConsistencyLevels"]] = None,
9188        **kwargs
9189    ):
9190        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)
9191        self.type = 'CassandraSource'  # type: str
9192        self.query = query
9193        self.consistency_level = consistency_level
9194
9195
9196class CassandraTableDataset(Dataset):
9197    """The Cassandra database dataset.
9198
9199    All required parameters must be populated in order to send to Azure.
9200
9201    :param additional_properties: Unmatched properties from the message are deserialized to this
9202     collection.
9203    :type additional_properties: dict[str, any]
9204    :param type: Required. Type of dataset.Constant filled by server.
9205    :type type: str
9206    :param description: Dataset description.
9207    :type description: str
9208    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
9209     with resultType array), itemType: DatasetDataElement.
9210    :type structure: any
9211    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
9212     Expression with resultType array), itemType: DatasetSchemaDataElement.
9213    :type schema: any
9214    :param linked_service_name: Required. Linked service reference.
9215    :type linked_service_name:
9216     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
9217    :param parameters: Parameters for dataset.
9218    :type parameters: dict[str,
9219     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
9220    :param annotations: List of tags that can be used for describing the Dataset.
9221    :type annotations: list[any]
9222    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
9223     root level.
9224    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
9225    :param table_name: The table name of the Cassandra database. Type: string (or Expression with
9226     resultType string).
9227    :type table_name: any
9228    :param keyspace: The keyspace of the Cassandra database. Type: string (or Expression with
9229     resultType string).
9230    :type keyspace: any
9231    """
9232
9233    _validation = {
9234        'type': {'required': True},
9235        'linked_service_name': {'required': True},
9236    }
9237
9238    _attribute_map = {
9239        'additional_properties': {'key': '', 'type': '{object}'},
9240        'type': {'key': 'type', 'type': 'str'},
9241        'description': {'key': 'description', 'type': 'str'},
9242        'structure': {'key': 'structure', 'type': 'object'},
9243        'schema': {'key': 'schema', 'type': 'object'},
9244        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
9245        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
9246        'annotations': {'key': 'annotations', 'type': '[object]'},
9247        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
9248        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
9249        'keyspace': {'key': 'typeProperties.keyspace', 'type': 'object'},
9250    }
9251
9252    def __init__(
9253        self,
9254        *,
9255        linked_service_name: "LinkedServiceReference",
9256        additional_properties: Optional[Dict[str, Any]] = None,
9257        description: Optional[str] = None,
9258        structure: Optional[Any] = None,
9259        schema: Optional[Any] = None,
9260        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
9261        annotations: Optional[List[Any]] = None,
9262        folder: Optional["DatasetFolder"] = None,
9263        table_name: Optional[Any] = None,
9264        keyspace: Optional[Any] = None,
9265        **kwargs
9266    ):
9267        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)
9268        self.type = 'CassandraTable'  # type: str
9269        self.table_name = table_name
9270        self.keyspace = keyspace
9271
9272
9273class ChainingTrigger(Trigger):
9274    """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.
9275
9276    Variables are only populated by the server, and will be ignored when sending a request.
9277
9278    All required parameters must be populated in order to send to Azure.
9279
9280    :param additional_properties: Unmatched properties from the message are deserialized to this
9281     collection.
9282    :type additional_properties: dict[str, any]
9283    :param type: Required. Trigger type.Constant filled by server.
9284    :type type: str
9285    :param description: Trigger description.
9286    :type description: str
9287    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
9288     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
9289    :vartype runtime_state: str or
9290     ~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerRuntimeState
9291    :param annotations: List of tags that can be used for describing the trigger.
9292    :type annotations: list[any]
9293    :param pipeline: Required. Pipeline for which runs are created when all upstream pipelines
9294     complete successfully.
9295    :type pipeline: ~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerPipelineReference
9296    :param depends_on: Required. Upstream Pipelines.
9297    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.PipelineReference]
9298    :param run_dimension: Required. Run Dimension property that needs to be emitted by upstream
9299     pipelines.
9300    :type run_dimension: str
9301    """
9302
9303    _validation = {
9304        'type': {'required': True},
9305        'runtime_state': {'readonly': True},
9306        'pipeline': {'required': True},
9307        'depends_on': {'required': True},
9308        'run_dimension': {'required': True},
9309    }
9310
9311    _attribute_map = {
9312        'additional_properties': {'key': '', 'type': '{object}'},
9313        'type': {'key': 'type', 'type': 'str'},
9314        'description': {'key': 'description', 'type': 'str'},
9315        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
9316        'annotations': {'key': 'annotations', 'type': '[object]'},
9317        'pipeline': {'key': 'pipeline', 'type': 'TriggerPipelineReference'},
9318        'depends_on': {'key': 'typeProperties.dependsOn', 'type': '[PipelineReference]'},
9319        'run_dimension': {'key': 'typeProperties.runDimension', 'type': 'str'},
9320    }
9321
9322    def __init__(
9323        self,
9324        *,
9325        pipeline: "TriggerPipelineReference",
9326        depends_on: List["PipelineReference"],
9327        run_dimension: str,
9328        additional_properties: Optional[Dict[str, Any]] = None,
9329        description: Optional[str] = None,
9330        annotations: Optional[List[Any]] = None,
9331        **kwargs
9332    ):
9333        super(ChainingTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, **kwargs)
9334        self.type = 'ChainingTrigger'  # type: str
9335        self.pipeline = pipeline
9336        self.depends_on = depends_on
9337        self.run_dimension = run_dimension
9338
9339
9340class CloudError(msrest.serialization.Model):
9341    """The object that defines the structure of an Azure Synapse error response.
9342
9343    All required parameters must be populated in order to send to Azure.
9344
9345    :param code: Required. Error code.
9346    :type code: str
9347    :param message: Required. Error message.
9348    :type message: str
9349    :param target: Property name/path in request associated with error.
9350    :type target: str
9351    :param details: Array with additional error details.
9352    :type details: list[~azure.synapse.artifacts.v2021_06_01_preview.models.CloudError]
9353    """
9354
9355    _validation = {
9356        'code': {'required': True},
9357        'message': {'required': True},
9358    }
9359
9360    _attribute_map = {
9361        'code': {'key': 'error.code', 'type': 'str'},
9362        'message': {'key': 'error.message', 'type': 'str'},
9363        'target': {'key': 'error.target', 'type': 'str'},
9364        'details': {'key': 'error.details', 'type': '[CloudError]'},
9365    }
9366
9367    def __init__(
9368        self,
9369        *,
9370        code: str,
9371        message: str,
9372        target: Optional[str] = None,
9373        details: Optional[List["CloudError"]] = None,
9374        **kwargs
9375    ):
9376        super(CloudError, self).__init__(**kwargs)
9377        self.code = code
9378        self.message = message
9379        self.target = target
9380        self.details = details
9381
9382
9383class CommonDataServiceForAppsEntityDataset(Dataset):
9384    """The Common Data Service for Apps entity dataset.
9385
9386    All required parameters must be populated in order to send to Azure.
9387
9388    :param additional_properties: Unmatched properties from the message are deserialized to this
9389     collection.
9390    :type additional_properties: dict[str, any]
9391    :param type: Required. Type of dataset.Constant filled by server.
9392    :type type: str
9393    :param description: Dataset description.
9394    :type description: str
9395    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
9396     with resultType array), itemType: DatasetDataElement.
9397    :type structure: any
9398    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
9399     Expression with resultType array), itemType: DatasetSchemaDataElement.
9400    :type schema: any
9401    :param linked_service_name: Required. Linked service reference.
9402    :type linked_service_name:
9403     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
9404    :param parameters: Parameters for dataset.
9405    :type parameters: dict[str,
9406     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
9407    :param annotations: List of tags that can be used for describing the Dataset.
9408    :type annotations: list[any]
9409    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
9410     root level.
9411    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
9412    :param entity_name: The logical name of the entity. Type: string (or Expression with resultType
9413     string).
9414    :type entity_name: any
9415    """
9416
9417    _validation = {
9418        'type': {'required': True},
9419        'linked_service_name': {'required': True},
9420    }
9421
9422    _attribute_map = {
9423        'additional_properties': {'key': '', 'type': '{object}'},
9424        'type': {'key': 'type', 'type': 'str'},
9425        'description': {'key': 'description', 'type': 'str'},
9426        'structure': {'key': 'structure', 'type': 'object'},
9427        'schema': {'key': 'schema', 'type': 'object'},
9428        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
9429        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
9430        'annotations': {'key': 'annotations', 'type': '[object]'},
9431        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
9432        'entity_name': {'key': 'typeProperties.entityName', 'type': 'object'},
9433    }
9434
9435    def __init__(
9436        self,
9437        *,
9438        linked_service_name: "LinkedServiceReference",
9439        additional_properties: Optional[Dict[str, Any]] = None,
9440        description: Optional[str] = None,
9441        structure: Optional[Any] = None,
9442        schema: Optional[Any] = None,
9443        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
9444        annotations: Optional[List[Any]] = None,
9445        folder: Optional["DatasetFolder"] = None,
9446        entity_name: Optional[Any] = None,
9447        **kwargs
9448    ):
9449        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)
9450        self.type = 'CommonDataServiceForAppsEntity'  # type: str
9451        self.entity_name = entity_name
9452
9453
9454class CommonDataServiceForAppsLinkedService(LinkedService):
9455    """Common Data Service for Apps linked service.
9456
9457    All required parameters must be populated in order to send to Azure.
9458
9459    :param additional_properties: Unmatched properties from the message are deserialized to this
9460     collection.
9461    :type additional_properties: dict[str, any]
9462    :param type: Required. Type of linked service.Constant filled by server.
9463    :type type: str
9464    :param connect_via: The integration runtime reference.
9465    :type connect_via:
9466     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
9467    :param description: Linked service description.
9468    :type description: str
9469    :param parameters: Parameters for linked service.
9470    :type parameters: dict[str,
9471     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
9472    :param annotations: List of tags that can be used for describing the linked service.
9473    :type annotations: list[any]
9474    :param deployment_type: Required. The deployment type of the Common Data Service for Apps
9475     instance. 'Online' for Common Data Service for Apps Online and 'OnPremisesWithIfd' for Common
9476     Data Service for Apps on-premises with Ifd. Type: string (or Expression with resultType
9477     string). Possible values include: "Online", "OnPremisesWithIfd".
9478    :type deployment_type: str or
9479     ~azure.synapse.artifacts.v2021_06_01_preview.models.DynamicsDeploymentType
9480    :param host_name: The host name of the on-premises Common Data Service for Apps server. The
9481     property is required for on-prem and not allowed for online. Type: string (or Expression with
9482     resultType string).
9483    :type host_name: any
9484    :param port: The port of on-premises Common Data Service for Apps server. The property is
9485     required for on-prem and not allowed for online. Default is 443. Type: integer (or Expression
9486     with resultType integer), minimum: 0.
9487    :type port: any
9488    :param service_uri: The URL to the Microsoft Common Data Service for Apps server. The property
9489     is required for on-line and not allowed for on-prem. Type: string (or Expression with
9490     resultType string).
9491    :type service_uri: any
9492    :param organization_name: The organization name of the Common Data Service for Apps instance.
9493     The property is required for on-prem and required for online when there are more than one
9494     Common Data Service for Apps instances associated with the user. Type: string (or Expression
9495     with resultType string).
9496    :type organization_name: any
9497    :param authentication_type: Required. The authentication type to connect to Common Data Service
9498     for Apps server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario.
9499     'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or
9500     Expression with resultType string). Possible values include: "Office365", "Ifd",
9501     "AADServicePrincipal".
9502    :type authentication_type: str or
9503     ~azure.synapse.artifacts.v2021_06_01_preview.models.DynamicsAuthenticationType
9504    :param username: User name to access the Common Data Service for Apps instance. Type: string
9505     (or Expression with resultType string).
9506    :type username: any
9507    :param password: Password to access the Common Data Service for Apps instance.
9508    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
9509    :param service_principal_id: The client ID of the application in Azure Active Directory used
9510     for Server-To-Server authentication. Type: string (or Expression with resultType string).
9511    :type service_principal_id: any
9512    :param service_principal_credential_type: A string from ServicePrincipalCredentialEnum or an
9513     expression.
9514    :type service_principal_credential_type: any
9515    :param service_principal_credential: The credential of the service principal object in Azure
9516     Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey',
9517     servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If
9518     servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only
9519     be AzureKeyVaultSecretReference.
9520    :type service_principal_credential:
9521     ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
9522    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
9523     encrypted using the integration runtime credential manager. Type: string (or Expression with
9524     resultType string).
9525    :type encrypted_credential: any
9526    """
9527
9528    _validation = {
9529        'type': {'required': True},
9530        'deployment_type': {'required': True},
9531        'authentication_type': {'required': True},
9532    }
9533
9534    _attribute_map = {
9535        'additional_properties': {'key': '', 'type': '{object}'},
9536        'type': {'key': 'type', 'type': 'str'},
9537        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
9538        'description': {'key': 'description', 'type': 'str'},
9539        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
9540        'annotations': {'key': 'annotations', 'type': '[object]'},
9541        'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'},
9542        'host_name': {'key': 'typeProperties.hostName', 'type': 'object'},
9543        'port': {'key': 'typeProperties.port', 'type': 'object'},
9544        'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'},
9545        'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'},
9546        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
9547        'username': {'key': 'typeProperties.username', 'type': 'object'},
9548        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
9549        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
9550        'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'object'},
9551        'service_principal_credential': {'key': 'typeProperties.servicePrincipalCredential', 'type': 'SecretBase'},
9552        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
9553    }
9554
9555    def __init__(
9556        self,
9557        *,
9558        deployment_type: Union[str, "DynamicsDeploymentType"],
9559        authentication_type: Union[str, "DynamicsAuthenticationType"],
9560        additional_properties: Optional[Dict[str, Any]] = None,
9561        connect_via: Optional["IntegrationRuntimeReference"] = None,
9562        description: Optional[str] = None,
9563        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
9564        annotations: Optional[List[Any]] = None,
9565        host_name: Optional[Any] = None,
9566        port: Optional[Any] = None,
9567        service_uri: Optional[Any] = None,
9568        organization_name: Optional[Any] = None,
9569        username: Optional[Any] = None,
9570        password: Optional["SecretBase"] = None,
9571        service_principal_id: Optional[Any] = None,
9572        service_principal_credential_type: Optional[Any] = None,
9573        service_principal_credential: Optional["SecretBase"] = None,
9574        encrypted_credential: Optional[Any] = None,
9575        **kwargs
9576    ):
9577        super(CommonDataServiceForAppsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
9578        self.type = 'CommonDataServiceForApps'  # type: str
9579        self.deployment_type = deployment_type
9580        self.host_name = host_name
9581        self.port = port
9582        self.service_uri = service_uri
9583        self.organization_name = organization_name
9584        self.authentication_type = authentication_type
9585        self.username = username
9586        self.password = password
9587        self.service_principal_id = service_principal_id
9588        self.service_principal_credential_type = service_principal_credential_type
9589        self.service_principal_credential = service_principal_credential
9590        self.encrypted_credential = encrypted_credential
9591
9592
9593class CommonDataServiceForAppsSink(CopySink):
9594    """A copy activity Common Data Service for Apps sink.
9595
9596    All required parameters must be populated in order to send to Azure.
9597
9598    :param additional_properties: Unmatched properties from the message are deserialized to this
9599     collection.
9600    :type additional_properties: dict[str, any]
9601    :param type: Required. Copy sink type.Constant filled by server.
9602    :type type: str
9603    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
9604     integer), minimum: 0.
9605    :type write_batch_size: any
9606    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
9607     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
9608    :type write_batch_timeout: any
9609    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
9610     integer).
9611    :type sink_retry_count: any
9612    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
9613     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
9614    :type sink_retry_wait: any
9615    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
9616     store. Type: integer (or Expression with resultType integer).
9617    :type max_concurrent_connections: any
9618    :param write_behavior: Required. The write behavior for the operation. Possible values include:
9619     "Upsert".
9620    :type write_behavior: str or
9621     ~azure.synapse.artifacts.v2021_06_01_preview.models.DynamicsSinkWriteBehavior
9622    :param ignore_null_values: The flag indicating whether to ignore null values from input dataset
9623     (except key fields) during write operation. Default is false. Type: boolean (or Expression with
9624     resultType boolean).
9625    :type ignore_null_values: any
9626    :param alternate_key_name: The logical name of the alternate key which will be used when
9627     upserting records. Type: string (or Expression with resultType string).
9628    :type alternate_key_name: any
9629    """
9630
9631    _validation = {
9632        'type': {'required': True},
9633        'write_behavior': {'required': True},
9634    }
9635
9636    _attribute_map = {
9637        'additional_properties': {'key': '', 'type': '{object}'},
9638        'type': {'key': 'type', 'type': 'str'},
9639        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
9640        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
9641        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
9642        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
9643        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
9644        'write_behavior': {'key': 'writeBehavior', 'type': 'str'},
9645        'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'},
9646        'alternate_key_name': {'key': 'alternateKeyName', 'type': 'object'},
9647    }
9648
9649    def __init__(
9650        self,
9651        *,
9652        write_behavior: Union[str, "DynamicsSinkWriteBehavior"],
9653        additional_properties: Optional[Dict[str, Any]] = None,
9654        write_batch_size: Optional[Any] = None,
9655        write_batch_timeout: Optional[Any] = None,
9656        sink_retry_count: Optional[Any] = None,
9657        sink_retry_wait: Optional[Any] = None,
9658        max_concurrent_connections: Optional[Any] = None,
9659        ignore_null_values: Optional[Any] = None,
9660        alternate_key_name: Optional[Any] = None,
9661        **kwargs
9662    ):
9663        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)
9664        self.type = 'CommonDataServiceForAppsSink'  # type: str
9665        self.write_behavior = write_behavior
9666        self.ignore_null_values = ignore_null_values
9667        self.alternate_key_name = alternate_key_name
9668
9669
9670class CommonDataServiceForAppsSource(CopySource):
9671    """A copy activity Common Data Service for Apps source.
9672
9673    All required parameters must be populated in order to send to Azure.
9674
9675    :param additional_properties: Unmatched properties from the message are deserialized to this
9676     collection.
9677    :type additional_properties: dict[str, any]
9678    :param type: Required. Copy source type.Constant filled by server.
9679    :type type: str
9680    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
9681     integer).
9682    :type source_retry_count: any
9683    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
9684     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
9685    :type source_retry_wait: any
9686    :param max_concurrent_connections: The maximum concurrent connection count for the source data
9687     store. Type: integer (or Expression with resultType integer).
9688    :type max_concurrent_connections: any
9689    :param query: FetchXML is a proprietary query language that is used in Microsoft Common Data
9690     Service for Apps (online & on-premises). Type: string (or Expression with resultType string).
9691    :type query: any
9692    :param additional_columns: Specifies the additional columns to be added to source data. Type:
9693     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
9694    :type additional_columns: any
9695    """
9696
9697    _validation = {
9698        'type': {'required': True},
9699    }
9700
9701    _attribute_map = {
9702        'additional_properties': {'key': '', 'type': '{object}'},
9703        'type': {'key': 'type', 'type': 'str'},
9704        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
9705        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
9706        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
9707        'query': {'key': 'query', 'type': 'object'},
9708        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
9709    }
9710
9711    def __init__(
9712        self,
9713        *,
9714        additional_properties: Optional[Dict[str, Any]] = None,
9715        source_retry_count: Optional[Any] = None,
9716        source_retry_wait: Optional[Any] = None,
9717        max_concurrent_connections: Optional[Any] = None,
9718        query: Optional[Any] = None,
9719        additional_columns: Optional[Any] = None,
9720        **kwargs
9721    ):
9722        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)
9723        self.type = 'CommonDataServiceForAppsSource'  # type: str
9724        self.query = query
9725        self.additional_columns = additional_columns
9726
9727
9728class CompressionReadSettings(msrest.serialization.Model):
9729    """Compression read settings.
9730
9731    You probably want to use the sub-classes and not this class directly. Known
9732    sub-classes are: TarGZipReadSettings, TarReadSettings, ZipDeflateReadSettings.
9733
9734    All required parameters must be populated in order to send to Azure.
9735
9736    :param additional_properties: Unmatched properties from the message are deserialized to this
9737     collection.
9738    :type additional_properties: dict[str, any]
9739    :param type: Required. The Compression setting type.Constant filled by server.
9740    :type type: str
9741    """
9742
9743    _validation = {
9744        'type': {'required': True},
9745    }
9746
9747    _attribute_map = {
9748        'additional_properties': {'key': '', 'type': '{object}'},
9749        'type': {'key': 'type', 'type': 'str'},
9750    }
9751
9752    _subtype_map = {
9753        'type': {'TarGZipReadSettings': 'TarGZipReadSettings', 'TarReadSettings': 'TarReadSettings', 'ZipDeflateReadSettings': 'ZipDeflateReadSettings'}
9754    }
9755
9756    def __init__(
9757        self,
9758        *,
9759        additional_properties: Optional[Dict[str, Any]] = None,
9760        **kwargs
9761    ):
9762        super(CompressionReadSettings, self).__init__(**kwargs)
9763        self.additional_properties = additional_properties
9764        self.type = 'CompressionReadSettings'  # type: str
9765
9766
9767class ConcurLinkedService(LinkedService):
9768    """Concur Service linked service.
9769
9770    All required parameters must be populated in order to send to Azure.
9771
9772    :param additional_properties: Unmatched properties from the message are deserialized to this
9773     collection.
9774    :type additional_properties: dict[str, any]
9775    :param type: Required. Type of linked service.Constant filled by server.
9776    :type type: str
9777    :param connect_via: The integration runtime reference.
9778    :type connect_via:
9779     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
9780    :param description: Linked service description.
9781    :type description: str
9782    :param parameters: Parameters for linked service.
9783    :type parameters: dict[str,
9784     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
9785    :param annotations: List of tags that can be used for describing the linked service.
9786    :type annotations: list[any]
9787    :param connection_properties: Properties used to connect to Concur. It is mutually exclusive
9788     with any other properties in the linked service. Type: object.
9789    :type connection_properties: any
9790    :param client_id: Required. Application client_id supplied by Concur App Management.
9791    :type client_id: any
9792    :param username: Required. The user name that you use to access Concur Service.
9793    :type username: any
9794    :param password: The password corresponding to the user name that you provided in the username
9795     field.
9796    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
9797    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
9798     HTTPS. The default value is true.
9799    :type use_encrypted_endpoints: any
9800    :param use_host_verification: Specifies whether to require the host name in the server's
9801     certificate to match the host name of the server when connecting over SSL. The default value is
9802     true.
9803    :type use_host_verification: any
9804    :param use_peer_verification: Specifies whether to verify the identity of the server when
9805     connecting over SSL. The default value is true.
9806    :type use_peer_verification: any
9807    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
9808     encrypted using the integration runtime credential manager. Type: string (or Expression with
9809     resultType string).
9810    :type encrypted_credential: any
9811    """
9812
9813    _validation = {
9814        'type': {'required': True},
9815        'client_id': {'required': True},
9816        'username': {'required': True},
9817    }
9818
9819    _attribute_map = {
9820        'additional_properties': {'key': '', 'type': '{object}'},
9821        'type': {'key': 'type', 'type': 'str'},
9822        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
9823        'description': {'key': 'description', 'type': 'str'},
9824        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
9825        'annotations': {'key': 'annotations', 'type': '[object]'},
9826        'connection_properties': {'key': 'typeProperties.connectionProperties', 'type': 'object'},
9827        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
9828        'username': {'key': 'typeProperties.username', 'type': 'object'},
9829        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
9830        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
9831        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
9832        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
9833        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
9834    }
9835
9836    def __init__(
9837        self,
9838        *,
9839        client_id: Any,
9840        username: Any,
9841        additional_properties: Optional[Dict[str, Any]] = None,
9842        connect_via: Optional["IntegrationRuntimeReference"] = None,
9843        description: Optional[str] = None,
9844        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
9845        annotations: Optional[List[Any]] = None,
9846        connection_properties: Optional[Any] = None,
9847        password: Optional["SecretBase"] = None,
9848        use_encrypted_endpoints: Optional[Any] = None,
9849        use_host_verification: Optional[Any] = None,
9850        use_peer_verification: Optional[Any] = None,
9851        encrypted_credential: Optional[Any] = None,
9852        **kwargs
9853    ):
9854        super(ConcurLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
9855        self.type = 'Concur'  # type: str
9856        self.connection_properties = connection_properties
9857        self.client_id = client_id
9858        self.username = username
9859        self.password = password
9860        self.use_encrypted_endpoints = use_encrypted_endpoints
9861        self.use_host_verification = use_host_verification
9862        self.use_peer_verification = use_peer_verification
9863        self.encrypted_credential = encrypted_credential
9864
9865
9866class ConcurObjectDataset(Dataset):
9867    """Concur Service dataset.
9868
9869    All required parameters must be populated in order to send to Azure.
9870
9871    :param additional_properties: Unmatched properties from the message are deserialized to this
9872     collection.
9873    :type additional_properties: dict[str, any]
9874    :param type: Required. Type of dataset.Constant filled by server.
9875    :type type: str
9876    :param description: Dataset description.
9877    :type description: str
9878    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
9879     with resultType array), itemType: DatasetDataElement.
9880    :type structure: any
9881    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
9882     Expression with resultType array), itemType: DatasetSchemaDataElement.
9883    :type schema: any
9884    :param linked_service_name: Required. Linked service reference.
9885    :type linked_service_name:
9886     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
9887    :param parameters: Parameters for dataset.
9888    :type parameters: dict[str,
9889     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
9890    :param annotations: List of tags that can be used for describing the Dataset.
9891    :type annotations: list[any]
9892    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
9893     root level.
9894    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
9895    :param table_name: The table name. Type: string (or Expression with resultType string).
9896    :type table_name: any
9897    """
9898
9899    _validation = {
9900        'type': {'required': True},
9901        'linked_service_name': {'required': True},
9902    }
9903
9904    _attribute_map = {
9905        'additional_properties': {'key': '', 'type': '{object}'},
9906        'type': {'key': 'type', 'type': 'str'},
9907        'description': {'key': 'description', 'type': 'str'},
9908        'structure': {'key': 'structure', 'type': 'object'},
9909        'schema': {'key': 'schema', 'type': 'object'},
9910        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
9911        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
9912        'annotations': {'key': 'annotations', 'type': '[object]'},
9913        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
9914        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
9915    }
9916
9917    def __init__(
9918        self,
9919        *,
9920        linked_service_name: "LinkedServiceReference",
9921        additional_properties: Optional[Dict[str, Any]] = None,
9922        description: Optional[str] = None,
9923        structure: Optional[Any] = None,
9924        schema: Optional[Any] = None,
9925        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
9926        annotations: Optional[List[Any]] = None,
9927        folder: Optional["DatasetFolder"] = None,
9928        table_name: Optional[Any] = None,
9929        **kwargs
9930    ):
9931        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)
9932        self.type = 'ConcurObject'  # type: str
9933        self.table_name = table_name
9934
9935
9936class ConcurSource(TabularSource):
9937    """A copy activity Concur Service source.
9938
9939    All required parameters must be populated in order to send to Azure.
9940
9941    :param additional_properties: Unmatched properties from the message are deserialized to this
9942     collection.
9943    :type additional_properties: dict[str, any]
9944    :param type: Required. Copy source type.Constant filled by server.
9945    :type type: str
9946    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
9947     integer).
9948    :type source_retry_count: any
9949    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
9950     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
9951    :type source_retry_wait: any
9952    :param max_concurrent_connections: The maximum concurrent connection count for the source data
9953     store. Type: integer (or Expression with resultType integer).
9954    :type max_concurrent_connections: any
9955    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
9956     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
9957    :type query_timeout: any
9958    :param additional_columns: Specifies the additional columns to be added to source data. Type:
9959     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
9960    :type additional_columns: any
9961    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
9962     string).
9963    :type query: any
9964    """
9965
9966    _validation = {
9967        'type': {'required': True},
9968    }
9969
9970    _attribute_map = {
9971        'additional_properties': {'key': '', 'type': '{object}'},
9972        'type': {'key': 'type', 'type': 'str'},
9973        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
9974        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
9975        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
9976        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
9977        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
9978        'query': {'key': 'query', 'type': 'object'},
9979    }
9980
9981    def __init__(
9982        self,
9983        *,
9984        additional_properties: Optional[Dict[str, Any]] = None,
9985        source_retry_count: Optional[Any] = None,
9986        source_retry_wait: Optional[Any] = None,
9987        max_concurrent_connections: Optional[Any] = None,
9988        query_timeout: Optional[Any] = None,
9989        additional_columns: Optional[Any] = None,
9990        query: Optional[Any] = None,
9991        **kwargs
9992    ):
9993        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)
9994        self.type = 'ConcurSource'  # type: str
9995        self.query = query
9996
9997
9998class CopyActivity(ExecutionActivity):
9999    """Copy activity.
10000
10001    All required parameters must be populated in order to send to Azure.
10002
10003    :param additional_properties: Unmatched properties from the message are deserialized to this
10004     collection.
10005    :type additional_properties: dict[str, any]
10006    :param name: Required. Activity name.
10007    :type name: str
10008    :param type: Required. Type of activity.Constant filled by server.
10009    :type type: str
10010    :param description: Activity description.
10011    :type description: str
10012    :param depends_on: Activity depends on condition.
10013    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
10014    :param user_properties: Activity user properties.
10015    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
10016    :param linked_service_name: Linked service reference.
10017    :type linked_service_name:
10018     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
10019    :param policy: Activity policy.
10020    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
10021    :param inputs: List of inputs for the activity.
10022    :type inputs: list[~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetReference]
10023    :param outputs: List of outputs for the activity.
10024    :type outputs: list[~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetReference]
10025    :param source: Required. Copy activity source.
10026    :type source: ~azure.synapse.artifacts.v2021_06_01_preview.models.CopySource
10027    :param sink: Required. Copy activity sink.
10028    :type sink: ~azure.synapse.artifacts.v2021_06_01_preview.models.CopySink
10029    :param translator: Copy activity translator. If not specified, tabular translator is used.
10030    :type translator: any
10031    :param enable_staging: Specifies whether to copy data via an interim staging. Default value is
10032     false. Type: boolean (or Expression with resultType boolean).
10033    :type enable_staging: any
10034    :param staging_settings: Specifies interim staging settings when EnableStaging is true.
10035    :type staging_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StagingSettings
10036    :param parallel_copies: Maximum number of concurrent sessions opened on the source or sink to
10037     avoid overloading the data store. Type: integer (or Expression with resultType integer),
10038     minimum: 0.
10039    :type parallel_copies: any
10040    :param data_integration_units: Maximum number of data integration units that can be used to
10041     perform this data movement. Type: integer (or Expression with resultType integer), minimum: 0.
10042    :type data_integration_units: any
10043    :param enable_skip_incompatible_row: Whether to skip incompatible row. Default value is false.
10044     Type: boolean (or Expression with resultType boolean).
10045    :type enable_skip_incompatible_row: any
10046    :param redirect_incompatible_row_settings: Redirect incompatible row settings when
10047     EnableSkipIncompatibleRow is true.
10048    :type redirect_incompatible_row_settings:
10049     ~azure.synapse.artifacts.v2021_06_01_preview.models.RedirectIncompatibleRowSettings
10050    :param log_storage_settings: (Deprecated. Please use LogSettings) Log storage settings customer
10051     need to provide when enabling session log.
10052    :type log_storage_settings:
10053     ~azure.synapse.artifacts.v2021_06_01_preview.models.LogStorageSettings
10054    :param log_settings: Log settings customer needs provide when enabling log.
10055    :type log_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.LogSettings
10056    :param preserve_rules: Preserve Rules.
10057    :type preserve_rules: list[any]
10058    :param preserve: Preserve rules.
10059    :type preserve: list[any]
10060    :param validate_data_consistency: Whether to enable Data Consistency validation. Type: boolean
10061     (or Expression with resultType boolean).
10062    :type validate_data_consistency: any
10063    :param skip_error_file: Specify the fault tolerance for data consistency.
10064    :type skip_error_file: ~azure.synapse.artifacts.v2021_06_01_preview.models.SkipErrorFile
10065    """
10066
10067    _validation = {
10068        'name': {'required': True},
10069        'type': {'required': True},
10070        'source': {'required': True},
10071        'sink': {'required': True},
10072    }
10073
10074    _attribute_map = {
10075        'additional_properties': {'key': '', 'type': '{object}'},
10076        'name': {'key': 'name', 'type': 'str'},
10077        'type': {'key': 'type', 'type': 'str'},
10078        'description': {'key': 'description', 'type': 'str'},
10079        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
10080        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
10081        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
10082        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
10083        'inputs': {'key': 'inputs', 'type': '[DatasetReference]'},
10084        'outputs': {'key': 'outputs', 'type': '[DatasetReference]'},
10085        'source': {'key': 'typeProperties.source', 'type': 'CopySource'},
10086        'sink': {'key': 'typeProperties.sink', 'type': 'CopySink'},
10087        'translator': {'key': 'typeProperties.translator', 'type': 'object'},
10088        'enable_staging': {'key': 'typeProperties.enableStaging', 'type': 'object'},
10089        'staging_settings': {'key': 'typeProperties.stagingSettings', 'type': 'StagingSettings'},
10090        'parallel_copies': {'key': 'typeProperties.parallelCopies', 'type': 'object'},
10091        'data_integration_units': {'key': 'typeProperties.dataIntegrationUnits', 'type': 'object'},
10092        'enable_skip_incompatible_row': {'key': 'typeProperties.enableSkipIncompatibleRow', 'type': 'object'},
10093        'redirect_incompatible_row_settings': {'key': 'typeProperties.redirectIncompatibleRowSettings', 'type': 'RedirectIncompatibleRowSettings'},
10094        'log_storage_settings': {'key': 'typeProperties.logStorageSettings', 'type': 'LogStorageSettings'},
10095        'log_settings': {'key': 'typeProperties.logSettings', 'type': 'LogSettings'},
10096        'preserve_rules': {'key': 'typeProperties.preserveRules', 'type': '[object]'},
10097        'preserve': {'key': 'typeProperties.preserve', 'type': '[object]'},
10098        'validate_data_consistency': {'key': 'typeProperties.validateDataConsistency', 'type': 'object'},
10099        'skip_error_file': {'key': 'typeProperties.skipErrorFile', 'type': 'SkipErrorFile'},
10100    }
10101
10102    def __init__(
10103        self,
10104        *,
10105        name: str,
10106        source: "CopySource",
10107        sink: "CopySink",
10108        additional_properties: Optional[Dict[str, Any]] = None,
10109        description: Optional[str] = None,
10110        depends_on: Optional[List["ActivityDependency"]] = None,
10111        user_properties: Optional[List["UserProperty"]] = None,
10112        linked_service_name: Optional["LinkedServiceReference"] = None,
10113        policy: Optional["ActivityPolicy"] = None,
10114        inputs: Optional[List["DatasetReference"]] = None,
10115        outputs: Optional[List["DatasetReference"]] = None,
10116        translator: Optional[Any] = None,
10117        enable_staging: Optional[Any] = None,
10118        staging_settings: Optional["StagingSettings"] = None,
10119        parallel_copies: Optional[Any] = None,
10120        data_integration_units: Optional[Any] = None,
10121        enable_skip_incompatible_row: Optional[Any] = None,
10122        redirect_incompatible_row_settings: Optional["RedirectIncompatibleRowSettings"] = None,
10123        log_storage_settings: Optional["LogStorageSettings"] = None,
10124        log_settings: Optional["LogSettings"] = None,
10125        preserve_rules: Optional[List[Any]] = None,
10126        preserve: Optional[List[Any]] = None,
10127        validate_data_consistency: Optional[Any] = None,
10128        skip_error_file: Optional["SkipErrorFile"] = None,
10129        **kwargs
10130    ):
10131        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)
10132        self.type = 'Copy'  # type: str
10133        self.inputs = inputs
10134        self.outputs = outputs
10135        self.source = source
10136        self.sink = sink
10137        self.translator = translator
10138        self.enable_staging = enable_staging
10139        self.staging_settings = staging_settings
10140        self.parallel_copies = parallel_copies
10141        self.data_integration_units = data_integration_units
10142        self.enable_skip_incompatible_row = enable_skip_incompatible_row
10143        self.redirect_incompatible_row_settings = redirect_incompatible_row_settings
10144        self.log_storage_settings = log_storage_settings
10145        self.log_settings = log_settings
10146        self.preserve_rules = preserve_rules
10147        self.preserve = preserve
10148        self.validate_data_consistency = validate_data_consistency
10149        self.skip_error_file = skip_error_file
10150
10151
10152class CopyActivityLogSettings(msrest.serialization.Model):
10153    """Settings for copy activity log.
10154
10155    :param log_level: Gets or sets the log level, support: Info, Warning. Type: string (or
10156     Expression with resultType string).
10157    :type log_level: any
10158    :param enable_reliable_logging: Specifies whether to enable reliable logging. Type: boolean (or
10159     Expression with resultType boolean).
10160    :type enable_reliable_logging: any
10161    """
10162
10163    _attribute_map = {
10164        'log_level': {'key': 'logLevel', 'type': 'object'},
10165        'enable_reliable_logging': {'key': 'enableReliableLogging', 'type': 'object'},
10166    }
10167
10168    def __init__(
10169        self,
10170        *,
10171        log_level: Optional[Any] = None,
10172        enable_reliable_logging: Optional[Any] = None,
10173        **kwargs
10174    ):
10175        super(CopyActivityLogSettings, self).__init__(**kwargs)
10176        self.log_level = log_level
10177        self.enable_reliable_logging = enable_reliable_logging
10178
10179
10180class CopyTranslator(msrest.serialization.Model):
10181    """A copy activity translator.
10182
10183    You probably want to use the sub-classes and not this class directly. Known
10184    sub-classes are: TabularTranslator.
10185
10186    All required parameters must be populated in order to send to Azure.
10187
10188    :param additional_properties: Unmatched properties from the message are deserialized to this
10189     collection.
10190    :type additional_properties: dict[str, any]
10191    :param type: Required. Copy translator type.Constant filled by server.
10192    :type type: str
10193    """
10194
10195    _validation = {
10196        'type': {'required': True},
10197    }
10198
10199    _attribute_map = {
10200        'additional_properties': {'key': '', 'type': '{object}'},
10201        'type': {'key': 'type', 'type': 'str'},
10202    }
10203
10204    _subtype_map = {
10205        'type': {'TabularTranslator': 'TabularTranslator'}
10206    }
10207
10208    def __init__(
10209        self,
10210        *,
10211        additional_properties: Optional[Dict[str, Any]] = None,
10212        **kwargs
10213    ):
10214        super(CopyTranslator, self).__init__(**kwargs)
10215        self.additional_properties = additional_properties
10216        self.type = 'CopyTranslator'  # type: str
10217
10218
10219class CosmosDbLinkedService(LinkedService):
10220    """Microsoft Azure Cosmos Database (CosmosDB) linked service.
10221
10222    All required parameters must be populated in order to send to Azure.
10223
10224    :param additional_properties: Unmatched properties from the message are deserialized to this
10225     collection.
10226    :type additional_properties: dict[str, any]
10227    :param type: Required. Type of linked service.Constant filled by server.
10228    :type type: str
10229    :param connect_via: The integration runtime reference.
10230    :type connect_via:
10231     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
10232    :param description: Linked service description.
10233    :type description: str
10234    :param parameters: Parameters for linked service.
10235    :type parameters: dict[str,
10236     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
10237    :param annotations: List of tags that can be used for describing the linked service.
10238    :type annotations: list[any]
10239    :param connection_string: The connection string. Type: string, SecureString or
10240     AzureKeyVaultSecretReference.
10241    :type connection_string: any
10242    :param account_endpoint: The endpoint of the Azure CosmosDB account. Type: string (or
10243     Expression with resultType string).
10244    :type account_endpoint: any
10245    :param database: The name of the database. Type: string (or Expression with resultType string).
10246    :type database: any
10247    :param account_key: The account key of the Azure CosmosDB account. Type: SecureString or
10248     AzureKeyVaultSecretReference.
10249    :type account_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
10250    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
10251     encrypted using the integration runtime credential manager. Type: string (or Expression with
10252     resultType string).
10253    :type encrypted_credential: any
10254    """
10255
10256    _validation = {
10257        'type': {'required': True},
10258    }
10259
10260    _attribute_map = {
10261        'additional_properties': {'key': '', 'type': '{object}'},
10262        'type': {'key': 'type', 'type': 'str'},
10263        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
10264        'description': {'key': 'description', 'type': 'str'},
10265        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
10266        'annotations': {'key': 'annotations', 'type': '[object]'},
10267        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
10268        'account_endpoint': {'key': 'typeProperties.accountEndpoint', 'type': 'object'},
10269        'database': {'key': 'typeProperties.database', 'type': 'object'},
10270        'account_key': {'key': 'typeProperties.accountKey', 'type': 'SecretBase'},
10271        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
10272    }
10273
10274    def __init__(
10275        self,
10276        *,
10277        additional_properties: Optional[Dict[str, Any]] = None,
10278        connect_via: Optional["IntegrationRuntimeReference"] = None,
10279        description: Optional[str] = None,
10280        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
10281        annotations: Optional[List[Any]] = None,
10282        connection_string: Optional[Any] = None,
10283        account_endpoint: Optional[Any] = None,
10284        database: Optional[Any] = None,
10285        account_key: Optional["SecretBase"] = None,
10286        encrypted_credential: Optional[Any] = None,
10287        **kwargs
10288    ):
10289        super(CosmosDbLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
10290        self.type = 'CosmosDb'  # type: str
10291        self.connection_string = connection_string
10292        self.account_endpoint = account_endpoint
10293        self.database = database
10294        self.account_key = account_key
10295        self.encrypted_credential = encrypted_credential
10296
10297
10298class CosmosDbMongoDbApiCollectionDataset(Dataset):
10299    """The CosmosDB (MongoDB API) database dataset.
10300
10301    All required parameters must be populated in order to send to Azure.
10302
10303    :param additional_properties: Unmatched properties from the message are deserialized to this
10304     collection.
10305    :type additional_properties: dict[str, any]
10306    :param type: Required. Type of dataset.Constant filled by server.
10307    :type type: str
10308    :param description: Dataset description.
10309    :type description: str
10310    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
10311     with resultType array), itemType: DatasetDataElement.
10312    :type structure: any
10313    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
10314     Expression with resultType array), itemType: DatasetSchemaDataElement.
10315    :type schema: any
10316    :param linked_service_name: Required. Linked service reference.
10317    :type linked_service_name:
10318     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
10319    :param parameters: Parameters for dataset.
10320    :type parameters: dict[str,
10321     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
10322    :param annotations: List of tags that can be used for describing the Dataset.
10323    :type annotations: list[any]
10324    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
10325     root level.
10326    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
10327    :param collection: Required. The collection name of the CosmosDB (MongoDB API) database. Type:
10328     string (or Expression with resultType string).
10329    :type collection: any
10330    """
10331
10332    _validation = {
10333        'type': {'required': True},
10334        'linked_service_name': {'required': True},
10335        'collection': {'required': True},
10336    }
10337
10338    _attribute_map = {
10339        'additional_properties': {'key': '', 'type': '{object}'},
10340        'type': {'key': 'type', 'type': 'str'},
10341        'description': {'key': 'description', 'type': 'str'},
10342        'structure': {'key': 'structure', 'type': 'object'},
10343        'schema': {'key': 'schema', 'type': 'object'},
10344        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
10345        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
10346        'annotations': {'key': 'annotations', 'type': '[object]'},
10347        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
10348        'collection': {'key': 'typeProperties.collection', 'type': 'object'},
10349    }
10350
10351    def __init__(
10352        self,
10353        *,
10354        linked_service_name: "LinkedServiceReference",
10355        collection: Any,
10356        additional_properties: Optional[Dict[str, Any]] = None,
10357        description: Optional[str] = None,
10358        structure: Optional[Any] = None,
10359        schema: Optional[Any] = None,
10360        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
10361        annotations: Optional[List[Any]] = None,
10362        folder: Optional["DatasetFolder"] = None,
10363        **kwargs
10364    ):
10365        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)
10366        self.type = 'CosmosDbMongoDbApiCollection'  # type: str
10367        self.collection = collection
10368
10369
10370class CosmosDbMongoDbApiLinkedService(LinkedService):
10371    """Linked service for CosmosDB (MongoDB API) data source.
10372
10373    All required parameters must be populated in order to send to Azure.
10374
10375    :param additional_properties: Unmatched properties from the message are deserialized to this
10376     collection.
10377    :type additional_properties: dict[str, any]
10378    :param type: Required. Type of linked service.Constant filled by server.
10379    :type type: str
10380    :param connect_via: The integration runtime reference.
10381    :type connect_via:
10382     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
10383    :param description: Linked service description.
10384    :type description: str
10385    :param parameters: Parameters for linked service.
10386    :type parameters: dict[str,
10387     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
10388    :param annotations: List of tags that can be used for describing the linked service.
10389    :type annotations: list[any]
10390    :param connection_string: Required. The CosmosDB (MongoDB API) connection string. Type: string,
10391     SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or
10392     AzureKeyVaultSecretReference.
10393    :type connection_string: any
10394    :param database: Required. The name of the CosmosDB (MongoDB API) database that you want to
10395     access. Type: string (or Expression with resultType string).
10396    :type database: any
10397    """
10398
10399    _validation = {
10400        'type': {'required': True},
10401        'connection_string': {'required': True},
10402        'database': {'required': True},
10403    }
10404
10405    _attribute_map = {
10406        'additional_properties': {'key': '', 'type': '{object}'},
10407        'type': {'key': 'type', 'type': 'str'},
10408        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
10409        'description': {'key': 'description', 'type': 'str'},
10410        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
10411        'annotations': {'key': 'annotations', 'type': '[object]'},
10412        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
10413        'database': {'key': 'typeProperties.database', 'type': 'object'},
10414    }
10415
10416    def __init__(
10417        self,
10418        *,
10419        connection_string: Any,
10420        database: Any,
10421        additional_properties: Optional[Dict[str, Any]] = None,
10422        connect_via: Optional["IntegrationRuntimeReference"] = None,
10423        description: Optional[str] = None,
10424        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
10425        annotations: Optional[List[Any]] = None,
10426        **kwargs
10427    ):
10428        super(CosmosDbMongoDbApiLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
10429        self.type = 'CosmosDbMongoDbApi'  # type: str
10430        self.connection_string = connection_string
10431        self.database = database
10432
10433
10434class CosmosDbMongoDbApiSink(CopySink):
10435    """A copy activity sink for a CosmosDB (MongoDB API) database.
10436
10437    All required parameters must be populated in order to send to Azure.
10438
10439    :param additional_properties: Unmatched properties from the message are deserialized to this
10440     collection.
10441    :type additional_properties: dict[str, any]
10442    :param type: Required. Copy sink type.Constant filled by server.
10443    :type type: str
10444    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
10445     integer), minimum: 0.
10446    :type write_batch_size: any
10447    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
10448     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10449    :type write_batch_timeout: any
10450    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
10451     integer).
10452    :type sink_retry_count: any
10453    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
10454     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10455    :type sink_retry_wait: any
10456    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
10457     store. Type: integer (or Expression with resultType integer).
10458    :type max_concurrent_connections: any
10459    :param write_behavior: Specifies whether the document with same key to be overwritten (upsert)
10460     rather than throw exception (insert). The default value is "insert". Type: string (or
10461     Expression with resultType string). Type: string (or Expression with resultType string).
10462    :type write_behavior: any
10463    """
10464
10465    _validation = {
10466        'type': {'required': True},
10467    }
10468
10469    _attribute_map = {
10470        'additional_properties': {'key': '', 'type': '{object}'},
10471        'type': {'key': 'type', 'type': 'str'},
10472        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
10473        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
10474        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
10475        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
10476        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
10477        'write_behavior': {'key': 'writeBehavior', 'type': 'object'},
10478    }
10479
10480    def __init__(
10481        self,
10482        *,
10483        additional_properties: Optional[Dict[str, Any]] = None,
10484        write_batch_size: Optional[Any] = None,
10485        write_batch_timeout: Optional[Any] = None,
10486        sink_retry_count: Optional[Any] = None,
10487        sink_retry_wait: Optional[Any] = None,
10488        max_concurrent_connections: Optional[Any] = None,
10489        write_behavior: Optional[Any] = None,
10490        **kwargs
10491    ):
10492        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)
10493        self.type = 'CosmosDbMongoDbApiSink'  # type: str
10494        self.write_behavior = write_behavior
10495
10496
10497class CosmosDbMongoDbApiSource(CopySource):
10498    """A copy activity source for a CosmosDB (MongoDB API) database.
10499
10500    All required parameters must be populated in order to send to Azure.
10501
10502    :param additional_properties: Unmatched properties from the message are deserialized to this
10503     collection.
10504    :type additional_properties: dict[str, any]
10505    :param type: Required. Copy source type.Constant filled by server.
10506    :type type: str
10507    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
10508     integer).
10509    :type source_retry_count: any
10510    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
10511     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10512    :type source_retry_wait: any
10513    :param max_concurrent_connections: The maximum concurrent connection count for the source data
10514     store. Type: integer (or Expression with resultType integer).
10515    :type max_concurrent_connections: any
10516    :param filter: Specifies selection filter using query operators. To return all documents in a
10517     collection, omit this parameter or pass an empty document ({}). Type: string (or Expression
10518     with resultType string).
10519    :type filter: any
10520    :param cursor_methods: Cursor methods for Mongodb query.
10521    :type cursor_methods:
10522     ~azure.synapse.artifacts.v2021_06_01_preview.models.MongoDbCursorMethodsProperties
10523    :param batch_size: Specifies the number of documents to return in each batch of the response
10524     from MongoDB instance. In most cases, modifying the batch size will not affect the user or the
10525     application. This property's main purpose is to avoid hit the limitation of response size.
10526     Type: integer (or Expression with resultType integer).
10527    :type batch_size: any
10528    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
10529     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10530    :type query_timeout: any
10531    :param additional_columns: Specifies the additional columns to be added to source data. Type:
10532     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
10533    :type additional_columns: any
10534    """
10535
10536    _validation = {
10537        'type': {'required': True},
10538    }
10539
10540    _attribute_map = {
10541        'additional_properties': {'key': '', 'type': '{object}'},
10542        'type': {'key': 'type', 'type': 'str'},
10543        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
10544        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
10545        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
10546        'filter': {'key': 'filter', 'type': 'object'},
10547        'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'},
10548        'batch_size': {'key': 'batchSize', 'type': 'object'},
10549        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
10550        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
10551    }
10552
10553    def __init__(
10554        self,
10555        *,
10556        additional_properties: Optional[Dict[str, Any]] = None,
10557        source_retry_count: Optional[Any] = None,
10558        source_retry_wait: Optional[Any] = None,
10559        max_concurrent_connections: Optional[Any] = None,
10560        filter: Optional[Any] = None,
10561        cursor_methods: Optional["MongoDbCursorMethodsProperties"] = None,
10562        batch_size: Optional[Any] = None,
10563        query_timeout: Optional[Any] = None,
10564        additional_columns: Optional[Any] = None,
10565        **kwargs
10566    ):
10567        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)
10568        self.type = 'CosmosDbMongoDbApiSource'  # type: str
10569        self.filter = filter
10570        self.cursor_methods = cursor_methods
10571        self.batch_size = batch_size
10572        self.query_timeout = query_timeout
10573        self.additional_columns = additional_columns
10574
10575
10576class CosmosDbSqlApiCollectionDataset(Dataset):
10577    """Microsoft Azure CosmosDB (SQL API) Collection dataset.
10578
10579    All required parameters must be populated in order to send to Azure.
10580
10581    :param additional_properties: Unmatched properties from the message are deserialized to this
10582     collection.
10583    :type additional_properties: dict[str, any]
10584    :param type: Required. Type of dataset.Constant filled by server.
10585    :type type: str
10586    :param description: Dataset description.
10587    :type description: str
10588    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
10589     with resultType array), itemType: DatasetDataElement.
10590    :type structure: any
10591    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
10592     Expression with resultType array), itemType: DatasetSchemaDataElement.
10593    :type schema: any
10594    :param linked_service_name: Required. Linked service reference.
10595    :type linked_service_name:
10596     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
10597    :param parameters: Parameters for dataset.
10598    :type parameters: dict[str,
10599     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
10600    :param annotations: List of tags that can be used for describing the Dataset.
10601    :type annotations: list[any]
10602    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
10603     root level.
10604    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
10605    :param collection_name: Required. CosmosDB (SQL API) collection name. Type: string (or
10606     Expression with resultType string).
10607    :type collection_name: any
10608    """
10609
10610    _validation = {
10611        'type': {'required': True},
10612        'linked_service_name': {'required': True},
10613        'collection_name': {'required': True},
10614    }
10615
10616    _attribute_map = {
10617        'additional_properties': {'key': '', 'type': '{object}'},
10618        'type': {'key': 'type', 'type': 'str'},
10619        'description': {'key': 'description', 'type': 'str'},
10620        'structure': {'key': 'structure', 'type': 'object'},
10621        'schema': {'key': 'schema', 'type': 'object'},
10622        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
10623        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
10624        'annotations': {'key': 'annotations', 'type': '[object]'},
10625        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
10626        'collection_name': {'key': 'typeProperties.collectionName', 'type': 'object'},
10627    }
10628
10629    def __init__(
10630        self,
10631        *,
10632        linked_service_name: "LinkedServiceReference",
10633        collection_name: Any,
10634        additional_properties: Optional[Dict[str, Any]] = None,
10635        description: Optional[str] = None,
10636        structure: Optional[Any] = None,
10637        schema: Optional[Any] = None,
10638        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
10639        annotations: Optional[List[Any]] = None,
10640        folder: Optional["DatasetFolder"] = None,
10641        **kwargs
10642    ):
10643        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)
10644        self.type = 'CosmosDbSqlApiCollection'  # type: str
10645        self.collection_name = collection_name
10646
10647
10648class CosmosDbSqlApiSink(CopySink):
10649    """A copy activity Azure CosmosDB (SQL API) Collection sink.
10650
10651    All required parameters must be populated in order to send to Azure.
10652
10653    :param additional_properties: Unmatched properties from the message are deserialized to this
10654     collection.
10655    :type additional_properties: dict[str, any]
10656    :param type: Required. Copy sink type.Constant filled by server.
10657    :type type: str
10658    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
10659     integer), minimum: 0.
10660    :type write_batch_size: any
10661    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
10662     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10663    :type write_batch_timeout: any
10664    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
10665     integer).
10666    :type sink_retry_count: any
10667    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
10668     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10669    :type sink_retry_wait: any
10670    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
10671     store. Type: integer (or Expression with resultType integer).
10672    :type max_concurrent_connections: any
10673    :param write_behavior: Describes how to write data to Azure Cosmos DB. Type: string (or
10674     Expression with resultType string). Allowed values: insert and upsert.
10675    :type write_behavior: any
10676    """
10677
10678    _validation = {
10679        'type': {'required': True},
10680    }
10681
10682    _attribute_map = {
10683        'additional_properties': {'key': '', 'type': '{object}'},
10684        'type': {'key': 'type', 'type': 'str'},
10685        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
10686        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
10687        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
10688        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
10689        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
10690        'write_behavior': {'key': 'writeBehavior', 'type': 'object'},
10691    }
10692
10693    def __init__(
10694        self,
10695        *,
10696        additional_properties: Optional[Dict[str, Any]] = None,
10697        write_batch_size: Optional[Any] = None,
10698        write_batch_timeout: Optional[Any] = None,
10699        sink_retry_count: Optional[Any] = None,
10700        sink_retry_wait: Optional[Any] = None,
10701        max_concurrent_connections: Optional[Any] = None,
10702        write_behavior: Optional[Any] = None,
10703        **kwargs
10704    ):
10705        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)
10706        self.type = 'CosmosDbSqlApiSink'  # type: str
10707        self.write_behavior = write_behavior
10708
10709
10710class CosmosDbSqlApiSource(CopySource):
10711    """A copy activity Azure CosmosDB (SQL API) Collection source.
10712
10713    All required parameters must be populated in order to send to Azure.
10714
10715    :param additional_properties: Unmatched properties from the message are deserialized to this
10716     collection.
10717    :type additional_properties: dict[str, any]
10718    :param type: Required. Copy source type.Constant filled by server.
10719    :type type: str
10720    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
10721     integer).
10722    :type source_retry_count: any
10723    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
10724     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10725    :type source_retry_wait: any
10726    :param max_concurrent_connections: The maximum concurrent connection count for the source data
10727     store. Type: integer (or Expression with resultType integer).
10728    :type max_concurrent_connections: any
10729    :param query: SQL API query. Type: string (or Expression with resultType string).
10730    :type query: any
10731    :param page_size: Page size of the result. Type: integer (or Expression with resultType
10732     integer).
10733    :type page_size: any
10734    :param preferred_regions: Preferred regions. Type: array of strings (or Expression with
10735     resultType array of strings).
10736    :type preferred_regions: any
10737    :param detect_datetime: Whether detect primitive values as datetime values. Type: boolean (or
10738     Expression with resultType boolean).
10739    :type detect_datetime: any
10740    :param additional_columns: Specifies the additional columns to be added to source data. Type:
10741     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
10742    :type additional_columns: any
10743    """
10744
10745    _validation = {
10746        'type': {'required': True},
10747    }
10748
10749    _attribute_map = {
10750        'additional_properties': {'key': '', 'type': '{object}'},
10751        'type': {'key': 'type', 'type': 'str'},
10752        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
10753        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
10754        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
10755        'query': {'key': 'query', 'type': 'object'},
10756        'page_size': {'key': 'pageSize', 'type': 'object'},
10757        'preferred_regions': {'key': 'preferredRegions', 'type': 'object'},
10758        'detect_datetime': {'key': 'detectDatetime', 'type': 'object'},
10759        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
10760    }
10761
10762    def __init__(
10763        self,
10764        *,
10765        additional_properties: Optional[Dict[str, Any]] = None,
10766        source_retry_count: Optional[Any] = None,
10767        source_retry_wait: Optional[Any] = None,
10768        max_concurrent_connections: Optional[Any] = None,
10769        query: Optional[Any] = None,
10770        page_size: Optional[Any] = None,
10771        preferred_regions: Optional[Any] = None,
10772        detect_datetime: Optional[Any] = None,
10773        additional_columns: Optional[Any] = None,
10774        **kwargs
10775    ):
10776        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)
10777        self.type = 'CosmosDbSqlApiSource'  # type: str
10778        self.query = query
10779        self.page_size = page_size
10780        self.preferred_regions = preferred_regions
10781        self.detect_datetime = detect_datetime
10782        self.additional_columns = additional_columns
10783
10784
10785class CouchbaseLinkedService(LinkedService):
10786    """Couchbase server linked service.
10787
10788    All required parameters must be populated in order to send to Azure.
10789
10790    :param additional_properties: Unmatched properties from the message are deserialized to this
10791     collection.
10792    :type additional_properties: dict[str, any]
10793    :param type: Required. Type of linked service.Constant filled by server.
10794    :type type: str
10795    :param connect_via: The integration runtime reference.
10796    :type connect_via:
10797     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
10798    :param description: Linked service description.
10799    :type description: str
10800    :param parameters: Parameters for linked service.
10801    :type parameters: dict[str,
10802     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
10803    :param annotations: List of tags that can be used for describing the linked service.
10804    :type annotations: list[any]
10805    :param connection_string: An ODBC connection string. Type: string, SecureString or
10806     AzureKeyVaultSecretReference.
10807    :type connection_string: any
10808    :param cred_string: The Azure key vault secret reference of credString in connection string.
10809    :type cred_string:
10810     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
10811    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
10812     encrypted using the integration runtime credential manager. Type: string (or Expression with
10813     resultType string).
10814    :type encrypted_credential: any
10815    """
10816
10817    _validation = {
10818        'type': {'required': True},
10819    }
10820
10821    _attribute_map = {
10822        'additional_properties': {'key': '', 'type': '{object}'},
10823        'type': {'key': 'type', 'type': 'str'},
10824        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
10825        'description': {'key': 'description', 'type': 'str'},
10826        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
10827        'annotations': {'key': 'annotations', 'type': '[object]'},
10828        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
10829        'cred_string': {'key': 'typeProperties.credString', 'type': 'AzureKeyVaultSecretReference'},
10830        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
10831    }
10832
10833    def __init__(
10834        self,
10835        *,
10836        additional_properties: Optional[Dict[str, Any]] = None,
10837        connect_via: Optional["IntegrationRuntimeReference"] = None,
10838        description: Optional[str] = None,
10839        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
10840        annotations: Optional[List[Any]] = None,
10841        connection_string: Optional[Any] = None,
10842        cred_string: Optional["AzureKeyVaultSecretReference"] = None,
10843        encrypted_credential: Optional[Any] = None,
10844        **kwargs
10845    ):
10846        super(CouchbaseLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
10847        self.type = 'Couchbase'  # type: str
10848        self.connection_string = connection_string
10849        self.cred_string = cred_string
10850        self.encrypted_credential = encrypted_credential
10851
10852
10853class CouchbaseSource(TabularSource):
10854    """A copy activity Couchbase server source.
10855
10856    All required parameters must be populated in order to send to Azure.
10857
10858    :param additional_properties: Unmatched properties from the message are deserialized to this
10859     collection.
10860    :type additional_properties: dict[str, any]
10861    :param type: Required. Copy source type.Constant filled by server.
10862    :type type: str
10863    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
10864     integer).
10865    :type source_retry_count: any
10866    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
10867     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10868    :type source_retry_wait: any
10869    :param max_concurrent_connections: The maximum concurrent connection count for the source data
10870     store. Type: integer (or Expression with resultType integer).
10871    :type max_concurrent_connections: any
10872    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
10873     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
10874    :type query_timeout: any
10875    :param additional_columns: Specifies the additional columns to be added to source data. Type:
10876     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
10877    :type additional_columns: any
10878    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
10879     string).
10880    :type query: any
10881    """
10882
10883    _validation = {
10884        'type': {'required': True},
10885    }
10886
10887    _attribute_map = {
10888        'additional_properties': {'key': '', 'type': '{object}'},
10889        'type': {'key': 'type', 'type': 'str'},
10890        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
10891        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
10892        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
10893        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
10894        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
10895        'query': {'key': 'query', 'type': 'object'},
10896    }
10897
10898    def __init__(
10899        self,
10900        *,
10901        additional_properties: Optional[Dict[str, Any]] = None,
10902        source_retry_count: Optional[Any] = None,
10903        source_retry_wait: Optional[Any] = None,
10904        max_concurrent_connections: Optional[Any] = None,
10905        query_timeout: Optional[Any] = None,
10906        additional_columns: Optional[Any] = None,
10907        query: Optional[Any] = None,
10908        **kwargs
10909    ):
10910        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)
10911        self.type = 'CouchbaseSource'  # type: str
10912        self.query = query
10913
10914
10915class CouchbaseTableDataset(Dataset):
10916    """Couchbase server dataset.
10917
10918    All required parameters must be populated in order to send to Azure.
10919
10920    :param additional_properties: Unmatched properties from the message are deserialized to this
10921     collection.
10922    :type additional_properties: dict[str, any]
10923    :param type: Required. Type of dataset.Constant filled by server.
10924    :type type: str
10925    :param description: Dataset description.
10926    :type description: str
10927    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
10928     with resultType array), itemType: DatasetDataElement.
10929    :type structure: any
10930    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
10931     Expression with resultType array), itemType: DatasetSchemaDataElement.
10932    :type schema: any
10933    :param linked_service_name: Required. Linked service reference.
10934    :type linked_service_name:
10935     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
10936    :param parameters: Parameters for dataset.
10937    :type parameters: dict[str,
10938     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
10939    :param annotations: List of tags that can be used for describing the Dataset.
10940    :type annotations: list[any]
10941    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
10942     root level.
10943    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
10944    :param table_name: The table name. Type: string (or Expression with resultType string).
10945    :type table_name: any
10946    """
10947
10948    _validation = {
10949        'type': {'required': True},
10950        'linked_service_name': {'required': True},
10951    }
10952
10953    _attribute_map = {
10954        'additional_properties': {'key': '', 'type': '{object}'},
10955        'type': {'key': 'type', 'type': 'str'},
10956        'description': {'key': 'description', 'type': 'str'},
10957        'structure': {'key': 'structure', 'type': 'object'},
10958        'schema': {'key': 'schema', 'type': 'object'},
10959        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
10960        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
10961        'annotations': {'key': 'annotations', 'type': '[object]'},
10962        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
10963        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
10964    }
10965
10966    def __init__(
10967        self,
10968        *,
10969        linked_service_name: "LinkedServiceReference",
10970        additional_properties: Optional[Dict[str, Any]] = None,
10971        description: Optional[str] = None,
10972        structure: Optional[Any] = None,
10973        schema: Optional[Any] = None,
10974        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
10975        annotations: Optional[List[Any]] = None,
10976        folder: Optional["DatasetFolder"] = None,
10977        table_name: Optional[Any] = None,
10978        **kwargs
10979    ):
10980        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)
10981        self.type = 'CouchbaseTable'  # type: str
10982        self.table_name = table_name
10983
10984
10985class CreateDataFlowDebugSessionRequest(msrest.serialization.Model):
10986    """Request body structure for creating data flow debug session.
10987
10988    :param data_flow_name: The name of the data flow.
10989    :type data_flow_name: str
10990    :param existing_cluster_id: The ID of existing Databricks cluster.
10991    :type existing_cluster_id: str
10992    :param cluster_timeout: Timeout setting for Databricks cluster.
10993    :type cluster_timeout: int
10994    :param new_cluster_name: The name of new Databricks cluster.
10995    :type new_cluster_name: str
10996    :param new_cluster_node_type: The type of new Databricks cluster.
10997    :type new_cluster_node_type: str
10998    :param data_bricks_linked_service: Data bricks linked service.
10999    :type data_bricks_linked_service:
11000     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceResource
11001    """
11002
11003    _attribute_map = {
11004        'data_flow_name': {'key': 'dataFlowName', 'type': 'str'},
11005        'existing_cluster_id': {'key': 'existingClusterId', 'type': 'str'},
11006        'cluster_timeout': {'key': 'clusterTimeout', 'type': 'int'},
11007        'new_cluster_name': {'key': 'newClusterName', 'type': 'str'},
11008        'new_cluster_node_type': {'key': 'newClusterNodeType', 'type': 'str'},
11009        'data_bricks_linked_service': {'key': 'dataBricksLinkedService', 'type': 'LinkedServiceResource'},
11010    }
11011
11012    def __init__(
11013        self,
11014        *,
11015        data_flow_name: Optional[str] = None,
11016        existing_cluster_id: Optional[str] = None,
11017        cluster_timeout: Optional[int] = None,
11018        new_cluster_name: Optional[str] = None,
11019        new_cluster_node_type: Optional[str] = None,
11020        data_bricks_linked_service: Optional["LinkedServiceResource"] = None,
11021        **kwargs
11022    ):
11023        super(CreateDataFlowDebugSessionRequest, self).__init__(**kwargs)
11024        self.data_flow_name = data_flow_name
11025        self.existing_cluster_id = existing_cluster_id
11026        self.cluster_timeout = cluster_timeout
11027        self.new_cluster_name = new_cluster_name
11028        self.new_cluster_node_type = new_cluster_node_type
11029        self.data_bricks_linked_service = data_bricks_linked_service
11030
11031
11032class CreateDataFlowDebugSessionResponse(msrest.serialization.Model):
11033    """Response body structure for creating data flow debug session.
11034
11035    :param session_id: The ID of data flow debug session.
11036    :type session_id: str
11037    """
11038
11039    _attribute_map = {
11040        'session_id': {'key': 'sessionId', 'type': 'str'},
11041    }
11042
11043    def __init__(
11044        self,
11045        *,
11046        session_id: Optional[str] = None,
11047        **kwargs
11048    ):
11049        super(CreateDataFlowDebugSessionResponse, self).__init__(**kwargs)
11050        self.session_id = session_id
11051
11052
11053class CreateRunResponse(msrest.serialization.Model):
11054    """Response body with a run identifier.
11055
11056    All required parameters must be populated in order to send to Azure.
11057
11058    :param run_id: Required. Identifier of a run.
11059    :type run_id: str
11060    """
11061
11062    _validation = {
11063        'run_id': {'required': True},
11064    }
11065
11066    _attribute_map = {
11067        'run_id': {'key': 'runId', 'type': 'str'},
11068    }
11069
11070    def __init__(
11071        self,
11072        *,
11073        run_id: str,
11074        **kwargs
11075    ):
11076        super(CreateRunResponse, self).__init__(**kwargs)
11077        self.run_id = run_id
11078
11079
11080class CustomActivity(ExecutionActivity):
11081    """Custom activity type.
11082
11083    All required parameters must be populated in order to send to Azure.
11084
11085    :param additional_properties: Unmatched properties from the message are deserialized to this
11086     collection.
11087    :type additional_properties: dict[str, any]
11088    :param name: Required. Activity name.
11089    :type name: str
11090    :param type: Required. Type of activity.Constant filled by server.
11091    :type type: str
11092    :param description: Activity description.
11093    :type description: str
11094    :param depends_on: Activity depends on condition.
11095    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
11096    :param user_properties: Activity user properties.
11097    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
11098    :param linked_service_name: Linked service reference.
11099    :type linked_service_name:
11100     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
11101    :param policy: Activity policy.
11102    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
11103    :param command: Required. Command for custom activity Type: string (or Expression with
11104     resultType string).
11105    :type command: any
11106    :param resource_linked_service: Resource linked service reference.
11107    :type resource_linked_service:
11108     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
11109    :param folder_path: Folder path for resource files Type: string (or Expression with resultType
11110     string).
11111    :type folder_path: any
11112    :param reference_objects: Reference objects.
11113    :type reference_objects:
11114     ~azure.synapse.artifacts.v2021_06_01_preview.models.CustomActivityReferenceObject
11115    :param extended_properties: User defined property bag. There is no restriction on the keys or
11116     values that can be used. The user specified custom activity has the full responsibility to
11117     consume and interpret the content defined.
11118    :type extended_properties: dict[str, any]
11119    :param retention_time_in_days: The retention time for the files submitted for custom activity.
11120     Type: double (or Expression with resultType double).
11121    :type retention_time_in_days: any
11122    :param auto_user_specification: Elevation level and scope for the user, default is nonadmin
11123     task. Type: string (or Expression with resultType double).
11124    :type auto_user_specification: any
11125    """
11126
11127    _validation = {
11128        'name': {'required': True},
11129        'type': {'required': True},
11130        'command': {'required': True},
11131    }
11132
11133    _attribute_map = {
11134        'additional_properties': {'key': '', 'type': '{object}'},
11135        'name': {'key': 'name', 'type': 'str'},
11136        'type': {'key': 'type', 'type': 'str'},
11137        'description': {'key': 'description', 'type': 'str'},
11138        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
11139        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
11140        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
11141        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
11142        'command': {'key': 'typeProperties.command', 'type': 'object'},
11143        'resource_linked_service': {'key': 'typeProperties.resourceLinkedService', 'type': 'LinkedServiceReference'},
11144        'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'},
11145        'reference_objects': {'key': 'typeProperties.referenceObjects', 'type': 'CustomActivityReferenceObject'},
11146        'extended_properties': {'key': 'typeProperties.extendedProperties', 'type': '{object}'},
11147        'retention_time_in_days': {'key': 'typeProperties.retentionTimeInDays', 'type': 'object'},
11148        'auto_user_specification': {'key': 'typeProperties.autoUserSpecification', 'type': 'object'},
11149    }
11150
11151    def __init__(
11152        self,
11153        *,
11154        name: str,
11155        command: Any,
11156        additional_properties: Optional[Dict[str, Any]] = None,
11157        description: Optional[str] = None,
11158        depends_on: Optional[List["ActivityDependency"]] = None,
11159        user_properties: Optional[List["UserProperty"]] = None,
11160        linked_service_name: Optional["LinkedServiceReference"] = None,
11161        policy: Optional["ActivityPolicy"] = None,
11162        resource_linked_service: Optional["LinkedServiceReference"] = None,
11163        folder_path: Optional[Any] = None,
11164        reference_objects: Optional["CustomActivityReferenceObject"] = None,
11165        extended_properties: Optional[Dict[str, Any]] = None,
11166        retention_time_in_days: Optional[Any] = None,
11167        auto_user_specification: Optional[Any] = None,
11168        **kwargs
11169    ):
11170        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)
11171        self.type = 'Custom'  # type: str
11172        self.command = command
11173        self.resource_linked_service = resource_linked_service
11174        self.folder_path = folder_path
11175        self.reference_objects = reference_objects
11176        self.extended_properties = extended_properties
11177        self.retention_time_in_days = retention_time_in_days
11178        self.auto_user_specification = auto_user_specification
11179
11180
11181class CustomActivityReferenceObject(msrest.serialization.Model):
11182    """Reference objects for custom activity.
11183
11184    :param linked_services: Linked service references.
11185    :type linked_services:
11186     list[~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference]
11187    :param datasets: Dataset references.
11188    :type datasets: list[~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetReference]
11189    """
11190
11191    _attribute_map = {
11192        'linked_services': {'key': 'linkedServices', 'type': '[LinkedServiceReference]'},
11193        'datasets': {'key': 'datasets', 'type': '[DatasetReference]'},
11194    }
11195
11196    def __init__(
11197        self,
11198        *,
11199        linked_services: Optional[List["LinkedServiceReference"]] = None,
11200        datasets: Optional[List["DatasetReference"]] = None,
11201        **kwargs
11202    ):
11203        super(CustomActivityReferenceObject, self).__init__(**kwargs)
11204        self.linked_services = linked_services
11205        self.datasets = datasets
11206
11207
11208class CustomDataset(Dataset):
11209    """The custom dataset.
11210
11211    All required parameters must be populated in order to send to Azure.
11212
11213    :param additional_properties: Unmatched properties from the message are deserialized to this
11214     collection.
11215    :type additional_properties: dict[str, any]
11216    :param type: Required. Type of dataset.Constant filled by server.
11217    :type type: str
11218    :param description: Dataset description.
11219    :type description: str
11220    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
11221     with resultType array), itemType: DatasetDataElement.
11222    :type structure: any
11223    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
11224     Expression with resultType array), itemType: DatasetSchemaDataElement.
11225    :type schema: any
11226    :param linked_service_name: Required. Linked service reference.
11227    :type linked_service_name:
11228     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
11229    :param parameters: Parameters for dataset.
11230    :type parameters: dict[str,
11231     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
11232    :param annotations: List of tags that can be used for describing the Dataset.
11233    :type annotations: list[any]
11234    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
11235     root level.
11236    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
11237    :param type_properties: Custom dataset properties.
11238    :type type_properties: any
11239    """
11240
11241    _validation = {
11242        'type': {'required': True},
11243        'linked_service_name': {'required': True},
11244    }
11245
11246    _attribute_map = {
11247        'additional_properties': {'key': '', 'type': '{object}'},
11248        'type': {'key': 'type', 'type': 'str'},
11249        'description': {'key': 'description', 'type': 'str'},
11250        'structure': {'key': 'structure', 'type': 'object'},
11251        'schema': {'key': 'schema', 'type': 'object'},
11252        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
11253        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
11254        'annotations': {'key': 'annotations', 'type': '[object]'},
11255        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
11256        'type_properties': {'key': 'typeProperties', 'type': 'object'},
11257    }
11258
11259    def __init__(
11260        self,
11261        *,
11262        linked_service_name: "LinkedServiceReference",
11263        additional_properties: Optional[Dict[str, Any]] = None,
11264        description: Optional[str] = None,
11265        structure: Optional[Any] = None,
11266        schema: Optional[Any] = None,
11267        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
11268        annotations: Optional[List[Any]] = None,
11269        folder: Optional["DatasetFolder"] = None,
11270        type_properties: Optional[Any] = None,
11271        **kwargs
11272    ):
11273        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)
11274        self.type = 'CustomDataset'  # type: str
11275        self.type_properties = type_properties
11276
11277
11278class CustomDataSourceLinkedService(LinkedService):
11279    """Custom linked service.
11280
11281    All required parameters must be populated in order to send to Azure.
11282
11283    :param additional_properties: Unmatched properties from the message are deserialized to this
11284     collection.
11285    :type additional_properties: dict[str, any]
11286    :param type: Required. Type of linked service.Constant filled by server.
11287    :type type: str
11288    :param connect_via: The integration runtime reference.
11289    :type connect_via:
11290     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
11291    :param description: Linked service description.
11292    :type description: str
11293    :param parameters: Parameters for linked service.
11294    :type parameters: dict[str,
11295     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
11296    :param annotations: List of tags that can be used for describing the linked service.
11297    :type annotations: list[any]
11298    :param type_properties: Required. Custom linked service properties.
11299    :type type_properties: any
11300    """
11301
11302    _validation = {
11303        'type': {'required': True},
11304        'type_properties': {'required': True},
11305    }
11306
11307    _attribute_map = {
11308        'additional_properties': {'key': '', 'type': '{object}'},
11309        'type': {'key': 'type', 'type': 'str'},
11310        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
11311        'description': {'key': 'description', 'type': 'str'},
11312        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
11313        'annotations': {'key': 'annotations', 'type': '[object]'},
11314        'type_properties': {'key': 'typeProperties', 'type': 'object'},
11315    }
11316
11317    def __init__(
11318        self,
11319        *,
11320        type_properties: Any,
11321        additional_properties: Optional[Dict[str, Any]] = None,
11322        connect_via: Optional["IntegrationRuntimeReference"] = None,
11323        description: Optional[str] = None,
11324        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
11325        annotations: Optional[List[Any]] = None,
11326        **kwargs
11327    ):
11328        super(CustomDataSourceLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
11329        self.type = 'CustomDataSource'  # type: str
11330        self.type_properties = type_properties
11331
11332
11333class CustomerManagedKeyDetails(msrest.serialization.Model):
11334    """Details of the customer managed key associated with the workspace.
11335
11336    Variables are only populated by the server, and will be ignored when sending a request.
11337
11338    :ivar status: The customer managed key status on the workspace.
11339    :vartype status: str
11340    :param key: The key object of the workspace.
11341    :type key: ~azure.synapse.artifacts.v2021_06_01_preview.models.WorkspaceKeyDetails
11342    """
11343
11344    _validation = {
11345        'status': {'readonly': True},
11346    }
11347
11348    _attribute_map = {
11349        'status': {'key': 'status', 'type': 'str'},
11350        'key': {'key': 'key', 'type': 'WorkspaceKeyDetails'},
11351    }
11352
11353    def __init__(
11354        self,
11355        *,
11356        key: Optional["WorkspaceKeyDetails"] = None,
11357        **kwargs
11358    ):
11359        super(CustomerManagedKeyDetails, self).__init__(**kwargs)
11360        self.status = None
11361        self.key = key
11362
11363
11364class CustomEventsTrigger(MultiplePipelineTrigger):
11365    """Trigger that runs every time a custom event is received.
11366
11367    Variables are only populated by the server, and will be ignored when sending a request.
11368
11369    All required parameters must be populated in order to send to Azure.
11370
11371    :param additional_properties: Unmatched properties from the message are deserialized to this
11372     collection.
11373    :type additional_properties: dict[str, any]
11374    :param type: Required. Trigger type.Constant filled by server.
11375    :type type: str
11376    :param description: Trigger description.
11377    :type description: str
11378    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
11379     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
11380    :vartype runtime_state: str or
11381     ~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerRuntimeState
11382    :param annotations: List of tags that can be used for describing the trigger.
11383    :type annotations: list[any]
11384    :param pipelines: Pipelines that need to be started.
11385    :type pipelines:
11386     list[~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerPipelineReference]
11387    :param subject_begins_with: The event subject must begin with the pattern provided for trigger
11388     to fire. At least one of these must be provided: subjectBeginsWith, subjectEndsWith.
11389    :type subject_begins_with: str
11390    :param subject_ends_with: The event subject must end with the pattern provided for trigger to
11391     fire. At least one of these must be provided: subjectBeginsWith, subjectEndsWith.
11392    :type subject_ends_with: str
11393    :param events: Required. The list of event types that cause this trigger to fire.
11394    :type events: list[any]
11395    :param scope: Required. The ARM resource ID of the Azure Event Grid Topic.
11396    :type scope: str
11397    """
11398
11399    _validation = {
11400        'type': {'required': True},
11401        'runtime_state': {'readonly': True},
11402        'events': {'required': True},
11403        'scope': {'required': True},
11404    }
11405
11406    _attribute_map = {
11407        'additional_properties': {'key': '', 'type': '{object}'},
11408        'type': {'key': 'type', 'type': 'str'},
11409        'description': {'key': 'description', 'type': 'str'},
11410        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
11411        'annotations': {'key': 'annotations', 'type': '[object]'},
11412        'pipelines': {'key': 'pipelines', 'type': '[TriggerPipelineReference]'},
11413        'subject_begins_with': {'key': 'typeProperties.subjectBeginsWith', 'type': 'str'},
11414        'subject_ends_with': {'key': 'typeProperties.subjectEndsWith', 'type': 'str'},
11415        'events': {'key': 'typeProperties.events', 'type': '[object]'},
11416        'scope': {'key': 'typeProperties.scope', 'type': 'str'},
11417    }
11418
11419    def __init__(
11420        self,
11421        *,
11422        events: List[Any],
11423        scope: str,
11424        additional_properties: Optional[Dict[str, Any]] = None,
11425        description: Optional[str] = None,
11426        annotations: Optional[List[Any]] = None,
11427        pipelines: Optional[List["TriggerPipelineReference"]] = None,
11428        subject_begins_with: Optional[str] = None,
11429        subject_ends_with: Optional[str] = None,
11430        **kwargs
11431    ):
11432        super(CustomEventsTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, pipelines=pipelines, **kwargs)
11433        self.type = 'CustomEventsTrigger'  # type: str
11434        self.subject_begins_with = subject_begins_with
11435        self.subject_ends_with = subject_ends_with
11436        self.events = events
11437        self.scope = scope
11438
11439
11440class CustomSetupBase(msrest.serialization.Model):
11441    """The base definition of the custom setup.
11442
11443    You probably want to use the sub-classes and not this class directly. Known
11444    sub-classes are: .
11445
11446    All required parameters must be populated in order to send to Azure.
11447
11448    :param type: Required. The type of custom setup.Constant filled by server.
11449    :type type: str
11450    """
11451
11452    _validation = {
11453        'type': {'required': True},
11454    }
11455
11456    _attribute_map = {
11457        'type': {'key': 'type', 'type': 'str'},
11458    }
11459
11460    _subtype_map = {
11461        'type': {}
11462    }
11463
11464    def __init__(
11465        self,
11466        **kwargs
11467    ):
11468        super(CustomSetupBase, self).__init__(**kwargs)
11469        self.type = None  # type: Optional[str]
11470
11471
11472class DatabricksNotebookActivity(ExecutionActivity):
11473    """DatabricksNotebook activity.
11474
11475    All required parameters must be populated in order to send to Azure.
11476
11477    :param additional_properties: Unmatched properties from the message are deserialized to this
11478     collection.
11479    :type additional_properties: dict[str, any]
11480    :param name: Required. Activity name.
11481    :type name: str
11482    :param type: Required. Type of activity.Constant filled by server.
11483    :type type: str
11484    :param description: Activity description.
11485    :type description: str
11486    :param depends_on: Activity depends on condition.
11487    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
11488    :param user_properties: Activity user properties.
11489    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
11490    :param linked_service_name: Linked service reference.
11491    :type linked_service_name:
11492     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
11493    :param policy: Activity policy.
11494    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
11495    :param notebook_path: Required. The absolute path of the notebook to be run in the Databricks
11496     Workspace. This path must begin with a slash. Type: string (or Expression with resultType
11497     string).
11498    :type notebook_path: any
11499    :param base_parameters: Base parameters to be used for each run of this job.If the notebook
11500     takes a parameter that is not specified, the default value from the notebook will be used.
11501    :type base_parameters: dict[str, any]
11502    :param libraries: A list of libraries to be installed on the cluster that will execute the job.
11503    :type libraries: list[dict[str, any]]
11504    """
11505
11506    _validation = {
11507        'name': {'required': True},
11508        'type': {'required': True},
11509        'notebook_path': {'required': True},
11510    }
11511
11512    _attribute_map = {
11513        'additional_properties': {'key': '', 'type': '{object}'},
11514        'name': {'key': 'name', 'type': 'str'},
11515        'type': {'key': 'type', 'type': 'str'},
11516        'description': {'key': 'description', 'type': 'str'},
11517        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
11518        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
11519        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
11520        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
11521        'notebook_path': {'key': 'typeProperties.notebookPath', 'type': 'object'},
11522        'base_parameters': {'key': 'typeProperties.baseParameters', 'type': '{object}'},
11523        'libraries': {'key': 'typeProperties.libraries', 'type': '[{object}]'},
11524    }
11525
11526    def __init__(
11527        self,
11528        *,
11529        name: str,
11530        notebook_path: Any,
11531        additional_properties: Optional[Dict[str, Any]] = None,
11532        description: Optional[str] = None,
11533        depends_on: Optional[List["ActivityDependency"]] = None,
11534        user_properties: Optional[List["UserProperty"]] = None,
11535        linked_service_name: Optional["LinkedServiceReference"] = None,
11536        policy: Optional["ActivityPolicy"] = None,
11537        base_parameters: Optional[Dict[str, Any]] = None,
11538        libraries: Optional[List[Dict[str, Any]]] = None,
11539        **kwargs
11540    ):
11541        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)
11542        self.type = 'DatabricksNotebook'  # type: str
11543        self.notebook_path = notebook_path
11544        self.base_parameters = base_parameters
11545        self.libraries = libraries
11546
11547
11548class DatabricksSparkJarActivity(ExecutionActivity):
11549    """DatabricksSparkJar activity.
11550
11551    All required parameters must be populated in order to send to Azure.
11552
11553    :param additional_properties: Unmatched properties from the message are deserialized to this
11554     collection.
11555    :type additional_properties: dict[str, any]
11556    :param name: Required. Activity name.
11557    :type name: str
11558    :param type: Required. Type of activity.Constant filled by server.
11559    :type type: str
11560    :param description: Activity description.
11561    :type description: str
11562    :param depends_on: Activity depends on condition.
11563    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
11564    :param user_properties: Activity user properties.
11565    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
11566    :param linked_service_name: Linked service reference.
11567    :type linked_service_name:
11568     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
11569    :param policy: Activity policy.
11570    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
11571    :param main_class_name: Required. The full name of the class containing the main method to be
11572     executed. This class must be contained in a JAR provided as a library. Type: string (or
11573     Expression with resultType string).
11574    :type main_class_name: any
11575    :param parameters: Parameters that will be passed to the main method.
11576    :type parameters: list[any]
11577    :param libraries: A list of libraries to be installed on the cluster that will execute the job.
11578    :type libraries: list[dict[str, any]]
11579    """
11580
11581    _validation = {
11582        'name': {'required': True},
11583        'type': {'required': True},
11584        'main_class_name': {'required': True},
11585    }
11586
11587    _attribute_map = {
11588        'additional_properties': {'key': '', 'type': '{object}'},
11589        'name': {'key': 'name', 'type': 'str'},
11590        'type': {'key': 'type', 'type': 'str'},
11591        'description': {'key': 'description', 'type': 'str'},
11592        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
11593        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
11594        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
11595        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
11596        'main_class_name': {'key': 'typeProperties.mainClassName', 'type': 'object'},
11597        'parameters': {'key': 'typeProperties.parameters', 'type': '[object]'},
11598        'libraries': {'key': 'typeProperties.libraries', 'type': '[{object}]'},
11599    }
11600
11601    def __init__(
11602        self,
11603        *,
11604        name: str,
11605        main_class_name: Any,
11606        additional_properties: Optional[Dict[str, Any]] = None,
11607        description: Optional[str] = None,
11608        depends_on: Optional[List["ActivityDependency"]] = None,
11609        user_properties: Optional[List["UserProperty"]] = None,
11610        linked_service_name: Optional["LinkedServiceReference"] = None,
11611        policy: Optional["ActivityPolicy"] = None,
11612        parameters: Optional[List[Any]] = None,
11613        libraries: Optional[List[Dict[str, Any]]] = None,
11614        **kwargs
11615    ):
11616        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)
11617        self.type = 'DatabricksSparkJar'  # type: str
11618        self.main_class_name = main_class_name
11619        self.parameters = parameters
11620        self.libraries = libraries
11621
11622
11623class DatabricksSparkPythonActivity(ExecutionActivity):
11624    """DatabricksSparkPython activity.
11625
11626    All required parameters must be populated in order to send to Azure.
11627
11628    :param additional_properties: Unmatched properties from the message are deserialized to this
11629     collection.
11630    :type additional_properties: dict[str, any]
11631    :param name: Required. Activity name.
11632    :type name: str
11633    :param type: Required. Type of activity.Constant filled by server.
11634    :type type: str
11635    :param description: Activity description.
11636    :type description: str
11637    :param depends_on: Activity depends on condition.
11638    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
11639    :param user_properties: Activity user properties.
11640    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
11641    :param linked_service_name: Linked service reference.
11642    :type linked_service_name:
11643     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
11644    :param policy: Activity policy.
11645    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
11646    :param python_file: Required. The URI of the Python file to be executed. DBFS paths are
11647     supported. Type: string (or Expression with resultType string).
11648    :type python_file: any
11649    :param parameters: Command line parameters that will be passed to the Python file.
11650    :type parameters: list[any]
11651    :param libraries: A list of libraries to be installed on the cluster that will execute the job.
11652    :type libraries: list[dict[str, any]]
11653    """
11654
11655    _validation = {
11656        'name': {'required': True},
11657        'type': {'required': True},
11658        'python_file': {'required': True},
11659    }
11660
11661    _attribute_map = {
11662        'additional_properties': {'key': '', 'type': '{object}'},
11663        'name': {'key': 'name', 'type': 'str'},
11664        'type': {'key': 'type', 'type': 'str'},
11665        'description': {'key': 'description', 'type': 'str'},
11666        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
11667        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
11668        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
11669        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
11670        'python_file': {'key': 'typeProperties.pythonFile', 'type': 'object'},
11671        'parameters': {'key': 'typeProperties.parameters', 'type': '[object]'},
11672        'libraries': {'key': 'typeProperties.libraries', 'type': '[{object}]'},
11673    }
11674
11675    def __init__(
11676        self,
11677        *,
11678        name: str,
11679        python_file: Any,
11680        additional_properties: Optional[Dict[str, Any]] = None,
11681        description: Optional[str] = None,
11682        depends_on: Optional[List["ActivityDependency"]] = None,
11683        user_properties: Optional[List["UserProperty"]] = None,
11684        linked_service_name: Optional["LinkedServiceReference"] = None,
11685        policy: Optional["ActivityPolicy"] = None,
11686        parameters: Optional[List[Any]] = None,
11687        libraries: Optional[List[Dict[str, Any]]] = None,
11688        **kwargs
11689    ):
11690        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)
11691        self.type = 'DatabricksSparkPython'  # type: str
11692        self.python_file = python_file
11693        self.parameters = parameters
11694        self.libraries = libraries
11695
11696
11697class DataFlow(msrest.serialization.Model):
11698    """Azure Synapse nested object which contains a flow with data movements and transformations.
11699
11700    You probably want to use the sub-classes and not this class directly. Known
11701    sub-classes are: MappingDataFlow.
11702
11703    All required parameters must be populated in order to send to Azure.
11704
11705    :param type: Required. Type of data flow.Constant filled by server.
11706    :type type: str
11707    :param description: The description of the data flow.
11708    :type description: str
11709    :param annotations: List of tags that can be used for describing the data flow.
11710    :type annotations: list[any]
11711    :param folder: The folder that this data flow is in. If not specified, Data flow will appear at
11712     the root level.
11713    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowFolder
11714    """
11715
11716    _validation = {
11717        'type': {'required': True},
11718    }
11719
11720    _attribute_map = {
11721        'type': {'key': 'type', 'type': 'str'},
11722        'description': {'key': 'description', 'type': 'str'},
11723        'annotations': {'key': 'annotations', 'type': '[object]'},
11724        'folder': {'key': 'folder', 'type': 'DataFlowFolder'},
11725    }
11726
11727    _subtype_map = {
11728        'type': {'MappingDataFlow': 'MappingDataFlow'}
11729    }
11730
11731    def __init__(
11732        self,
11733        *,
11734        description: Optional[str] = None,
11735        annotations: Optional[List[Any]] = None,
11736        folder: Optional["DataFlowFolder"] = None,
11737        **kwargs
11738    ):
11739        super(DataFlow, self).__init__(**kwargs)
11740        self.type = None  # type: Optional[str]
11741        self.description = description
11742        self.annotations = annotations
11743        self.folder = folder
11744
11745
11746class DataFlowDebugCommandRequest(msrest.serialization.Model):
11747    """Request body structure for data flow expression preview.
11748
11749    All required parameters must be populated in order to send to Azure.
11750
11751    :param session_id: Required. The ID of data flow debug session.
11752    :type session_id: str
11753    :param data_flow_name: The data flow which contains the debug session.
11754    :type data_flow_name: str
11755    :param command_name: The command name.
11756    :type command_name: str
11757    :param command_payload: Required. The command payload object.
11758    :type command_payload: any
11759    """
11760
11761    _validation = {
11762        'session_id': {'required': True},
11763        'command_payload': {'required': True},
11764    }
11765
11766    _attribute_map = {
11767        'session_id': {'key': 'sessionId', 'type': 'str'},
11768        'data_flow_name': {'key': 'dataFlowName', 'type': 'str'},
11769        'command_name': {'key': 'commandName', 'type': 'str'},
11770        'command_payload': {'key': 'commandPayload', 'type': 'object'},
11771    }
11772
11773    def __init__(
11774        self,
11775        *,
11776        session_id: str,
11777        command_payload: Any,
11778        data_flow_name: Optional[str] = None,
11779        command_name: Optional[str] = None,
11780        **kwargs
11781    ):
11782        super(DataFlowDebugCommandRequest, self).__init__(**kwargs)
11783        self.session_id = session_id
11784        self.data_flow_name = data_flow_name
11785        self.command_name = command_name
11786        self.command_payload = command_payload
11787
11788
11789class DataFlowDebugCommandResponse(msrest.serialization.Model):
11790    """Response body structure of data flow result for data preview, statistics or expression preview.
11791
11792    :param status: The run status of data preview, statistics or expression preview.
11793    :type status: str
11794    :param data: The result data of data preview, statistics or expression preview.
11795    :type data: str
11796    """
11797
11798    _attribute_map = {
11799        'status': {'key': 'status', 'type': 'str'},
11800        'data': {'key': 'data', 'type': 'str'},
11801    }
11802
11803    def __init__(
11804        self,
11805        *,
11806        status: Optional[str] = None,
11807        data: Optional[str] = None,
11808        **kwargs
11809    ):
11810        super(DataFlowDebugCommandResponse, self).__init__(**kwargs)
11811        self.status = status
11812        self.data = data
11813
11814
11815class DataFlowDebugPackage(msrest.serialization.Model):
11816    """Request body structure for starting data flow debug session.
11817
11818    :param additional_properties: Unmatched properties from the message are deserialized to this
11819     collection.
11820    :type additional_properties: dict[str, any]
11821    :param session_id: The ID of data flow debug session.
11822    :type session_id: str
11823    :param data_flow: Data flow instance.
11824    :type data_flow: ~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowDebugResource
11825    :param datasets: List of datasets.
11826    :type datasets: list[~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetDebugResource]
11827    :param linked_services: List of linked services.
11828    :type linked_services:
11829     list[~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceDebugResource]
11830    :param staging: Staging info for debug session.
11831    :type staging: ~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowStagingInfo
11832    :param debug_settings: Data flow debug settings.
11833    :type debug_settings:
11834     ~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowDebugPackageDebugSettings
11835    """
11836
11837    _attribute_map = {
11838        'additional_properties': {'key': '', 'type': '{object}'},
11839        'session_id': {'key': 'sessionId', 'type': 'str'},
11840        'data_flow': {'key': 'dataFlow', 'type': 'DataFlowDebugResource'},
11841        'datasets': {'key': 'datasets', 'type': '[DatasetDebugResource]'},
11842        'linked_services': {'key': 'linkedServices', 'type': '[LinkedServiceDebugResource]'},
11843        'staging': {'key': 'staging', 'type': 'DataFlowStagingInfo'},
11844        'debug_settings': {'key': 'debugSettings', 'type': 'DataFlowDebugPackageDebugSettings'},
11845    }
11846
11847    def __init__(
11848        self,
11849        *,
11850        additional_properties: Optional[Dict[str, Any]] = None,
11851        session_id: Optional[str] = None,
11852        data_flow: Optional["DataFlowDebugResource"] = None,
11853        datasets: Optional[List["DatasetDebugResource"]] = None,
11854        linked_services: Optional[List["LinkedServiceDebugResource"]] = None,
11855        staging: Optional["DataFlowStagingInfo"] = None,
11856        debug_settings: Optional["DataFlowDebugPackageDebugSettings"] = None,
11857        **kwargs
11858    ):
11859        super(DataFlowDebugPackage, self).__init__(**kwargs)
11860        self.additional_properties = additional_properties
11861        self.session_id = session_id
11862        self.data_flow = data_flow
11863        self.datasets = datasets
11864        self.linked_services = linked_services
11865        self.staging = staging
11866        self.debug_settings = debug_settings
11867
11868
11869class DataFlowDebugPackageDebugSettings(msrest.serialization.Model):
11870    """Data flow debug settings.
11871
11872    :param source_settings: Source setting for data flow debug.
11873    :type source_settings:
11874     list[~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowSourceSetting]
11875    :param parameters: Data flow parameters.
11876    :type parameters: dict[str, any]
11877    :param dataset_parameters: Parameters for dataset.
11878    :type dataset_parameters: any
11879    """
11880
11881    _attribute_map = {
11882        'source_settings': {'key': 'sourceSettings', 'type': '[DataFlowSourceSetting]'},
11883        'parameters': {'key': 'parameters', 'type': '{object}'},
11884        'dataset_parameters': {'key': 'datasetParameters', 'type': 'object'},
11885    }
11886
11887    def __init__(
11888        self,
11889        *,
11890        source_settings: Optional[List["DataFlowSourceSetting"]] = None,
11891        parameters: Optional[Dict[str, Any]] = None,
11892        dataset_parameters: Optional[Any] = None,
11893        **kwargs
11894    ):
11895        super(DataFlowDebugPackageDebugSettings, self).__init__(**kwargs)
11896        self.source_settings = source_settings
11897        self.parameters = parameters
11898        self.dataset_parameters = dataset_parameters
11899
11900
11901class DataFlowDebugPreviewDataRequest(msrest.serialization.Model):
11902    """Request body structure for data flow preview data.
11903
11904    :param session_id: The ID of data flow debug session.
11905    :type session_id: str
11906    :param data_flow_name: The data flow which contains the debug session.
11907    :type data_flow_name: str
11908    :param stream_name: The output stream name.
11909    :type stream_name: str
11910    :param row_limits: The row limit for preview request.
11911    :type row_limits: int
11912    """
11913
11914    _attribute_map = {
11915        'session_id': {'key': 'sessionId', 'type': 'str'},
11916        'data_flow_name': {'key': 'dataFlowName', 'type': 'str'},
11917        'stream_name': {'key': 'streamName', 'type': 'str'},
11918        'row_limits': {'key': 'rowLimits', 'type': 'int'},
11919    }
11920
11921    def __init__(
11922        self,
11923        *,
11924        session_id: Optional[str] = None,
11925        data_flow_name: Optional[str] = None,
11926        stream_name: Optional[str] = None,
11927        row_limits: Optional[int] = None,
11928        **kwargs
11929    ):
11930        super(DataFlowDebugPreviewDataRequest, self).__init__(**kwargs)
11931        self.session_id = session_id
11932        self.data_flow_name = data_flow_name
11933        self.stream_name = stream_name
11934        self.row_limits = row_limits
11935
11936
11937class DataFlowDebugQueryResponse(msrest.serialization.Model):
11938    """Response body structure of data flow query for data preview, statistics or expression preview.
11939
11940    :param run_id: The run ID of data flow debug session.
11941    :type run_id: str
11942    """
11943
11944    _attribute_map = {
11945        'run_id': {'key': 'runId', 'type': 'str'},
11946    }
11947
11948    def __init__(
11949        self,
11950        *,
11951        run_id: Optional[str] = None,
11952        **kwargs
11953    ):
11954        super(DataFlowDebugQueryResponse, self).__init__(**kwargs)
11955        self.run_id = run_id
11956
11957
11958class SubResourceDebugResource(msrest.serialization.Model):
11959    """Azure Synapse nested debug resource.
11960
11961    :param name: The resource name.
11962    :type name: str
11963    """
11964
11965    _attribute_map = {
11966        'name': {'key': 'name', 'type': 'str'},
11967    }
11968
11969    def __init__(
11970        self,
11971        *,
11972        name: Optional[str] = None,
11973        **kwargs
11974    ):
11975        super(SubResourceDebugResource, self).__init__(**kwargs)
11976        self.name = name
11977
11978
11979class DataFlowDebugResource(SubResourceDebugResource):
11980    """Data flow debug resource.
11981
11982    All required parameters must be populated in order to send to Azure.
11983
11984    :param name: The resource name.
11985    :type name: str
11986    :param properties: Required. Data flow properties.
11987    :type properties: ~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlow
11988    """
11989
11990    _validation = {
11991        'properties': {'required': True},
11992    }
11993
11994    _attribute_map = {
11995        'name': {'key': 'name', 'type': 'str'},
11996        'properties': {'key': 'properties', 'type': 'DataFlow'},
11997    }
11998
11999    def __init__(
12000        self,
12001        *,
12002        properties: "DataFlow",
12003        name: Optional[str] = None,
12004        **kwargs
12005    ):
12006        super(DataFlowDebugResource, self).__init__(name=name, **kwargs)
12007        self.properties = properties
12008
12009
12010class DataFlowDebugResultResponse(msrest.serialization.Model):
12011    """Response body structure of data flow result for data preview, statistics or expression preview.
12012
12013    :param status: The run status of data preview, statistics or expression preview.
12014    :type status: str
12015    :param data: The result data of data preview, statistics or expression preview.
12016    :type data: str
12017    """
12018
12019    _attribute_map = {
12020        'status': {'key': 'status', 'type': 'str'},
12021        'data': {'key': 'data', 'type': 'str'},
12022    }
12023
12024    def __init__(
12025        self,
12026        *,
12027        status: Optional[str] = None,
12028        data: Optional[str] = None,
12029        **kwargs
12030    ):
12031        super(DataFlowDebugResultResponse, self).__init__(**kwargs)
12032        self.status = status
12033        self.data = data
12034
12035
12036class DataFlowDebugSessionInfo(msrest.serialization.Model):
12037    """Data flow debug session info.
12038
12039    :param additional_properties: Unmatched properties from the message are deserialized to this
12040     collection.
12041    :type additional_properties: dict[str, any]
12042    :param data_flow_name: The name of the data flow.
12043    :type data_flow_name: str
12044    :param compute_type: Compute type of the cluster.
12045    :type compute_type: str
12046    :param core_count: Core count of the cluster.
12047    :type core_count: int
12048    :param node_count: Node count of the cluster. (deprecated property).
12049    :type node_count: int
12050    :param integration_runtime_name: Attached integration runtime name of data flow debug session.
12051    :type integration_runtime_name: str
12052    :param session_id: The ID of data flow debug session.
12053    :type session_id: str
12054    :param start_time: Start time of data flow debug session.
12055    :type start_time: str
12056    :param time_to_live_in_minutes: Compute type of the cluster.
12057    :type time_to_live_in_minutes: int
12058    :param last_activity_time: Last activity time of data flow debug session.
12059    :type last_activity_time: str
12060    """
12061
12062    _attribute_map = {
12063        'additional_properties': {'key': '', 'type': '{object}'},
12064        'data_flow_name': {'key': 'dataFlowName', 'type': 'str'},
12065        'compute_type': {'key': 'computeType', 'type': 'str'},
12066        'core_count': {'key': 'coreCount', 'type': 'int'},
12067        'node_count': {'key': 'nodeCount', 'type': 'int'},
12068        'integration_runtime_name': {'key': 'integrationRuntimeName', 'type': 'str'},
12069        'session_id': {'key': 'sessionId', 'type': 'str'},
12070        'start_time': {'key': 'startTime', 'type': 'str'},
12071        'time_to_live_in_minutes': {'key': 'timeToLiveInMinutes', 'type': 'int'},
12072        'last_activity_time': {'key': 'lastActivityTime', 'type': 'str'},
12073    }
12074
12075    def __init__(
12076        self,
12077        *,
12078        additional_properties: Optional[Dict[str, Any]] = None,
12079        data_flow_name: Optional[str] = None,
12080        compute_type: Optional[str] = None,
12081        core_count: Optional[int] = None,
12082        node_count: Optional[int] = None,
12083        integration_runtime_name: Optional[str] = None,
12084        session_id: Optional[str] = None,
12085        start_time: Optional[str] = None,
12086        time_to_live_in_minutes: Optional[int] = None,
12087        last_activity_time: Optional[str] = None,
12088        **kwargs
12089    ):
12090        super(DataFlowDebugSessionInfo, self).__init__(**kwargs)
12091        self.additional_properties = additional_properties
12092        self.data_flow_name = data_flow_name
12093        self.compute_type = compute_type
12094        self.core_count = core_count
12095        self.node_count = node_count
12096        self.integration_runtime_name = integration_runtime_name
12097        self.session_id = session_id
12098        self.start_time = start_time
12099        self.time_to_live_in_minutes = time_to_live_in_minutes
12100        self.last_activity_time = last_activity_time
12101
12102
12103class DataFlowDebugStatisticsRequest(msrest.serialization.Model):
12104    """Request body structure for data flow statistics.
12105
12106    :param session_id: The ID of data flow debug session.
12107    :type session_id: str
12108    :param data_flow_name: The data flow which contains the debug session.
12109    :type data_flow_name: str
12110    :param stream_name: The output stream name.
12111    :type stream_name: str
12112    :param columns: List of column names.
12113    :type columns: list[str]
12114    """
12115
12116    _attribute_map = {
12117        'session_id': {'key': 'sessionId', 'type': 'str'},
12118        'data_flow_name': {'key': 'dataFlowName', 'type': 'str'},
12119        'stream_name': {'key': 'streamName', 'type': 'str'},
12120        'columns': {'key': 'columns', 'type': '[str]'},
12121    }
12122
12123    def __init__(
12124        self,
12125        *,
12126        session_id: Optional[str] = None,
12127        data_flow_name: Optional[str] = None,
12128        stream_name: Optional[str] = None,
12129        columns: Optional[List[str]] = None,
12130        **kwargs
12131    ):
12132        super(DataFlowDebugStatisticsRequest, self).__init__(**kwargs)
12133        self.session_id = session_id
12134        self.data_flow_name = data_flow_name
12135        self.stream_name = stream_name
12136        self.columns = columns
12137
12138
12139class DataFlowFolder(msrest.serialization.Model):
12140    """The folder that this data flow is in. If not specified, Data flow will appear at the root level.
12141
12142    :param name: The name of the folder that this data flow is in.
12143    :type name: str
12144    """
12145
12146    _attribute_map = {
12147        'name': {'key': 'name', 'type': 'str'},
12148    }
12149
12150    def __init__(
12151        self,
12152        *,
12153        name: Optional[str] = None,
12154        **kwargs
12155    ):
12156        super(DataFlowFolder, self).__init__(**kwargs)
12157        self.name = name
12158
12159
12160class DataFlowListResponse(msrest.serialization.Model):
12161    """A list of data flow resources.
12162
12163    All required parameters must be populated in order to send to Azure.
12164
12165    :param value: Required. List of data flows.
12166    :type value: list[~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowResource]
12167    :param next_link: The link to the next page of results, if any remaining results exist.
12168    :type next_link: str
12169    """
12170
12171    _validation = {
12172        'value': {'required': True},
12173    }
12174
12175    _attribute_map = {
12176        'value': {'key': 'value', 'type': '[DataFlowResource]'},
12177        'next_link': {'key': 'nextLink', 'type': 'str'},
12178    }
12179
12180    def __init__(
12181        self,
12182        *,
12183        value: List["DataFlowResource"],
12184        next_link: Optional[str] = None,
12185        **kwargs
12186    ):
12187        super(DataFlowListResponse, self).__init__(**kwargs)
12188        self.value = value
12189        self.next_link = next_link
12190
12191
12192class DataFlowReference(msrest.serialization.Model):
12193    """Data flow reference type.
12194
12195    All required parameters must be populated in order to send to Azure.
12196
12197    :param additional_properties: Unmatched properties from the message are deserialized to this
12198     collection.
12199    :type additional_properties: dict[str, any]
12200    :param type: Required. Data flow reference type. Possible values include: "DataFlowReference".
12201    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowReferenceType
12202    :param reference_name: Required. Reference data flow name.
12203    :type reference_name: str
12204    :param dataset_parameters: Reference data flow parameters from dataset.
12205    :type dataset_parameters: any
12206    """
12207
12208    _validation = {
12209        'type': {'required': True},
12210        'reference_name': {'required': True},
12211    }
12212
12213    _attribute_map = {
12214        'additional_properties': {'key': '', 'type': '{object}'},
12215        'type': {'key': 'type', 'type': 'str'},
12216        'reference_name': {'key': 'referenceName', 'type': 'str'},
12217        'dataset_parameters': {'key': 'datasetParameters', 'type': 'object'},
12218    }
12219
12220    def __init__(
12221        self,
12222        *,
12223        type: Union[str, "DataFlowReferenceType"],
12224        reference_name: str,
12225        additional_properties: Optional[Dict[str, Any]] = None,
12226        dataset_parameters: Optional[Any] = None,
12227        **kwargs
12228    ):
12229        super(DataFlowReference, self).__init__(**kwargs)
12230        self.additional_properties = additional_properties
12231        self.type = type
12232        self.reference_name = reference_name
12233        self.dataset_parameters = dataset_parameters
12234
12235
12236class SubResource(AzureEntityResource):
12237    """Azure Synapse nested resource, which belongs to a workspace.
12238
12239    Variables are only populated by the server, and will be ignored when sending a request.
12240
12241    :ivar id: Fully qualified resource ID for the resource. Ex -
12242     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
12243    :vartype id: str
12244    :ivar name: The name of the resource.
12245    :vartype name: str
12246    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
12247     "Microsoft.Storage/storageAccounts".
12248    :vartype type: str
12249    :ivar etag: Resource Etag.
12250    :vartype etag: str
12251    """
12252
12253    _validation = {
12254        'id': {'readonly': True},
12255        'name': {'readonly': True},
12256        'type': {'readonly': True},
12257        'etag': {'readonly': True},
12258    }
12259
12260    _attribute_map = {
12261        'id': {'key': 'id', 'type': 'str'},
12262        'name': {'key': 'name', 'type': 'str'},
12263        'type': {'key': 'type', 'type': 'str'},
12264        'etag': {'key': 'etag', 'type': 'str'},
12265    }
12266
12267    def __init__(
12268        self,
12269        **kwargs
12270    ):
12271        super(SubResource, self).__init__(**kwargs)
12272
12273
12274class DataFlowResource(SubResource):
12275    """Data flow resource type.
12276
12277    Variables are only populated by the server, and will be ignored when sending a request.
12278
12279    All required parameters must be populated in order to send to Azure.
12280
12281    :ivar id: Fully qualified resource ID for the resource. Ex -
12282     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
12283    :vartype id: str
12284    :ivar name: The name of the resource.
12285    :vartype name: str
12286    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
12287     "Microsoft.Storage/storageAccounts".
12288    :vartype type: str
12289    :ivar etag: Resource Etag.
12290    :vartype etag: str
12291    :param properties: Required. Data flow properties.
12292    :type properties: ~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlow
12293    """
12294
12295    _validation = {
12296        'id': {'readonly': True},
12297        'name': {'readonly': True},
12298        'type': {'readonly': True},
12299        'etag': {'readonly': True},
12300        'properties': {'required': True},
12301    }
12302
12303    _attribute_map = {
12304        'id': {'key': 'id', 'type': 'str'},
12305        'name': {'key': 'name', 'type': 'str'},
12306        'type': {'key': 'type', 'type': 'str'},
12307        'etag': {'key': 'etag', 'type': 'str'},
12308        'properties': {'key': 'properties', 'type': 'DataFlow'},
12309    }
12310
12311    def __init__(
12312        self,
12313        *,
12314        properties: "DataFlow",
12315        **kwargs
12316    ):
12317        super(DataFlowResource, self).__init__(**kwargs)
12318        self.properties = properties
12319
12320
12321class Transformation(msrest.serialization.Model):
12322    """A data flow transformation.
12323
12324    All required parameters must be populated in order to send to Azure.
12325
12326    :param name: Required. Transformation name.
12327    :type name: str
12328    :param description: Transformation description.
12329    :type description: str
12330    """
12331
12332    _validation = {
12333        'name': {'required': True},
12334    }
12335
12336    _attribute_map = {
12337        'name': {'key': 'name', 'type': 'str'},
12338        'description': {'key': 'description', 'type': 'str'},
12339    }
12340
12341    def __init__(
12342        self,
12343        *,
12344        name: str,
12345        description: Optional[str] = None,
12346        **kwargs
12347    ):
12348        super(Transformation, self).__init__(**kwargs)
12349        self.name = name
12350        self.description = description
12351
12352
12353class DataFlowSink(Transformation):
12354    """Transformation for data flow sink.
12355
12356    All required parameters must be populated in order to send to Azure.
12357
12358    :param name: Required. Transformation name.
12359    :type name: str
12360    :param description: Transformation description.
12361    :type description: str
12362    :param dataset: Dataset reference.
12363    :type dataset: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetReference
12364    :param linked_service: Linked service reference.
12365    :type linked_service:
12366     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
12367    :param schema_linked_service: Schema linked service reference.
12368    :type schema_linked_service:
12369     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
12370    """
12371
12372    _validation = {
12373        'name': {'required': True},
12374    }
12375
12376    _attribute_map = {
12377        'name': {'key': 'name', 'type': 'str'},
12378        'description': {'key': 'description', 'type': 'str'},
12379        'dataset': {'key': 'dataset', 'type': 'DatasetReference'},
12380        'linked_service': {'key': 'linkedService', 'type': 'LinkedServiceReference'},
12381        'schema_linked_service': {'key': 'schemaLinkedService', 'type': 'LinkedServiceReference'},
12382    }
12383
12384    def __init__(
12385        self,
12386        *,
12387        name: str,
12388        description: Optional[str] = None,
12389        dataset: Optional["DatasetReference"] = None,
12390        linked_service: Optional["LinkedServiceReference"] = None,
12391        schema_linked_service: Optional["LinkedServiceReference"] = None,
12392        **kwargs
12393    ):
12394        super(DataFlowSink, self).__init__(name=name, description=description, **kwargs)
12395        self.dataset = dataset
12396        self.linked_service = linked_service
12397        self.schema_linked_service = schema_linked_service
12398
12399
12400class DataFlowSource(Transformation):
12401    """Transformation for data flow source.
12402
12403    All required parameters must be populated in order to send to Azure.
12404
12405    :param name: Required. Transformation name.
12406    :type name: str
12407    :param description: Transformation description.
12408    :type description: str
12409    :param dataset: Dataset reference.
12410    :type dataset: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetReference
12411    :param linked_service: Linked service reference.
12412    :type linked_service:
12413     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
12414    :param schema_linked_service: Schema linked service reference.
12415    :type schema_linked_service:
12416     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
12417    """
12418
12419    _validation = {
12420        'name': {'required': True},
12421    }
12422
12423    _attribute_map = {
12424        'name': {'key': 'name', 'type': 'str'},
12425        'description': {'key': 'description', 'type': 'str'},
12426        'dataset': {'key': 'dataset', 'type': 'DatasetReference'},
12427        'linked_service': {'key': 'linkedService', 'type': 'LinkedServiceReference'},
12428        'schema_linked_service': {'key': 'schemaLinkedService', 'type': 'LinkedServiceReference'},
12429    }
12430
12431    def __init__(
12432        self,
12433        *,
12434        name: str,
12435        description: Optional[str] = None,
12436        dataset: Optional["DatasetReference"] = None,
12437        linked_service: Optional["LinkedServiceReference"] = None,
12438        schema_linked_service: Optional["LinkedServiceReference"] = None,
12439        **kwargs
12440    ):
12441        super(DataFlowSource, self).__init__(name=name, description=description, **kwargs)
12442        self.dataset = dataset
12443        self.linked_service = linked_service
12444        self.schema_linked_service = schema_linked_service
12445
12446
12447class DataFlowSourceSetting(msrest.serialization.Model):
12448    """Definition of data flow source setting for debug.
12449
12450    :param additional_properties: Unmatched properties from the message are deserialized to this
12451     collection.
12452    :type additional_properties: dict[str, any]
12453    :param source_name: The data flow source name.
12454    :type source_name: str
12455    :param row_limit: Defines the row limit of data flow source in debug.
12456    :type row_limit: int
12457    """
12458
12459    _attribute_map = {
12460        'additional_properties': {'key': '', 'type': '{object}'},
12461        'source_name': {'key': 'sourceName', 'type': 'str'},
12462        'row_limit': {'key': 'rowLimit', 'type': 'int'},
12463    }
12464
12465    def __init__(
12466        self,
12467        *,
12468        additional_properties: Optional[Dict[str, Any]] = None,
12469        source_name: Optional[str] = None,
12470        row_limit: Optional[int] = None,
12471        **kwargs
12472    ):
12473        super(DataFlowSourceSetting, self).__init__(**kwargs)
12474        self.additional_properties = additional_properties
12475        self.source_name = source_name
12476        self.row_limit = row_limit
12477
12478
12479class DataFlowStagingInfo(msrest.serialization.Model):
12480    """Staging info for execute data flow activity.
12481
12482    :param linked_service: Staging linked service reference.
12483    :type linked_service:
12484     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
12485    :param folder_path: Folder path for staging blob.
12486    :type folder_path: str
12487    """
12488
12489    _attribute_map = {
12490        'linked_service': {'key': 'linkedService', 'type': 'LinkedServiceReference'},
12491        'folder_path': {'key': 'folderPath', 'type': 'str'},
12492    }
12493
12494    def __init__(
12495        self,
12496        *,
12497        linked_service: Optional["LinkedServiceReference"] = None,
12498        folder_path: Optional[str] = None,
12499        **kwargs
12500    ):
12501        super(DataFlowStagingInfo, self).__init__(**kwargs)
12502        self.linked_service = linked_service
12503        self.folder_path = folder_path
12504
12505
12506class DataLakeAnalyticsUSQLActivity(ExecutionActivity):
12507    """Data Lake Analytics U-SQL activity.
12508
12509    All required parameters must be populated in order to send to Azure.
12510
12511    :param additional_properties: Unmatched properties from the message are deserialized to this
12512     collection.
12513    :type additional_properties: dict[str, any]
12514    :param name: Required. Activity name.
12515    :type name: str
12516    :param type: Required. Type of activity.Constant filled by server.
12517    :type type: str
12518    :param description: Activity description.
12519    :type description: str
12520    :param depends_on: Activity depends on condition.
12521    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
12522    :param user_properties: Activity user properties.
12523    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
12524    :param linked_service_name: Linked service reference.
12525    :type linked_service_name:
12526     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
12527    :param policy: Activity policy.
12528    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
12529    :param script_path: Required. Case-sensitive path to folder that contains the U-SQL script.
12530     Type: string (or Expression with resultType string).
12531    :type script_path: any
12532    :param script_linked_service: Required. Script linked service reference.
12533    :type script_linked_service:
12534     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
12535    :param degree_of_parallelism: The maximum number of nodes simultaneously used to run the job.
12536     Default value is 1. Type: integer (or Expression with resultType integer), minimum: 1.
12537    :type degree_of_parallelism: any
12538    :param priority: Determines which jobs out of all that are queued should be selected to run
12539     first. The lower the number, the higher the priority. Default value is 1000. Type: integer (or
12540     Expression with resultType integer), minimum: 1.
12541    :type priority: any
12542    :param parameters: Parameters for U-SQL job request.
12543    :type parameters: dict[str, any]
12544    :param runtime_version: Runtime version of the U-SQL engine to use. Type: string (or Expression
12545     with resultType string).
12546    :type runtime_version: any
12547    :param compilation_mode: Compilation mode of U-SQL. Must be one of these values : Semantic,
12548     Full and SingleBox. Type: string (or Expression with resultType string).
12549    :type compilation_mode: any
12550    """
12551
12552    _validation = {
12553        'name': {'required': True},
12554        'type': {'required': True},
12555        'script_path': {'required': True},
12556        'script_linked_service': {'required': True},
12557    }
12558
12559    _attribute_map = {
12560        'additional_properties': {'key': '', 'type': '{object}'},
12561        'name': {'key': 'name', 'type': 'str'},
12562        'type': {'key': 'type', 'type': 'str'},
12563        'description': {'key': 'description', 'type': 'str'},
12564        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
12565        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
12566        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
12567        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
12568        'script_path': {'key': 'typeProperties.scriptPath', 'type': 'object'},
12569        'script_linked_service': {'key': 'typeProperties.scriptLinkedService', 'type': 'LinkedServiceReference'},
12570        'degree_of_parallelism': {'key': 'typeProperties.degreeOfParallelism', 'type': 'object'},
12571        'priority': {'key': 'typeProperties.priority', 'type': 'object'},
12572        'parameters': {'key': 'typeProperties.parameters', 'type': '{object}'},
12573        'runtime_version': {'key': 'typeProperties.runtimeVersion', 'type': 'object'},
12574        'compilation_mode': {'key': 'typeProperties.compilationMode', 'type': 'object'},
12575    }
12576
12577    def __init__(
12578        self,
12579        *,
12580        name: str,
12581        script_path: Any,
12582        script_linked_service: "LinkedServiceReference",
12583        additional_properties: Optional[Dict[str, Any]] = None,
12584        description: Optional[str] = None,
12585        depends_on: Optional[List["ActivityDependency"]] = None,
12586        user_properties: Optional[List["UserProperty"]] = None,
12587        linked_service_name: Optional["LinkedServiceReference"] = None,
12588        policy: Optional["ActivityPolicy"] = None,
12589        degree_of_parallelism: Optional[Any] = None,
12590        priority: Optional[Any] = None,
12591        parameters: Optional[Dict[str, Any]] = None,
12592        runtime_version: Optional[Any] = None,
12593        compilation_mode: Optional[Any] = None,
12594        **kwargs
12595    ):
12596        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)
12597        self.type = 'DataLakeAnalyticsU-SQL'  # type: str
12598        self.script_path = script_path
12599        self.script_linked_service = script_linked_service
12600        self.degree_of_parallelism = degree_of_parallelism
12601        self.priority = priority
12602        self.parameters = parameters
12603        self.runtime_version = runtime_version
12604        self.compilation_mode = compilation_mode
12605
12606
12607class DataLakeStorageAccountDetails(msrest.serialization.Model):
12608    """Details of the data lake storage account associated with the workspace.
12609
12610    :param account_url: Account URL.
12611    :type account_url: str
12612    :param filesystem: Filesystem name.
12613    :type filesystem: str
12614    """
12615
12616    _attribute_map = {
12617        'account_url': {'key': 'accountUrl', 'type': 'str'},
12618        'filesystem': {'key': 'filesystem', 'type': 'str'},
12619    }
12620
12621    def __init__(
12622        self,
12623        *,
12624        account_url: Optional[str] = None,
12625        filesystem: Optional[str] = None,
12626        **kwargs
12627    ):
12628        super(DataLakeStorageAccountDetails, self).__init__(**kwargs)
12629        self.account_url = account_url
12630        self.filesystem = filesystem
12631
12632
12633class DatasetCompression(msrest.serialization.Model):
12634    """The compression method used on a dataset.
12635
12636    You probably want to use the sub-classes and not this class directly. Known
12637    sub-classes are: DatasetBZip2Compression, DatasetDeflateCompression, DatasetGZipCompression, DatasetTarCompression, DatasetTarGZipCompression, DatasetZipDeflateCompression.
12638
12639    All required parameters must be populated in order to send to Azure.
12640
12641    :param additional_properties: Unmatched properties from the message are deserialized to this
12642     collection.
12643    :type additional_properties: dict[str, any]
12644    :param type: Required. Type of dataset compression. Type: string (or Expression with resultType
12645     string).Constant filled by server.
12646    :type type: any
12647    """
12648
12649    _validation = {
12650        'type': {'required': True},
12651    }
12652
12653    _attribute_map = {
12654        'additional_properties': {'key': '', 'type': '{object}'},
12655        'type': {'key': 'type', 'type': 'object'},
12656    }
12657
12658    _subtype_map = {
12659        'type': {'BZip2': 'DatasetBZip2Compression', 'Deflate': 'DatasetDeflateCompression', 'GZip': 'DatasetGZipCompression', 'Tar': 'DatasetTarCompression', 'TarGZip': 'DatasetTarGZipCompression', 'ZipDeflate': 'DatasetZipDeflateCompression'}
12660    }
12661
12662    def __init__(
12663        self,
12664        *,
12665        additional_properties: Optional[Dict[str, Any]] = None,
12666        **kwargs
12667    ):
12668        super(DatasetCompression, self).__init__(**kwargs)
12669        self.additional_properties = additional_properties
12670        self.type = 'DatasetCompression'  # type: str
12671
12672
12673class DatasetBZip2Compression(DatasetCompression):
12674    """The BZip2 compression method used on a dataset.
12675
12676    All required parameters must be populated in order to send to Azure.
12677
12678    :param additional_properties: Unmatched properties from the message are deserialized to this
12679     collection.
12680    :type additional_properties: dict[str, any]
12681    :param type: Required. Type of dataset compression. Type: string (or Expression with resultType
12682     string).Constant filled by server.
12683    :type type: any
12684    """
12685
12686    _validation = {
12687        'type': {'required': True},
12688    }
12689
12690    _attribute_map = {
12691        'additional_properties': {'key': '', 'type': '{object}'},
12692        'type': {'key': 'type', 'type': 'object'},
12693    }
12694
12695    def __init__(
12696        self,
12697        *,
12698        additional_properties: Optional[Dict[str, Any]] = None,
12699        **kwargs
12700    ):
12701        super(DatasetBZip2Compression, self).__init__(additional_properties=additional_properties, **kwargs)
12702        self.type = 'BZip2'  # type: str
12703
12704
12705class DatasetDataElement(msrest.serialization.Model):
12706    """Columns that define the structure of the dataset.
12707
12708    :param name: Name of the column. Type: string (or Expression with resultType string).
12709    :type name: any
12710    :param type: Type of the column. Type: string (or Expression with resultType string).
12711    :type type: any
12712    """
12713
12714    _attribute_map = {
12715        'name': {'key': 'name', 'type': 'object'},
12716        'type': {'key': 'type', 'type': 'object'},
12717    }
12718
12719    def __init__(
12720        self,
12721        *,
12722        name: Optional[Any] = None,
12723        type: Optional[Any] = None,
12724        **kwargs
12725    ):
12726        super(DatasetDataElement, self).__init__(**kwargs)
12727        self.name = name
12728        self.type = type
12729
12730
12731class DatasetDebugResource(SubResourceDebugResource):
12732    """Dataset debug resource.
12733
12734    All required parameters must be populated in order to send to Azure.
12735
12736    :param name: The resource name.
12737    :type name: str
12738    :param properties: Required. Dataset properties.
12739    :type properties: ~azure.synapse.artifacts.v2021_06_01_preview.models.Dataset
12740    """
12741
12742    _validation = {
12743        'properties': {'required': True},
12744    }
12745
12746    _attribute_map = {
12747        'name': {'key': 'name', 'type': 'str'},
12748        'properties': {'key': 'properties', 'type': 'Dataset'},
12749    }
12750
12751    def __init__(
12752        self,
12753        *,
12754        properties: "Dataset",
12755        name: Optional[str] = None,
12756        **kwargs
12757    ):
12758        super(DatasetDebugResource, self).__init__(name=name, **kwargs)
12759        self.properties = properties
12760
12761
12762class DatasetDeflateCompression(DatasetCompression):
12763    """The Deflate compression method used on a dataset.
12764
12765    All required parameters must be populated in order to send to Azure.
12766
12767    :param additional_properties: Unmatched properties from the message are deserialized to this
12768     collection.
12769    :type additional_properties: dict[str, any]
12770    :param type: Required. Type of dataset compression. Type: string (or Expression with resultType
12771     string).Constant filled by server.
12772    :type type: any
12773    :param level: The Deflate compression level.
12774    :type level: any
12775    """
12776
12777    _validation = {
12778        'type': {'required': True},
12779    }
12780
12781    _attribute_map = {
12782        'additional_properties': {'key': '', 'type': '{object}'},
12783        'type': {'key': 'type', 'type': 'object'},
12784        'level': {'key': 'level', 'type': 'object'},
12785    }
12786
12787    def __init__(
12788        self,
12789        *,
12790        additional_properties: Optional[Dict[str, Any]] = None,
12791        level: Optional[Any] = None,
12792        **kwargs
12793    ):
12794        super(DatasetDeflateCompression, self).__init__(additional_properties=additional_properties, **kwargs)
12795        self.type = 'Deflate'  # type: str
12796        self.level = level
12797
12798
12799class DatasetFolder(msrest.serialization.Model):
12800    """The folder that this Dataset is in. If not specified, Dataset will appear at the root level.
12801
12802    :param name: The name of the folder that this Dataset is in.
12803    :type name: str
12804    """
12805
12806    _attribute_map = {
12807        'name': {'key': 'name', 'type': 'str'},
12808    }
12809
12810    def __init__(
12811        self,
12812        *,
12813        name: Optional[str] = None,
12814        **kwargs
12815    ):
12816        super(DatasetFolder, self).__init__(**kwargs)
12817        self.name = name
12818
12819
12820class DatasetGZipCompression(DatasetCompression):
12821    """The GZip compression method used on a dataset.
12822
12823    All required parameters must be populated in order to send to Azure.
12824
12825    :param additional_properties: Unmatched properties from the message are deserialized to this
12826     collection.
12827    :type additional_properties: dict[str, any]
12828    :param type: Required. Type of dataset compression. Type: string (or Expression with resultType
12829     string).Constant filled by server.
12830    :type type: any
12831    :param level: The GZip compression level.
12832    :type level: any
12833    """
12834
12835    _validation = {
12836        'type': {'required': True},
12837    }
12838
12839    _attribute_map = {
12840        'additional_properties': {'key': '', 'type': '{object}'},
12841        'type': {'key': 'type', 'type': 'object'},
12842        'level': {'key': 'level', 'type': 'object'},
12843    }
12844
12845    def __init__(
12846        self,
12847        *,
12848        additional_properties: Optional[Dict[str, Any]] = None,
12849        level: Optional[Any] = None,
12850        **kwargs
12851    ):
12852        super(DatasetGZipCompression, self).__init__(additional_properties=additional_properties, **kwargs)
12853        self.type = 'GZip'  # type: str
12854        self.level = level
12855
12856
12857class DatasetListResponse(msrest.serialization.Model):
12858    """A list of dataset resources.
12859
12860    All required parameters must be populated in order to send to Azure.
12861
12862    :param value: Required. List of datasets.
12863    :type value: list[~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetResource]
12864    :param next_link: The link to the next page of results, if any remaining results exist.
12865    :type next_link: str
12866    """
12867
12868    _validation = {
12869        'value': {'required': True},
12870    }
12871
12872    _attribute_map = {
12873        'value': {'key': 'value', 'type': '[DatasetResource]'},
12874        'next_link': {'key': 'nextLink', 'type': 'str'},
12875    }
12876
12877    def __init__(
12878        self,
12879        *,
12880        value: List["DatasetResource"],
12881        next_link: Optional[str] = None,
12882        **kwargs
12883    ):
12884        super(DatasetListResponse, self).__init__(**kwargs)
12885        self.value = value
12886        self.next_link = next_link
12887
12888
12889class DatasetReference(msrest.serialization.Model):
12890    """Dataset reference type.
12891
12892    All required parameters must be populated in order to send to Azure.
12893
12894    :param type: Required. Dataset reference type. Possible values include: "DatasetReference".
12895    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetReferenceType
12896    :param reference_name: Required. Reference dataset name.
12897    :type reference_name: str
12898    :param parameters: Arguments for dataset.
12899    :type parameters: dict[str, any]
12900    """
12901
12902    _validation = {
12903        'type': {'required': True},
12904        'reference_name': {'required': True},
12905    }
12906
12907    _attribute_map = {
12908        'type': {'key': 'type', 'type': 'str'},
12909        'reference_name': {'key': 'referenceName', 'type': 'str'},
12910        'parameters': {'key': 'parameters', 'type': '{object}'},
12911    }
12912
12913    def __init__(
12914        self,
12915        *,
12916        type: Union[str, "DatasetReferenceType"],
12917        reference_name: str,
12918        parameters: Optional[Dict[str, Any]] = None,
12919        **kwargs
12920    ):
12921        super(DatasetReference, self).__init__(**kwargs)
12922        self.type = type
12923        self.reference_name = reference_name
12924        self.parameters = parameters
12925
12926
12927class DatasetResource(SubResource):
12928    """Dataset resource type.
12929
12930    Variables are only populated by the server, and will be ignored when sending a request.
12931
12932    All required parameters must be populated in order to send to Azure.
12933
12934    :ivar id: Fully qualified resource ID for the resource. Ex -
12935     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
12936    :vartype id: str
12937    :ivar name: The name of the resource.
12938    :vartype name: str
12939    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
12940     "Microsoft.Storage/storageAccounts".
12941    :vartype type: str
12942    :ivar etag: Resource Etag.
12943    :vartype etag: str
12944    :param properties: Required. Dataset properties.
12945    :type properties: ~azure.synapse.artifacts.v2021_06_01_preview.models.Dataset
12946    """
12947
12948    _validation = {
12949        'id': {'readonly': True},
12950        'name': {'readonly': True},
12951        'type': {'readonly': True},
12952        'etag': {'readonly': True},
12953        'properties': {'required': True},
12954    }
12955
12956    _attribute_map = {
12957        'id': {'key': 'id', 'type': 'str'},
12958        'name': {'key': 'name', 'type': 'str'},
12959        'type': {'key': 'type', 'type': 'str'},
12960        'etag': {'key': 'etag', 'type': 'str'},
12961        'properties': {'key': 'properties', 'type': 'Dataset'},
12962    }
12963
12964    def __init__(
12965        self,
12966        *,
12967        properties: "Dataset",
12968        **kwargs
12969    ):
12970        super(DatasetResource, self).__init__(**kwargs)
12971        self.properties = properties
12972
12973
12974class DatasetSchemaDataElement(msrest.serialization.Model):
12975    """Columns that define the physical type schema of the dataset.
12976
12977    :param additional_properties: Unmatched properties from the message are deserialized to this
12978     collection.
12979    :type additional_properties: dict[str, any]
12980    :param name: Name of the schema column. Type: string (or Expression with resultType string).
12981    :type name: any
12982    :param type: Type of the schema column. Type: string (or Expression with resultType string).
12983    :type type: any
12984    """
12985
12986    _attribute_map = {
12987        'additional_properties': {'key': '', 'type': '{object}'},
12988        'name': {'key': 'name', 'type': 'object'},
12989        'type': {'key': 'type', 'type': 'object'},
12990    }
12991
12992    def __init__(
12993        self,
12994        *,
12995        additional_properties: Optional[Dict[str, Any]] = None,
12996        name: Optional[Any] = None,
12997        type: Optional[Any] = None,
12998        **kwargs
12999    ):
13000        super(DatasetSchemaDataElement, self).__init__(**kwargs)
13001        self.additional_properties = additional_properties
13002        self.name = name
13003        self.type = type
13004
13005
13006class DatasetTarCompression(DatasetCompression):
13007    """The Tar archive method used on a dataset.
13008
13009    All required parameters must be populated in order to send to Azure.
13010
13011    :param additional_properties: Unmatched properties from the message are deserialized to this
13012     collection.
13013    :type additional_properties: dict[str, any]
13014    :param type: Required. Type of dataset compression. Type: string (or Expression with resultType
13015     string).Constant filled by server.
13016    :type type: any
13017    """
13018
13019    _validation = {
13020        'type': {'required': True},
13021    }
13022
13023    _attribute_map = {
13024        'additional_properties': {'key': '', 'type': '{object}'},
13025        'type': {'key': 'type', 'type': 'object'},
13026    }
13027
13028    def __init__(
13029        self,
13030        *,
13031        additional_properties: Optional[Dict[str, Any]] = None,
13032        **kwargs
13033    ):
13034        super(DatasetTarCompression, self).__init__(additional_properties=additional_properties, **kwargs)
13035        self.type = 'Tar'  # type: str
13036
13037
13038class DatasetTarGZipCompression(DatasetCompression):
13039    """The TarGZip compression method used on a dataset.
13040
13041    All required parameters must be populated in order to send to Azure.
13042
13043    :param additional_properties: Unmatched properties from the message are deserialized to this
13044     collection.
13045    :type additional_properties: dict[str, any]
13046    :param type: Required. Type of dataset compression. Type: string (or Expression with resultType
13047     string).Constant filled by server.
13048    :type type: any
13049    :param level: The TarGZip compression level.
13050    :type level: any
13051    """
13052
13053    _validation = {
13054        'type': {'required': True},
13055    }
13056
13057    _attribute_map = {
13058        'additional_properties': {'key': '', 'type': '{object}'},
13059        'type': {'key': 'type', 'type': 'object'},
13060        'level': {'key': 'level', 'type': 'object'},
13061    }
13062
13063    def __init__(
13064        self,
13065        *,
13066        additional_properties: Optional[Dict[str, Any]] = None,
13067        level: Optional[Any] = None,
13068        **kwargs
13069    ):
13070        super(DatasetTarGZipCompression, self).__init__(additional_properties=additional_properties, **kwargs)
13071        self.type = 'TarGZip'  # type: str
13072        self.level = level
13073
13074
13075class DatasetZipDeflateCompression(DatasetCompression):
13076    """The ZipDeflate compression method used on a dataset.
13077
13078    All required parameters must be populated in order to send to Azure.
13079
13080    :param additional_properties: Unmatched properties from the message are deserialized to this
13081     collection.
13082    :type additional_properties: dict[str, any]
13083    :param type: Required. Type of dataset compression. Type: string (or Expression with resultType
13084     string).Constant filled by server.
13085    :type type: any
13086    :param level: The ZipDeflate compression level.
13087    :type level: any
13088    """
13089
13090    _validation = {
13091        'type': {'required': True},
13092    }
13093
13094    _attribute_map = {
13095        'additional_properties': {'key': '', 'type': '{object}'},
13096        'type': {'key': 'type', 'type': 'object'},
13097        'level': {'key': 'level', 'type': 'object'},
13098    }
13099
13100    def __init__(
13101        self,
13102        *,
13103        additional_properties: Optional[Dict[str, Any]] = None,
13104        level: Optional[Any] = None,
13105        **kwargs
13106    ):
13107        super(DatasetZipDeflateCompression, self).__init__(additional_properties=additional_properties, **kwargs)
13108        self.type = 'ZipDeflate'  # type: str
13109        self.level = level
13110
13111
13112class Db2LinkedService(LinkedService):
13113    """Linked service for DB2 data source.
13114
13115    All required parameters must be populated in order to send to Azure.
13116
13117    :param additional_properties: Unmatched properties from the message are deserialized to this
13118     collection.
13119    :type additional_properties: dict[str, any]
13120    :param type: Required. Type of linked service.Constant filled by server.
13121    :type type: str
13122    :param connect_via: The integration runtime reference.
13123    :type connect_via:
13124     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
13125    :param description: Linked service description.
13126    :type description: str
13127    :param parameters: Parameters for linked service.
13128    :type parameters: dict[str,
13129     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
13130    :param annotations: List of tags that can be used for describing the linked service.
13131    :type annotations: list[any]
13132    :param connection_string: The connection string. It is mutually exclusive with server,
13133     database, authenticationType, userName, packageCollection and certificateCommonName property.
13134     Type: string, SecureString or AzureKeyVaultSecretReference.
13135    :type connection_string: any
13136    :param server: Required. Server name for connection. It is mutually exclusive with
13137     connectionString property. Type: string (or Expression with resultType string).
13138    :type server: any
13139    :param database: Required. Database name for connection. It is mutually exclusive with
13140     connectionString property. Type: string (or Expression with resultType string).
13141    :type database: any
13142    :param authentication_type: AuthenticationType to be used for connection. It is mutually
13143     exclusive with connectionString property. Possible values include: "Basic".
13144    :type authentication_type: str or
13145     ~azure.synapse.artifacts.v2021_06_01_preview.models.Db2AuthenticationType
13146    :param username: Username for authentication. It is mutually exclusive with connectionString
13147     property. Type: string (or Expression with resultType string).
13148    :type username: any
13149    :param password: Password for authentication.
13150    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
13151    :param package_collection: Under where packages are created when querying database. It is
13152     mutually exclusive with connectionString property. Type: string (or Expression with resultType
13153     string).
13154    :type package_collection: any
13155    :param certificate_common_name: Certificate Common Name when TLS is enabled. It is mutually
13156     exclusive with connectionString property. Type: string (or Expression with resultType string).
13157    :type certificate_common_name: any
13158    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
13159     encrypted using the integration runtime credential manager. It is mutually exclusive with
13160     connectionString property. Type: string (or Expression with resultType string).
13161    :type encrypted_credential: any
13162    """
13163
13164    _validation = {
13165        'type': {'required': True},
13166        'server': {'required': True},
13167        'database': {'required': True},
13168    }
13169
13170    _attribute_map = {
13171        'additional_properties': {'key': '', 'type': '{object}'},
13172        'type': {'key': 'type', 'type': 'str'},
13173        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
13174        'description': {'key': 'description', 'type': 'str'},
13175        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
13176        'annotations': {'key': 'annotations', 'type': '[object]'},
13177        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
13178        'server': {'key': 'typeProperties.server', 'type': 'object'},
13179        'database': {'key': 'typeProperties.database', 'type': 'object'},
13180        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
13181        'username': {'key': 'typeProperties.username', 'type': 'object'},
13182        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
13183        'package_collection': {'key': 'typeProperties.packageCollection', 'type': 'object'},
13184        'certificate_common_name': {'key': 'typeProperties.certificateCommonName', 'type': 'object'},
13185        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
13186    }
13187
13188    def __init__(
13189        self,
13190        *,
13191        server: Any,
13192        database: Any,
13193        additional_properties: Optional[Dict[str, Any]] = None,
13194        connect_via: Optional["IntegrationRuntimeReference"] = None,
13195        description: Optional[str] = None,
13196        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
13197        annotations: Optional[List[Any]] = None,
13198        connection_string: Optional[Any] = None,
13199        authentication_type: Optional[Union[str, "Db2AuthenticationType"]] = None,
13200        username: Optional[Any] = None,
13201        password: Optional["SecretBase"] = None,
13202        package_collection: Optional[Any] = None,
13203        certificate_common_name: Optional[Any] = None,
13204        encrypted_credential: Optional[Any] = None,
13205        **kwargs
13206    ):
13207        super(Db2LinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
13208        self.type = 'Db2'  # type: str
13209        self.connection_string = connection_string
13210        self.server = server
13211        self.database = database
13212        self.authentication_type = authentication_type
13213        self.username = username
13214        self.password = password
13215        self.package_collection = package_collection
13216        self.certificate_common_name = certificate_common_name
13217        self.encrypted_credential = encrypted_credential
13218
13219
13220class Db2Source(TabularSource):
13221    """A copy activity source for Db2 databases.
13222
13223    All required parameters must be populated in order to send to Azure.
13224
13225    :param additional_properties: Unmatched properties from the message are deserialized to this
13226     collection.
13227    :type additional_properties: dict[str, any]
13228    :param type: Required. Copy source type.Constant filled by server.
13229    :type type: str
13230    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
13231     integer).
13232    :type source_retry_count: any
13233    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
13234     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13235    :type source_retry_wait: any
13236    :param max_concurrent_connections: The maximum concurrent connection count for the source data
13237     store. Type: integer (or Expression with resultType integer).
13238    :type max_concurrent_connections: any
13239    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
13240     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13241    :type query_timeout: any
13242    :param additional_columns: Specifies the additional columns to be added to source data. Type:
13243     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
13244    :type additional_columns: any
13245    :param query: Database query. Type: string (or Expression with resultType string).
13246    :type query: any
13247    """
13248
13249    _validation = {
13250        'type': {'required': True},
13251    }
13252
13253    _attribute_map = {
13254        'additional_properties': {'key': '', 'type': '{object}'},
13255        'type': {'key': 'type', 'type': 'str'},
13256        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
13257        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
13258        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
13259        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
13260        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
13261        'query': {'key': 'query', 'type': 'object'},
13262    }
13263
13264    def __init__(
13265        self,
13266        *,
13267        additional_properties: Optional[Dict[str, Any]] = None,
13268        source_retry_count: Optional[Any] = None,
13269        source_retry_wait: Optional[Any] = None,
13270        max_concurrent_connections: Optional[Any] = None,
13271        query_timeout: Optional[Any] = None,
13272        additional_columns: Optional[Any] = None,
13273        query: Optional[Any] = None,
13274        **kwargs
13275    ):
13276        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)
13277        self.type = 'Db2Source'  # type: str
13278        self.query = query
13279
13280
13281class Db2TableDataset(Dataset):
13282    """The Db2 table dataset.
13283
13284    All required parameters must be populated in order to send to Azure.
13285
13286    :param additional_properties: Unmatched properties from the message are deserialized to this
13287     collection.
13288    :type additional_properties: dict[str, any]
13289    :param type: Required. Type of dataset.Constant filled by server.
13290    :type type: str
13291    :param description: Dataset description.
13292    :type description: str
13293    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
13294     with resultType array), itemType: DatasetDataElement.
13295    :type structure: any
13296    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
13297     Expression with resultType array), itemType: DatasetSchemaDataElement.
13298    :type schema: any
13299    :param linked_service_name: Required. Linked service reference.
13300    :type linked_service_name:
13301     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
13302    :param parameters: Parameters for dataset.
13303    :type parameters: dict[str,
13304     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
13305    :param annotations: List of tags that can be used for describing the Dataset.
13306    :type annotations: list[any]
13307    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
13308     root level.
13309    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
13310    :param table_name: This property will be retired. Please consider using schema + table
13311     properties instead.
13312    :type table_name: any
13313    :param schema_type_properties_schema: The Db2 schema name. Type: string (or Expression with
13314     resultType string).
13315    :type schema_type_properties_schema: any
13316    :param table: The Db2 table name. Type: string (or Expression with resultType string).
13317    :type table: any
13318    """
13319
13320    _validation = {
13321        'type': {'required': True},
13322        'linked_service_name': {'required': True},
13323    }
13324
13325    _attribute_map = {
13326        'additional_properties': {'key': '', 'type': '{object}'},
13327        'type': {'key': 'type', 'type': 'str'},
13328        'description': {'key': 'description', 'type': 'str'},
13329        'structure': {'key': 'structure', 'type': 'object'},
13330        'schema': {'key': 'schema', 'type': 'object'},
13331        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
13332        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
13333        'annotations': {'key': 'annotations', 'type': '[object]'},
13334        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
13335        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
13336        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
13337        'table': {'key': 'typeProperties.table', 'type': 'object'},
13338    }
13339
13340    def __init__(
13341        self,
13342        *,
13343        linked_service_name: "LinkedServiceReference",
13344        additional_properties: Optional[Dict[str, Any]] = None,
13345        description: Optional[str] = None,
13346        structure: Optional[Any] = None,
13347        schema: Optional[Any] = None,
13348        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
13349        annotations: Optional[List[Any]] = None,
13350        folder: Optional["DatasetFolder"] = None,
13351        table_name: Optional[Any] = None,
13352        schema_type_properties_schema: Optional[Any] = None,
13353        table: Optional[Any] = None,
13354        **kwargs
13355    ):
13356        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)
13357        self.type = 'Db2Table'  # type: str
13358        self.table_name = table_name
13359        self.schema_type_properties_schema = schema_type_properties_schema
13360        self.table = table
13361
13362
13363class DeleteActivity(ExecutionActivity):
13364    """Delete activity.
13365
13366    All required parameters must be populated in order to send to Azure.
13367
13368    :param additional_properties: Unmatched properties from the message are deserialized to this
13369     collection.
13370    :type additional_properties: dict[str, any]
13371    :param name: Required. Activity name.
13372    :type name: str
13373    :param type: Required. Type of activity.Constant filled by server.
13374    :type type: str
13375    :param description: Activity description.
13376    :type description: str
13377    :param depends_on: Activity depends on condition.
13378    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
13379    :param user_properties: Activity user properties.
13380    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
13381    :param linked_service_name: Linked service reference.
13382    :type linked_service_name:
13383     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
13384    :param policy: Activity policy.
13385    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
13386    :param recursive: If true, files or sub-folders under current folder path will be deleted
13387     recursively. Default is false. Type: boolean (or Expression with resultType boolean).
13388    :type recursive: any
13389    :param max_concurrent_connections: The max concurrent connections to connect data source at the
13390     same time.
13391    :type max_concurrent_connections: int
13392    :param enable_logging: Whether to record detailed logs of delete-activity execution. Default
13393     value is false. Type: boolean (or Expression with resultType boolean).
13394    :type enable_logging: any
13395    :param log_storage_settings: Log storage settings customer need to provide when enableLogging
13396     is true.
13397    :type log_storage_settings:
13398     ~azure.synapse.artifacts.v2021_06_01_preview.models.LogStorageSettings
13399    :param dataset: Required. Delete activity dataset reference.
13400    :type dataset: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetReference
13401    :param store_settings: Delete activity store settings.
13402    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreReadSettings
13403    """
13404
13405    _validation = {
13406        'name': {'required': True},
13407        'type': {'required': True},
13408        'max_concurrent_connections': {'minimum': 1},
13409        'dataset': {'required': True},
13410    }
13411
13412    _attribute_map = {
13413        'additional_properties': {'key': '', 'type': '{object}'},
13414        'name': {'key': 'name', 'type': 'str'},
13415        'type': {'key': 'type', 'type': 'str'},
13416        'description': {'key': 'description', 'type': 'str'},
13417        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
13418        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
13419        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
13420        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
13421        'recursive': {'key': 'typeProperties.recursive', 'type': 'object'},
13422        'max_concurrent_connections': {'key': 'typeProperties.maxConcurrentConnections', 'type': 'int'},
13423        'enable_logging': {'key': 'typeProperties.enableLogging', 'type': 'object'},
13424        'log_storage_settings': {'key': 'typeProperties.logStorageSettings', 'type': 'LogStorageSettings'},
13425        'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'},
13426        'store_settings': {'key': 'typeProperties.storeSettings', 'type': 'StoreReadSettings'},
13427    }
13428
13429    def __init__(
13430        self,
13431        *,
13432        name: str,
13433        dataset: "DatasetReference",
13434        additional_properties: Optional[Dict[str, Any]] = None,
13435        description: Optional[str] = None,
13436        depends_on: Optional[List["ActivityDependency"]] = None,
13437        user_properties: Optional[List["UserProperty"]] = None,
13438        linked_service_name: Optional["LinkedServiceReference"] = None,
13439        policy: Optional["ActivityPolicy"] = None,
13440        recursive: Optional[Any] = None,
13441        max_concurrent_connections: Optional[int] = None,
13442        enable_logging: Optional[Any] = None,
13443        log_storage_settings: Optional["LogStorageSettings"] = None,
13444        store_settings: Optional["StoreReadSettings"] = None,
13445        **kwargs
13446    ):
13447        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)
13448        self.type = 'Delete'  # type: str
13449        self.recursive = recursive
13450        self.max_concurrent_connections = max_concurrent_connections
13451        self.enable_logging = enable_logging
13452        self.log_storage_settings = log_storage_settings
13453        self.dataset = dataset
13454        self.store_settings = store_settings
13455
13456
13457class DeleteDataFlowDebugSessionRequest(msrest.serialization.Model):
13458    """Request body structure for deleting data flow debug session.
13459
13460    :param session_id: The ID of data flow debug session.
13461    :type session_id: str
13462    :param data_flow_name: The data flow which contains the debug session.
13463    :type data_flow_name: str
13464    """
13465
13466    _attribute_map = {
13467        'session_id': {'key': 'sessionId', 'type': 'str'},
13468        'data_flow_name': {'key': 'dataFlowName', 'type': 'str'},
13469    }
13470
13471    def __init__(
13472        self,
13473        *,
13474        session_id: Optional[str] = None,
13475        data_flow_name: Optional[str] = None,
13476        **kwargs
13477    ):
13478        super(DeleteDataFlowDebugSessionRequest, self).__init__(**kwargs)
13479        self.session_id = session_id
13480        self.data_flow_name = data_flow_name
13481
13482
13483class DelimitedTextDataset(Dataset):
13484    """Delimited text dataset.
13485
13486    All required parameters must be populated in order to send to Azure.
13487
13488    :param additional_properties: Unmatched properties from the message are deserialized to this
13489     collection.
13490    :type additional_properties: dict[str, any]
13491    :param type: Required. Type of dataset.Constant filled by server.
13492    :type type: str
13493    :param description: Dataset description.
13494    :type description: str
13495    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
13496     with resultType array), itemType: DatasetDataElement.
13497    :type structure: any
13498    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
13499     Expression with resultType array), itemType: DatasetSchemaDataElement.
13500    :type schema: any
13501    :param linked_service_name: Required. Linked service reference.
13502    :type linked_service_name:
13503     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
13504    :param parameters: Parameters for dataset.
13505    :type parameters: dict[str,
13506     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
13507    :param annotations: List of tags that can be used for describing the Dataset.
13508    :type annotations: list[any]
13509    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
13510     root level.
13511    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
13512    :param location: The location of the delimited text storage.
13513    :type location: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetLocation
13514    :param column_delimiter: The column delimiter. Type: string (or Expression with resultType
13515     string).
13516    :type column_delimiter: any
13517    :param row_delimiter: The row delimiter. Type: string (or Expression with resultType string).
13518    :type row_delimiter: any
13519    :param encoding_name: The code page name of the preferred encoding. If miss, the default value
13520     is UTF-8, unless BOM denotes another Unicode encoding. Refer to the name column of the table in
13521     the following link to set supported values:
13522     https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with
13523     resultType string).
13524    :type encoding_name: any
13525    :param compression_codec:  Possible values include: "bzip2", "gzip", "deflate", "zipDeflate",
13526     "snappy", "lz4", "tar", "tarGZip".
13527    :type compression_codec: str or
13528     ~azure.synapse.artifacts.v2021_06_01_preview.models.CompressionCodec
13529    :param compression_level: The data compression method used for DelimitedText.
13530    :type compression_level: any
13531    :param quote_char: The quote character. Type: string (or Expression with resultType string).
13532    :type quote_char: any
13533    :param escape_char: The escape character. Type: string (or Expression with resultType string).
13534    :type escape_char: any
13535    :param first_row_as_header: When used as input, treat the first row of data as headers. When
13536     used as output,write the headers into the output as the first row of data. The default value is
13537     false. Type: boolean (or Expression with resultType boolean).
13538    :type first_row_as_header: any
13539    :param null_value: The null value string. Type: string (or Expression with resultType string).
13540    :type null_value: any
13541    """
13542
13543    _validation = {
13544        'type': {'required': True},
13545        'linked_service_name': {'required': True},
13546    }
13547
13548    _attribute_map = {
13549        'additional_properties': {'key': '', 'type': '{object}'},
13550        'type': {'key': 'type', 'type': 'str'},
13551        'description': {'key': 'description', 'type': 'str'},
13552        'structure': {'key': 'structure', 'type': 'object'},
13553        'schema': {'key': 'schema', 'type': 'object'},
13554        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
13555        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
13556        'annotations': {'key': 'annotations', 'type': '[object]'},
13557        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
13558        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
13559        'column_delimiter': {'key': 'typeProperties.columnDelimiter', 'type': 'object'},
13560        'row_delimiter': {'key': 'typeProperties.rowDelimiter', 'type': 'object'},
13561        'encoding_name': {'key': 'typeProperties.encodingName', 'type': 'object'},
13562        'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'str'},
13563        'compression_level': {'key': 'typeProperties.compressionLevel', 'type': 'object'},
13564        'quote_char': {'key': 'typeProperties.quoteChar', 'type': 'object'},
13565        'escape_char': {'key': 'typeProperties.escapeChar', 'type': 'object'},
13566        'first_row_as_header': {'key': 'typeProperties.firstRowAsHeader', 'type': 'object'},
13567        'null_value': {'key': 'typeProperties.nullValue', 'type': 'object'},
13568    }
13569
13570    def __init__(
13571        self,
13572        *,
13573        linked_service_name: "LinkedServiceReference",
13574        additional_properties: Optional[Dict[str, Any]] = None,
13575        description: Optional[str] = None,
13576        structure: Optional[Any] = None,
13577        schema: Optional[Any] = None,
13578        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
13579        annotations: Optional[List[Any]] = None,
13580        folder: Optional["DatasetFolder"] = None,
13581        location: Optional["DatasetLocation"] = None,
13582        column_delimiter: Optional[Any] = None,
13583        row_delimiter: Optional[Any] = None,
13584        encoding_name: Optional[Any] = None,
13585        compression_codec: Optional[Union[str, "CompressionCodec"]] = None,
13586        compression_level: Optional[Any] = None,
13587        quote_char: Optional[Any] = None,
13588        escape_char: Optional[Any] = None,
13589        first_row_as_header: Optional[Any] = None,
13590        null_value: Optional[Any] = None,
13591        **kwargs
13592    ):
13593        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)
13594        self.type = 'DelimitedText'  # type: str
13595        self.location = location
13596        self.column_delimiter = column_delimiter
13597        self.row_delimiter = row_delimiter
13598        self.encoding_name = encoding_name
13599        self.compression_codec = compression_codec
13600        self.compression_level = compression_level
13601        self.quote_char = quote_char
13602        self.escape_char = escape_char
13603        self.first_row_as_header = first_row_as_header
13604        self.null_value = null_value
13605
13606
13607class DelimitedTextReadSettings(FormatReadSettings):
13608    """Delimited text read settings.
13609
13610    All required parameters must be populated in order to send to Azure.
13611
13612    :param additional_properties: Unmatched properties from the message are deserialized to this
13613     collection.
13614    :type additional_properties: dict[str, any]
13615    :param type: Required. The read setting type.Constant filled by server.
13616    :type type: str
13617    :param skip_line_count: Indicates the number of non-empty rows to skip when reading data from
13618     input files. Type: integer (or Expression with resultType integer).
13619    :type skip_line_count: any
13620    :param compression_properties: Compression settings.
13621    :type compression_properties:
13622     ~azure.synapse.artifacts.v2021_06_01_preview.models.CompressionReadSettings
13623    """
13624
13625    _validation = {
13626        'type': {'required': True},
13627    }
13628
13629    _attribute_map = {
13630        'additional_properties': {'key': '', 'type': '{object}'},
13631        'type': {'key': 'type', 'type': 'str'},
13632        'skip_line_count': {'key': 'skipLineCount', 'type': 'object'},
13633        'compression_properties': {'key': 'compressionProperties', 'type': 'CompressionReadSettings'},
13634    }
13635
13636    def __init__(
13637        self,
13638        *,
13639        additional_properties: Optional[Dict[str, Any]] = None,
13640        skip_line_count: Optional[Any] = None,
13641        compression_properties: Optional["CompressionReadSettings"] = None,
13642        **kwargs
13643    ):
13644        super(DelimitedTextReadSettings, self).__init__(additional_properties=additional_properties, **kwargs)
13645        self.type = 'DelimitedTextReadSettings'  # type: str
13646        self.skip_line_count = skip_line_count
13647        self.compression_properties = compression_properties
13648
13649
13650class DelimitedTextSink(CopySink):
13651    """A copy activity DelimitedText sink.
13652
13653    All required parameters must be populated in order to send to Azure.
13654
13655    :param additional_properties: Unmatched properties from the message are deserialized to this
13656     collection.
13657    :type additional_properties: dict[str, any]
13658    :param type: Required. Copy sink type.Constant filled by server.
13659    :type type: str
13660    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
13661     integer), minimum: 0.
13662    :type write_batch_size: any
13663    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
13664     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13665    :type write_batch_timeout: any
13666    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
13667     integer).
13668    :type sink_retry_count: any
13669    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
13670     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13671    :type sink_retry_wait: any
13672    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
13673     store. Type: integer (or Expression with resultType integer).
13674    :type max_concurrent_connections: any
13675    :param store_settings: DelimitedText store settings.
13676    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreWriteSettings
13677    :param format_settings: DelimitedText format settings.
13678    :type format_settings:
13679     ~azure.synapse.artifacts.v2021_06_01_preview.models.DelimitedTextWriteSettings
13680    """
13681
13682    _validation = {
13683        'type': {'required': True},
13684    }
13685
13686    _attribute_map = {
13687        'additional_properties': {'key': '', 'type': '{object}'},
13688        'type': {'key': 'type', 'type': 'str'},
13689        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
13690        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
13691        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
13692        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
13693        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
13694        'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'},
13695        'format_settings': {'key': 'formatSettings', 'type': 'DelimitedTextWriteSettings'},
13696    }
13697
13698    def __init__(
13699        self,
13700        *,
13701        additional_properties: Optional[Dict[str, Any]] = None,
13702        write_batch_size: Optional[Any] = None,
13703        write_batch_timeout: Optional[Any] = None,
13704        sink_retry_count: Optional[Any] = None,
13705        sink_retry_wait: Optional[Any] = None,
13706        max_concurrent_connections: Optional[Any] = None,
13707        store_settings: Optional["StoreWriteSettings"] = None,
13708        format_settings: Optional["DelimitedTextWriteSettings"] = None,
13709        **kwargs
13710    ):
13711        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)
13712        self.type = 'DelimitedTextSink'  # type: str
13713        self.store_settings = store_settings
13714        self.format_settings = format_settings
13715
13716
13717class DelimitedTextSource(CopySource):
13718    """A copy activity DelimitedText source.
13719
13720    All required parameters must be populated in order to send to Azure.
13721
13722    :param additional_properties: Unmatched properties from the message are deserialized to this
13723     collection.
13724    :type additional_properties: dict[str, any]
13725    :param type: Required. Copy source type.Constant filled by server.
13726    :type type: str
13727    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
13728     integer).
13729    :type source_retry_count: any
13730    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
13731     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13732    :type source_retry_wait: any
13733    :param max_concurrent_connections: The maximum concurrent connection count for the source data
13734     store. Type: integer (or Expression with resultType integer).
13735    :type max_concurrent_connections: any
13736    :param store_settings: DelimitedText store settings.
13737    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreReadSettings
13738    :param format_settings: DelimitedText format settings.
13739    :type format_settings:
13740     ~azure.synapse.artifacts.v2021_06_01_preview.models.DelimitedTextReadSettings
13741    :param additional_columns: Specifies the additional columns to be added to source data. Type:
13742     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
13743    :type additional_columns: any
13744    """
13745
13746    _validation = {
13747        'type': {'required': True},
13748    }
13749
13750    _attribute_map = {
13751        'additional_properties': {'key': '', 'type': '{object}'},
13752        'type': {'key': 'type', 'type': 'str'},
13753        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
13754        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
13755        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
13756        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
13757        'format_settings': {'key': 'formatSettings', 'type': 'DelimitedTextReadSettings'},
13758        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
13759    }
13760
13761    def __init__(
13762        self,
13763        *,
13764        additional_properties: Optional[Dict[str, Any]] = None,
13765        source_retry_count: Optional[Any] = None,
13766        source_retry_wait: Optional[Any] = None,
13767        max_concurrent_connections: Optional[Any] = None,
13768        store_settings: Optional["StoreReadSettings"] = None,
13769        format_settings: Optional["DelimitedTextReadSettings"] = None,
13770        additional_columns: Optional[Any] = None,
13771        **kwargs
13772    ):
13773        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)
13774        self.type = 'DelimitedTextSource'  # type: str
13775        self.store_settings = store_settings
13776        self.format_settings = format_settings
13777        self.additional_columns = additional_columns
13778
13779
13780class DelimitedTextWriteSettings(FormatWriteSettings):
13781    """Delimited text write settings.
13782
13783    All required parameters must be populated in order to send to Azure.
13784
13785    :param additional_properties: Unmatched properties from the message are deserialized to this
13786     collection.
13787    :type additional_properties: dict[str, any]
13788    :param type: Required. The write setting type.Constant filled by server.
13789    :type type: str
13790    :param quote_all_text: Indicates whether string values should always be enclosed with quotes.
13791     Type: boolean (or Expression with resultType boolean).
13792    :type quote_all_text: any
13793    :param file_extension: Required. The file extension used to create the files. Type: string (or
13794     Expression with resultType string).
13795    :type file_extension: any
13796    :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the
13797     specified count. Type: integer (or Expression with resultType integer).
13798    :type max_rows_per_file: any
13799    :param file_name_prefix: Specifies the file name pattern
13800     :code:`<fileNamePrefix>`_:code:`<fileIndex>`.:code:`<fileExtension>` when copy from non-file
13801     based store without partitionOptions. Type: string (or Expression with resultType string).
13802    :type file_name_prefix: any
13803    """
13804
13805    _validation = {
13806        'type': {'required': True},
13807        'file_extension': {'required': True},
13808    }
13809
13810    _attribute_map = {
13811        'additional_properties': {'key': '', 'type': '{object}'},
13812        'type': {'key': 'type', 'type': 'str'},
13813        'quote_all_text': {'key': 'quoteAllText', 'type': 'object'},
13814        'file_extension': {'key': 'fileExtension', 'type': 'object'},
13815        'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'},
13816        'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'},
13817    }
13818
13819    def __init__(
13820        self,
13821        *,
13822        file_extension: Any,
13823        additional_properties: Optional[Dict[str, Any]] = None,
13824        quote_all_text: Optional[Any] = None,
13825        max_rows_per_file: Optional[Any] = None,
13826        file_name_prefix: Optional[Any] = None,
13827        **kwargs
13828    ):
13829        super(DelimitedTextWriteSettings, self).__init__(additional_properties=additional_properties, **kwargs)
13830        self.type = 'DelimitedTextWriteSettings'  # type: str
13831        self.quote_all_text = quote_all_text
13832        self.file_extension = file_extension
13833        self.max_rows_per_file = max_rows_per_file
13834        self.file_name_prefix = file_name_prefix
13835
13836
13837class DependencyReference(msrest.serialization.Model):
13838    """Referenced dependency.
13839
13840    You probably want to use the sub-classes and not this class directly. Known
13841    sub-classes are: SelfDependencyTumblingWindowTriggerReference, TriggerDependencyReference.
13842
13843    All required parameters must be populated in order to send to Azure.
13844
13845    :param type: Required. The type of dependency reference.Constant filled by server.
13846    :type type: str
13847    """
13848
13849    _validation = {
13850        'type': {'required': True},
13851    }
13852
13853    _attribute_map = {
13854        'type': {'key': 'type', 'type': 'str'},
13855    }
13856
13857    _subtype_map = {
13858        'type': {'SelfDependencyTumblingWindowTriggerReference': 'SelfDependencyTumblingWindowTriggerReference', 'TriggerDependencyReference': 'TriggerDependencyReference'}
13859    }
13860
13861    def __init__(
13862        self,
13863        **kwargs
13864    ):
13865        super(DependencyReference, self).__init__(**kwargs)
13866        self.type = None  # type: Optional[str]
13867
13868
13869class DistcpSettings(msrest.serialization.Model):
13870    """Distcp settings.
13871
13872    All required parameters must be populated in order to send to Azure.
13873
13874    :param resource_manager_endpoint: Required. Specifies the Yarn ResourceManager endpoint. Type:
13875     string (or Expression with resultType string).
13876    :type resource_manager_endpoint: any
13877    :param temp_script_path: Required. Specifies an existing folder path which will be used to
13878     store temp Distcp command script. The script file is generated by ADF and will be removed after
13879     Copy job finished. Type: string (or Expression with resultType string).
13880    :type temp_script_path: any
13881    :param distcp_options: Specifies the Distcp options. Type: string (or Expression with
13882     resultType string).
13883    :type distcp_options: any
13884    """
13885
13886    _validation = {
13887        'resource_manager_endpoint': {'required': True},
13888        'temp_script_path': {'required': True},
13889    }
13890
13891    _attribute_map = {
13892        'resource_manager_endpoint': {'key': 'resourceManagerEndpoint', 'type': 'object'},
13893        'temp_script_path': {'key': 'tempScriptPath', 'type': 'object'},
13894        'distcp_options': {'key': 'distcpOptions', 'type': 'object'},
13895    }
13896
13897    def __init__(
13898        self,
13899        *,
13900        resource_manager_endpoint: Any,
13901        temp_script_path: Any,
13902        distcp_options: Optional[Any] = None,
13903        **kwargs
13904    ):
13905        super(DistcpSettings, self).__init__(**kwargs)
13906        self.resource_manager_endpoint = resource_manager_endpoint
13907        self.temp_script_path = temp_script_path
13908        self.distcp_options = distcp_options
13909
13910
13911class DocumentDbCollectionDataset(Dataset):
13912    """Microsoft Azure Document Database Collection dataset.
13913
13914    All required parameters must be populated in order to send to Azure.
13915
13916    :param additional_properties: Unmatched properties from the message are deserialized to this
13917     collection.
13918    :type additional_properties: dict[str, any]
13919    :param type: Required. Type of dataset.Constant filled by server.
13920    :type type: str
13921    :param description: Dataset description.
13922    :type description: str
13923    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
13924     with resultType array), itemType: DatasetDataElement.
13925    :type structure: any
13926    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
13927     Expression with resultType array), itemType: DatasetSchemaDataElement.
13928    :type schema: any
13929    :param linked_service_name: Required. Linked service reference.
13930    :type linked_service_name:
13931     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
13932    :param parameters: Parameters for dataset.
13933    :type parameters: dict[str,
13934     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
13935    :param annotations: List of tags that can be used for describing the Dataset.
13936    :type annotations: list[any]
13937    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
13938     root level.
13939    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
13940    :param collection_name: Required. Document Database collection name. Type: string (or
13941     Expression with resultType string).
13942    :type collection_name: any
13943    """
13944
13945    _validation = {
13946        'type': {'required': True},
13947        'linked_service_name': {'required': True},
13948        'collection_name': {'required': True},
13949    }
13950
13951    _attribute_map = {
13952        'additional_properties': {'key': '', 'type': '{object}'},
13953        'type': {'key': 'type', 'type': 'str'},
13954        'description': {'key': 'description', 'type': 'str'},
13955        'structure': {'key': 'structure', 'type': 'object'},
13956        'schema': {'key': 'schema', 'type': 'object'},
13957        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
13958        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
13959        'annotations': {'key': 'annotations', 'type': '[object]'},
13960        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
13961        'collection_name': {'key': 'typeProperties.collectionName', 'type': 'object'},
13962    }
13963
13964    def __init__(
13965        self,
13966        *,
13967        linked_service_name: "LinkedServiceReference",
13968        collection_name: Any,
13969        additional_properties: Optional[Dict[str, Any]] = None,
13970        description: Optional[str] = None,
13971        structure: Optional[Any] = None,
13972        schema: Optional[Any] = None,
13973        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
13974        annotations: Optional[List[Any]] = None,
13975        folder: Optional["DatasetFolder"] = None,
13976        **kwargs
13977    ):
13978        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)
13979        self.type = 'DocumentDbCollection'  # type: str
13980        self.collection_name = collection_name
13981
13982
13983class DocumentDbCollectionSink(CopySink):
13984    """A copy activity Document Database Collection sink.
13985
13986    All required parameters must be populated in order to send to Azure.
13987
13988    :param additional_properties: Unmatched properties from the message are deserialized to this
13989     collection.
13990    :type additional_properties: dict[str, any]
13991    :param type: Required. Copy sink type.Constant filled by server.
13992    :type type: str
13993    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
13994     integer), minimum: 0.
13995    :type write_batch_size: any
13996    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
13997     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
13998    :type write_batch_timeout: any
13999    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
14000     integer).
14001    :type sink_retry_count: any
14002    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
14003     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14004    :type sink_retry_wait: any
14005    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
14006     store. Type: integer (or Expression with resultType integer).
14007    :type max_concurrent_connections: any
14008    :param nesting_separator: Nested properties separator. Default is . (dot). Type: string (or
14009     Expression with resultType string).
14010    :type nesting_separator: any
14011    :param write_behavior: Describes how to write data to Azure Cosmos DB. Type: string (or
14012     Expression with resultType string). Allowed values: insert and upsert.
14013    :type write_behavior: any
14014    """
14015
14016    _validation = {
14017        'type': {'required': True},
14018    }
14019
14020    _attribute_map = {
14021        'additional_properties': {'key': '', 'type': '{object}'},
14022        'type': {'key': 'type', 'type': 'str'},
14023        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
14024        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
14025        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
14026        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
14027        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
14028        'nesting_separator': {'key': 'nestingSeparator', 'type': 'object'},
14029        'write_behavior': {'key': 'writeBehavior', 'type': 'object'},
14030    }
14031
14032    def __init__(
14033        self,
14034        *,
14035        additional_properties: Optional[Dict[str, Any]] = None,
14036        write_batch_size: Optional[Any] = None,
14037        write_batch_timeout: Optional[Any] = None,
14038        sink_retry_count: Optional[Any] = None,
14039        sink_retry_wait: Optional[Any] = None,
14040        max_concurrent_connections: Optional[Any] = None,
14041        nesting_separator: Optional[Any] = None,
14042        write_behavior: Optional[Any] = None,
14043        **kwargs
14044    ):
14045        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)
14046        self.type = 'DocumentDbCollectionSink'  # type: str
14047        self.nesting_separator = nesting_separator
14048        self.write_behavior = write_behavior
14049
14050
14051class DocumentDbCollectionSource(CopySource):
14052    """A copy activity Document Database Collection source.
14053
14054    All required parameters must be populated in order to send to Azure.
14055
14056    :param additional_properties: Unmatched properties from the message are deserialized to this
14057     collection.
14058    :type additional_properties: dict[str, any]
14059    :param type: Required. Copy source type.Constant filled by server.
14060    :type type: str
14061    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
14062     integer).
14063    :type source_retry_count: any
14064    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
14065     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14066    :type source_retry_wait: any
14067    :param max_concurrent_connections: The maximum concurrent connection count for the source data
14068     store. Type: integer (or Expression with resultType integer).
14069    :type max_concurrent_connections: any
14070    :param query: Documents query. Type: string (or Expression with resultType string).
14071    :type query: any
14072    :param nesting_separator: Nested properties separator. Type: string (or Expression with
14073     resultType string).
14074    :type nesting_separator: any
14075    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
14076     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14077    :type query_timeout: any
14078    :param additional_columns: Specifies the additional columns to be added to source data. Type:
14079     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
14080    :type additional_columns: any
14081    """
14082
14083    _validation = {
14084        'type': {'required': True},
14085    }
14086
14087    _attribute_map = {
14088        'additional_properties': {'key': '', 'type': '{object}'},
14089        'type': {'key': 'type', 'type': 'str'},
14090        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
14091        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
14092        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
14093        'query': {'key': 'query', 'type': 'object'},
14094        'nesting_separator': {'key': 'nestingSeparator', 'type': 'object'},
14095        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
14096        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
14097    }
14098
14099    def __init__(
14100        self,
14101        *,
14102        additional_properties: Optional[Dict[str, Any]] = None,
14103        source_retry_count: Optional[Any] = None,
14104        source_retry_wait: Optional[Any] = None,
14105        max_concurrent_connections: Optional[Any] = None,
14106        query: Optional[Any] = None,
14107        nesting_separator: Optional[Any] = None,
14108        query_timeout: Optional[Any] = None,
14109        additional_columns: Optional[Any] = None,
14110        **kwargs
14111    ):
14112        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)
14113        self.type = 'DocumentDbCollectionSource'  # type: str
14114        self.query = query
14115        self.nesting_separator = nesting_separator
14116        self.query_timeout = query_timeout
14117        self.additional_columns = additional_columns
14118
14119
14120class DrillLinkedService(LinkedService):
14121    """Drill server linked service.
14122
14123    All required parameters must be populated in order to send to Azure.
14124
14125    :param additional_properties: Unmatched properties from the message are deserialized to this
14126     collection.
14127    :type additional_properties: dict[str, any]
14128    :param type: Required. Type of linked service.Constant filled by server.
14129    :type type: str
14130    :param connect_via: The integration runtime reference.
14131    :type connect_via:
14132     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
14133    :param description: Linked service description.
14134    :type description: str
14135    :param parameters: Parameters for linked service.
14136    :type parameters: dict[str,
14137     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
14138    :param annotations: List of tags that can be used for describing the linked service.
14139    :type annotations: list[any]
14140    :param connection_string: An ODBC connection string. Type: string, SecureString or
14141     AzureKeyVaultSecretReference.
14142    :type connection_string: any
14143    :param pwd: The Azure key vault secret reference of password in connection string.
14144    :type pwd: ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
14145    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
14146     encrypted using the integration runtime credential manager. Type: string (or Expression with
14147     resultType string).
14148    :type encrypted_credential: any
14149    """
14150
14151    _validation = {
14152        'type': {'required': True},
14153    }
14154
14155    _attribute_map = {
14156        'additional_properties': {'key': '', 'type': '{object}'},
14157        'type': {'key': 'type', 'type': 'str'},
14158        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
14159        'description': {'key': 'description', 'type': 'str'},
14160        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
14161        'annotations': {'key': 'annotations', 'type': '[object]'},
14162        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
14163        'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'},
14164        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
14165    }
14166
14167    def __init__(
14168        self,
14169        *,
14170        additional_properties: Optional[Dict[str, Any]] = None,
14171        connect_via: Optional["IntegrationRuntimeReference"] = None,
14172        description: Optional[str] = None,
14173        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
14174        annotations: Optional[List[Any]] = None,
14175        connection_string: Optional[Any] = None,
14176        pwd: Optional["AzureKeyVaultSecretReference"] = None,
14177        encrypted_credential: Optional[Any] = None,
14178        **kwargs
14179    ):
14180        super(DrillLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
14181        self.type = 'Drill'  # type: str
14182        self.connection_string = connection_string
14183        self.pwd = pwd
14184        self.encrypted_credential = encrypted_credential
14185
14186
14187class DrillSource(TabularSource):
14188    """A copy activity Drill server source.
14189
14190    All required parameters must be populated in order to send to Azure.
14191
14192    :param additional_properties: Unmatched properties from the message are deserialized to this
14193     collection.
14194    :type additional_properties: dict[str, any]
14195    :param type: Required. Copy source type.Constant filled by server.
14196    :type type: str
14197    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
14198     integer).
14199    :type source_retry_count: any
14200    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
14201     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14202    :type source_retry_wait: any
14203    :param max_concurrent_connections: The maximum concurrent connection count for the source data
14204     store. Type: integer (or Expression with resultType integer).
14205    :type max_concurrent_connections: any
14206    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
14207     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14208    :type query_timeout: any
14209    :param additional_columns: Specifies the additional columns to be added to source data. Type:
14210     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
14211    :type additional_columns: any
14212    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
14213     string).
14214    :type query: any
14215    """
14216
14217    _validation = {
14218        'type': {'required': True},
14219    }
14220
14221    _attribute_map = {
14222        'additional_properties': {'key': '', 'type': '{object}'},
14223        'type': {'key': 'type', 'type': 'str'},
14224        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
14225        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
14226        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
14227        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
14228        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
14229        'query': {'key': 'query', 'type': 'object'},
14230    }
14231
14232    def __init__(
14233        self,
14234        *,
14235        additional_properties: Optional[Dict[str, Any]] = None,
14236        source_retry_count: Optional[Any] = None,
14237        source_retry_wait: Optional[Any] = None,
14238        max_concurrent_connections: Optional[Any] = None,
14239        query_timeout: Optional[Any] = None,
14240        additional_columns: Optional[Any] = None,
14241        query: Optional[Any] = None,
14242        **kwargs
14243    ):
14244        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)
14245        self.type = 'DrillSource'  # type: str
14246        self.query = query
14247
14248
14249class DrillTableDataset(Dataset):
14250    """Drill server dataset.
14251
14252    All required parameters must be populated in order to send to Azure.
14253
14254    :param additional_properties: Unmatched properties from the message are deserialized to this
14255     collection.
14256    :type additional_properties: dict[str, any]
14257    :param type: Required. Type of dataset.Constant filled by server.
14258    :type type: str
14259    :param description: Dataset description.
14260    :type description: str
14261    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
14262     with resultType array), itemType: DatasetDataElement.
14263    :type structure: any
14264    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
14265     Expression with resultType array), itemType: DatasetSchemaDataElement.
14266    :type schema: any
14267    :param linked_service_name: Required. Linked service reference.
14268    :type linked_service_name:
14269     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
14270    :param parameters: Parameters for dataset.
14271    :type parameters: dict[str,
14272     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
14273    :param annotations: List of tags that can be used for describing the Dataset.
14274    :type annotations: list[any]
14275    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
14276     root level.
14277    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
14278    :param table_name: This property will be retired. Please consider using schema + table
14279     properties instead.
14280    :type table_name: any
14281    :param table: The table name of the Drill. Type: string (or Expression with resultType string).
14282    :type table: any
14283    :param schema_type_properties_schema: The schema name of the Drill. Type: string (or Expression
14284     with resultType string).
14285    :type schema_type_properties_schema: any
14286    """
14287
14288    _validation = {
14289        'type': {'required': True},
14290        'linked_service_name': {'required': True},
14291    }
14292
14293    _attribute_map = {
14294        'additional_properties': {'key': '', 'type': '{object}'},
14295        'type': {'key': 'type', 'type': 'str'},
14296        'description': {'key': 'description', 'type': 'str'},
14297        'structure': {'key': 'structure', 'type': 'object'},
14298        'schema': {'key': 'schema', 'type': 'object'},
14299        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
14300        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
14301        'annotations': {'key': 'annotations', 'type': '[object]'},
14302        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
14303        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
14304        'table': {'key': 'typeProperties.table', 'type': 'object'},
14305        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
14306    }
14307
14308    def __init__(
14309        self,
14310        *,
14311        linked_service_name: "LinkedServiceReference",
14312        additional_properties: Optional[Dict[str, Any]] = None,
14313        description: Optional[str] = None,
14314        structure: Optional[Any] = None,
14315        schema: Optional[Any] = None,
14316        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
14317        annotations: Optional[List[Any]] = None,
14318        folder: Optional["DatasetFolder"] = None,
14319        table_name: Optional[Any] = None,
14320        table: Optional[Any] = None,
14321        schema_type_properties_schema: Optional[Any] = None,
14322        **kwargs
14323    ):
14324        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)
14325        self.type = 'DrillTable'  # type: str
14326        self.table_name = table_name
14327        self.table = table
14328        self.schema_type_properties_schema = schema_type_properties_schema
14329
14330
14331class DWCopyCommandDefaultValue(msrest.serialization.Model):
14332    """Default value.
14333
14334    :param column_name: Column name. Type: object (or Expression with resultType string).
14335    :type column_name: any
14336    :param default_value: The default value of the column. Type: object (or Expression with
14337     resultType string).
14338    :type default_value: any
14339    """
14340
14341    _attribute_map = {
14342        'column_name': {'key': 'columnName', 'type': 'object'},
14343        'default_value': {'key': 'defaultValue', 'type': 'object'},
14344    }
14345
14346    def __init__(
14347        self,
14348        *,
14349        column_name: Optional[Any] = None,
14350        default_value: Optional[Any] = None,
14351        **kwargs
14352    ):
14353        super(DWCopyCommandDefaultValue, self).__init__(**kwargs)
14354        self.column_name = column_name
14355        self.default_value = default_value
14356
14357
14358class DWCopyCommandSettings(msrest.serialization.Model):
14359    """DW Copy Command settings.
14360
14361    :param default_values: Specifies the default values for each target column in SQL DW. The
14362     default values in the property overwrite the DEFAULT constraint set in the DB, and identity
14363     column cannot have a default value. Type: array of objects (or Expression with resultType array
14364     of objects).
14365    :type default_values:
14366     list[~azure.synapse.artifacts.v2021_06_01_preview.models.DWCopyCommandDefaultValue]
14367    :param additional_options: Additional options directly passed to SQL DW in Copy Command. Type:
14368     key value pairs (value should be string type) (or Expression with resultType object). Example:
14369     "additionalOptions": { "MAXERRORS": "1000", "DATEFORMAT": "'ymd'" }.
14370    :type additional_options: dict[str, str]
14371    """
14372
14373    _attribute_map = {
14374        'default_values': {'key': 'defaultValues', 'type': '[DWCopyCommandDefaultValue]'},
14375        'additional_options': {'key': 'additionalOptions', 'type': '{str}'},
14376    }
14377
14378    def __init__(
14379        self,
14380        *,
14381        default_values: Optional[List["DWCopyCommandDefaultValue"]] = None,
14382        additional_options: Optional[Dict[str, str]] = None,
14383        **kwargs
14384    ):
14385        super(DWCopyCommandSettings, self).__init__(**kwargs)
14386        self.default_values = default_values
14387        self.additional_options = additional_options
14388
14389
14390class DynamicExecutorAllocation(msrest.serialization.Model):
14391    """Dynamic Executor Allocation Properties.
14392
14393    :param enabled: Indicates whether Dynamic Executor Allocation is enabled or not.
14394    :type enabled: bool
14395    """
14396
14397    _attribute_map = {
14398        'enabled': {'key': 'enabled', 'type': 'bool'},
14399    }
14400
14401    def __init__(
14402        self,
14403        *,
14404        enabled: Optional[bool] = None,
14405        **kwargs
14406    ):
14407        super(DynamicExecutorAllocation, self).__init__(**kwargs)
14408        self.enabled = enabled
14409
14410
14411class DynamicsAXLinkedService(LinkedService):
14412    """Dynamics AX linked service.
14413
14414    All required parameters must be populated in order to send to Azure.
14415
14416    :param additional_properties: Unmatched properties from the message are deserialized to this
14417     collection.
14418    :type additional_properties: dict[str, any]
14419    :param type: Required. Type of linked service.Constant filled by server.
14420    :type type: str
14421    :param connect_via: The integration runtime reference.
14422    :type connect_via:
14423     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
14424    :param description: Linked service description.
14425    :type description: str
14426    :param parameters: Parameters for linked service.
14427    :type parameters: dict[str,
14428     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
14429    :param annotations: List of tags that can be used for describing the linked service.
14430    :type annotations: list[any]
14431    :param url: Required. The Dynamics AX (or Dynamics 365 Finance and Operations) instance OData
14432     endpoint.
14433    :type url: any
14434    :param service_principal_id: Required. Specify the application's client ID. Type: string (or
14435     Expression with resultType string).
14436    :type service_principal_id: any
14437    :param service_principal_key: Required. Specify the application's key. Mark this field as a
14438     SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key
14439     Vault. Type: string (or Expression with resultType string).
14440    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
14441    :param tenant: Required. Specify the tenant information (domain name or tenant ID) under which
14442     your application resides. Retrieve it by hovering the mouse in the top-right corner of the
14443     Azure portal. Type: string (or Expression with resultType string).
14444    :type tenant: any
14445    :param aad_resource_id: Required. Specify the resource you are requesting authorization. Type:
14446     string (or Expression with resultType string).
14447    :type aad_resource_id: any
14448    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
14449     encrypted using the integration runtime credential manager. Type: string (or Expression with
14450     resultType string).
14451    :type encrypted_credential: any
14452    """
14453
14454    _validation = {
14455        'type': {'required': True},
14456        'url': {'required': True},
14457        'service_principal_id': {'required': True},
14458        'service_principal_key': {'required': True},
14459        'tenant': {'required': True},
14460        'aad_resource_id': {'required': True},
14461    }
14462
14463    _attribute_map = {
14464        'additional_properties': {'key': '', 'type': '{object}'},
14465        'type': {'key': 'type', 'type': 'str'},
14466        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
14467        'description': {'key': 'description', 'type': 'str'},
14468        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
14469        'annotations': {'key': 'annotations', 'type': '[object]'},
14470        'url': {'key': 'typeProperties.url', 'type': 'object'},
14471        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
14472        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
14473        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
14474        'aad_resource_id': {'key': 'typeProperties.aadResourceId', 'type': 'object'},
14475        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
14476    }
14477
14478    def __init__(
14479        self,
14480        *,
14481        url: Any,
14482        service_principal_id: Any,
14483        service_principal_key: "SecretBase",
14484        tenant: Any,
14485        aad_resource_id: Any,
14486        additional_properties: Optional[Dict[str, Any]] = None,
14487        connect_via: Optional["IntegrationRuntimeReference"] = None,
14488        description: Optional[str] = None,
14489        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
14490        annotations: Optional[List[Any]] = None,
14491        encrypted_credential: Optional[Any] = None,
14492        **kwargs
14493    ):
14494        super(DynamicsAXLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
14495        self.type = 'DynamicsAX'  # type: str
14496        self.url = url
14497        self.service_principal_id = service_principal_id
14498        self.service_principal_key = service_principal_key
14499        self.tenant = tenant
14500        self.aad_resource_id = aad_resource_id
14501        self.encrypted_credential = encrypted_credential
14502
14503
14504class DynamicsAXResourceDataset(Dataset):
14505    """The path of the Dynamics AX OData entity.
14506
14507    All required parameters must be populated in order to send to Azure.
14508
14509    :param additional_properties: Unmatched properties from the message are deserialized to this
14510     collection.
14511    :type additional_properties: dict[str, any]
14512    :param type: Required. Type of dataset.Constant filled by server.
14513    :type type: str
14514    :param description: Dataset description.
14515    :type description: str
14516    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
14517     with resultType array), itemType: DatasetDataElement.
14518    :type structure: any
14519    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
14520     Expression with resultType array), itemType: DatasetSchemaDataElement.
14521    :type schema: any
14522    :param linked_service_name: Required. Linked service reference.
14523    :type linked_service_name:
14524     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
14525    :param parameters: Parameters for dataset.
14526    :type parameters: dict[str,
14527     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
14528    :param annotations: List of tags that can be used for describing the Dataset.
14529    :type annotations: list[any]
14530    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
14531     root level.
14532    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
14533    :param path: Required. The path of the Dynamics AX OData entity. Type: string (or Expression
14534     with resultType string).
14535    :type path: any
14536    """
14537
14538    _validation = {
14539        'type': {'required': True},
14540        'linked_service_name': {'required': True},
14541        'path': {'required': True},
14542    }
14543
14544    _attribute_map = {
14545        'additional_properties': {'key': '', 'type': '{object}'},
14546        'type': {'key': 'type', 'type': 'str'},
14547        'description': {'key': 'description', 'type': 'str'},
14548        'structure': {'key': 'structure', 'type': 'object'},
14549        'schema': {'key': 'schema', 'type': 'object'},
14550        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
14551        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
14552        'annotations': {'key': 'annotations', 'type': '[object]'},
14553        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
14554        'path': {'key': 'typeProperties.path', 'type': 'object'},
14555    }
14556
14557    def __init__(
14558        self,
14559        *,
14560        linked_service_name: "LinkedServiceReference",
14561        path: Any,
14562        additional_properties: Optional[Dict[str, Any]] = None,
14563        description: Optional[str] = None,
14564        structure: Optional[Any] = None,
14565        schema: Optional[Any] = None,
14566        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
14567        annotations: Optional[List[Any]] = None,
14568        folder: Optional["DatasetFolder"] = None,
14569        **kwargs
14570    ):
14571        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)
14572        self.type = 'DynamicsAXResource'  # type: str
14573        self.path = path
14574
14575
14576class DynamicsAXSource(TabularSource):
14577    """A copy activity Dynamics AX source.
14578
14579    All required parameters must be populated in order to send to Azure.
14580
14581    :param additional_properties: Unmatched properties from the message are deserialized to this
14582     collection.
14583    :type additional_properties: dict[str, any]
14584    :param type: Required. Copy source type.Constant filled by server.
14585    :type type: str
14586    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
14587     integer).
14588    :type source_retry_count: any
14589    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
14590     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14591    :type source_retry_wait: any
14592    :param max_concurrent_connections: The maximum concurrent connection count for the source data
14593     store. Type: integer (or Expression with resultType integer).
14594    :type max_concurrent_connections: any
14595    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
14596     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14597    :type query_timeout: any
14598    :param additional_columns: Specifies the additional columns to be added to source data. Type:
14599     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
14600    :type additional_columns: any
14601    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
14602     string).
14603    :type query: any
14604    :param http_request_timeout: The timeout (TimeSpan) to get an HTTP response. It is the timeout
14605     to get a response, not the timeout to read response data. Default value: 00:05:00. Type: string
14606     (or Expression with resultType string), pattern:
14607     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14608    :type http_request_timeout: any
14609    """
14610
14611    _validation = {
14612        'type': {'required': True},
14613    }
14614
14615    _attribute_map = {
14616        'additional_properties': {'key': '', 'type': '{object}'},
14617        'type': {'key': 'type', 'type': 'str'},
14618        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
14619        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
14620        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
14621        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
14622        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
14623        'query': {'key': 'query', 'type': 'object'},
14624        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
14625    }
14626
14627    def __init__(
14628        self,
14629        *,
14630        additional_properties: Optional[Dict[str, Any]] = None,
14631        source_retry_count: Optional[Any] = None,
14632        source_retry_wait: Optional[Any] = None,
14633        max_concurrent_connections: Optional[Any] = None,
14634        query_timeout: Optional[Any] = None,
14635        additional_columns: Optional[Any] = None,
14636        query: Optional[Any] = None,
14637        http_request_timeout: Optional[Any] = None,
14638        **kwargs
14639    ):
14640        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)
14641        self.type = 'DynamicsAXSource'  # type: str
14642        self.query = query
14643        self.http_request_timeout = http_request_timeout
14644
14645
14646class DynamicsCrmEntityDataset(Dataset):
14647    """The Dynamics CRM entity dataset.
14648
14649    All required parameters must be populated in order to send to Azure.
14650
14651    :param additional_properties: Unmatched properties from the message are deserialized to this
14652     collection.
14653    :type additional_properties: dict[str, any]
14654    :param type: Required. Type of dataset.Constant filled by server.
14655    :type type: str
14656    :param description: Dataset description.
14657    :type description: str
14658    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
14659     with resultType array), itemType: DatasetDataElement.
14660    :type structure: any
14661    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
14662     Expression with resultType array), itemType: DatasetSchemaDataElement.
14663    :type schema: any
14664    :param linked_service_name: Required. Linked service reference.
14665    :type linked_service_name:
14666     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
14667    :param parameters: Parameters for dataset.
14668    :type parameters: dict[str,
14669     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
14670    :param annotations: List of tags that can be used for describing the Dataset.
14671    :type annotations: list[any]
14672    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
14673     root level.
14674    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
14675    :param entity_name: The logical name of the entity. Type: string (or Expression with resultType
14676     string).
14677    :type entity_name: any
14678    """
14679
14680    _validation = {
14681        'type': {'required': True},
14682        'linked_service_name': {'required': True},
14683    }
14684
14685    _attribute_map = {
14686        'additional_properties': {'key': '', 'type': '{object}'},
14687        'type': {'key': 'type', 'type': 'str'},
14688        'description': {'key': 'description', 'type': 'str'},
14689        'structure': {'key': 'structure', 'type': 'object'},
14690        'schema': {'key': 'schema', 'type': 'object'},
14691        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
14692        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
14693        'annotations': {'key': 'annotations', 'type': '[object]'},
14694        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
14695        'entity_name': {'key': 'typeProperties.entityName', 'type': 'object'},
14696    }
14697
14698    def __init__(
14699        self,
14700        *,
14701        linked_service_name: "LinkedServiceReference",
14702        additional_properties: Optional[Dict[str, Any]] = None,
14703        description: Optional[str] = None,
14704        structure: Optional[Any] = None,
14705        schema: Optional[Any] = None,
14706        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
14707        annotations: Optional[List[Any]] = None,
14708        folder: Optional["DatasetFolder"] = None,
14709        entity_name: Optional[Any] = None,
14710        **kwargs
14711    ):
14712        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)
14713        self.type = 'DynamicsCrmEntity'  # type: str
14714        self.entity_name = entity_name
14715
14716
14717class DynamicsCrmLinkedService(LinkedService):
14718    """Dynamics CRM linked service.
14719
14720    All required parameters must be populated in order to send to Azure.
14721
14722    :param additional_properties: Unmatched properties from the message are deserialized to this
14723     collection.
14724    :type additional_properties: dict[str, any]
14725    :param type: Required. Type of linked service.Constant filled by server.
14726    :type type: str
14727    :param connect_via: The integration runtime reference.
14728    :type connect_via:
14729     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
14730    :param description: Linked service description.
14731    :type description: str
14732    :param parameters: Parameters for linked service.
14733    :type parameters: dict[str,
14734     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
14735    :param annotations: List of tags that can be used for describing the linked service.
14736    :type annotations: list[any]
14737    :param deployment_type: Required. The deployment type of the Dynamics CRM instance. 'Online'
14738     for Dynamics CRM Online and 'OnPremisesWithIfd' for Dynamics CRM on-premises with Ifd. Type:
14739     string (or Expression with resultType string). Possible values include: "Online",
14740     "OnPremisesWithIfd".
14741    :type deployment_type: str or
14742     ~azure.synapse.artifacts.v2021_06_01_preview.models.DynamicsDeploymentType
14743    :param host_name: The host name of the on-premises Dynamics CRM server. The property is
14744     required for on-prem and not allowed for online. Type: string (or Expression with resultType
14745     string).
14746    :type host_name: any
14747    :param port: The port of on-premises Dynamics CRM server. The property is required for on-prem
14748     and not allowed for online. Default is 443. Type: integer (or Expression with resultType
14749     integer), minimum: 0.
14750    :type port: any
14751    :param service_uri: The URL to the Microsoft Dynamics CRM server. The property is required for
14752     on-line and not allowed for on-prem. Type: string (or Expression with resultType string).
14753    :type service_uri: any
14754    :param organization_name: The organization name of the Dynamics CRM instance. The property is
14755     required for on-prem and required for online when there are more than one Dynamics CRM
14756     instances associated with the user. Type: string (or Expression with resultType string).
14757    :type organization_name: any
14758    :param authentication_type: Required. The authentication type to connect to Dynamics CRM
14759     server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario,
14760     'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or
14761     Expression with resultType string). Possible values include: "Office365", "Ifd",
14762     "AADServicePrincipal".
14763    :type authentication_type: str or
14764     ~azure.synapse.artifacts.v2021_06_01_preview.models.DynamicsAuthenticationType
14765    :param username: User name to access the Dynamics CRM instance. Type: string (or Expression
14766     with resultType string).
14767    :type username: any
14768    :param password: Password to access the Dynamics CRM instance.
14769    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
14770    :param service_principal_id: The client ID of the application in Azure Active Directory used
14771     for Server-To-Server authentication. Type: string (or Expression with resultType string).
14772    :type service_principal_id: any
14773    :param service_principal_credential_type: A string from ServicePrincipalCredentialEnum or an
14774     expression.
14775    :type service_principal_credential_type: any
14776    :param service_principal_credential: The credential of the service principal object in Azure
14777     Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey',
14778     servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If
14779     servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only
14780     be AzureKeyVaultSecretReference.
14781    :type service_principal_credential:
14782     ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
14783    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
14784     encrypted using the integration runtime credential manager. Type: string (or Expression with
14785     resultType string).
14786    :type encrypted_credential: any
14787    """
14788
14789    _validation = {
14790        'type': {'required': True},
14791        'deployment_type': {'required': True},
14792        'authentication_type': {'required': True},
14793    }
14794
14795    _attribute_map = {
14796        'additional_properties': {'key': '', 'type': '{object}'},
14797        'type': {'key': 'type', 'type': 'str'},
14798        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
14799        'description': {'key': 'description', 'type': 'str'},
14800        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
14801        'annotations': {'key': 'annotations', 'type': '[object]'},
14802        'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'},
14803        'host_name': {'key': 'typeProperties.hostName', 'type': 'object'},
14804        'port': {'key': 'typeProperties.port', 'type': 'object'},
14805        'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'},
14806        'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'},
14807        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
14808        'username': {'key': 'typeProperties.username', 'type': 'object'},
14809        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
14810        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
14811        'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'object'},
14812        'service_principal_credential': {'key': 'typeProperties.servicePrincipalCredential', 'type': 'SecretBase'},
14813        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
14814    }
14815
14816    def __init__(
14817        self,
14818        *,
14819        deployment_type: Union[str, "DynamicsDeploymentType"],
14820        authentication_type: Union[str, "DynamicsAuthenticationType"],
14821        additional_properties: Optional[Dict[str, Any]] = None,
14822        connect_via: Optional["IntegrationRuntimeReference"] = None,
14823        description: Optional[str] = None,
14824        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
14825        annotations: Optional[List[Any]] = None,
14826        host_name: Optional[Any] = None,
14827        port: Optional[Any] = None,
14828        service_uri: Optional[Any] = None,
14829        organization_name: Optional[Any] = None,
14830        username: Optional[Any] = None,
14831        password: Optional["SecretBase"] = None,
14832        service_principal_id: Optional[Any] = None,
14833        service_principal_credential_type: Optional[Any] = None,
14834        service_principal_credential: Optional["SecretBase"] = None,
14835        encrypted_credential: Optional[Any] = None,
14836        **kwargs
14837    ):
14838        super(DynamicsCrmLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
14839        self.type = 'DynamicsCrm'  # type: str
14840        self.deployment_type = deployment_type
14841        self.host_name = host_name
14842        self.port = port
14843        self.service_uri = service_uri
14844        self.organization_name = organization_name
14845        self.authentication_type = authentication_type
14846        self.username = username
14847        self.password = password
14848        self.service_principal_id = service_principal_id
14849        self.service_principal_credential_type = service_principal_credential_type
14850        self.service_principal_credential = service_principal_credential
14851        self.encrypted_credential = encrypted_credential
14852
14853
14854class DynamicsCrmSink(CopySink):
14855    """A copy activity Dynamics CRM sink.
14856
14857    All required parameters must be populated in order to send to Azure.
14858
14859    :param additional_properties: Unmatched properties from the message are deserialized to this
14860     collection.
14861    :type additional_properties: dict[str, any]
14862    :param type: Required. Copy sink type.Constant filled by server.
14863    :type type: str
14864    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
14865     integer), minimum: 0.
14866    :type write_batch_size: any
14867    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
14868     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14869    :type write_batch_timeout: any
14870    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
14871     integer).
14872    :type sink_retry_count: any
14873    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
14874     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14875    :type sink_retry_wait: any
14876    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
14877     store. Type: integer (or Expression with resultType integer).
14878    :type max_concurrent_connections: any
14879    :param write_behavior: Required. The write behavior for the operation. Possible values include:
14880     "Upsert".
14881    :type write_behavior: str or
14882     ~azure.synapse.artifacts.v2021_06_01_preview.models.DynamicsSinkWriteBehavior
14883    :param ignore_null_values: The flag indicating whether to ignore null values from input dataset
14884     (except key fields) during write operation. Default is false. Type: boolean (or Expression with
14885     resultType boolean).
14886    :type ignore_null_values: any
14887    :param alternate_key_name: The logical name of the alternate key which will be used when
14888     upserting records. Type: string (or Expression with resultType string).
14889    :type alternate_key_name: any
14890    """
14891
14892    _validation = {
14893        'type': {'required': True},
14894        'write_behavior': {'required': True},
14895    }
14896
14897    _attribute_map = {
14898        'additional_properties': {'key': '', 'type': '{object}'},
14899        'type': {'key': 'type', 'type': 'str'},
14900        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
14901        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
14902        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
14903        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
14904        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
14905        'write_behavior': {'key': 'writeBehavior', 'type': 'str'},
14906        'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'},
14907        'alternate_key_name': {'key': 'alternateKeyName', 'type': 'object'},
14908    }
14909
14910    def __init__(
14911        self,
14912        *,
14913        write_behavior: Union[str, "DynamicsSinkWriteBehavior"],
14914        additional_properties: Optional[Dict[str, Any]] = None,
14915        write_batch_size: Optional[Any] = None,
14916        write_batch_timeout: Optional[Any] = None,
14917        sink_retry_count: Optional[Any] = None,
14918        sink_retry_wait: Optional[Any] = None,
14919        max_concurrent_connections: Optional[Any] = None,
14920        ignore_null_values: Optional[Any] = None,
14921        alternate_key_name: Optional[Any] = None,
14922        **kwargs
14923    ):
14924        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)
14925        self.type = 'DynamicsCrmSink'  # type: str
14926        self.write_behavior = write_behavior
14927        self.ignore_null_values = ignore_null_values
14928        self.alternate_key_name = alternate_key_name
14929
14930
14931class DynamicsCrmSource(CopySource):
14932    """A copy activity Dynamics CRM source.
14933
14934    All required parameters must be populated in order to send to Azure.
14935
14936    :param additional_properties: Unmatched properties from the message are deserialized to this
14937     collection.
14938    :type additional_properties: dict[str, any]
14939    :param type: Required. Copy source type.Constant filled by server.
14940    :type type: str
14941    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
14942     integer).
14943    :type source_retry_count: any
14944    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
14945     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
14946    :type source_retry_wait: any
14947    :param max_concurrent_connections: The maximum concurrent connection count for the source data
14948     store. Type: integer (or Expression with resultType integer).
14949    :type max_concurrent_connections: any
14950    :param query: FetchXML is a proprietary query language that is used in Microsoft Dynamics CRM
14951     (online & on-premises). Type: string (or Expression with resultType string).
14952    :type query: any
14953    :param additional_columns: Specifies the additional columns to be added to source data. Type:
14954     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
14955    :type additional_columns: any
14956    """
14957
14958    _validation = {
14959        'type': {'required': True},
14960    }
14961
14962    _attribute_map = {
14963        'additional_properties': {'key': '', 'type': '{object}'},
14964        'type': {'key': 'type', 'type': 'str'},
14965        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
14966        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
14967        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
14968        'query': {'key': 'query', 'type': 'object'},
14969        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
14970    }
14971
14972    def __init__(
14973        self,
14974        *,
14975        additional_properties: Optional[Dict[str, Any]] = None,
14976        source_retry_count: Optional[Any] = None,
14977        source_retry_wait: Optional[Any] = None,
14978        max_concurrent_connections: Optional[Any] = None,
14979        query: Optional[Any] = None,
14980        additional_columns: Optional[Any] = None,
14981        **kwargs
14982    ):
14983        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)
14984        self.type = 'DynamicsCrmSource'  # type: str
14985        self.query = query
14986        self.additional_columns = additional_columns
14987
14988
14989class DynamicsEntityDataset(Dataset):
14990    """The Dynamics entity dataset.
14991
14992    All required parameters must be populated in order to send to Azure.
14993
14994    :param additional_properties: Unmatched properties from the message are deserialized to this
14995     collection.
14996    :type additional_properties: dict[str, any]
14997    :param type: Required. Type of dataset.Constant filled by server.
14998    :type type: str
14999    :param description: Dataset description.
15000    :type description: str
15001    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
15002     with resultType array), itemType: DatasetDataElement.
15003    :type structure: any
15004    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
15005     Expression with resultType array), itemType: DatasetSchemaDataElement.
15006    :type schema: any
15007    :param linked_service_name: Required. Linked service reference.
15008    :type linked_service_name:
15009     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
15010    :param parameters: Parameters for dataset.
15011    :type parameters: dict[str,
15012     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
15013    :param annotations: List of tags that can be used for describing the Dataset.
15014    :type annotations: list[any]
15015    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
15016     root level.
15017    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
15018    :param entity_name: The logical name of the entity. Type: string (or Expression with resultType
15019     string).
15020    :type entity_name: any
15021    """
15022
15023    _validation = {
15024        'type': {'required': True},
15025        'linked_service_name': {'required': True},
15026    }
15027
15028    _attribute_map = {
15029        'additional_properties': {'key': '', 'type': '{object}'},
15030        'type': {'key': 'type', 'type': 'str'},
15031        'description': {'key': 'description', 'type': 'str'},
15032        'structure': {'key': 'structure', 'type': 'object'},
15033        'schema': {'key': 'schema', 'type': 'object'},
15034        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
15035        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
15036        'annotations': {'key': 'annotations', 'type': '[object]'},
15037        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
15038        'entity_name': {'key': 'typeProperties.entityName', 'type': 'object'},
15039    }
15040
15041    def __init__(
15042        self,
15043        *,
15044        linked_service_name: "LinkedServiceReference",
15045        additional_properties: Optional[Dict[str, Any]] = None,
15046        description: Optional[str] = None,
15047        structure: Optional[Any] = None,
15048        schema: Optional[Any] = None,
15049        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
15050        annotations: Optional[List[Any]] = None,
15051        folder: Optional["DatasetFolder"] = None,
15052        entity_name: Optional[Any] = None,
15053        **kwargs
15054    ):
15055        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)
15056        self.type = 'DynamicsEntity'  # type: str
15057        self.entity_name = entity_name
15058
15059
15060class DynamicsLinkedService(LinkedService):
15061    """Dynamics linked service.
15062
15063    All required parameters must be populated in order to send to Azure.
15064
15065    :param additional_properties: Unmatched properties from the message are deserialized to this
15066     collection.
15067    :type additional_properties: dict[str, any]
15068    :param type: Required. Type of linked service.Constant filled by server.
15069    :type type: str
15070    :param connect_via: The integration runtime reference.
15071    :type connect_via:
15072     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
15073    :param description: Linked service description.
15074    :type description: str
15075    :param parameters: Parameters for linked service.
15076    :type parameters: dict[str,
15077     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
15078    :param annotations: List of tags that can be used for describing the linked service.
15079    :type annotations: list[any]
15080    :param deployment_type: Required. The deployment type of the Dynamics instance. 'Online' for
15081     Dynamics Online and 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or
15082     Expression with resultType string). Possible values include: "Online", "OnPremisesWithIfd".
15083    :type deployment_type: str or
15084     ~azure.synapse.artifacts.v2021_06_01_preview.models.DynamicsDeploymentType
15085    :param host_name: The host name of the on-premises Dynamics server. The property is required
15086     for on-prem and not allowed for online. Type: string (or Expression with resultType string).
15087    :type host_name: any
15088    :param port: The port of on-premises Dynamics server. The property is required for on-prem and
15089     not allowed for online. Default is 443. Type: integer (or Expression with resultType integer),
15090     minimum: 0.
15091    :type port: any
15092    :param service_uri: The URL to the Microsoft Dynamics server. The property is required for
15093     on-line and not allowed for on-prem. Type: string (or Expression with resultType string).
15094    :type service_uri: any
15095    :param organization_name: The organization name of the Dynamics instance. The property is
15096     required for on-prem and required for online when there are more than one Dynamics instances
15097     associated with the user. Type: string (or Expression with resultType string).
15098    :type organization_name: any
15099    :param authentication_type: Required. The authentication type to connect to Dynamics server.
15100     'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal'
15101     for Server-To-Server authentication in online scenario. Type: string (or Expression with
15102     resultType string). Possible values include: "Office365", "Ifd", "AADServicePrincipal".
15103    :type authentication_type: str or
15104     ~azure.synapse.artifacts.v2021_06_01_preview.models.DynamicsAuthenticationType
15105    :param username: User name to access the Dynamics instance. Type: string (or Expression with
15106     resultType string).
15107    :type username: any
15108    :param password: Password to access the Dynamics instance.
15109    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
15110    :param service_principal_id: The client ID of the application in Azure Active Directory used
15111     for Server-To-Server authentication. Type: string (or Expression with resultType string).
15112    :type service_principal_id: any
15113    :param service_principal_credential_type: The service principal credential type to use in
15114     Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert'
15115     for certificate. Type: string (or Expression with resultType string). Possible values include:
15116     "ServicePrincipalKey", "ServicePrincipalCert".
15117    :type service_principal_credential_type: str or
15118     ~azure.synapse.artifacts.v2021_06_01_preview.models.DynamicsServicePrincipalCredentialType
15119    :param service_principal_credential: The credential of the service principal object in Azure
15120     Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey',
15121     servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If
15122     servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only
15123     be AzureKeyVaultSecretReference.
15124    :type service_principal_credential:
15125     ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
15126    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
15127     encrypted using the integration runtime credential manager. Type: string (or Expression with
15128     resultType string).
15129    :type encrypted_credential: any
15130    """
15131
15132    _validation = {
15133        'type': {'required': True},
15134        'deployment_type': {'required': True},
15135        'authentication_type': {'required': True},
15136    }
15137
15138    _attribute_map = {
15139        'additional_properties': {'key': '', 'type': '{object}'},
15140        'type': {'key': 'type', 'type': 'str'},
15141        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
15142        'description': {'key': 'description', 'type': 'str'},
15143        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
15144        'annotations': {'key': 'annotations', 'type': '[object]'},
15145        'deployment_type': {'key': 'typeProperties.deploymentType', 'type': 'str'},
15146        'host_name': {'key': 'typeProperties.hostName', 'type': 'object'},
15147        'port': {'key': 'typeProperties.port', 'type': 'object'},
15148        'service_uri': {'key': 'typeProperties.serviceUri', 'type': 'object'},
15149        'organization_name': {'key': 'typeProperties.organizationName', 'type': 'object'},
15150        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
15151        'username': {'key': 'typeProperties.username', 'type': 'object'},
15152        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
15153        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
15154        'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'str'},
15155        'service_principal_credential': {'key': 'typeProperties.servicePrincipalCredential', 'type': 'SecretBase'},
15156        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
15157    }
15158
15159    def __init__(
15160        self,
15161        *,
15162        deployment_type: Union[str, "DynamicsDeploymentType"],
15163        authentication_type: Union[str, "DynamicsAuthenticationType"],
15164        additional_properties: Optional[Dict[str, Any]] = None,
15165        connect_via: Optional["IntegrationRuntimeReference"] = None,
15166        description: Optional[str] = None,
15167        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
15168        annotations: Optional[List[Any]] = None,
15169        host_name: Optional[Any] = None,
15170        port: Optional[Any] = None,
15171        service_uri: Optional[Any] = None,
15172        organization_name: Optional[Any] = None,
15173        username: Optional[Any] = None,
15174        password: Optional["SecretBase"] = None,
15175        service_principal_id: Optional[Any] = None,
15176        service_principal_credential_type: Optional[Union[str, "DynamicsServicePrincipalCredentialType"]] = None,
15177        service_principal_credential: Optional["SecretBase"] = None,
15178        encrypted_credential: Optional[Any] = None,
15179        **kwargs
15180    ):
15181        super(DynamicsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
15182        self.type = 'Dynamics'  # type: str
15183        self.deployment_type = deployment_type
15184        self.host_name = host_name
15185        self.port = port
15186        self.service_uri = service_uri
15187        self.organization_name = organization_name
15188        self.authentication_type = authentication_type
15189        self.username = username
15190        self.password = password
15191        self.service_principal_id = service_principal_id
15192        self.service_principal_credential_type = service_principal_credential_type
15193        self.service_principal_credential = service_principal_credential
15194        self.encrypted_credential = encrypted_credential
15195
15196
15197class DynamicsSink(CopySink):
15198    """A copy activity Dynamics sink.
15199
15200    All required parameters must be populated in order to send to Azure.
15201
15202    :param additional_properties: Unmatched properties from the message are deserialized to this
15203     collection.
15204    :type additional_properties: dict[str, any]
15205    :param type: Required. Copy sink type.Constant filled by server.
15206    :type type: str
15207    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
15208     integer), minimum: 0.
15209    :type write_batch_size: any
15210    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
15211     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
15212    :type write_batch_timeout: any
15213    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
15214     integer).
15215    :type sink_retry_count: any
15216    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
15217     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
15218    :type sink_retry_wait: any
15219    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
15220     store. Type: integer (or Expression with resultType integer).
15221    :type max_concurrent_connections: any
15222    :param write_behavior: Required. The write behavior for the operation. Possible values include:
15223     "Upsert".
15224    :type write_behavior: str or
15225     ~azure.synapse.artifacts.v2021_06_01_preview.models.DynamicsSinkWriteBehavior
15226    :param ignore_null_values: The flag indicating whether ignore null values from input dataset
15227     (except key fields) during write operation. Default is false. Type: boolean (or Expression with
15228     resultType boolean).
15229    :type ignore_null_values: any
15230    :param alternate_key_name: The logical name of the alternate key which will be used when
15231     upserting records. Type: string (or Expression with resultType string).
15232    :type alternate_key_name: any
15233    """
15234
15235    _validation = {
15236        'type': {'required': True},
15237        'write_behavior': {'required': True},
15238    }
15239
15240    _attribute_map = {
15241        'additional_properties': {'key': '', 'type': '{object}'},
15242        'type': {'key': 'type', 'type': 'str'},
15243        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
15244        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
15245        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
15246        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
15247        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
15248        'write_behavior': {'key': 'writeBehavior', 'type': 'str'},
15249        'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'},
15250        'alternate_key_name': {'key': 'alternateKeyName', 'type': 'object'},
15251    }
15252
15253    def __init__(
15254        self,
15255        *,
15256        write_behavior: Union[str, "DynamicsSinkWriteBehavior"],
15257        additional_properties: Optional[Dict[str, Any]] = None,
15258        write_batch_size: Optional[Any] = None,
15259        write_batch_timeout: Optional[Any] = None,
15260        sink_retry_count: Optional[Any] = None,
15261        sink_retry_wait: Optional[Any] = None,
15262        max_concurrent_connections: Optional[Any] = None,
15263        ignore_null_values: Optional[Any] = None,
15264        alternate_key_name: Optional[Any] = None,
15265        **kwargs
15266    ):
15267        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)
15268        self.type = 'DynamicsSink'  # type: str
15269        self.write_behavior = write_behavior
15270        self.ignore_null_values = ignore_null_values
15271        self.alternate_key_name = alternate_key_name
15272
15273
15274class DynamicsSource(CopySource):
15275    """A copy activity Dynamics source.
15276
15277    All required parameters must be populated in order to send to Azure.
15278
15279    :param additional_properties: Unmatched properties from the message are deserialized to this
15280     collection.
15281    :type additional_properties: dict[str, any]
15282    :param type: Required. Copy source type.Constant filled by server.
15283    :type type: str
15284    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
15285     integer).
15286    :type source_retry_count: any
15287    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
15288     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
15289    :type source_retry_wait: any
15290    :param max_concurrent_connections: The maximum concurrent connection count for the source data
15291     store. Type: integer (or Expression with resultType integer).
15292    :type max_concurrent_connections: any
15293    :param query: FetchXML is a proprietary query language that is used in Microsoft Dynamics
15294     (online & on-premises). Type: string (or Expression with resultType string).
15295    :type query: any
15296    :param additional_columns: Specifies the additional columns to be added to source data. Type:
15297     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
15298    :type additional_columns: any
15299    """
15300
15301    _validation = {
15302        'type': {'required': True},
15303    }
15304
15305    _attribute_map = {
15306        'additional_properties': {'key': '', 'type': '{object}'},
15307        'type': {'key': 'type', 'type': 'str'},
15308        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
15309        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
15310        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
15311        'query': {'key': 'query', 'type': 'object'},
15312        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
15313    }
15314
15315    def __init__(
15316        self,
15317        *,
15318        additional_properties: Optional[Dict[str, Any]] = None,
15319        source_retry_count: Optional[Any] = None,
15320        source_retry_wait: Optional[Any] = None,
15321        max_concurrent_connections: Optional[Any] = None,
15322        query: Optional[Any] = None,
15323        additional_columns: Optional[Any] = None,
15324        **kwargs
15325    ):
15326        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)
15327        self.type = 'DynamicsSource'  # type: str
15328        self.query = query
15329        self.additional_columns = additional_columns
15330
15331
15332class EloquaLinkedService(LinkedService):
15333    """Eloqua server linked service.
15334
15335    All required parameters must be populated in order to send to Azure.
15336
15337    :param additional_properties: Unmatched properties from the message are deserialized to this
15338     collection.
15339    :type additional_properties: dict[str, any]
15340    :param type: Required. Type of linked service.Constant filled by server.
15341    :type type: str
15342    :param connect_via: The integration runtime reference.
15343    :type connect_via:
15344     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
15345    :param description: Linked service description.
15346    :type description: str
15347    :param parameters: Parameters for linked service.
15348    :type parameters: dict[str,
15349     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
15350    :param annotations: List of tags that can be used for describing the linked service.
15351    :type annotations: list[any]
15352    :param endpoint: Required. The endpoint of the Eloqua server. (i.e. eloqua.example.com).
15353    :type endpoint: any
15354    :param username: Required. The site name and user name of your Eloqua account in the form:
15355     sitename/username. (i.e. Eloqua/Alice).
15356    :type username: any
15357    :param password: The password corresponding to the user name.
15358    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
15359    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
15360     HTTPS. The default value is true.
15361    :type use_encrypted_endpoints: any
15362    :param use_host_verification: Specifies whether to require the host name in the server's
15363     certificate to match the host name of the server when connecting over SSL. The default value is
15364     true.
15365    :type use_host_verification: any
15366    :param use_peer_verification: Specifies whether to verify the identity of the server when
15367     connecting over SSL. The default value is true.
15368    :type use_peer_verification: any
15369    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
15370     encrypted using the integration runtime credential manager. Type: string (or Expression with
15371     resultType string).
15372    :type encrypted_credential: any
15373    """
15374
15375    _validation = {
15376        'type': {'required': True},
15377        'endpoint': {'required': True},
15378        'username': {'required': True},
15379    }
15380
15381    _attribute_map = {
15382        'additional_properties': {'key': '', 'type': '{object}'},
15383        'type': {'key': 'type', 'type': 'str'},
15384        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
15385        'description': {'key': 'description', 'type': 'str'},
15386        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
15387        'annotations': {'key': 'annotations', 'type': '[object]'},
15388        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
15389        'username': {'key': 'typeProperties.username', 'type': 'object'},
15390        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
15391        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
15392        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
15393        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
15394        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
15395    }
15396
15397    def __init__(
15398        self,
15399        *,
15400        endpoint: Any,
15401        username: Any,
15402        additional_properties: Optional[Dict[str, Any]] = None,
15403        connect_via: Optional["IntegrationRuntimeReference"] = None,
15404        description: Optional[str] = None,
15405        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
15406        annotations: Optional[List[Any]] = None,
15407        password: Optional["SecretBase"] = None,
15408        use_encrypted_endpoints: Optional[Any] = None,
15409        use_host_verification: Optional[Any] = None,
15410        use_peer_verification: Optional[Any] = None,
15411        encrypted_credential: Optional[Any] = None,
15412        **kwargs
15413    ):
15414        super(EloquaLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
15415        self.type = 'Eloqua'  # type: str
15416        self.endpoint = endpoint
15417        self.username = username
15418        self.password = password
15419        self.use_encrypted_endpoints = use_encrypted_endpoints
15420        self.use_host_verification = use_host_verification
15421        self.use_peer_verification = use_peer_verification
15422        self.encrypted_credential = encrypted_credential
15423
15424
15425class EloquaObjectDataset(Dataset):
15426    """Eloqua server dataset.
15427
15428    All required parameters must be populated in order to send to Azure.
15429
15430    :param additional_properties: Unmatched properties from the message are deserialized to this
15431     collection.
15432    :type additional_properties: dict[str, any]
15433    :param type: Required. Type of dataset.Constant filled by server.
15434    :type type: str
15435    :param description: Dataset description.
15436    :type description: str
15437    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
15438     with resultType array), itemType: DatasetDataElement.
15439    :type structure: any
15440    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
15441     Expression with resultType array), itemType: DatasetSchemaDataElement.
15442    :type schema: any
15443    :param linked_service_name: Required. Linked service reference.
15444    :type linked_service_name:
15445     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
15446    :param parameters: Parameters for dataset.
15447    :type parameters: dict[str,
15448     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
15449    :param annotations: List of tags that can be used for describing the Dataset.
15450    :type annotations: list[any]
15451    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
15452     root level.
15453    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
15454    :param table_name: The table name. Type: string (or Expression with resultType string).
15455    :type table_name: any
15456    """
15457
15458    _validation = {
15459        'type': {'required': True},
15460        'linked_service_name': {'required': True},
15461    }
15462
15463    _attribute_map = {
15464        'additional_properties': {'key': '', 'type': '{object}'},
15465        'type': {'key': 'type', 'type': 'str'},
15466        'description': {'key': 'description', 'type': 'str'},
15467        'structure': {'key': 'structure', 'type': 'object'},
15468        'schema': {'key': 'schema', 'type': 'object'},
15469        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
15470        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
15471        'annotations': {'key': 'annotations', 'type': '[object]'},
15472        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
15473        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
15474    }
15475
15476    def __init__(
15477        self,
15478        *,
15479        linked_service_name: "LinkedServiceReference",
15480        additional_properties: Optional[Dict[str, Any]] = None,
15481        description: Optional[str] = None,
15482        structure: Optional[Any] = None,
15483        schema: Optional[Any] = None,
15484        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
15485        annotations: Optional[List[Any]] = None,
15486        folder: Optional["DatasetFolder"] = None,
15487        table_name: Optional[Any] = None,
15488        **kwargs
15489    ):
15490        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)
15491        self.type = 'EloquaObject'  # type: str
15492        self.table_name = table_name
15493
15494
15495class EloquaSource(TabularSource):
15496    """A copy activity Eloqua server source.
15497
15498    All required parameters must be populated in order to send to Azure.
15499
15500    :param additional_properties: Unmatched properties from the message are deserialized to this
15501     collection.
15502    :type additional_properties: dict[str, any]
15503    :param type: Required. Copy source type.Constant filled by server.
15504    :type type: str
15505    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
15506     integer).
15507    :type source_retry_count: any
15508    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
15509     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
15510    :type source_retry_wait: any
15511    :param max_concurrent_connections: The maximum concurrent connection count for the source data
15512     store. Type: integer (or Expression with resultType integer).
15513    :type max_concurrent_connections: any
15514    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
15515     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
15516    :type query_timeout: any
15517    :param additional_columns: Specifies the additional columns to be added to source data. Type:
15518     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
15519    :type additional_columns: any
15520    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
15521     string).
15522    :type query: any
15523    """
15524
15525    _validation = {
15526        'type': {'required': True},
15527    }
15528
15529    _attribute_map = {
15530        'additional_properties': {'key': '', 'type': '{object}'},
15531        'type': {'key': 'type', 'type': 'str'},
15532        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
15533        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
15534        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
15535        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
15536        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
15537        'query': {'key': 'query', 'type': 'object'},
15538    }
15539
15540    def __init__(
15541        self,
15542        *,
15543        additional_properties: Optional[Dict[str, Any]] = None,
15544        source_retry_count: Optional[Any] = None,
15545        source_retry_wait: Optional[Any] = None,
15546        max_concurrent_connections: Optional[Any] = None,
15547        query_timeout: Optional[Any] = None,
15548        additional_columns: Optional[Any] = None,
15549        query: Optional[Any] = None,
15550        **kwargs
15551    ):
15552        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)
15553        self.type = 'EloquaSource'  # type: str
15554        self.query = query
15555
15556
15557class EncryptionDetails(msrest.serialization.Model):
15558    """Details of the encryption associated with the workspace.
15559
15560    Variables are only populated by the server, and will be ignored when sending a request.
15561
15562    :ivar double_encryption_enabled: Double Encryption enabled.
15563    :vartype double_encryption_enabled: bool
15564    :param cmk: Customer Managed Key Details.
15565    :type cmk: ~azure.synapse.artifacts.v2021_06_01_preview.models.CustomerManagedKeyDetails
15566    """
15567
15568    _validation = {
15569        'double_encryption_enabled': {'readonly': True},
15570    }
15571
15572    _attribute_map = {
15573        'double_encryption_enabled': {'key': 'doubleEncryptionEnabled', 'type': 'bool'},
15574        'cmk': {'key': 'cmk', 'type': 'CustomerManagedKeyDetails'},
15575    }
15576
15577    def __init__(
15578        self,
15579        *,
15580        cmk: Optional["CustomerManagedKeyDetails"] = None,
15581        **kwargs
15582    ):
15583        super(EncryptionDetails, self).__init__(**kwargs)
15584        self.double_encryption_enabled = None
15585        self.cmk = cmk
15586
15587
15588class EntityReference(msrest.serialization.Model):
15589    """The entity reference.
15590
15591    :param type: The type of this referenced entity. Possible values include:
15592     "IntegrationRuntimeReference", "LinkedServiceReference".
15593    :type type: str or
15594     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeEntityReferenceType
15595    :param reference_name: The name of this referenced entity.
15596    :type reference_name: str
15597    """
15598
15599    _attribute_map = {
15600        'type': {'key': 'type', 'type': 'str'},
15601        'reference_name': {'key': 'referenceName', 'type': 'str'},
15602    }
15603
15604    def __init__(
15605        self,
15606        *,
15607        type: Optional[Union[str, "IntegrationRuntimeEntityReferenceType"]] = None,
15608        reference_name: Optional[str] = None,
15609        **kwargs
15610    ):
15611        super(EntityReference, self).__init__(**kwargs)
15612        self.type = type
15613        self.reference_name = reference_name
15614
15615
15616class ErrorAdditionalInfo(msrest.serialization.Model):
15617    """The resource management error additional info.
15618
15619    Variables are only populated by the server, and will be ignored when sending a request.
15620
15621    :ivar type: The additional info type.
15622    :vartype type: str
15623    :ivar info: The additional info.
15624    :vartype info: any
15625    """
15626
15627    _validation = {
15628        'type': {'readonly': True},
15629        'info': {'readonly': True},
15630    }
15631
15632    _attribute_map = {
15633        'type': {'key': 'type', 'type': 'str'},
15634        'info': {'key': 'info', 'type': 'object'},
15635    }
15636
15637    def __init__(
15638        self,
15639        **kwargs
15640    ):
15641        super(ErrorAdditionalInfo, self).__init__(**kwargs)
15642        self.type = None
15643        self.info = None
15644
15645
15646class ErrorContract(msrest.serialization.Model):
15647    """Contains details when the response code indicates an error.
15648
15649    :param error: The error details.
15650    :type error: ~azure.synapse.artifacts.v2021_06_01_preview.models.ErrorResponse
15651    """
15652
15653    _attribute_map = {
15654        'error': {'key': 'error', 'type': 'ErrorResponse'},
15655    }
15656
15657    def __init__(
15658        self,
15659        *,
15660        error: Optional["ErrorResponse"] = None,
15661        **kwargs
15662    ):
15663        super(ErrorContract, self).__init__(**kwargs)
15664        self.error = error
15665
15666
15667class ErrorResponse(msrest.serialization.Model):
15668    """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).
15669
15670    Variables are only populated by the server, and will be ignored when sending a request.
15671
15672    :ivar code: The error code.
15673    :vartype code: str
15674    :ivar message: The error message.
15675    :vartype message: str
15676    :ivar target: The error target.
15677    :vartype target: str
15678    :ivar details: The error details.
15679    :vartype details: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ErrorResponse]
15680    :ivar additional_info: The error additional info.
15681    :vartype additional_info:
15682     list[~azure.synapse.artifacts.v2021_06_01_preview.models.ErrorAdditionalInfo]
15683    """
15684
15685    _validation = {
15686        'code': {'readonly': True},
15687        'message': {'readonly': True},
15688        'target': {'readonly': True},
15689        'details': {'readonly': True},
15690        'additional_info': {'readonly': True},
15691    }
15692
15693    _attribute_map = {
15694        'code': {'key': 'code', 'type': 'str'},
15695        'message': {'key': 'message', 'type': 'str'},
15696        'target': {'key': 'target', 'type': 'str'},
15697        'details': {'key': 'details', 'type': '[ErrorResponse]'},
15698        'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'},
15699    }
15700
15701    def __init__(
15702        self,
15703        **kwargs
15704    ):
15705        super(ErrorResponse, self).__init__(**kwargs)
15706        self.code = None
15707        self.message = None
15708        self.target = None
15709        self.details = None
15710        self.additional_info = None
15711
15712
15713class EvaluateDataFlowExpressionRequest(msrest.serialization.Model):
15714    """Request body structure for data flow expression preview.
15715
15716    :param session_id: The ID of data flow debug session.
15717    :type session_id: str
15718    :param data_flow_name: The data flow which contains the debug session.
15719    :type data_flow_name: str
15720    :param stream_name: The output stream name.
15721    :type stream_name: str
15722    :param row_limits: The row limit for preview request.
15723    :type row_limits: int
15724    :param expression: The expression for preview.
15725    :type expression: str
15726    """
15727
15728    _attribute_map = {
15729        'session_id': {'key': 'sessionId', 'type': 'str'},
15730        'data_flow_name': {'key': 'dataFlowName', 'type': 'str'},
15731        'stream_name': {'key': 'streamName', 'type': 'str'},
15732        'row_limits': {'key': 'rowLimits', 'type': 'int'},
15733        'expression': {'key': 'expression', 'type': 'str'},
15734    }
15735
15736    def __init__(
15737        self,
15738        *,
15739        session_id: Optional[str] = None,
15740        data_flow_name: Optional[str] = None,
15741        stream_name: Optional[str] = None,
15742        row_limits: Optional[int] = None,
15743        expression: Optional[str] = None,
15744        **kwargs
15745    ):
15746        super(EvaluateDataFlowExpressionRequest, self).__init__(**kwargs)
15747        self.session_id = session_id
15748        self.data_flow_name = data_flow_name
15749        self.stream_name = stream_name
15750        self.row_limits = row_limits
15751        self.expression = expression
15752
15753
15754class ExcelDataset(Dataset):
15755    """Excel dataset.
15756
15757    All required parameters must be populated in order to send to Azure.
15758
15759    :param additional_properties: Unmatched properties from the message are deserialized to this
15760     collection.
15761    :type additional_properties: dict[str, any]
15762    :param type: Required. Type of dataset.Constant filled by server.
15763    :type type: str
15764    :param description: Dataset description.
15765    :type description: str
15766    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
15767     with resultType array), itemType: DatasetDataElement.
15768    :type structure: any
15769    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
15770     Expression with resultType array), itemType: DatasetSchemaDataElement.
15771    :type schema: any
15772    :param linked_service_name: Required. Linked service reference.
15773    :type linked_service_name:
15774     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
15775    :param parameters: Parameters for dataset.
15776    :type parameters: dict[str,
15777     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
15778    :param annotations: List of tags that can be used for describing the Dataset.
15779    :type annotations: list[any]
15780    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
15781     root level.
15782    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
15783    :param location: The location of the excel storage.
15784    :type location: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetLocation
15785    :param sheet_name: The sheet of excel file. Type: string (or Expression with resultType
15786     string).
15787    :type sheet_name: any
15788    :param range: The partial data of one sheet. Type: string (or Expression with resultType
15789     string).
15790    :type range: any
15791    :param first_row_as_header: When used as input, treat the first row of data as headers. When
15792     used as output,write the headers into the output as the first row of data. The default value is
15793     false. Type: boolean (or Expression with resultType boolean).
15794    :type first_row_as_header: any
15795    :param compression: The data compression method used for the json dataset.
15796    :type compression: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetCompression
15797    :param null_value: The null value string. Type: string (or Expression with resultType string).
15798    :type null_value: any
15799    """
15800
15801    _validation = {
15802        'type': {'required': True},
15803        'linked_service_name': {'required': True},
15804    }
15805
15806    _attribute_map = {
15807        'additional_properties': {'key': '', 'type': '{object}'},
15808        'type': {'key': 'type', 'type': 'str'},
15809        'description': {'key': 'description', 'type': 'str'},
15810        'structure': {'key': 'structure', 'type': 'object'},
15811        'schema': {'key': 'schema', 'type': 'object'},
15812        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
15813        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
15814        'annotations': {'key': 'annotations', 'type': '[object]'},
15815        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
15816        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
15817        'sheet_name': {'key': 'typeProperties.sheetName', 'type': 'object'},
15818        'range': {'key': 'typeProperties.range', 'type': 'object'},
15819        'first_row_as_header': {'key': 'typeProperties.firstRowAsHeader', 'type': 'object'},
15820        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
15821        'null_value': {'key': 'typeProperties.nullValue', 'type': 'object'},
15822    }
15823
15824    def __init__(
15825        self,
15826        *,
15827        linked_service_name: "LinkedServiceReference",
15828        additional_properties: Optional[Dict[str, Any]] = None,
15829        description: Optional[str] = None,
15830        structure: Optional[Any] = None,
15831        schema: Optional[Any] = None,
15832        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
15833        annotations: Optional[List[Any]] = None,
15834        folder: Optional["DatasetFolder"] = None,
15835        location: Optional["DatasetLocation"] = None,
15836        sheet_name: Optional[Any] = None,
15837        range: Optional[Any] = None,
15838        first_row_as_header: Optional[Any] = None,
15839        compression: Optional["DatasetCompression"] = None,
15840        null_value: Optional[Any] = None,
15841        **kwargs
15842    ):
15843        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)
15844        self.type = 'Excel'  # type: str
15845        self.location = location
15846        self.sheet_name = sheet_name
15847        self.range = range
15848        self.first_row_as_header = first_row_as_header
15849        self.compression = compression
15850        self.null_value = null_value
15851
15852
15853class ExcelSource(CopySource):
15854    """A copy activity excel source.
15855
15856    All required parameters must be populated in order to send to Azure.
15857
15858    :param additional_properties: Unmatched properties from the message are deserialized to this
15859     collection.
15860    :type additional_properties: dict[str, any]
15861    :param type: Required. Copy source type.Constant filled by server.
15862    :type type: str
15863    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
15864     integer).
15865    :type source_retry_count: any
15866    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
15867     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
15868    :type source_retry_wait: any
15869    :param max_concurrent_connections: The maximum concurrent connection count for the source data
15870     store. Type: integer (or Expression with resultType integer).
15871    :type max_concurrent_connections: any
15872    :param store_settings: Excel store settings.
15873    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreReadSettings
15874    :param additional_columns: Specifies the additional columns to be added to source data. Type:
15875     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
15876    :type additional_columns: any
15877    """
15878
15879    _validation = {
15880        'type': {'required': True},
15881    }
15882
15883    _attribute_map = {
15884        'additional_properties': {'key': '', 'type': '{object}'},
15885        'type': {'key': 'type', 'type': 'str'},
15886        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
15887        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
15888        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
15889        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
15890        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
15891    }
15892
15893    def __init__(
15894        self,
15895        *,
15896        additional_properties: Optional[Dict[str, Any]] = None,
15897        source_retry_count: Optional[Any] = None,
15898        source_retry_wait: Optional[Any] = None,
15899        max_concurrent_connections: Optional[Any] = None,
15900        store_settings: Optional["StoreReadSettings"] = None,
15901        additional_columns: Optional[Any] = None,
15902        **kwargs
15903    ):
15904        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)
15905        self.type = 'ExcelSource'  # type: str
15906        self.store_settings = store_settings
15907        self.additional_columns = additional_columns
15908
15909
15910class ExecuteDataFlowActivity(ExecutionActivity):
15911    """Execute data flow activity.
15912
15913    All required parameters must be populated in order to send to Azure.
15914
15915    :param additional_properties: Unmatched properties from the message are deserialized to this
15916     collection.
15917    :type additional_properties: dict[str, any]
15918    :param name: Required. Activity name.
15919    :type name: str
15920    :param type: Required. Type of activity.Constant filled by server.
15921    :type type: str
15922    :param description: Activity description.
15923    :type description: str
15924    :param depends_on: Activity depends on condition.
15925    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
15926    :param user_properties: Activity user properties.
15927    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
15928    :param linked_service_name: Linked service reference.
15929    :type linked_service_name:
15930     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
15931    :param policy: Activity policy.
15932    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
15933    :param dataflow: Required. Data flow reference.
15934    :type dataflow: ~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowReference
15935    :param staging: Staging info for execute data flow activity.
15936    :type staging: ~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowStagingInfo
15937    :param integration_runtime: The integration runtime reference.
15938    :type integration_runtime:
15939     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
15940    :param compute: Compute properties for data flow activity.
15941    :type compute:
15942     ~azure.synapse.artifacts.v2021_06_01_preview.models.ExecuteDataFlowActivityTypePropertiesCompute
15943    :param trace_level: Trace level setting used for data flow monitoring output. Supported values
15944     are: 'coarse', 'fine', and 'none'. Type: string (or Expression with resultType string).
15945    :type trace_level: any
15946    :param continue_on_error: Continue on error setting used for data flow execution. Enables
15947     processing to continue if a sink fails. Type: boolean (or Expression with resultType boolean).
15948    :type continue_on_error: any
15949    :param run_concurrently: Concurrent run setting used for data flow execution. Allows sinks with
15950     the same save order to be processed concurrently. Type: boolean (or Expression with resultType
15951     boolean).
15952    :type run_concurrently: any
15953    """
15954
15955    _validation = {
15956        'name': {'required': True},
15957        'type': {'required': True},
15958        'dataflow': {'required': True},
15959    }
15960
15961    _attribute_map = {
15962        'additional_properties': {'key': '', 'type': '{object}'},
15963        'name': {'key': 'name', 'type': 'str'},
15964        'type': {'key': 'type', 'type': 'str'},
15965        'description': {'key': 'description', 'type': 'str'},
15966        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
15967        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
15968        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
15969        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
15970        'dataflow': {'key': 'typeProperties.dataflow', 'type': 'DataFlowReference'},
15971        'staging': {'key': 'typeProperties.staging', 'type': 'DataFlowStagingInfo'},
15972        'integration_runtime': {'key': 'typeProperties.integrationRuntime', 'type': 'IntegrationRuntimeReference'},
15973        'compute': {'key': 'typeProperties.compute', 'type': 'ExecuteDataFlowActivityTypePropertiesCompute'},
15974        'trace_level': {'key': 'typeProperties.traceLevel', 'type': 'object'},
15975        'continue_on_error': {'key': 'typeProperties.continueOnError', 'type': 'object'},
15976        'run_concurrently': {'key': 'typeProperties.runConcurrently', 'type': 'object'},
15977    }
15978
15979    def __init__(
15980        self,
15981        *,
15982        name: str,
15983        dataflow: "DataFlowReference",
15984        additional_properties: Optional[Dict[str, Any]] = None,
15985        description: Optional[str] = None,
15986        depends_on: Optional[List["ActivityDependency"]] = None,
15987        user_properties: Optional[List["UserProperty"]] = None,
15988        linked_service_name: Optional["LinkedServiceReference"] = None,
15989        policy: Optional["ActivityPolicy"] = None,
15990        staging: Optional["DataFlowStagingInfo"] = None,
15991        integration_runtime: Optional["IntegrationRuntimeReference"] = None,
15992        compute: Optional["ExecuteDataFlowActivityTypePropertiesCompute"] = None,
15993        trace_level: Optional[Any] = None,
15994        continue_on_error: Optional[Any] = None,
15995        run_concurrently: Optional[Any] = None,
15996        **kwargs
15997    ):
15998        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)
15999        self.type = 'ExecuteDataFlow'  # type: str
16000        self.dataflow = dataflow
16001        self.staging = staging
16002        self.integration_runtime = integration_runtime
16003        self.compute = compute
16004        self.trace_level = trace_level
16005        self.continue_on_error = continue_on_error
16006        self.run_concurrently = run_concurrently
16007
16008
16009class ExecuteDataFlowActivityTypePropertiesCompute(msrest.serialization.Model):
16010    """Compute properties for data flow activity.
16011
16012    :param compute_type: Compute type of the cluster which will execute data flow job. Possible
16013     values include: "General", "MemoryOptimized", "ComputeOptimized".
16014    :type compute_type: str or
16015     ~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowComputeType
16016    :param core_count: Core count of the cluster which will execute data flow job. Supported values
16017     are: 8, 16, 32, 48, 80, 144 and 272.
16018    :type core_count: int
16019    """
16020
16021    _attribute_map = {
16022        'compute_type': {'key': 'computeType', 'type': 'str'},
16023        'core_count': {'key': 'coreCount', 'type': 'int'},
16024    }
16025
16026    def __init__(
16027        self,
16028        *,
16029        compute_type: Optional[Union[str, "DataFlowComputeType"]] = None,
16030        core_count: Optional[int] = None,
16031        **kwargs
16032    ):
16033        super(ExecuteDataFlowActivityTypePropertiesCompute, self).__init__(**kwargs)
16034        self.compute_type = compute_type
16035        self.core_count = core_count
16036
16037
16038class ExecutePipelineActivity(ControlActivity):
16039    """Execute pipeline activity.
16040
16041    All required parameters must be populated in order to send to Azure.
16042
16043    :param additional_properties: Unmatched properties from the message are deserialized to this
16044     collection.
16045    :type additional_properties: dict[str, any]
16046    :param name: Required. Activity name.
16047    :type name: str
16048    :param type: Required. Type of activity.Constant filled by server.
16049    :type type: str
16050    :param description: Activity description.
16051    :type description: str
16052    :param depends_on: Activity depends on condition.
16053    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
16054    :param user_properties: Activity user properties.
16055    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
16056    :param pipeline: Required. Pipeline reference.
16057    :type pipeline: ~azure.synapse.artifacts.v2021_06_01_preview.models.PipelineReference
16058    :param parameters: Pipeline parameters.
16059    :type parameters: dict[str, any]
16060    :param wait_on_completion: Defines whether activity execution will wait for the dependent
16061     pipeline execution to finish. Default is false.
16062    :type wait_on_completion: bool
16063    """
16064
16065    _validation = {
16066        'name': {'required': True},
16067        'type': {'required': True},
16068        'pipeline': {'required': True},
16069    }
16070
16071    _attribute_map = {
16072        'additional_properties': {'key': '', 'type': '{object}'},
16073        'name': {'key': 'name', 'type': 'str'},
16074        'type': {'key': 'type', 'type': 'str'},
16075        'description': {'key': 'description', 'type': 'str'},
16076        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
16077        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
16078        'pipeline': {'key': 'typeProperties.pipeline', 'type': 'PipelineReference'},
16079        'parameters': {'key': 'typeProperties.parameters', 'type': '{object}'},
16080        'wait_on_completion': {'key': 'typeProperties.waitOnCompletion', 'type': 'bool'},
16081    }
16082
16083    def __init__(
16084        self,
16085        *,
16086        name: str,
16087        pipeline: "PipelineReference",
16088        additional_properties: Optional[Dict[str, Any]] = None,
16089        description: Optional[str] = None,
16090        depends_on: Optional[List["ActivityDependency"]] = None,
16091        user_properties: Optional[List["UserProperty"]] = None,
16092        parameters: Optional[Dict[str, Any]] = None,
16093        wait_on_completion: Optional[bool] = None,
16094        **kwargs
16095    ):
16096        super(ExecutePipelineActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
16097        self.type = 'ExecutePipeline'  # type: str
16098        self.pipeline = pipeline
16099        self.parameters = parameters
16100        self.wait_on_completion = wait_on_completion
16101
16102
16103class ExecuteSSISPackageActivity(ExecutionActivity):
16104    """Execute SSIS package activity.
16105
16106    All required parameters must be populated in order to send to Azure.
16107
16108    :param additional_properties: Unmatched properties from the message are deserialized to this
16109     collection.
16110    :type additional_properties: dict[str, any]
16111    :param name: Required. Activity name.
16112    :type name: str
16113    :param type: Required. Type of activity.Constant filled by server.
16114    :type type: str
16115    :param description: Activity description.
16116    :type description: str
16117    :param depends_on: Activity depends on condition.
16118    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
16119    :param user_properties: Activity user properties.
16120    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
16121    :param linked_service_name: Linked service reference.
16122    :type linked_service_name:
16123     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
16124    :param policy: Activity policy.
16125    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
16126    :param package_location: Required. SSIS package location.
16127    :type package_location: ~azure.synapse.artifacts.v2021_06_01_preview.models.SSISPackageLocation
16128    :param runtime: Specifies the runtime to execute SSIS package. The value should be "x86" or
16129     "x64". Type: string (or Expression with resultType string).
16130    :type runtime: any
16131    :param logging_level: The logging level of SSIS package execution. Type: string (or Expression
16132     with resultType string).
16133    :type logging_level: any
16134    :param environment_path: The environment path to execute the SSIS package. Type: string (or
16135     Expression with resultType string).
16136    :type environment_path: any
16137    :param execution_credential: The package execution credential.
16138    :type execution_credential:
16139     ~azure.synapse.artifacts.v2021_06_01_preview.models.SSISExecutionCredential
16140    :param connect_via: Required. The integration runtime reference.
16141    :type connect_via:
16142     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
16143    :param project_parameters: The project level parameters to execute the SSIS package.
16144    :type project_parameters: dict[str,
16145     ~azure.synapse.artifacts.v2021_06_01_preview.models.SSISExecutionParameter]
16146    :param package_parameters: The package level parameters to execute the SSIS package.
16147    :type package_parameters: dict[str,
16148     ~azure.synapse.artifacts.v2021_06_01_preview.models.SSISExecutionParameter]
16149    :param project_connection_managers: The project level connection managers to execute the SSIS
16150     package.
16151    :type project_connection_managers: dict[str, dict[str,
16152     ~azure.synapse.artifacts.v2021_06_01_preview.models.SSISExecutionParameter]]
16153    :param package_connection_managers: The package level connection managers to execute the SSIS
16154     package.
16155    :type package_connection_managers: dict[str, dict[str,
16156     ~azure.synapse.artifacts.v2021_06_01_preview.models.SSISExecutionParameter]]
16157    :param property_overrides: The property overrides to execute the SSIS package.
16158    :type property_overrides: dict[str,
16159     ~azure.synapse.artifacts.v2021_06_01_preview.models.SSISPropertyOverride]
16160    :param log_location: SSIS package execution log location.
16161    :type log_location: ~azure.synapse.artifacts.v2021_06_01_preview.models.SSISLogLocation
16162    """
16163
16164    _validation = {
16165        'name': {'required': True},
16166        'type': {'required': True},
16167        'package_location': {'required': True},
16168        'connect_via': {'required': True},
16169    }
16170
16171    _attribute_map = {
16172        'additional_properties': {'key': '', 'type': '{object}'},
16173        'name': {'key': 'name', 'type': 'str'},
16174        'type': {'key': 'type', 'type': 'str'},
16175        'description': {'key': 'description', 'type': 'str'},
16176        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
16177        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
16178        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
16179        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
16180        'package_location': {'key': 'typeProperties.packageLocation', 'type': 'SSISPackageLocation'},
16181        'runtime': {'key': 'typeProperties.runtime', 'type': 'object'},
16182        'logging_level': {'key': 'typeProperties.loggingLevel', 'type': 'object'},
16183        'environment_path': {'key': 'typeProperties.environmentPath', 'type': 'object'},
16184        'execution_credential': {'key': 'typeProperties.executionCredential', 'type': 'SSISExecutionCredential'},
16185        'connect_via': {'key': 'typeProperties.connectVia', 'type': 'IntegrationRuntimeReference'},
16186        'project_parameters': {'key': 'typeProperties.projectParameters', 'type': '{SSISExecutionParameter}'},
16187        'package_parameters': {'key': 'typeProperties.packageParameters', 'type': '{SSISExecutionParameter}'},
16188        'project_connection_managers': {'key': 'typeProperties.projectConnectionManagers', 'type': '{{SSISExecutionParameter}}'},
16189        'package_connection_managers': {'key': 'typeProperties.packageConnectionManagers', 'type': '{{SSISExecutionParameter}}'},
16190        'property_overrides': {'key': 'typeProperties.propertyOverrides', 'type': '{SSISPropertyOverride}'},
16191        'log_location': {'key': 'typeProperties.logLocation', 'type': 'SSISLogLocation'},
16192    }
16193
16194    def __init__(
16195        self,
16196        *,
16197        name: str,
16198        package_location: "SSISPackageLocation",
16199        connect_via: "IntegrationRuntimeReference",
16200        additional_properties: Optional[Dict[str, Any]] = None,
16201        description: Optional[str] = None,
16202        depends_on: Optional[List["ActivityDependency"]] = None,
16203        user_properties: Optional[List["UserProperty"]] = None,
16204        linked_service_name: Optional["LinkedServiceReference"] = None,
16205        policy: Optional["ActivityPolicy"] = None,
16206        runtime: Optional[Any] = None,
16207        logging_level: Optional[Any] = None,
16208        environment_path: Optional[Any] = None,
16209        execution_credential: Optional["SSISExecutionCredential"] = None,
16210        project_parameters: Optional[Dict[str, "SSISExecutionParameter"]] = None,
16211        package_parameters: Optional[Dict[str, "SSISExecutionParameter"]] = None,
16212        project_connection_managers: Optional[Dict[str, Dict[str, "SSISExecutionParameter"]]] = None,
16213        package_connection_managers: Optional[Dict[str, Dict[str, "SSISExecutionParameter"]]] = None,
16214        property_overrides: Optional[Dict[str, "SSISPropertyOverride"]] = None,
16215        log_location: Optional["SSISLogLocation"] = None,
16216        **kwargs
16217    ):
16218        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)
16219        self.type = 'ExecuteSSISPackage'  # type: str
16220        self.package_location = package_location
16221        self.runtime = runtime
16222        self.logging_level = logging_level
16223        self.environment_path = environment_path
16224        self.execution_credential = execution_credential
16225        self.connect_via = connect_via
16226        self.project_parameters = project_parameters
16227        self.package_parameters = package_parameters
16228        self.project_connection_managers = project_connection_managers
16229        self.package_connection_managers = package_connection_managers
16230        self.property_overrides = property_overrides
16231        self.log_location = log_location
16232
16233
16234class ExposureControlRequest(msrest.serialization.Model):
16235    """The exposure control request.
16236
16237    :param feature_name: The feature name.
16238    :type feature_name: str
16239    :param feature_type: The feature type.
16240    :type feature_type: str
16241    """
16242
16243    _attribute_map = {
16244        'feature_name': {'key': 'featureName', 'type': 'str'},
16245        'feature_type': {'key': 'featureType', 'type': 'str'},
16246    }
16247
16248    def __init__(
16249        self,
16250        *,
16251        feature_name: Optional[str] = None,
16252        feature_type: Optional[str] = None,
16253        **kwargs
16254    ):
16255        super(ExposureControlRequest, self).__init__(**kwargs)
16256        self.feature_name = feature_name
16257        self.feature_type = feature_type
16258
16259
16260class ExposureControlResponse(msrest.serialization.Model):
16261    """The exposure control response.
16262
16263    Variables are only populated by the server, and will be ignored when sending a request.
16264
16265    :ivar feature_name: The feature name.
16266    :vartype feature_name: str
16267    :ivar value: The feature value.
16268    :vartype value: str
16269    """
16270
16271    _validation = {
16272        'feature_name': {'readonly': True},
16273        'value': {'readonly': True},
16274    }
16275
16276    _attribute_map = {
16277        'feature_name': {'key': 'featureName', 'type': 'str'},
16278        'value': {'key': 'value', 'type': 'str'},
16279    }
16280
16281    def __init__(
16282        self,
16283        **kwargs
16284    ):
16285        super(ExposureControlResponse, self).__init__(**kwargs)
16286        self.feature_name = None
16287        self.value = None
16288
16289
16290class Expression(msrest.serialization.Model):
16291    """Azure Synapse expression definition.
16292
16293    All required parameters must be populated in order to send to Azure.
16294
16295    :param type: Required. Expression type. Possible values include: "Expression".
16296    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.ExpressionType
16297    :param value: Required. Expression value.
16298    :type value: str
16299    """
16300
16301    _validation = {
16302        'type': {'required': True},
16303        'value': {'required': True},
16304    }
16305
16306    _attribute_map = {
16307        'type': {'key': 'type', 'type': 'str'},
16308        'value': {'key': 'value', 'type': 'str'},
16309    }
16310
16311    def __init__(
16312        self,
16313        *,
16314        type: Union[str, "ExpressionType"],
16315        value: str,
16316        **kwargs
16317    ):
16318        super(Expression, self).__init__(**kwargs)
16319        self.type = type
16320        self.value = value
16321
16322
16323class FileServerLinkedService(LinkedService):
16324    """File system linked service.
16325
16326    All required parameters must be populated in order to send to Azure.
16327
16328    :param additional_properties: Unmatched properties from the message are deserialized to this
16329     collection.
16330    :type additional_properties: dict[str, any]
16331    :param type: Required. Type of linked service.Constant filled by server.
16332    :type type: str
16333    :param connect_via: The integration runtime reference.
16334    :type connect_via:
16335     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
16336    :param description: Linked service description.
16337    :type description: str
16338    :param parameters: Parameters for linked service.
16339    :type parameters: dict[str,
16340     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
16341    :param annotations: List of tags that can be used for describing the linked service.
16342    :type annotations: list[any]
16343    :param host: Required. Host name of the server. Type: string (or Expression with resultType
16344     string).
16345    :type host: any
16346    :param user_id: User ID to logon the server. Type: string (or Expression with resultType
16347     string).
16348    :type user_id: any
16349    :param password: Password to logon the server.
16350    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
16351    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
16352     encrypted using the integration runtime credential manager. Type: string (or Expression with
16353     resultType string).
16354    :type encrypted_credential: any
16355    """
16356
16357    _validation = {
16358        'type': {'required': True},
16359        'host': {'required': True},
16360    }
16361
16362    _attribute_map = {
16363        'additional_properties': {'key': '', 'type': '{object}'},
16364        'type': {'key': 'type', 'type': 'str'},
16365        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
16366        'description': {'key': 'description', 'type': 'str'},
16367        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
16368        'annotations': {'key': 'annotations', 'type': '[object]'},
16369        'host': {'key': 'typeProperties.host', 'type': 'object'},
16370        'user_id': {'key': 'typeProperties.userId', 'type': 'object'},
16371        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
16372        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
16373    }
16374
16375    def __init__(
16376        self,
16377        *,
16378        host: Any,
16379        additional_properties: Optional[Dict[str, Any]] = None,
16380        connect_via: Optional["IntegrationRuntimeReference"] = None,
16381        description: Optional[str] = None,
16382        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
16383        annotations: Optional[List[Any]] = None,
16384        user_id: Optional[Any] = None,
16385        password: Optional["SecretBase"] = None,
16386        encrypted_credential: Optional[Any] = None,
16387        **kwargs
16388    ):
16389        super(FileServerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
16390        self.type = 'FileServer'  # type: str
16391        self.host = host
16392        self.user_id = user_id
16393        self.password = password
16394        self.encrypted_credential = encrypted_credential
16395
16396
16397class FileServerLocation(DatasetLocation):
16398    """The location of file server dataset.
16399
16400    All required parameters must be populated in order to send to Azure.
16401
16402    :param additional_properties: Unmatched properties from the message are deserialized to this
16403     collection.
16404    :type additional_properties: dict[str, any]
16405    :param type: Required. Type of dataset storage location.Constant filled by server.
16406    :type type: str
16407    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
16408     resultType string).
16409    :type folder_path: any
16410    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
16411     string).
16412    :type file_name: any
16413    """
16414
16415    _validation = {
16416        'type': {'required': True},
16417    }
16418
16419    _attribute_map = {
16420        'additional_properties': {'key': '', 'type': '{object}'},
16421        'type': {'key': 'type', 'type': 'str'},
16422        'folder_path': {'key': 'folderPath', 'type': 'object'},
16423        'file_name': {'key': 'fileName', 'type': 'object'},
16424    }
16425
16426    def __init__(
16427        self,
16428        *,
16429        additional_properties: Optional[Dict[str, Any]] = None,
16430        folder_path: Optional[Any] = None,
16431        file_name: Optional[Any] = None,
16432        **kwargs
16433    ):
16434        super(FileServerLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
16435        self.type = 'FileServerLocation'  # type: str
16436
16437
16438class FileServerReadSettings(StoreReadSettings):
16439    """File server read settings.
16440
16441    All required parameters must be populated in order to send to Azure.
16442
16443    :param additional_properties: Unmatched properties from the message are deserialized to this
16444     collection.
16445    :type additional_properties: dict[str, any]
16446    :param type: Required. The read setting type.Constant filled by server.
16447    :type type: str
16448    :param max_concurrent_connections: The maximum concurrent connection count for the source data
16449     store. Type: integer (or Expression with resultType integer).
16450    :type max_concurrent_connections: any
16451    :param recursive: If true, files under the folder path will be read recursively. Default is
16452     true. Type: boolean (or Expression with resultType boolean).
16453    :type recursive: any
16454    :param wildcard_folder_path: FileServer wildcardFolderPath. Type: string (or Expression with
16455     resultType string).
16456    :type wildcard_folder_path: any
16457    :param wildcard_file_name: FileServer wildcardFileName. Type: string (or Expression with
16458     resultType string).
16459    :type wildcard_file_name: any
16460    :param file_list_path: Point to a text file that lists each file (relative path to the path
16461     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
16462     string).
16463    :type file_list_path: any
16464    :param enable_partition_discovery: Indicates whether to enable partition discovery.
16465    :type enable_partition_discovery: bool
16466    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
16467     string (or Expression with resultType string).
16468    :type partition_root_path: any
16469    :param delete_files_after_completion: Indicates whether the source files need to be deleted
16470     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
16471    :type delete_files_after_completion: any
16472    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
16473     Expression with resultType string).
16474    :type modified_datetime_start: any
16475    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
16476     with resultType string).
16477    :type modified_datetime_end: any
16478    :param file_filter: Specify a filter to be used to select a subset of files in the folderPath
16479     rather than all files. Type: string (or Expression with resultType string).
16480    :type file_filter: any
16481    """
16482
16483    _validation = {
16484        'type': {'required': True},
16485    }
16486
16487    _attribute_map = {
16488        'additional_properties': {'key': '', 'type': '{object}'},
16489        'type': {'key': 'type', 'type': 'str'},
16490        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
16491        'recursive': {'key': 'recursive', 'type': 'object'},
16492        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
16493        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
16494        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
16495        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
16496        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
16497        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
16498        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
16499        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
16500        'file_filter': {'key': 'fileFilter', 'type': 'object'},
16501    }
16502
16503    def __init__(
16504        self,
16505        *,
16506        additional_properties: Optional[Dict[str, Any]] = None,
16507        max_concurrent_connections: Optional[Any] = None,
16508        recursive: Optional[Any] = None,
16509        wildcard_folder_path: Optional[Any] = None,
16510        wildcard_file_name: Optional[Any] = None,
16511        file_list_path: Optional[Any] = None,
16512        enable_partition_discovery: Optional[bool] = None,
16513        partition_root_path: Optional[Any] = None,
16514        delete_files_after_completion: Optional[Any] = None,
16515        modified_datetime_start: Optional[Any] = None,
16516        modified_datetime_end: Optional[Any] = None,
16517        file_filter: Optional[Any] = None,
16518        **kwargs
16519    ):
16520        super(FileServerReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
16521        self.type = 'FileServerReadSettings'  # type: str
16522        self.recursive = recursive
16523        self.wildcard_folder_path = wildcard_folder_path
16524        self.wildcard_file_name = wildcard_file_name
16525        self.file_list_path = file_list_path
16526        self.enable_partition_discovery = enable_partition_discovery
16527        self.partition_root_path = partition_root_path
16528        self.delete_files_after_completion = delete_files_after_completion
16529        self.modified_datetime_start = modified_datetime_start
16530        self.modified_datetime_end = modified_datetime_end
16531        self.file_filter = file_filter
16532
16533
16534class FileServerWriteSettings(StoreWriteSettings):
16535    """File server write settings.
16536
16537    All required parameters must be populated in order to send to Azure.
16538
16539    :param additional_properties: Unmatched properties from the message are deserialized to this
16540     collection.
16541    :type additional_properties: dict[str, any]
16542    :param type: Required. The write setting type.Constant filled by server.
16543    :type type: str
16544    :param max_concurrent_connections: The maximum concurrent connection count for the source data
16545     store. Type: integer (or Expression with resultType integer).
16546    :type max_concurrent_connections: any
16547    :param copy_behavior: The type of copy behavior for copy sink.
16548    :type copy_behavior: any
16549    """
16550
16551    _validation = {
16552        'type': {'required': True},
16553    }
16554
16555    _attribute_map = {
16556        'additional_properties': {'key': '', 'type': '{object}'},
16557        'type': {'key': 'type', 'type': 'str'},
16558        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
16559        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
16560    }
16561
16562    def __init__(
16563        self,
16564        *,
16565        additional_properties: Optional[Dict[str, Any]] = None,
16566        max_concurrent_connections: Optional[Any] = None,
16567        copy_behavior: Optional[Any] = None,
16568        **kwargs
16569    ):
16570        super(FileServerWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs)
16571        self.type = 'FileServerWriteSettings'  # type: str
16572
16573
16574class FileShareDataset(Dataset):
16575    """An on-premises file system dataset.
16576
16577    All required parameters must be populated in order to send to Azure.
16578
16579    :param additional_properties: Unmatched properties from the message are deserialized to this
16580     collection.
16581    :type additional_properties: dict[str, any]
16582    :param type: Required. Type of dataset.Constant filled by server.
16583    :type type: str
16584    :param description: Dataset description.
16585    :type description: str
16586    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
16587     with resultType array), itemType: DatasetDataElement.
16588    :type structure: any
16589    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
16590     Expression with resultType array), itemType: DatasetSchemaDataElement.
16591    :type schema: any
16592    :param linked_service_name: Required. Linked service reference.
16593    :type linked_service_name:
16594     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
16595    :param parameters: Parameters for dataset.
16596    :type parameters: dict[str,
16597     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
16598    :param annotations: List of tags that can be used for describing the Dataset.
16599    :type annotations: list[any]
16600    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
16601     root level.
16602    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
16603    :param folder_path: The path of the on-premises file system. Type: string (or Expression with
16604     resultType string).
16605    :type folder_path: any
16606    :param file_name: The name of the on-premises file system. Type: string (or Expression with
16607     resultType string).
16608    :type file_name: any
16609    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
16610     Expression with resultType string).
16611    :type modified_datetime_start: any
16612    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
16613     with resultType string).
16614    :type modified_datetime_end: any
16615    :param format: The format of the files.
16616    :type format: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetStorageFormat
16617    :param file_filter: Specify a filter to be used to select a subset of files in the folderPath
16618     rather than all files. Type: string (or Expression with resultType string).
16619    :type file_filter: any
16620    :param compression: The data compression method used for the file system.
16621    :type compression: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetCompression
16622    """
16623
16624    _validation = {
16625        'type': {'required': True},
16626        'linked_service_name': {'required': True},
16627    }
16628
16629    _attribute_map = {
16630        'additional_properties': {'key': '', 'type': '{object}'},
16631        'type': {'key': 'type', 'type': 'str'},
16632        'description': {'key': 'description', 'type': 'str'},
16633        'structure': {'key': 'structure', 'type': 'object'},
16634        'schema': {'key': 'schema', 'type': 'object'},
16635        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
16636        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
16637        'annotations': {'key': 'annotations', 'type': '[object]'},
16638        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
16639        'folder_path': {'key': 'typeProperties.folderPath', 'type': 'object'},
16640        'file_name': {'key': 'typeProperties.fileName', 'type': 'object'},
16641        'modified_datetime_start': {'key': 'typeProperties.modifiedDatetimeStart', 'type': 'object'},
16642        'modified_datetime_end': {'key': 'typeProperties.modifiedDatetimeEnd', 'type': 'object'},
16643        'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'},
16644        'file_filter': {'key': 'typeProperties.fileFilter', 'type': 'object'},
16645        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
16646    }
16647
16648    def __init__(
16649        self,
16650        *,
16651        linked_service_name: "LinkedServiceReference",
16652        additional_properties: Optional[Dict[str, Any]] = None,
16653        description: Optional[str] = None,
16654        structure: Optional[Any] = None,
16655        schema: Optional[Any] = None,
16656        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
16657        annotations: Optional[List[Any]] = None,
16658        folder: Optional["DatasetFolder"] = None,
16659        folder_path: Optional[Any] = None,
16660        file_name: Optional[Any] = None,
16661        modified_datetime_start: Optional[Any] = None,
16662        modified_datetime_end: Optional[Any] = None,
16663        format: Optional["DatasetStorageFormat"] = None,
16664        file_filter: Optional[Any] = None,
16665        compression: Optional["DatasetCompression"] = None,
16666        **kwargs
16667    ):
16668        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)
16669        self.type = 'FileShare'  # type: str
16670        self.folder_path = folder_path
16671        self.file_name = file_name
16672        self.modified_datetime_start = modified_datetime_start
16673        self.modified_datetime_end = modified_datetime_end
16674        self.format = format
16675        self.file_filter = file_filter
16676        self.compression = compression
16677
16678
16679class FileSystemSink(CopySink):
16680    """A copy activity file system sink.
16681
16682    All required parameters must be populated in order to send to Azure.
16683
16684    :param additional_properties: Unmatched properties from the message are deserialized to this
16685     collection.
16686    :type additional_properties: dict[str, any]
16687    :param type: Required. Copy sink type.Constant filled by server.
16688    :type type: str
16689    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
16690     integer), minimum: 0.
16691    :type write_batch_size: any
16692    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
16693     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
16694    :type write_batch_timeout: any
16695    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
16696     integer).
16697    :type sink_retry_count: any
16698    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
16699     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
16700    :type sink_retry_wait: any
16701    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
16702     store. Type: integer (or Expression with resultType integer).
16703    :type max_concurrent_connections: any
16704    :param copy_behavior: The type of copy behavior for copy sink.
16705    :type copy_behavior: any
16706    """
16707
16708    _validation = {
16709        'type': {'required': True},
16710    }
16711
16712    _attribute_map = {
16713        'additional_properties': {'key': '', 'type': '{object}'},
16714        'type': {'key': 'type', 'type': 'str'},
16715        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
16716        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
16717        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
16718        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
16719        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
16720        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
16721    }
16722
16723    def __init__(
16724        self,
16725        *,
16726        additional_properties: Optional[Dict[str, Any]] = None,
16727        write_batch_size: Optional[Any] = None,
16728        write_batch_timeout: Optional[Any] = None,
16729        sink_retry_count: Optional[Any] = None,
16730        sink_retry_wait: Optional[Any] = None,
16731        max_concurrent_connections: Optional[Any] = None,
16732        copy_behavior: Optional[Any] = None,
16733        **kwargs
16734    ):
16735        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)
16736        self.type = 'FileSystemSink'  # type: str
16737        self.copy_behavior = copy_behavior
16738
16739
16740class FileSystemSource(CopySource):
16741    """A copy activity file system source.
16742
16743    All required parameters must be populated in order to send to Azure.
16744
16745    :param additional_properties: Unmatched properties from the message are deserialized to this
16746     collection.
16747    :type additional_properties: dict[str, any]
16748    :param type: Required. Copy source type.Constant filled by server.
16749    :type type: str
16750    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
16751     integer).
16752    :type source_retry_count: any
16753    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
16754     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
16755    :type source_retry_wait: any
16756    :param max_concurrent_connections: The maximum concurrent connection count for the source data
16757     store. Type: integer (or Expression with resultType integer).
16758    :type max_concurrent_connections: any
16759    :param recursive: If true, files under the folder path will be read recursively. Default is
16760     true. Type: boolean (or Expression with resultType boolean).
16761    :type recursive: any
16762    :param additional_columns: Specifies the additional columns to be added to source data. Type:
16763     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
16764    :type additional_columns: any
16765    """
16766
16767    _validation = {
16768        'type': {'required': True},
16769    }
16770
16771    _attribute_map = {
16772        'additional_properties': {'key': '', 'type': '{object}'},
16773        'type': {'key': 'type', 'type': 'str'},
16774        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
16775        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
16776        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
16777        'recursive': {'key': 'recursive', 'type': 'object'},
16778        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
16779    }
16780
16781    def __init__(
16782        self,
16783        *,
16784        additional_properties: Optional[Dict[str, Any]] = None,
16785        source_retry_count: Optional[Any] = None,
16786        source_retry_wait: Optional[Any] = None,
16787        max_concurrent_connections: Optional[Any] = None,
16788        recursive: Optional[Any] = None,
16789        additional_columns: Optional[Any] = None,
16790        **kwargs
16791    ):
16792        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)
16793        self.type = 'FileSystemSource'  # type: str
16794        self.recursive = recursive
16795        self.additional_columns = additional_columns
16796
16797
16798class FilterActivity(ControlActivity):
16799    """Filter and return results from input array based on the conditions.
16800
16801    All required parameters must be populated in order to send to Azure.
16802
16803    :param additional_properties: Unmatched properties from the message are deserialized to this
16804     collection.
16805    :type additional_properties: dict[str, any]
16806    :param name: Required. Activity name.
16807    :type name: str
16808    :param type: Required. Type of activity.Constant filled by server.
16809    :type type: str
16810    :param description: Activity description.
16811    :type description: str
16812    :param depends_on: Activity depends on condition.
16813    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
16814    :param user_properties: Activity user properties.
16815    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
16816    :param items: Required. Input array on which filter should be applied.
16817    :type items: ~azure.synapse.artifacts.v2021_06_01_preview.models.Expression
16818    :param condition: Required. Condition to be used for filtering the input.
16819    :type condition: ~azure.synapse.artifacts.v2021_06_01_preview.models.Expression
16820    """
16821
16822    _validation = {
16823        'name': {'required': True},
16824        'type': {'required': True},
16825        'items': {'required': True},
16826        'condition': {'required': True},
16827    }
16828
16829    _attribute_map = {
16830        'additional_properties': {'key': '', 'type': '{object}'},
16831        'name': {'key': 'name', 'type': 'str'},
16832        'type': {'key': 'type', 'type': 'str'},
16833        'description': {'key': 'description', 'type': 'str'},
16834        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
16835        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
16836        'items': {'key': 'typeProperties.items', 'type': 'Expression'},
16837        'condition': {'key': 'typeProperties.condition', 'type': 'Expression'},
16838    }
16839
16840    def __init__(
16841        self,
16842        *,
16843        name: str,
16844        items: "Expression",
16845        condition: "Expression",
16846        additional_properties: Optional[Dict[str, Any]] = None,
16847        description: Optional[str] = None,
16848        depends_on: Optional[List["ActivityDependency"]] = None,
16849        user_properties: Optional[List["UserProperty"]] = None,
16850        **kwargs
16851    ):
16852        super(FilterActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
16853        self.type = 'Filter'  # type: str
16854        self.items = items
16855        self.condition = condition
16856
16857
16858class ForEachActivity(ControlActivity):
16859    """This activity is used for iterating over a collection and execute given activities.
16860
16861    All required parameters must be populated in order to send to Azure.
16862
16863    :param additional_properties: Unmatched properties from the message are deserialized to this
16864     collection.
16865    :type additional_properties: dict[str, any]
16866    :param name: Required. Activity name.
16867    :type name: str
16868    :param type: Required. Type of activity.Constant filled by server.
16869    :type type: str
16870    :param description: Activity description.
16871    :type description: str
16872    :param depends_on: Activity depends on condition.
16873    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
16874    :param user_properties: Activity user properties.
16875    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
16876    :param is_sequential: Should the loop be executed in sequence or in parallel (max 50).
16877    :type is_sequential: bool
16878    :param batch_count: Batch count to be used for controlling the number of parallel execution
16879     (when isSequential is set to false).
16880    :type batch_count: int
16881    :param items: Required. Collection to iterate.
16882    :type items: ~azure.synapse.artifacts.v2021_06_01_preview.models.Expression
16883    :param activities: Required. List of activities to execute .
16884    :type activities: list[~azure.synapse.artifacts.v2021_06_01_preview.models.Activity]
16885    """
16886
16887    _validation = {
16888        'name': {'required': True},
16889        'type': {'required': True},
16890        'batch_count': {'maximum': 50},
16891        'items': {'required': True},
16892        'activities': {'required': True},
16893    }
16894
16895    _attribute_map = {
16896        'additional_properties': {'key': '', 'type': '{object}'},
16897        'name': {'key': 'name', 'type': 'str'},
16898        'type': {'key': 'type', 'type': 'str'},
16899        'description': {'key': 'description', 'type': 'str'},
16900        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
16901        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
16902        'is_sequential': {'key': 'typeProperties.isSequential', 'type': 'bool'},
16903        'batch_count': {'key': 'typeProperties.batchCount', 'type': 'int'},
16904        'items': {'key': 'typeProperties.items', 'type': 'Expression'},
16905        'activities': {'key': 'typeProperties.activities', 'type': '[Activity]'},
16906    }
16907
16908    def __init__(
16909        self,
16910        *,
16911        name: str,
16912        items: "Expression",
16913        activities: List["Activity"],
16914        additional_properties: Optional[Dict[str, Any]] = None,
16915        description: Optional[str] = None,
16916        depends_on: Optional[List["ActivityDependency"]] = None,
16917        user_properties: Optional[List["UserProperty"]] = None,
16918        is_sequential: Optional[bool] = None,
16919        batch_count: Optional[int] = None,
16920        **kwargs
16921    ):
16922        super(ForEachActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
16923        self.type = 'ForEach'  # type: str
16924        self.is_sequential = is_sequential
16925        self.batch_count = batch_count
16926        self.items = items
16927        self.activities = activities
16928
16929
16930class FtpReadSettings(StoreReadSettings):
16931    """Ftp read settings.
16932
16933    All required parameters must be populated in order to send to Azure.
16934
16935    :param additional_properties: Unmatched properties from the message are deserialized to this
16936     collection.
16937    :type additional_properties: dict[str, any]
16938    :param type: Required. The read setting type.Constant filled by server.
16939    :type type: str
16940    :param max_concurrent_connections: The maximum concurrent connection count for the source data
16941     store. Type: integer (or Expression with resultType integer).
16942    :type max_concurrent_connections: any
16943    :param recursive: If true, files under the folder path will be read recursively. Default is
16944     true. Type: boolean (or Expression with resultType boolean).
16945    :type recursive: any
16946    :param wildcard_folder_path: Ftp wildcardFolderPath. Type: string (or Expression with
16947     resultType string).
16948    :type wildcard_folder_path: any
16949    :param wildcard_file_name: Ftp wildcardFileName. Type: string (or Expression with resultType
16950     string).
16951    :type wildcard_file_name: any
16952    :param enable_partition_discovery: Indicates whether to enable partition discovery.
16953    :type enable_partition_discovery: bool
16954    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
16955     string (or Expression with resultType string).
16956    :type partition_root_path: any
16957    :param delete_files_after_completion: Indicates whether the source files need to be deleted
16958     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
16959    :type delete_files_after_completion: any
16960    :param file_list_path: Point to a text file that lists each file (relative path to the path
16961     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
16962     string).
16963    :type file_list_path: any
16964    :param use_binary_transfer: Specify whether to use binary transfer mode for FTP stores.
16965    :type use_binary_transfer: bool
16966    """
16967
16968    _validation = {
16969        'type': {'required': True},
16970    }
16971
16972    _attribute_map = {
16973        'additional_properties': {'key': '', 'type': '{object}'},
16974        'type': {'key': 'type', 'type': 'str'},
16975        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
16976        'recursive': {'key': 'recursive', 'type': 'object'},
16977        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
16978        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
16979        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
16980        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
16981        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
16982        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
16983        'use_binary_transfer': {'key': 'useBinaryTransfer', 'type': 'bool'},
16984    }
16985
16986    def __init__(
16987        self,
16988        *,
16989        additional_properties: Optional[Dict[str, Any]] = None,
16990        max_concurrent_connections: Optional[Any] = None,
16991        recursive: Optional[Any] = None,
16992        wildcard_folder_path: Optional[Any] = None,
16993        wildcard_file_name: Optional[Any] = None,
16994        enable_partition_discovery: Optional[bool] = None,
16995        partition_root_path: Optional[Any] = None,
16996        delete_files_after_completion: Optional[Any] = None,
16997        file_list_path: Optional[Any] = None,
16998        use_binary_transfer: Optional[bool] = None,
16999        **kwargs
17000    ):
17001        super(FtpReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
17002        self.type = 'FtpReadSettings'  # type: str
17003        self.recursive = recursive
17004        self.wildcard_folder_path = wildcard_folder_path
17005        self.wildcard_file_name = wildcard_file_name
17006        self.enable_partition_discovery = enable_partition_discovery
17007        self.partition_root_path = partition_root_path
17008        self.delete_files_after_completion = delete_files_after_completion
17009        self.file_list_path = file_list_path
17010        self.use_binary_transfer = use_binary_transfer
17011
17012
17013class FtpServerLinkedService(LinkedService):
17014    """A FTP server Linked Service.
17015
17016    All required parameters must be populated in order to send to Azure.
17017
17018    :param additional_properties: Unmatched properties from the message are deserialized to this
17019     collection.
17020    :type additional_properties: dict[str, any]
17021    :param type: Required. Type of linked service.Constant filled by server.
17022    :type type: str
17023    :param connect_via: The integration runtime reference.
17024    :type connect_via:
17025     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
17026    :param description: Linked service description.
17027    :type description: str
17028    :param parameters: Parameters for linked service.
17029    :type parameters: dict[str,
17030     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
17031    :param annotations: List of tags that can be used for describing the linked service.
17032    :type annotations: list[any]
17033    :param host: Required. Host name of the FTP server. Type: string (or Expression with resultType
17034     string).
17035    :type host: any
17036    :param port: The TCP port number that the FTP server uses to listen for client connections.
17037     Default value is 21. Type: integer (or Expression with resultType integer), minimum: 0.
17038    :type port: any
17039    :param authentication_type: The authentication type to be used to connect to the FTP server.
17040     Possible values include: "Basic", "Anonymous".
17041    :type authentication_type: str or
17042     ~azure.synapse.artifacts.v2021_06_01_preview.models.FtpAuthenticationType
17043    :param user_name: Username to logon the FTP server. Type: string (or Expression with resultType
17044     string).
17045    :type user_name: any
17046    :param password: Password to logon the FTP server.
17047    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
17048    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
17049     encrypted using the integration runtime credential manager. Type: string (or Expression with
17050     resultType string).
17051    :type encrypted_credential: any
17052    :param enable_ssl: If true, connect to the FTP server over SSL/TLS channel. Default value is
17053     true. Type: boolean (or Expression with resultType boolean).
17054    :type enable_ssl: any
17055    :param enable_server_certificate_validation: If true, validate the FTP server SSL certificate
17056     when connect over SSL/TLS channel. Default value is true. Type: boolean (or Expression with
17057     resultType boolean).
17058    :type enable_server_certificate_validation: any
17059    """
17060
17061    _validation = {
17062        'type': {'required': True},
17063        'host': {'required': True},
17064    }
17065
17066    _attribute_map = {
17067        'additional_properties': {'key': '', 'type': '{object}'},
17068        'type': {'key': 'type', 'type': 'str'},
17069        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
17070        'description': {'key': 'description', 'type': 'str'},
17071        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
17072        'annotations': {'key': 'annotations', 'type': '[object]'},
17073        'host': {'key': 'typeProperties.host', 'type': 'object'},
17074        'port': {'key': 'typeProperties.port', 'type': 'object'},
17075        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
17076        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
17077        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
17078        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
17079        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
17080        'enable_server_certificate_validation': {'key': 'typeProperties.enableServerCertificateValidation', 'type': 'object'},
17081    }
17082
17083    def __init__(
17084        self,
17085        *,
17086        host: Any,
17087        additional_properties: Optional[Dict[str, Any]] = None,
17088        connect_via: Optional["IntegrationRuntimeReference"] = None,
17089        description: Optional[str] = None,
17090        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
17091        annotations: Optional[List[Any]] = None,
17092        port: Optional[Any] = None,
17093        authentication_type: Optional[Union[str, "FtpAuthenticationType"]] = None,
17094        user_name: Optional[Any] = None,
17095        password: Optional["SecretBase"] = None,
17096        encrypted_credential: Optional[Any] = None,
17097        enable_ssl: Optional[Any] = None,
17098        enable_server_certificate_validation: Optional[Any] = None,
17099        **kwargs
17100    ):
17101        super(FtpServerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
17102        self.type = 'FtpServer'  # type: str
17103        self.host = host
17104        self.port = port
17105        self.authentication_type = authentication_type
17106        self.user_name = user_name
17107        self.password = password
17108        self.encrypted_credential = encrypted_credential
17109        self.enable_ssl = enable_ssl
17110        self.enable_server_certificate_validation = enable_server_certificate_validation
17111
17112
17113class FtpServerLocation(DatasetLocation):
17114    """The location of ftp server dataset.
17115
17116    All required parameters must be populated in order to send to Azure.
17117
17118    :param additional_properties: Unmatched properties from the message are deserialized to this
17119     collection.
17120    :type additional_properties: dict[str, any]
17121    :param type: Required. Type of dataset storage location.Constant filled by server.
17122    :type type: str
17123    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
17124     resultType string).
17125    :type folder_path: any
17126    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
17127     string).
17128    :type file_name: any
17129    """
17130
17131    _validation = {
17132        'type': {'required': True},
17133    }
17134
17135    _attribute_map = {
17136        'additional_properties': {'key': '', 'type': '{object}'},
17137        'type': {'key': 'type', 'type': 'str'},
17138        'folder_path': {'key': 'folderPath', 'type': 'object'},
17139        'file_name': {'key': 'fileName', 'type': 'object'},
17140    }
17141
17142    def __init__(
17143        self,
17144        *,
17145        additional_properties: Optional[Dict[str, Any]] = None,
17146        folder_path: Optional[Any] = None,
17147        file_name: Optional[Any] = None,
17148        **kwargs
17149    ):
17150        super(FtpServerLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
17151        self.type = 'FtpServerLocation'  # type: str
17152
17153
17154class GetMetadataActivity(ExecutionActivity):
17155    """Activity to get metadata of dataset.
17156
17157    All required parameters must be populated in order to send to Azure.
17158
17159    :param additional_properties: Unmatched properties from the message are deserialized to this
17160     collection.
17161    :type additional_properties: dict[str, any]
17162    :param name: Required. Activity name.
17163    :type name: str
17164    :param type: Required. Type of activity.Constant filled by server.
17165    :type type: str
17166    :param description: Activity description.
17167    :type description: str
17168    :param depends_on: Activity depends on condition.
17169    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
17170    :param user_properties: Activity user properties.
17171    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
17172    :param linked_service_name: Linked service reference.
17173    :type linked_service_name:
17174     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
17175    :param policy: Activity policy.
17176    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
17177    :param dataset: Required. GetMetadata activity dataset reference.
17178    :type dataset: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetReference
17179    :param field_list: Fields of metadata to get from dataset.
17180    :type field_list: list[any]
17181    :param store_settings: GetMetadata activity store settings.
17182    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreReadSettings
17183    :param format_settings: GetMetadata activity format settings.
17184    :type format_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.FormatReadSettings
17185    """
17186
17187    _validation = {
17188        'name': {'required': True},
17189        'type': {'required': True},
17190        'dataset': {'required': True},
17191    }
17192
17193    _attribute_map = {
17194        'additional_properties': {'key': '', 'type': '{object}'},
17195        'name': {'key': 'name', 'type': 'str'},
17196        'type': {'key': 'type', 'type': 'str'},
17197        'description': {'key': 'description', 'type': 'str'},
17198        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
17199        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
17200        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
17201        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
17202        'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'},
17203        'field_list': {'key': 'typeProperties.fieldList', 'type': '[object]'},
17204        'store_settings': {'key': 'typeProperties.storeSettings', 'type': 'StoreReadSettings'},
17205        'format_settings': {'key': 'typeProperties.formatSettings', 'type': 'FormatReadSettings'},
17206    }
17207
17208    def __init__(
17209        self,
17210        *,
17211        name: str,
17212        dataset: "DatasetReference",
17213        additional_properties: Optional[Dict[str, Any]] = None,
17214        description: Optional[str] = None,
17215        depends_on: Optional[List["ActivityDependency"]] = None,
17216        user_properties: Optional[List["UserProperty"]] = None,
17217        linked_service_name: Optional["LinkedServiceReference"] = None,
17218        policy: Optional["ActivityPolicy"] = None,
17219        field_list: Optional[List[Any]] = None,
17220        store_settings: Optional["StoreReadSettings"] = None,
17221        format_settings: Optional["FormatReadSettings"] = None,
17222        **kwargs
17223    ):
17224        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)
17225        self.type = 'GetMetadata'  # type: str
17226        self.dataset = dataset
17227        self.field_list = field_list
17228        self.store_settings = store_settings
17229        self.format_settings = format_settings
17230
17231
17232class GetSsisObjectMetadataRequest(msrest.serialization.Model):
17233    """The request payload of get SSIS object metadata.
17234
17235    :param metadata_path: Metadata path.
17236    :type metadata_path: str
17237    """
17238
17239    _attribute_map = {
17240        'metadata_path': {'key': 'metadataPath', 'type': 'str'},
17241    }
17242
17243    def __init__(
17244        self,
17245        *,
17246        metadata_path: Optional[str] = None,
17247        **kwargs
17248    ):
17249        super(GetSsisObjectMetadataRequest, self).__init__(**kwargs)
17250        self.metadata_path = metadata_path
17251
17252
17253class GitHubAccessTokenRequest(msrest.serialization.Model):
17254    """GitHubAccessTokenRequest.
17255
17256    All required parameters must be populated in order to send to Azure.
17257
17258    :param git_hub_client_id: Required. The GitHub Client Id.
17259    :type git_hub_client_id: str
17260    :param git_hub_access_code: Required. The GitHub Access code.
17261    :type git_hub_access_code: str
17262    :param git_hub_access_token_base_url: Required. The GitHub access token base URL.
17263    :type git_hub_access_token_base_url: str
17264    """
17265
17266    _validation = {
17267        'git_hub_client_id': {'required': True},
17268        'git_hub_access_code': {'required': True},
17269        'git_hub_access_token_base_url': {'required': True},
17270    }
17271
17272    _attribute_map = {
17273        'git_hub_client_id': {'key': 'gitHubClientId', 'type': 'str'},
17274        'git_hub_access_code': {'key': 'gitHubAccessCode', 'type': 'str'},
17275        'git_hub_access_token_base_url': {'key': 'gitHubAccessTokenBaseUrl', 'type': 'str'},
17276    }
17277
17278    def __init__(
17279        self,
17280        *,
17281        git_hub_client_id: str,
17282        git_hub_access_code: str,
17283        git_hub_access_token_base_url: str,
17284        **kwargs
17285    ):
17286        super(GitHubAccessTokenRequest, self).__init__(**kwargs)
17287        self.git_hub_client_id = git_hub_client_id
17288        self.git_hub_access_code = git_hub_access_code
17289        self.git_hub_access_token_base_url = git_hub_access_token_base_url
17290
17291
17292class GitHubAccessTokenResponse(msrest.serialization.Model):
17293    """GitHubAccessTokenResponse.
17294
17295    :param git_hub_access_token:
17296    :type git_hub_access_token: str
17297    """
17298
17299    _attribute_map = {
17300        'git_hub_access_token': {'key': 'gitHubAccessToken', 'type': 'str'},
17301    }
17302
17303    def __init__(
17304        self,
17305        *,
17306        git_hub_access_token: Optional[str] = None,
17307        **kwargs
17308    ):
17309        super(GitHubAccessTokenResponse, self).__init__(**kwargs)
17310        self.git_hub_access_token = git_hub_access_token
17311
17312
17313class GitHubClientSecret(msrest.serialization.Model):
17314    """Client secret information for factory's bring your own app repository configuration.
17315
17316    :param byoa_secret_akv_url: Bring your own app client secret AKV URL.
17317    :type byoa_secret_akv_url: str
17318    :param byoa_secret_name: Bring your own app client secret name in AKV.
17319    :type byoa_secret_name: str
17320    """
17321
17322    _attribute_map = {
17323        'byoa_secret_akv_url': {'key': 'byoaSecretAkvUrl', 'type': 'str'},
17324        'byoa_secret_name': {'key': 'byoaSecretName', 'type': 'str'},
17325    }
17326
17327    def __init__(
17328        self,
17329        *,
17330        byoa_secret_akv_url: Optional[str] = None,
17331        byoa_secret_name: Optional[str] = None,
17332        **kwargs
17333    ):
17334        super(GitHubClientSecret, self).__init__(**kwargs)
17335        self.byoa_secret_akv_url = byoa_secret_akv_url
17336        self.byoa_secret_name = byoa_secret_name
17337
17338
17339class GoogleAdWordsLinkedService(LinkedService):
17340    """Google AdWords service linked service.
17341
17342    All required parameters must be populated in order to send to Azure.
17343
17344    :param additional_properties: Unmatched properties from the message are deserialized to this
17345     collection.
17346    :type additional_properties: dict[str, any]
17347    :param type: Required. Type of linked service.Constant filled by server.
17348    :type type: str
17349    :param connect_via: The integration runtime reference.
17350    :type connect_via:
17351     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
17352    :param description: Linked service description.
17353    :type description: str
17354    :param parameters: Parameters for linked service.
17355    :type parameters: dict[str,
17356     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
17357    :param annotations: List of tags that can be used for describing the linked service.
17358    :type annotations: list[any]
17359    :param client_customer_id: Required. The Client customer ID of the AdWords account that you
17360     want to fetch report data for.
17361    :type client_customer_id: any
17362    :param developer_token: Required. The developer token associated with the manager account that
17363     you use to grant access to the AdWords API.
17364    :type developer_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
17365    :param authentication_type: Required. The OAuth 2.0 authentication mechanism used for
17366     authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values
17367     include: "ServiceAuthentication", "UserAuthentication".
17368    :type authentication_type: str or
17369     ~azure.synapse.artifacts.v2021_06_01_preview.models.GoogleAdWordsAuthenticationType
17370    :param refresh_token: The refresh token obtained from Google for authorizing access to AdWords
17371     for UserAuthentication.
17372    :type refresh_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
17373    :param client_id: The client id of the google application used to acquire the refresh token.
17374     Type: string (or Expression with resultType string).
17375    :type client_id: any
17376    :param client_secret: The client secret of the google application used to acquire the refresh
17377     token.
17378    :type client_secret: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
17379    :param email: The service account email ID that is used for ServiceAuthentication and can only
17380     be used on self-hosted IR.
17381    :type email: any
17382    :param key_file_path: The full path to the .p12 key file that is used to authenticate the
17383     service account email address and can only be used on self-hosted IR.
17384    :type key_file_path: any
17385    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
17386     verifying the server when connecting over SSL. This property can only be set when using SSL on
17387     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
17388    :type trusted_cert_path: any
17389    :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust
17390     store or from a specified PEM file. The default value is false.
17391    :type use_system_trust_store: any
17392    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
17393     encrypted using the integration runtime credential manager. Type: string (or Expression with
17394     resultType string).
17395    :type encrypted_credential: any
17396    """
17397
17398    _validation = {
17399        'type': {'required': True},
17400        'client_customer_id': {'required': True},
17401        'developer_token': {'required': True},
17402        'authentication_type': {'required': True},
17403    }
17404
17405    _attribute_map = {
17406        'additional_properties': {'key': '', 'type': '{object}'},
17407        'type': {'key': 'type', 'type': 'str'},
17408        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
17409        'description': {'key': 'description', 'type': 'str'},
17410        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
17411        'annotations': {'key': 'annotations', 'type': '[object]'},
17412        'client_customer_id': {'key': 'typeProperties.clientCustomerID', 'type': 'object'},
17413        'developer_token': {'key': 'typeProperties.developerToken', 'type': 'SecretBase'},
17414        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
17415        'refresh_token': {'key': 'typeProperties.refreshToken', 'type': 'SecretBase'},
17416        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
17417        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
17418        'email': {'key': 'typeProperties.email', 'type': 'object'},
17419        'key_file_path': {'key': 'typeProperties.keyFilePath', 'type': 'object'},
17420        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
17421        'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'},
17422        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
17423    }
17424
17425    def __init__(
17426        self,
17427        *,
17428        client_customer_id: Any,
17429        developer_token: "SecretBase",
17430        authentication_type: Union[str, "GoogleAdWordsAuthenticationType"],
17431        additional_properties: Optional[Dict[str, Any]] = None,
17432        connect_via: Optional["IntegrationRuntimeReference"] = None,
17433        description: Optional[str] = None,
17434        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
17435        annotations: Optional[List[Any]] = None,
17436        refresh_token: Optional["SecretBase"] = None,
17437        client_id: Optional[Any] = None,
17438        client_secret: Optional["SecretBase"] = None,
17439        email: Optional[Any] = None,
17440        key_file_path: Optional[Any] = None,
17441        trusted_cert_path: Optional[Any] = None,
17442        use_system_trust_store: Optional[Any] = None,
17443        encrypted_credential: Optional[Any] = None,
17444        **kwargs
17445    ):
17446        super(GoogleAdWordsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
17447        self.type = 'GoogleAdWords'  # type: str
17448        self.client_customer_id = client_customer_id
17449        self.developer_token = developer_token
17450        self.authentication_type = authentication_type
17451        self.refresh_token = refresh_token
17452        self.client_id = client_id
17453        self.client_secret = client_secret
17454        self.email = email
17455        self.key_file_path = key_file_path
17456        self.trusted_cert_path = trusted_cert_path
17457        self.use_system_trust_store = use_system_trust_store
17458        self.encrypted_credential = encrypted_credential
17459
17460
17461class GoogleAdWordsObjectDataset(Dataset):
17462    """Google AdWords service dataset.
17463
17464    All required parameters must be populated in order to send to Azure.
17465
17466    :param additional_properties: Unmatched properties from the message are deserialized to this
17467     collection.
17468    :type additional_properties: dict[str, any]
17469    :param type: Required. Type of dataset.Constant filled by server.
17470    :type type: str
17471    :param description: Dataset description.
17472    :type description: str
17473    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
17474     with resultType array), itemType: DatasetDataElement.
17475    :type structure: any
17476    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
17477     Expression with resultType array), itemType: DatasetSchemaDataElement.
17478    :type schema: any
17479    :param linked_service_name: Required. Linked service reference.
17480    :type linked_service_name:
17481     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
17482    :param parameters: Parameters for dataset.
17483    :type parameters: dict[str,
17484     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
17485    :param annotations: List of tags that can be used for describing the Dataset.
17486    :type annotations: list[any]
17487    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
17488     root level.
17489    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
17490    :param table_name: The table name. Type: string (or Expression with resultType string).
17491    :type table_name: any
17492    """
17493
17494    _validation = {
17495        'type': {'required': True},
17496        'linked_service_name': {'required': True},
17497    }
17498
17499    _attribute_map = {
17500        'additional_properties': {'key': '', 'type': '{object}'},
17501        'type': {'key': 'type', 'type': 'str'},
17502        'description': {'key': 'description', 'type': 'str'},
17503        'structure': {'key': 'structure', 'type': 'object'},
17504        'schema': {'key': 'schema', 'type': 'object'},
17505        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
17506        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
17507        'annotations': {'key': 'annotations', 'type': '[object]'},
17508        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
17509        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
17510    }
17511
17512    def __init__(
17513        self,
17514        *,
17515        linked_service_name: "LinkedServiceReference",
17516        additional_properties: Optional[Dict[str, Any]] = None,
17517        description: Optional[str] = None,
17518        structure: Optional[Any] = None,
17519        schema: Optional[Any] = None,
17520        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
17521        annotations: Optional[List[Any]] = None,
17522        folder: Optional["DatasetFolder"] = None,
17523        table_name: Optional[Any] = None,
17524        **kwargs
17525    ):
17526        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)
17527        self.type = 'GoogleAdWordsObject'  # type: str
17528        self.table_name = table_name
17529
17530
17531class GoogleAdWordsSource(TabularSource):
17532    """A copy activity Google AdWords service source.
17533
17534    All required parameters must be populated in order to send to Azure.
17535
17536    :param additional_properties: Unmatched properties from the message are deserialized to this
17537     collection.
17538    :type additional_properties: dict[str, any]
17539    :param type: Required. Copy source type.Constant filled by server.
17540    :type type: str
17541    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
17542     integer).
17543    :type source_retry_count: any
17544    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
17545     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
17546    :type source_retry_wait: any
17547    :param max_concurrent_connections: The maximum concurrent connection count for the source data
17548     store. Type: integer (or Expression with resultType integer).
17549    :type max_concurrent_connections: any
17550    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
17551     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
17552    :type query_timeout: any
17553    :param additional_columns: Specifies the additional columns to be added to source data. Type:
17554     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
17555    :type additional_columns: any
17556    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
17557     string).
17558    :type query: any
17559    """
17560
17561    _validation = {
17562        'type': {'required': True},
17563    }
17564
17565    _attribute_map = {
17566        'additional_properties': {'key': '', 'type': '{object}'},
17567        'type': {'key': 'type', 'type': 'str'},
17568        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
17569        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
17570        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
17571        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
17572        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
17573        'query': {'key': 'query', 'type': 'object'},
17574    }
17575
17576    def __init__(
17577        self,
17578        *,
17579        additional_properties: Optional[Dict[str, Any]] = None,
17580        source_retry_count: Optional[Any] = None,
17581        source_retry_wait: Optional[Any] = None,
17582        max_concurrent_connections: Optional[Any] = None,
17583        query_timeout: Optional[Any] = None,
17584        additional_columns: Optional[Any] = None,
17585        query: Optional[Any] = None,
17586        **kwargs
17587    ):
17588        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)
17589        self.type = 'GoogleAdWordsSource'  # type: str
17590        self.query = query
17591
17592
17593class GoogleBigQueryLinkedService(LinkedService):
17594    """Google BigQuery service linked service.
17595
17596    All required parameters must be populated in order to send to Azure.
17597
17598    :param additional_properties: Unmatched properties from the message are deserialized to this
17599     collection.
17600    :type additional_properties: dict[str, any]
17601    :param type: Required. Type of linked service.Constant filled by server.
17602    :type type: str
17603    :param connect_via: The integration runtime reference.
17604    :type connect_via:
17605     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
17606    :param description: Linked service description.
17607    :type description: str
17608    :param parameters: Parameters for linked service.
17609    :type parameters: dict[str,
17610     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
17611    :param annotations: List of tags that can be used for describing the linked service.
17612    :type annotations: list[any]
17613    :param project: Required. The default BigQuery project to query against.
17614    :type project: any
17615    :param additional_projects: A comma-separated list of public BigQuery projects to access.
17616    :type additional_projects: any
17617    :param request_google_drive_scope: Whether to request access to Google Drive. Allowing Google
17618     Drive access enables support for federated tables that combine BigQuery data with data from
17619     Google Drive. The default value is false.
17620    :type request_google_drive_scope: any
17621    :param authentication_type: Required. The OAuth 2.0 authentication mechanism used for
17622     authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values
17623     include: "ServiceAuthentication", "UserAuthentication".
17624    :type authentication_type: str or
17625     ~azure.synapse.artifacts.v2021_06_01_preview.models.GoogleBigQueryAuthenticationType
17626    :param refresh_token: The refresh token obtained from Google for authorizing access to BigQuery
17627     for UserAuthentication.
17628    :type refresh_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
17629    :param client_id: The client id of the google application used to acquire the refresh token.
17630     Type: string (or Expression with resultType string).
17631    :type client_id: any
17632    :param client_secret: The client secret of the google application used to acquire the refresh
17633     token.
17634    :type client_secret: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
17635    :param email: The service account email ID that is used for ServiceAuthentication and can only
17636     be used on self-hosted IR.
17637    :type email: any
17638    :param key_file_path: The full path to the .p12 key file that is used to authenticate the
17639     service account email address and can only be used on self-hosted IR.
17640    :type key_file_path: any
17641    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
17642     verifying the server when connecting over SSL. This property can only be set when using SSL on
17643     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
17644    :type trusted_cert_path: any
17645    :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust
17646     store or from a specified PEM file. The default value is false.
17647    :type use_system_trust_store: any
17648    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
17649     encrypted using the integration runtime credential manager. Type: string (or Expression with
17650     resultType string).
17651    :type encrypted_credential: any
17652    """
17653
17654    _validation = {
17655        'type': {'required': True},
17656        'project': {'required': True},
17657        'authentication_type': {'required': True},
17658    }
17659
17660    _attribute_map = {
17661        'additional_properties': {'key': '', 'type': '{object}'},
17662        'type': {'key': 'type', 'type': 'str'},
17663        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
17664        'description': {'key': 'description', 'type': 'str'},
17665        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
17666        'annotations': {'key': 'annotations', 'type': '[object]'},
17667        'project': {'key': 'typeProperties.project', 'type': 'object'},
17668        'additional_projects': {'key': 'typeProperties.additionalProjects', 'type': 'object'},
17669        'request_google_drive_scope': {'key': 'typeProperties.requestGoogleDriveScope', 'type': 'object'},
17670        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
17671        'refresh_token': {'key': 'typeProperties.refreshToken', 'type': 'SecretBase'},
17672        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
17673        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
17674        'email': {'key': 'typeProperties.email', 'type': 'object'},
17675        'key_file_path': {'key': 'typeProperties.keyFilePath', 'type': 'object'},
17676        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
17677        'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'},
17678        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
17679    }
17680
17681    def __init__(
17682        self,
17683        *,
17684        project: Any,
17685        authentication_type: Union[str, "GoogleBigQueryAuthenticationType"],
17686        additional_properties: Optional[Dict[str, Any]] = None,
17687        connect_via: Optional["IntegrationRuntimeReference"] = None,
17688        description: Optional[str] = None,
17689        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
17690        annotations: Optional[List[Any]] = None,
17691        additional_projects: Optional[Any] = None,
17692        request_google_drive_scope: Optional[Any] = None,
17693        refresh_token: Optional["SecretBase"] = None,
17694        client_id: Optional[Any] = None,
17695        client_secret: Optional["SecretBase"] = None,
17696        email: Optional[Any] = None,
17697        key_file_path: Optional[Any] = None,
17698        trusted_cert_path: Optional[Any] = None,
17699        use_system_trust_store: Optional[Any] = None,
17700        encrypted_credential: Optional[Any] = None,
17701        **kwargs
17702    ):
17703        super(GoogleBigQueryLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
17704        self.type = 'GoogleBigQuery'  # type: str
17705        self.project = project
17706        self.additional_projects = additional_projects
17707        self.request_google_drive_scope = request_google_drive_scope
17708        self.authentication_type = authentication_type
17709        self.refresh_token = refresh_token
17710        self.client_id = client_id
17711        self.client_secret = client_secret
17712        self.email = email
17713        self.key_file_path = key_file_path
17714        self.trusted_cert_path = trusted_cert_path
17715        self.use_system_trust_store = use_system_trust_store
17716        self.encrypted_credential = encrypted_credential
17717
17718
17719class GoogleBigQueryObjectDataset(Dataset):
17720    """Google BigQuery service dataset.
17721
17722    All required parameters must be populated in order to send to Azure.
17723
17724    :param additional_properties: Unmatched properties from the message are deserialized to this
17725     collection.
17726    :type additional_properties: dict[str, any]
17727    :param type: Required. Type of dataset.Constant filled by server.
17728    :type type: str
17729    :param description: Dataset description.
17730    :type description: str
17731    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
17732     with resultType array), itemType: DatasetDataElement.
17733    :type structure: any
17734    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
17735     Expression with resultType array), itemType: DatasetSchemaDataElement.
17736    :type schema: any
17737    :param linked_service_name: Required. Linked service reference.
17738    :type linked_service_name:
17739     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
17740    :param parameters: Parameters for dataset.
17741    :type parameters: dict[str,
17742     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
17743    :param annotations: List of tags that can be used for describing the Dataset.
17744    :type annotations: list[any]
17745    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
17746     root level.
17747    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
17748    :param table_name: This property will be retired. Please consider using database + table
17749     properties instead.
17750    :type table_name: any
17751    :param table: The table name of the Google BigQuery. Type: string (or Expression with
17752     resultType string).
17753    :type table: any
17754    :param dataset: The database name of the Google BigQuery. Type: string (or Expression with
17755     resultType string).
17756    :type dataset: any
17757    """
17758
17759    _validation = {
17760        'type': {'required': True},
17761        'linked_service_name': {'required': True},
17762    }
17763
17764    _attribute_map = {
17765        'additional_properties': {'key': '', 'type': '{object}'},
17766        'type': {'key': 'type', 'type': 'str'},
17767        'description': {'key': 'description', 'type': 'str'},
17768        'structure': {'key': 'structure', 'type': 'object'},
17769        'schema': {'key': 'schema', 'type': 'object'},
17770        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
17771        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
17772        'annotations': {'key': 'annotations', 'type': '[object]'},
17773        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
17774        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
17775        'table': {'key': 'typeProperties.table', 'type': 'object'},
17776        'dataset': {'key': 'typeProperties.dataset', 'type': 'object'},
17777    }
17778
17779    def __init__(
17780        self,
17781        *,
17782        linked_service_name: "LinkedServiceReference",
17783        additional_properties: Optional[Dict[str, Any]] = None,
17784        description: Optional[str] = None,
17785        structure: Optional[Any] = None,
17786        schema: Optional[Any] = None,
17787        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
17788        annotations: Optional[List[Any]] = None,
17789        folder: Optional["DatasetFolder"] = None,
17790        table_name: Optional[Any] = None,
17791        table: Optional[Any] = None,
17792        dataset: Optional[Any] = None,
17793        **kwargs
17794    ):
17795        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)
17796        self.type = 'GoogleBigQueryObject'  # type: str
17797        self.table_name = table_name
17798        self.table = table
17799        self.dataset = dataset
17800
17801
17802class GoogleBigQuerySource(TabularSource):
17803    """A copy activity Google BigQuery service source.
17804
17805    All required parameters must be populated in order to send to Azure.
17806
17807    :param additional_properties: Unmatched properties from the message are deserialized to this
17808     collection.
17809    :type additional_properties: dict[str, any]
17810    :param type: Required. Copy source type.Constant filled by server.
17811    :type type: str
17812    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
17813     integer).
17814    :type source_retry_count: any
17815    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
17816     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
17817    :type source_retry_wait: any
17818    :param max_concurrent_connections: The maximum concurrent connection count for the source data
17819     store. Type: integer (or Expression with resultType integer).
17820    :type max_concurrent_connections: any
17821    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
17822     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
17823    :type query_timeout: any
17824    :param additional_columns: Specifies the additional columns to be added to source data. Type:
17825     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
17826    :type additional_columns: any
17827    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
17828     string).
17829    :type query: any
17830    """
17831
17832    _validation = {
17833        'type': {'required': True},
17834    }
17835
17836    _attribute_map = {
17837        'additional_properties': {'key': '', 'type': '{object}'},
17838        'type': {'key': 'type', 'type': 'str'},
17839        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
17840        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
17841        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
17842        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
17843        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
17844        'query': {'key': 'query', 'type': 'object'},
17845    }
17846
17847    def __init__(
17848        self,
17849        *,
17850        additional_properties: Optional[Dict[str, Any]] = None,
17851        source_retry_count: Optional[Any] = None,
17852        source_retry_wait: Optional[Any] = None,
17853        max_concurrent_connections: Optional[Any] = None,
17854        query_timeout: Optional[Any] = None,
17855        additional_columns: Optional[Any] = None,
17856        query: Optional[Any] = None,
17857        **kwargs
17858    ):
17859        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)
17860        self.type = 'GoogleBigQuerySource'  # type: str
17861        self.query = query
17862
17863
17864class GoogleCloudStorageLinkedService(LinkedService):
17865    """Linked service for Google Cloud Storage.
17866
17867    All required parameters must be populated in order to send to Azure.
17868
17869    :param additional_properties: Unmatched properties from the message are deserialized to this
17870     collection.
17871    :type additional_properties: dict[str, any]
17872    :param type: Required. Type of linked service.Constant filled by server.
17873    :type type: str
17874    :param connect_via: The integration runtime reference.
17875    :type connect_via:
17876     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
17877    :param description: Linked service description.
17878    :type description: str
17879    :param parameters: Parameters for linked service.
17880    :type parameters: dict[str,
17881     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
17882    :param annotations: List of tags that can be used for describing the linked service.
17883    :type annotations: list[any]
17884    :param access_key_id: The access key identifier of the Google Cloud Storage Identity and Access
17885     Management (IAM) user. Type: string (or Expression with resultType string).
17886    :type access_key_id: any
17887    :param secret_access_key: The secret access key of the Google Cloud Storage Identity and Access
17888     Management (IAM) user.
17889    :type secret_access_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
17890    :param service_url: This value specifies the endpoint to access with the Google Cloud Storage
17891     Connector. This is an optional property; change it only if you want to try a different service
17892     endpoint or want to switch between https and http. Type: string (or Expression with resultType
17893     string).
17894    :type service_url: any
17895    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
17896     encrypted using the integration runtime credential manager. Type: string (or Expression with
17897     resultType string).
17898    :type encrypted_credential: any
17899    """
17900
17901    _validation = {
17902        'type': {'required': True},
17903    }
17904
17905    _attribute_map = {
17906        'additional_properties': {'key': '', 'type': '{object}'},
17907        'type': {'key': 'type', 'type': 'str'},
17908        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
17909        'description': {'key': 'description', 'type': 'str'},
17910        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
17911        'annotations': {'key': 'annotations', 'type': '[object]'},
17912        'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'},
17913        'secret_access_key': {'key': 'typeProperties.secretAccessKey', 'type': 'SecretBase'},
17914        'service_url': {'key': 'typeProperties.serviceUrl', 'type': 'object'},
17915        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
17916    }
17917
17918    def __init__(
17919        self,
17920        *,
17921        additional_properties: Optional[Dict[str, Any]] = None,
17922        connect_via: Optional["IntegrationRuntimeReference"] = None,
17923        description: Optional[str] = None,
17924        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
17925        annotations: Optional[List[Any]] = None,
17926        access_key_id: Optional[Any] = None,
17927        secret_access_key: Optional["SecretBase"] = None,
17928        service_url: Optional[Any] = None,
17929        encrypted_credential: Optional[Any] = None,
17930        **kwargs
17931    ):
17932        super(GoogleCloudStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
17933        self.type = 'GoogleCloudStorage'  # type: str
17934        self.access_key_id = access_key_id
17935        self.secret_access_key = secret_access_key
17936        self.service_url = service_url
17937        self.encrypted_credential = encrypted_credential
17938
17939
17940class GoogleCloudStorageLocation(DatasetLocation):
17941    """The location of Google Cloud Storage dataset.
17942
17943    All required parameters must be populated in order to send to Azure.
17944
17945    :param additional_properties: Unmatched properties from the message are deserialized to this
17946     collection.
17947    :type additional_properties: dict[str, any]
17948    :param type: Required. Type of dataset storage location.Constant filled by server.
17949    :type type: str
17950    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
17951     resultType string).
17952    :type folder_path: any
17953    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
17954     string).
17955    :type file_name: any
17956    :param bucket_name: Specify the bucketName of Google Cloud Storage. Type: string (or Expression
17957     with resultType string).
17958    :type bucket_name: any
17959    :param version: Specify the version of Google Cloud Storage. Type: string (or Expression with
17960     resultType string).
17961    :type version: any
17962    """
17963
17964    _validation = {
17965        'type': {'required': True},
17966    }
17967
17968    _attribute_map = {
17969        'additional_properties': {'key': '', 'type': '{object}'},
17970        'type': {'key': 'type', 'type': 'str'},
17971        'folder_path': {'key': 'folderPath', 'type': 'object'},
17972        'file_name': {'key': 'fileName', 'type': 'object'},
17973        'bucket_name': {'key': 'bucketName', 'type': 'object'},
17974        'version': {'key': 'version', 'type': 'object'},
17975    }
17976
17977    def __init__(
17978        self,
17979        *,
17980        additional_properties: Optional[Dict[str, Any]] = None,
17981        folder_path: Optional[Any] = None,
17982        file_name: Optional[Any] = None,
17983        bucket_name: Optional[Any] = None,
17984        version: Optional[Any] = None,
17985        **kwargs
17986    ):
17987        super(GoogleCloudStorageLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
17988        self.type = 'GoogleCloudStorageLocation'  # type: str
17989        self.bucket_name = bucket_name
17990        self.version = version
17991
17992
17993class GoogleCloudStorageReadSettings(StoreReadSettings):
17994    """Google Cloud Storage read settings.
17995
17996    All required parameters must be populated in order to send to Azure.
17997
17998    :param additional_properties: Unmatched properties from the message are deserialized to this
17999     collection.
18000    :type additional_properties: dict[str, any]
18001    :param type: Required. The read setting type.Constant filled by server.
18002    :type type: str
18003    :param max_concurrent_connections: The maximum concurrent connection count for the source data
18004     store. Type: integer (or Expression with resultType integer).
18005    :type max_concurrent_connections: any
18006    :param recursive: If true, files under the folder path will be read recursively. Default is
18007     true. Type: boolean (or Expression with resultType boolean).
18008    :type recursive: any
18009    :param wildcard_folder_path: Google Cloud Storage wildcardFolderPath. Type: string (or
18010     Expression with resultType string).
18011    :type wildcard_folder_path: any
18012    :param wildcard_file_name: Google Cloud Storage wildcardFileName. Type: string (or Expression
18013     with resultType string).
18014    :type wildcard_file_name: any
18015    :param prefix: The prefix filter for the Google Cloud Storage object name. Type: string (or
18016     Expression with resultType string).
18017    :type prefix: any
18018    :param file_list_path: Point to a text file that lists each file (relative path to the path
18019     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
18020     string).
18021    :type file_list_path: any
18022    :param enable_partition_discovery: Indicates whether to enable partition discovery.
18023    :type enable_partition_discovery: bool
18024    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
18025     string (or Expression with resultType string).
18026    :type partition_root_path: any
18027    :param delete_files_after_completion: Indicates whether the source files need to be deleted
18028     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
18029    :type delete_files_after_completion: any
18030    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
18031     Expression with resultType string).
18032    :type modified_datetime_start: any
18033    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
18034     with resultType string).
18035    :type modified_datetime_end: any
18036    """
18037
18038    _validation = {
18039        'type': {'required': True},
18040    }
18041
18042    _attribute_map = {
18043        'additional_properties': {'key': '', 'type': '{object}'},
18044        'type': {'key': 'type', 'type': 'str'},
18045        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
18046        'recursive': {'key': 'recursive', 'type': 'object'},
18047        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
18048        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
18049        'prefix': {'key': 'prefix', 'type': 'object'},
18050        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
18051        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
18052        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
18053        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
18054        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
18055        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
18056    }
18057
18058    def __init__(
18059        self,
18060        *,
18061        additional_properties: Optional[Dict[str, Any]] = None,
18062        max_concurrent_connections: Optional[Any] = None,
18063        recursive: Optional[Any] = None,
18064        wildcard_folder_path: Optional[Any] = None,
18065        wildcard_file_name: Optional[Any] = None,
18066        prefix: Optional[Any] = None,
18067        file_list_path: Optional[Any] = None,
18068        enable_partition_discovery: Optional[bool] = None,
18069        partition_root_path: Optional[Any] = None,
18070        delete_files_after_completion: Optional[Any] = None,
18071        modified_datetime_start: Optional[Any] = None,
18072        modified_datetime_end: Optional[Any] = None,
18073        **kwargs
18074    ):
18075        super(GoogleCloudStorageReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
18076        self.type = 'GoogleCloudStorageReadSettings'  # type: str
18077        self.recursive = recursive
18078        self.wildcard_folder_path = wildcard_folder_path
18079        self.wildcard_file_name = wildcard_file_name
18080        self.prefix = prefix
18081        self.file_list_path = file_list_path
18082        self.enable_partition_discovery = enable_partition_discovery
18083        self.partition_root_path = partition_root_path
18084        self.delete_files_after_completion = delete_files_after_completion
18085        self.modified_datetime_start = modified_datetime_start
18086        self.modified_datetime_end = modified_datetime_end
18087
18088
18089class GreenplumLinkedService(LinkedService):
18090    """Greenplum Database linked service.
18091
18092    All required parameters must be populated in order to send to Azure.
18093
18094    :param additional_properties: Unmatched properties from the message are deserialized to this
18095     collection.
18096    :type additional_properties: dict[str, any]
18097    :param type: Required. Type of linked service.Constant filled by server.
18098    :type type: str
18099    :param connect_via: The integration runtime reference.
18100    :type connect_via:
18101     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
18102    :param description: Linked service description.
18103    :type description: str
18104    :param parameters: Parameters for linked service.
18105    :type parameters: dict[str,
18106     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
18107    :param annotations: List of tags that can be used for describing the linked service.
18108    :type annotations: list[any]
18109    :param connection_string: An ODBC connection string. Type: string, SecureString or
18110     AzureKeyVaultSecretReference.
18111    :type connection_string: any
18112    :param pwd: The Azure key vault secret reference of password in connection string.
18113    :type pwd: ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
18114    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
18115     encrypted using the integration runtime credential manager. Type: string (or Expression with
18116     resultType string).
18117    :type encrypted_credential: any
18118    """
18119
18120    _validation = {
18121        'type': {'required': True},
18122    }
18123
18124    _attribute_map = {
18125        'additional_properties': {'key': '', 'type': '{object}'},
18126        'type': {'key': 'type', 'type': 'str'},
18127        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
18128        'description': {'key': 'description', 'type': 'str'},
18129        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
18130        'annotations': {'key': 'annotations', 'type': '[object]'},
18131        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
18132        'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'},
18133        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
18134    }
18135
18136    def __init__(
18137        self,
18138        *,
18139        additional_properties: Optional[Dict[str, Any]] = None,
18140        connect_via: Optional["IntegrationRuntimeReference"] = None,
18141        description: Optional[str] = None,
18142        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
18143        annotations: Optional[List[Any]] = None,
18144        connection_string: Optional[Any] = None,
18145        pwd: Optional["AzureKeyVaultSecretReference"] = None,
18146        encrypted_credential: Optional[Any] = None,
18147        **kwargs
18148    ):
18149        super(GreenplumLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
18150        self.type = 'Greenplum'  # type: str
18151        self.connection_string = connection_string
18152        self.pwd = pwd
18153        self.encrypted_credential = encrypted_credential
18154
18155
18156class GreenplumSource(TabularSource):
18157    """A copy activity Greenplum Database source.
18158
18159    All required parameters must be populated in order to send to Azure.
18160
18161    :param additional_properties: Unmatched properties from the message are deserialized to this
18162     collection.
18163    :type additional_properties: dict[str, any]
18164    :param type: Required. Copy source type.Constant filled by server.
18165    :type type: str
18166    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
18167     integer).
18168    :type source_retry_count: any
18169    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
18170     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
18171    :type source_retry_wait: any
18172    :param max_concurrent_connections: The maximum concurrent connection count for the source data
18173     store. Type: integer (or Expression with resultType integer).
18174    :type max_concurrent_connections: any
18175    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
18176     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
18177    :type query_timeout: any
18178    :param additional_columns: Specifies the additional columns to be added to source data. Type:
18179     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
18180    :type additional_columns: any
18181    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
18182     string).
18183    :type query: any
18184    """
18185
18186    _validation = {
18187        'type': {'required': True},
18188    }
18189
18190    _attribute_map = {
18191        'additional_properties': {'key': '', 'type': '{object}'},
18192        'type': {'key': 'type', 'type': 'str'},
18193        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
18194        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
18195        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
18196        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
18197        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
18198        'query': {'key': 'query', 'type': 'object'},
18199    }
18200
18201    def __init__(
18202        self,
18203        *,
18204        additional_properties: Optional[Dict[str, Any]] = None,
18205        source_retry_count: Optional[Any] = None,
18206        source_retry_wait: Optional[Any] = None,
18207        max_concurrent_connections: Optional[Any] = None,
18208        query_timeout: Optional[Any] = None,
18209        additional_columns: Optional[Any] = None,
18210        query: Optional[Any] = None,
18211        **kwargs
18212    ):
18213        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)
18214        self.type = 'GreenplumSource'  # type: str
18215        self.query = query
18216
18217
18218class GreenplumTableDataset(Dataset):
18219    """Greenplum Database dataset.
18220
18221    All required parameters must be populated in order to send to Azure.
18222
18223    :param additional_properties: Unmatched properties from the message are deserialized to this
18224     collection.
18225    :type additional_properties: dict[str, any]
18226    :param type: Required. Type of dataset.Constant filled by server.
18227    :type type: str
18228    :param description: Dataset description.
18229    :type description: str
18230    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
18231     with resultType array), itemType: DatasetDataElement.
18232    :type structure: any
18233    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
18234     Expression with resultType array), itemType: DatasetSchemaDataElement.
18235    :type schema: any
18236    :param linked_service_name: Required. Linked service reference.
18237    :type linked_service_name:
18238     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
18239    :param parameters: Parameters for dataset.
18240    :type parameters: dict[str,
18241     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
18242    :param annotations: List of tags that can be used for describing the Dataset.
18243    :type annotations: list[any]
18244    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
18245     root level.
18246    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
18247    :param table_name: This property will be retired. Please consider using schema + table
18248     properties instead.
18249    :type table_name: any
18250    :param table: The table name of Greenplum. Type: string (or Expression with resultType string).
18251    :type table: any
18252    :param schema_type_properties_schema: The schema name of Greenplum. Type: string (or Expression
18253     with resultType string).
18254    :type schema_type_properties_schema: any
18255    """
18256
18257    _validation = {
18258        'type': {'required': True},
18259        'linked_service_name': {'required': True},
18260    }
18261
18262    _attribute_map = {
18263        'additional_properties': {'key': '', 'type': '{object}'},
18264        'type': {'key': 'type', 'type': 'str'},
18265        'description': {'key': 'description', 'type': 'str'},
18266        'structure': {'key': 'structure', 'type': 'object'},
18267        'schema': {'key': 'schema', 'type': 'object'},
18268        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
18269        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
18270        'annotations': {'key': 'annotations', 'type': '[object]'},
18271        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
18272        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
18273        'table': {'key': 'typeProperties.table', 'type': 'object'},
18274        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
18275    }
18276
18277    def __init__(
18278        self,
18279        *,
18280        linked_service_name: "LinkedServiceReference",
18281        additional_properties: Optional[Dict[str, Any]] = None,
18282        description: Optional[str] = None,
18283        structure: Optional[Any] = None,
18284        schema: Optional[Any] = None,
18285        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
18286        annotations: Optional[List[Any]] = None,
18287        folder: Optional["DatasetFolder"] = None,
18288        table_name: Optional[Any] = None,
18289        table: Optional[Any] = None,
18290        schema_type_properties_schema: Optional[Any] = None,
18291        **kwargs
18292    ):
18293        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)
18294        self.type = 'GreenplumTable'  # type: str
18295        self.table_name = table_name
18296        self.table = table
18297        self.schema_type_properties_schema = schema_type_properties_schema
18298
18299
18300class HBaseLinkedService(LinkedService):
18301    """HBase server linked service.
18302
18303    All required parameters must be populated in order to send to Azure.
18304
18305    :param additional_properties: Unmatched properties from the message are deserialized to this
18306     collection.
18307    :type additional_properties: dict[str, any]
18308    :param type: Required. Type of linked service.Constant filled by server.
18309    :type type: str
18310    :param connect_via: The integration runtime reference.
18311    :type connect_via:
18312     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
18313    :param description: Linked service description.
18314    :type description: str
18315    :param parameters: Parameters for linked service.
18316    :type parameters: dict[str,
18317     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
18318    :param annotations: List of tags that can be used for describing the linked service.
18319    :type annotations: list[any]
18320    :param host: Required. The IP address or host name of the HBase server. (i.e. 192.168.222.160).
18321    :type host: any
18322    :param port: The TCP port that the HBase instance uses to listen for client connections. The
18323     default value is 9090.
18324    :type port: any
18325    :param http_path: The partial URL corresponding to the HBase server. (i.e.
18326     /gateway/sandbox/hbase/version).
18327    :type http_path: any
18328    :param authentication_type: Required. The authentication mechanism to use to connect to the
18329     HBase server. Possible values include: "Anonymous", "Basic".
18330    :type authentication_type: str or
18331     ~azure.synapse.artifacts.v2021_06_01_preview.models.HBaseAuthenticationType
18332    :param username: The user name used to connect to the HBase instance.
18333    :type username: any
18334    :param password: The password corresponding to the user name.
18335    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
18336    :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The
18337     default value is false.
18338    :type enable_ssl: any
18339    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
18340     verifying the server when connecting over SSL. This property can only be set when using SSL on
18341     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
18342    :type trusted_cert_path: any
18343    :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate
18344     name to match the host name of the server when connecting over SSL. The default value is false.
18345    :type allow_host_name_cn_mismatch: any
18346    :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from
18347     the server. The default value is false.
18348    :type allow_self_signed_server_cert: any
18349    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
18350     encrypted using the integration runtime credential manager. Type: string (or Expression with
18351     resultType string).
18352    :type encrypted_credential: any
18353    """
18354
18355    _validation = {
18356        'type': {'required': True},
18357        'host': {'required': True},
18358        'authentication_type': {'required': True},
18359    }
18360
18361    _attribute_map = {
18362        'additional_properties': {'key': '', 'type': '{object}'},
18363        'type': {'key': 'type', 'type': 'str'},
18364        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
18365        'description': {'key': 'description', 'type': 'str'},
18366        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
18367        'annotations': {'key': 'annotations', 'type': '[object]'},
18368        'host': {'key': 'typeProperties.host', 'type': 'object'},
18369        'port': {'key': 'typeProperties.port', 'type': 'object'},
18370        'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'},
18371        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
18372        'username': {'key': 'typeProperties.username', 'type': 'object'},
18373        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
18374        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
18375        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
18376        'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'},
18377        'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'},
18378        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
18379    }
18380
18381    def __init__(
18382        self,
18383        *,
18384        host: Any,
18385        authentication_type: Union[str, "HBaseAuthenticationType"],
18386        additional_properties: Optional[Dict[str, Any]] = None,
18387        connect_via: Optional["IntegrationRuntimeReference"] = None,
18388        description: Optional[str] = None,
18389        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
18390        annotations: Optional[List[Any]] = None,
18391        port: Optional[Any] = None,
18392        http_path: Optional[Any] = None,
18393        username: Optional[Any] = None,
18394        password: Optional["SecretBase"] = None,
18395        enable_ssl: Optional[Any] = None,
18396        trusted_cert_path: Optional[Any] = None,
18397        allow_host_name_cn_mismatch: Optional[Any] = None,
18398        allow_self_signed_server_cert: Optional[Any] = None,
18399        encrypted_credential: Optional[Any] = None,
18400        **kwargs
18401    ):
18402        super(HBaseLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
18403        self.type = 'HBase'  # type: str
18404        self.host = host
18405        self.port = port
18406        self.http_path = http_path
18407        self.authentication_type = authentication_type
18408        self.username = username
18409        self.password = password
18410        self.enable_ssl = enable_ssl
18411        self.trusted_cert_path = trusted_cert_path
18412        self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch
18413        self.allow_self_signed_server_cert = allow_self_signed_server_cert
18414        self.encrypted_credential = encrypted_credential
18415
18416
18417class HBaseObjectDataset(Dataset):
18418    """HBase server dataset.
18419
18420    All required parameters must be populated in order to send to Azure.
18421
18422    :param additional_properties: Unmatched properties from the message are deserialized to this
18423     collection.
18424    :type additional_properties: dict[str, any]
18425    :param type: Required. Type of dataset.Constant filled by server.
18426    :type type: str
18427    :param description: Dataset description.
18428    :type description: str
18429    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
18430     with resultType array), itemType: DatasetDataElement.
18431    :type structure: any
18432    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
18433     Expression with resultType array), itemType: DatasetSchemaDataElement.
18434    :type schema: any
18435    :param linked_service_name: Required. Linked service reference.
18436    :type linked_service_name:
18437     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
18438    :param parameters: Parameters for dataset.
18439    :type parameters: dict[str,
18440     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
18441    :param annotations: List of tags that can be used for describing the Dataset.
18442    :type annotations: list[any]
18443    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
18444     root level.
18445    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
18446    :param table_name: The table name. Type: string (or Expression with resultType string).
18447    :type table_name: any
18448    """
18449
18450    _validation = {
18451        'type': {'required': True},
18452        'linked_service_name': {'required': True},
18453    }
18454
18455    _attribute_map = {
18456        'additional_properties': {'key': '', 'type': '{object}'},
18457        'type': {'key': 'type', 'type': 'str'},
18458        'description': {'key': 'description', 'type': 'str'},
18459        'structure': {'key': 'structure', 'type': 'object'},
18460        'schema': {'key': 'schema', 'type': 'object'},
18461        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
18462        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
18463        'annotations': {'key': 'annotations', 'type': '[object]'},
18464        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
18465        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
18466    }
18467
18468    def __init__(
18469        self,
18470        *,
18471        linked_service_name: "LinkedServiceReference",
18472        additional_properties: Optional[Dict[str, Any]] = None,
18473        description: Optional[str] = None,
18474        structure: Optional[Any] = None,
18475        schema: Optional[Any] = None,
18476        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
18477        annotations: Optional[List[Any]] = None,
18478        folder: Optional["DatasetFolder"] = None,
18479        table_name: Optional[Any] = None,
18480        **kwargs
18481    ):
18482        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)
18483        self.type = 'HBaseObject'  # type: str
18484        self.table_name = table_name
18485
18486
18487class HBaseSource(TabularSource):
18488    """A copy activity HBase server source.
18489
18490    All required parameters must be populated in order to send to Azure.
18491
18492    :param additional_properties: Unmatched properties from the message are deserialized to this
18493     collection.
18494    :type additional_properties: dict[str, any]
18495    :param type: Required. Copy source type.Constant filled by server.
18496    :type type: str
18497    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
18498     integer).
18499    :type source_retry_count: any
18500    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
18501     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
18502    :type source_retry_wait: any
18503    :param max_concurrent_connections: The maximum concurrent connection count for the source data
18504     store. Type: integer (or Expression with resultType integer).
18505    :type max_concurrent_connections: any
18506    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
18507     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
18508    :type query_timeout: any
18509    :param additional_columns: Specifies the additional columns to be added to source data. Type:
18510     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
18511    :type additional_columns: any
18512    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
18513     string).
18514    :type query: any
18515    """
18516
18517    _validation = {
18518        'type': {'required': True},
18519    }
18520
18521    _attribute_map = {
18522        'additional_properties': {'key': '', 'type': '{object}'},
18523        'type': {'key': 'type', 'type': 'str'},
18524        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
18525        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
18526        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
18527        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
18528        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
18529        'query': {'key': 'query', 'type': 'object'},
18530    }
18531
18532    def __init__(
18533        self,
18534        *,
18535        additional_properties: Optional[Dict[str, Any]] = None,
18536        source_retry_count: Optional[Any] = None,
18537        source_retry_wait: Optional[Any] = None,
18538        max_concurrent_connections: Optional[Any] = None,
18539        query_timeout: Optional[Any] = None,
18540        additional_columns: Optional[Any] = None,
18541        query: Optional[Any] = None,
18542        **kwargs
18543    ):
18544        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)
18545        self.type = 'HBaseSource'  # type: str
18546        self.query = query
18547
18548
18549class HdfsLinkedService(LinkedService):
18550    """Hadoop Distributed File System (HDFS) linked service.
18551
18552    All required parameters must be populated in order to send to Azure.
18553
18554    :param additional_properties: Unmatched properties from the message are deserialized to this
18555     collection.
18556    :type additional_properties: dict[str, any]
18557    :param type: Required. Type of linked service.Constant filled by server.
18558    :type type: str
18559    :param connect_via: The integration runtime reference.
18560    :type connect_via:
18561     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
18562    :param description: Linked service description.
18563    :type description: str
18564    :param parameters: Parameters for linked service.
18565    :type parameters: dict[str,
18566     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
18567    :param annotations: List of tags that can be used for describing the linked service.
18568    :type annotations: list[any]
18569    :param url: Required. The URL of the HDFS service endpoint, e.g.
18570     http://myhostname:50070/webhdfs/v1 . Type: string (or Expression with resultType string).
18571    :type url: any
18572    :param authentication_type: Type of authentication used to connect to the HDFS. Possible values
18573     are: Anonymous and Windows. Type: string (or Expression with resultType string).
18574    :type authentication_type: any
18575    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
18576     encrypted using the integration runtime credential manager. Type: string (or Expression with
18577     resultType string).
18578    :type encrypted_credential: any
18579    :param user_name: User name for Windows authentication. Type: string (or Expression with
18580     resultType string).
18581    :type user_name: any
18582    :param password: Password for Windows authentication.
18583    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
18584    """
18585
18586    _validation = {
18587        'type': {'required': True},
18588        'url': {'required': True},
18589    }
18590
18591    _attribute_map = {
18592        'additional_properties': {'key': '', 'type': '{object}'},
18593        'type': {'key': 'type', 'type': 'str'},
18594        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
18595        'description': {'key': 'description', 'type': 'str'},
18596        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
18597        'annotations': {'key': 'annotations', 'type': '[object]'},
18598        'url': {'key': 'typeProperties.url', 'type': 'object'},
18599        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'},
18600        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
18601        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
18602        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
18603    }
18604
18605    def __init__(
18606        self,
18607        *,
18608        url: Any,
18609        additional_properties: Optional[Dict[str, Any]] = None,
18610        connect_via: Optional["IntegrationRuntimeReference"] = None,
18611        description: Optional[str] = None,
18612        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
18613        annotations: Optional[List[Any]] = None,
18614        authentication_type: Optional[Any] = None,
18615        encrypted_credential: Optional[Any] = None,
18616        user_name: Optional[Any] = None,
18617        password: Optional["SecretBase"] = None,
18618        **kwargs
18619    ):
18620        super(HdfsLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
18621        self.type = 'Hdfs'  # type: str
18622        self.url = url
18623        self.authentication_type = authentication_type
18624        self.encrypted_credential = encrypted_credential
18625        self.user_name = user_name
18626        self.password = password
18627
18628
18629class HdfsLocation(DatasetLocation):
18630    """The location of HDFS.
18631
18632    All required parameters must be populated in order to send to Azure.
18633
18634    :param additional_properties: Unmatched properties from the message are deserialized to this
18635     collection.
18636    :type additional_properties: dict[str, any]
18637    :param type: Required. Type of dataset storage location.Constant filled by server.
18638    :type type: str
18639    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
18640     resultType string).
18641    :type folder_path: any
18642    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
18643     string).
18644    :type file_name: any
18645    """
18646
18647    _validation = {
18648        'type': {'required': True},
18649    }
18650
18651    _attribute_map = {
18652        'additional_properties': {'key': '', 'type': '{object}'},
18653        'type': {'key': 'type', 'type': 'str'},
18654        'folder_path': {'key': 'folderPath', 'type': 'object'},
18655        'file_name': {'key': 'fileName', 'type': 'object'},
18656    }
18657
18658    def __init__(
18659        self,
18660        *,
18661        additional_properties: Optional[Dict[str, Any]] = None,
18662        folder_path: Optional[Any] = None,
18663        file_name: Optional[Any] = None,
18664        **kwargs
18665    ):
18666        super(HdfsLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
18667        self.type = 'HdfsLocation'  # type: str
18668
18669
18670class HdfsReadSettings(StoreReadSettings):
18671    """HDFS read settings.
18672
18673    All required parameters must be populated in order to send to Azure.
18674
18675    :param additional_properties: Unmatched properties from the message are deserialized to this
18676     collection.
18677    :type additional_properties: dict[str, any]
18678    :param type: Required. The read setting type.Constant filled by server.
18679    :type type: str
18680    :param max_concurrent_connections: The maximum concurrent connection count for the source data
18681     store. Type: integer (or Expression with resultType integer).
18682    :type max_concurrent_connections: any
18683    :param recursive: If true, files under the folder path will be read recursively. Default is
18684     true. Type: boolean (or Expression with resultType boolean).
18685    :type recursive: any
18686    :param wildcard_folder_path: HDFS wildcardFolderPath. Type: string (or Expression with
18687     resultType string).
18688    :type wildcard_folder_path: any
18689    :param wildcard_file_name: HDFS wildcardFileName. Type: string (or Expression with resultType
18690     string).
18691    :type wildcard_file_name: any
18692    :param file_list_path: Point to a text file that lists each file (relative path to the path
18693     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
18694     string).
18695    :type file_list_path: any
18696    :param enable_partition_discovery: Indicates whether to enable partition discovery.
18697    :type enable_partition_discovery: bool
18698    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
18699     string (or Expression with resultType string).
18700    :type partition_root_path: any
18701    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
18702     Expression with resultType string).
18703    :type modified_datetime_start: any
18704    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
18705     with resultType string).
18706    :type modified_datetime_end: any
18707    :param distcp_settings: Specifies Distcp-related settings.
18708    :type distcp_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.DistcpSettings
18709    :param delete_files_after_completion: Indicates whether the source files need to be deleted
18710     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
18711    :type delete_files_after_completion: any
18712    """
18713
18714    _validation = {
18715        'type': {'required': True},
18716    }
18717
18718    _attribute_map = {
18719        'additional_properties': {'key': '', 'type': '{object}'},
18720        'type': {'key': 'type', 'type': 'str'},
18721        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
18722        'recursive': {'key': 'recursive', 'type': 'object'},
18723        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
18724        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
18725        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
18726        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
18727        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
18728        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
18729        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
18730        'distcp_settings': {'key': 'distcpSettings', 'type': 'DistcpSettings'},
18731        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
18732    }
18733
18734    def __init__(
18735        self,
18736        *,
18737        additional_properties: Optional[Dict[str, Any]] = None,
18738        max_concurrent_connections: Optional[Any] = None,
18739        recursive: Optional[Any] = None,
18740        wildcard_folder_path: Optional[Any] = None,
18741        wildcard_file_name: Optional[Any] = None,
18742        file_list_path: Optional[Any] = None,
18743        enable_partition_discovery: Optional[bool] = None,
18744        partition_root_path: Optional[Any] = None,
18745        modified_datetime_start: Optional[Any] = None,
18746        modified_datetime_end: Optional[Any] = None,
18747        distcp_settings: Optional["DistcpSettings"] = None,
18748        delete_files_after_completion: Optional[Any] = None,
18749        **kwargs
18750    ):
18751        super(HdfsReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
18752        self.type = 'HdfsReadSettings'  # type: str
18753        self.recursive = recursive
18754        self.wildcard_folder_path = wildcard_folder_path
18755        self.wildcard_file_name = wildcard_file_name
18756        self.file_list_path = file_list_path
18757        self.enable_partition_discovery = enable_partition_discovery
18758        self.partition_root_path = partition_root_path
18759        self.modified_datetime_start = modified_datetime_start
18760        self.modified_datetime_end = modified_datetime_end
18761        self.distcp_settings = distcp_settings
18762        self.delete_files_after_completion = delete_files_after_completion
18763
18764
18765class HdfsSource(CopySource):
18766    """A copy activity HDFS source.
18767
18768    All required parameters must be populated in order to send to Azure.
18769
18770    :param additional_properties: Unmatched properties from the message are deserialized to this
18771     collection.
18772    :type additional_properties: dict[str, any]
18773    :param type: Required. Copy source type.Constant filled by server.
18774    :type type: str
18775    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
18776     integer).
18777    :type source_retry_count: any
18778    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
18779     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
18780    :type source_retry_wait: any
18781    :param max_concurrent_connections: The maximum concurrent connection count for the source data
18782     store. Type: integer (or Expression with resultType integer).
18783    :type max_concurrent_connections: any
18784    :param recursive: If true, files under the folder path will be read recursively. Default is
18785     true. Type: boolean (or Expression with resultType boolean).
18786    :type recursive: any
18787    :param distcp_settings: Specifies Distcp-related settings.
18788    :type distcp_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.DistcpSettings
18789    """
18790
18791    _validation = {
18792        'type': {'required': True},
18793    }
18794
18795    _attribute_map = {
18796        'additional_properties': {'key': '', 'type': '{object}'},
18797        'type': {'key': 'type', 'type': 'str'},
18798        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
18799        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
18800        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
18801        'recursive': {'key': 'recursive', 'type': 'object'},
18802        'distcp_settings': {'key': 'distcpSettings', 'type': 'DistcpSettings'},
18803    }
18804
18805    def __init__(
18806        self,
18807        *,
18808        additional_properties: Optional[Dict[str, Any]] = None,
18809        source_retry_count: Optional[Any] = None,
18810        source_retry_wait: Optional[Any] = None,
18811        max_concurrent_connections: Optional[Any] = None,
18812        recursive: Optional[Any] = None,
18813        distcp_settings: Optional["DistcpSettings"] = None,
18814        **kwargs
18815    ):
18816        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)
18817        self.type = 'HdfsSource'  # type: str
18818        self.recursive = recursive
18819        self.distcp_settings = distcp_settings
18820
18821
18822class HDInsightHiveActivity(ExecutionActivity):
18823    """HDInsight Hive activity type.
18824
18825    All required parameters must be populated in order to send to Azure.
18826
18827    :param additional_properties: Unmatched properties from the message are deserialized to this
18828     collection.
18829    :type additional_properties: dict[str, any]
18830    :param name: Required. Activity name.
18831    :type name: str
18832    :param type: Required. Type of activity.Constant filled by server.
18833    :type type: str
18834    :param description: Activity description.
18835    :type description: str
18836    :param depends_on: Activity depends on condition.
18837    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
18838    :param user_properties: Activity user properties.
18839    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
18840    :param linked_service_name: Linked service reference.
18841    :type linked_service_name:
18842     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
18843    :param policy: Activity policy.
18844    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
18845    :param storage_linked_services: Storage linked service references.
18846    :type storage_linked_services:
18847     list[~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference]
18848    :param arguments: User specified arguments to HDInsightActivity.
18849    :type arguments: list[any]
18850    :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure".
18851    :type get_debug_info: str or
18852     ~azure.synapse.artifacts.v2021_06_01_preview.models.HDInsightActivityDebugInfoOption
18853    :param script_path: Script path. Type: string (or Expression with resultType string).
18854    :type script_path: any
18855    :param script_linked_service: Script linked service reference.
18856    :type script_linked_service:
18857     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
18858    :param defines: Allows user to specify defines for Hive job request.
18859    :type defines: dict[str, any]
18860    :param variables: User specified arguments under hivevar namespace.
18861    :type variables: list[any]
18862    :param query_timeout: Query timeout value (in minutes).  Effective when the HDInsight cluster
18863     is with ESP (Enterprise Security Package).
18864    :type query_timeout: int
18865    """
18866
18867    _validation = {
18868        'name': {'required': True},
18869        'type': {'required': True},
18870    }
18871
18872    _attribute_map = {
18873        'additional_properties': {'key': '', 'type': '{object}'},
18874        'name': {'key': 'name', 'type': 'str'},
18875        'type': {'key': 'type', 'type': 'str'},
18876        'description': {'key': 'description', 'type': 'str'},
18877        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
18878        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
18879        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
18880        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
18881        'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'},
18882        'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'},
18883        'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'},
18884        'script_path': {'key': 'typeProperties.scriptPath', 'type': 'object'},
18885        'script_linked_service': {'key': 'typeProperties.scriptLinkedService', 'type': 'LinkedServiceReference'},
18886        'defines': {'key': 'typeProperties.defines', 'type': '{object}'},
18887        'variables': {'key': 'typeProperties.variables', 'type': '[object]'},
18888        'query_timeout': {'key': 'typeProperties.queryTimeout', 'type': 'int'},
18889    }
18890
18891    def __init__(
18892        self,
18893        *,
18894        name: str,
18895        additional_properties: Optional[Dict[str, Any]] = None,
18896        description: Optional[str] = None,
18897        depends_on: Optional[List["ActivityDependency"]] = None,
18898        user_properties: Optional[List["UserProperty"]] = None,
18899        linked_service_name: Optional["LinkedServiceReference"] = None,
18900        policy: Optional["ActivityPolicy"] = None,
18901        storage_linked_services: Optional[List["LinkedServiceReference"]] = None,
18902        arguments: Optional[List[Any]] = None,
18903        get_debug_info: Optional[Union[str, "HDInsightActivityDebugInfoOption"]] = None,
18904        script_path: Optional[Any] = None,
18905        script_linked_service: Optional["LinkedServiceReference"] = None,
18906        defines: Optional[Dict[str, Any]] = None,
18907        variables: Optional[List[Any]] = None,
18908        query_timeout: Optional[int] = None,
18909        **kwargs
18910    ):
18911        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)
18912        self.type = 'HDInsightHive'  # type: str
18913        self.storage_linked_services = storage_linked_services
18914        self.arguments = arguments
18915        self.get_debug_info = get_debug_info
18916        self.script_path = script_path
18917        self.script_linked_service = script_linked_service
18918        self.defines = defines
18919        self.variables = variables
18920        self.query_timeout = query_timeout
18921
18922
18923class HDInsightLinkedService(LinkedService):
18924    """HDInsight linked service.
18925
18926    All required parameters must be populated in order to send to Azure.
18927
18928    :param additional_properties: Unmatched properties from the message are deserialized to this
18929     collection.
18930    :type additional_properties: dict[str, any]
18931    :param type: Required. Type of linked service.Constant filled by server.
18932    :type type: str
18933    :param connect_via: The integration runtime reference.
18934    :type connect_via:
18935     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
18936    :param description: Linked service description.
18937    :type description: str
18938    :param parameters: Parameters for linked service.
18939    :type parameters: dict[str,
18940     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
18941    :param annotations: List of tags that can be used for describing the linked service.
18942    :type annotations: list[any]
18943    :param cluster_uri: Required. HDInsight cluster URI. Type: string (or Expression with
18944     resultType string).
18945    :type cluster_uri: any
18946    :param user_name: HDInsight cluster user name. Type: string (or Expression with resultType
18947     string).
18948    :type user_name: any
18949    :param password: HDInsight cluster password.
18950    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
18951    :param linked_service_name: The Azure Storage linked service reference.
18952    :type linked_service_name:
18953     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
18954    :param hcatalog_linked_service_name: A reference to the Azure SQL linked service that points to
18955     the HCatalog database.
18956    :type hcatalog_linked_service_name:
18957     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
18958    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
18959     encrypted using the integration runtime credential manager. Type: string (or Expression with
18960     resultType string).
18961    :type encrypted_credential: any
18962    :param is_esp_enabled: Specify if the HDInsight is created with ESP (Enterprise Security
18963     Package). Type: Boolean.
18964    :type is_esp_enabled: any
18965    :param file_system: Specify the FileSystem if the main storage for the HDInsight is ADLS Gen2.
18966     Type: string (or Expression with resultType string).
18967    :type file_system: any
18968    """
18969
18970    _validation = {
18971        'type': {'required': True},
18972        'cluster_uri': {'required': True},
18973    }
18974
18975    _attribute_map = {
18976        'additional_properties': {'key': '', 'type': '{object}'},
18977        'type': {'key': 'type', 'type': 'str'},
18978        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
18979        'description': {'key': 'description', 'type': 'str'},
18980        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
18981        'annotations': {'key': 'annotations', 'type': '[object]'},
18982        'cluster_uri': {'key': 'typeProperties.clusterUri', 'type': 'object'},
18983        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
18984        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
18985        'linked_service_name': {'key': 'typeProperties.linkedServiceName', 'type': 'LinkedServiceReference'},
18986        'hcatalog_linked_service_name': {'key': 'typeProperties.hcatalogLinkedServiceName', 'type': 'LinkedServiceReference'},
18987        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
18988        'is_esp_enabled': {'key': 'typeProperties.isEspEnabled', 'type': 'object'},
18989        'file_system': {'key': 'typeProperties.fileSystem', 'type': 'object'},
18990    }
18991
18992    def __init__(
18993        self,
18994        *,
18995        cluster_uri: Any,
18996        additional_properties: Optional[Dict[str, Any]] = None,
18997        connect_via: Optional["IntegrationRuntimeReference"] = None,
18998        description: Optional[str] = None,
18999        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
19000        annotations: Optional[List[Any]] = None,
19001        user_name: Optional[Any] = None,
19002        password: Optional["SecretBase"] = None,
19003        linked_service_name: Optional["LinkedServiceReference"] = None,
19004        hcatalog_linked_service_name: Optional["LinkedServiceReference"] = None,
19005        encrypted_credential: Optional[Any] = None,
19006        is_esp_enabled: Optional[Any] = None,
19007        file_system: Optional[Any] = None,
19008        **kwargs
19009    ):
19010        super(HDInsightLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
19011        self.type = 'HDInsight'  # type: str
19012        self.cluster_uri = cluster_uri
19013        self.user_name = user_name
19014        self.password = password
19015        self.linked_service_name = linked_service_name
19016        self.hcatalog_linked_service_name = hcatalog_linked_service_name
19017        self.encrypted_credential = encrypted_credential
19018        self.is_esp_enabled = is_esp_enabled
19019        self.file_system = file_system
19020
19021
19022class HDInsightMapReduceActivity(ExecutionActivity):
19023    """HDInsight MapReduce activity type.
19024
19025    All required parameters must be populated in order to send to Azure.
19026
19027    :param additional_properties: Unmatched properties from the message are deserialized to this
19028     collection.
19029    :type additional_properties: dict[str, any]
19030    :param name: Required. Activity name.
19031    :type name: str
19032    :param type: Required. Type of activity.Constant filled by server.
19033    :type type: str
19034    :param description: Activity description.
19035    :type description: str
19036    :param depends_on: Activity depends on condition.
19037    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
19038    :param user_properties: Activity user properties.
19039    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
19040    :param linked_service_name: Linked service reference.
19041    :type linked_service_name:
19042     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
19043    :param policy: Activity policy.
19044    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
19045    :param storage_linked_services: Storage linked service references.
19046    :type storage_linked_services:
19047     list[~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference]
19048    :param arguments: User specified arguments to HDInsightActivity.
19049    :type arguments: list[any]
19050    :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure".
19051    :type get_debug_info: str or
19052     ~azure.synapse.artifacts.v2021_06_01_preview.models.HDInsightActivityDebugInfoOption
19053    :param class_name: Required. Class name. Type: string (or Expression with resultType string).
19054    :type class_name: any
19055    :param jar_file_path: Required. Jar path. Type: string (or Expression with resultType string).
19056    :type jar_file_path: any
19057    :param jar_linked_service: Jar linked service reference.
19058    :type jar_linked_service:
19059     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
19060    :param jar_libs: Jar libs.
19061    :type jar_libs: list[any]
19062    :param defines: Allows user to specify defines for the MapReduce job request.
19063    :type defines: dict[str, any]
19064    """
19065
19066    _validation = {
19067        'name': {'required': True},
19068        'type': {'required': True},
19069        'class_name': {'required': True},
19070        'jar_file_path': {'required': True},
19071    }
19072
19073    _attribute_map = {
19074        'additional_properties': {'key': '', 'type': '{object}'},
19075        'name': {'key': 'name', 'type': 'str'},
19076        'type': {'key': 'type', 'type': 'str'},
19077        'description': {'key': 'description', 'type': 'str'},
19078        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
19079        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
19080        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
19081        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
19082        'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'},
19083        'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'},
19084        'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'},
19085        'class_name': {'key': 'typeProperties.className', 'type': 'object'},
19086        'jar_file_path': {'key': 'typeProperties.jarFilePath', 'type': 'object'},
19087        'jar_linked_service': {'key': 'typeProperties.jarLinkedService', 'type': 'LinkedServiceReference'},
19088        'jar_libs': {'key': 'typeProperties.jarLibs', 'type': '[object]'},
19089        'defines': {'key': 'typeProperties.defines', 'type': '{object}'},
19090    }
19091
19092    def __init__(
19093        self,
19094        *,
19095        name: str,
19096        class_name: Any,
19097        jar_file_path: Any,
19098        additional_properties: Optional[Dict[str, Any]] = None,
19099        description: Optional[str] = None,
19100        depends_on: Optional[List["ActivityDependency"]] = None,
19101        user_properties: Optional[List["UserProperty"]] = None,
19102        linked_service_name: Optional["LinkedServiceReference"] = None,
19103        policy: Optional["ActivityPolicy"] = None,
19104        storage_linked_services: Optional[List["LinkedServiceReference"]] = None,
19105        arguments: Optional[List[Any]] = None,
19106        get_debug_info: Optional[Union[str, "HDInsightActivityDebugInfoOption"]] = None,
19107        jar_linked_service: Optional["LinkedServiceReference"] = None,
19108        jar_libs: Optional[List[Any]] = None,
19109        defines: Optional[Dict[str, Any]] = None,
19110        **kwargs
19111    ):
19112        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)
19113        self.type = 'HDInsightMapReduce'  # type: str
19114        self.storage_linked_services = storage_linked_services
19115        self.arguments = arguments
19116        self.get_debug_info = get_debug_info
19117        self.class_name = class_name
19118        self.jar_file_path = jar_file_path
19119        self.jar_linked_service = jar_linked_service
19120        self.jar_libs = jar_libs
19121        self.defines = defines
19122
19123
19124class HDInsightOnDemandLinkedService(LinkedService):
19125    """HDInsight ondemand linked service.
19126
19127    All required parameters must be populated in order to send to Azure.
19128
19129    :param additional_properties: Unmatched properties from the message are deserialized to this
19130     collection.
19131    :type additional_properties: dict[str, any]
19132    :param type: Required. Type of linked service.Constant filled by server.
19133    :type type: str
19134    :param connect_via: The integration runtime reference.
19135    :type connect_via:
19136     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
19137    :param description: Linked service description.
19138    :type description: str
19139    :param parameters: Parameters for linked service.
19140    :type parameters: dict[str,
19141     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
19142    :param annotations: List of tags that can be used for describing the linked service.
19143    :type annotations: list[any]
19144    :param cluster_size: Required. Number of worker/data nodes in the cluster. Suggestion value: 4.
19145     Type: string (or Expression with resultType string).
19146    :type cluster_size: any
19147    :param time_to_live: Required. The allowed idle time for the on-demand HDInsight cluster.
19148     Specifies how long the on-demand HDInsight cluster stays alive after completion of an activity
19149     run if there are no other active jobs in the cluster. The minimum value is 5 mins. Type: string
19150     (or Expression with resultType string).
19151    :type time_to_live: any
19152    :param version: Required. Version of the HDInsight cluster.  Type: string (or Expression with
19153     resultType string).
19154    :type version: any
19155    :param linked_service_name: Required. Azure Storage linked service to be used by the on-demand
19156     cluster for storing and processing data.
19157    :type linked_service_name:
19158     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
19159    :param host_subscription_id: Required. The customer’s subscription to host the cluster. Type:
19160     string (or Expression with resultType string).
19161    :type host_subscription_id: any
19162    :param service_principal_id: The service principal id for the hostSubscriptionId. Type: string
19163     (or Expression with resultType string).
19164    :type service_principal_id: any
19165    :param service_principal_key: The key for the service principal id.
19166    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
19167    :param tenant: Required. The Tenant id/name to which the service principal belongs. Type:
19168     string (or Expression with resultType string).
19169    :type tenant: any
19170    :param cluster_resource_group: Required. The resource group where the cluster belongs. Type:
19171     string (or Expression with resultType string).
19172    :type cluster_resource_group: any
19173    :param cluster_name_prefix: The prefix of cluster name, postfix will be distinct with
19174     timestamp. Type: string (or Expression with resultType string).
19175    :type cluster_name_prefix: any
19176    :param cluster_user_name: The username to access the cluster. Type: string (or Expression with
19177     resultType string).
19178    :type cluster_user_name: any
19179    :param cluster_password: The password to access the cluster.
19180    :type cluster_password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
19181    :param cluster_ssh_user_name: The username to SSH remotely connect to cluster’s node (for
19182     Linux). Type: string (or Expression with resultType string).
19183    :type cluster_ssh_user_name: any
19184    :param cluster_ssh_password: The password to SSH remotely connect cluster’s node (for Linux).
19185    :type cluster_ssh_password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
19186    :param additional_linked_service_names: Specifies additional storage accounts for the HDInsight
19187     linked service so that the Data Factory service can register them on your behalf.
19188    :type additional_linked_service_names:
19189     list[~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference]
19190    :param hcatalog_linked_service_name: The name of Azure SQL linked service that point to the
19191     HCatalog database. The on-demand HDInsight cluster is created by using the Azure SQL database
19192     as the metastore.
19193    :type hcatalog_linked_service_name:
19194     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
19195    :param cluster_type: The cluster type. Type: string (or Expression with resultType string).
19196    :type cluster_type: any
19197    :param spark_version: The version of spark if the cluster type is 'spark'. Type: string (or
19198     Expression with resultType string).
19199    :type spark_version: any
19200    :param core_configuration: Specifies the core configuration parameters (as in core-site.xml)
19201     for the HDInsight cluster to be created.
19202    :type core_configuration: any
19203    :param h_base_configuration: Specifies the HBase configuration parameters (hbase-site.xml) for
19204     the HDInsight cluster.
19205    :type h_base_configuration: any
19206    :param hdfs_configuration: Specifies the HDFS configuration parameters (hdfs-site.xml) for the
19207     HDInsight cluster.
19208    :type hdfs_configuration: any
19209    :param hive_configuration: Specifies the hive configuration parameters (hive-site.xml) for the
19210     HDInsight cluster.
19211    :type hive_configuration: any
19212    :param map_reduce_configuration: Specifies the MapReduce configuration parameters
19213     (mapred-site.xml) for the HDInsight cluster.
19214    :type map_reduce_configuration: any
19215    :param oozie_configuration: Specifies the Oozie configuration parameters (oozie-site.xml) for
19216     the HDInsight cluster.
19217    :type oozie_configuration: any
19218    :param storm_configuration: Specifies the Storm configuration parameters (storm-site.xml) for
19219     the HDInsight cluster.
19220    :type storm_configuration: any
19221    :param yarn_configuration: Specifies the Yarn configuration parameters (yarn-site.xml) for the
19222     HDInsight cluster.
19223    :type yarn_configuration: any
19224    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
19225     encrypted using the integration runtime credential manager. Type: string (or Expression with
19226     resultType string).
19227    :type encrypted_credential: any
19228    :param head_node_size: Specifies the size of the head node for the HDInsight cluster.
19229    :type head_node_size: any
19230    :param data_node_size: Specifies the size of the data node for the HDInsight cluster.
19231    :type data_node_size: any
19232    :param zookeeper_node_size: Specifies the size of the Zoo Keeper node for the HDInsight
19233     cluster.
19234    :type zookeeper_node_size: any
19235    :param script_actions: Custom script actions to run on HDI ondemand cluster once it's up.
19236     Please refer to
19237     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.
19238    :type script_actions: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ScriptAction]
19239    :param virtual_network_id: The ARM resource ID for the vNet to which the cluster should be
19240     joined after creation. Type: string (or Expression with resultType string).
19241    :type virtual_network_id: any
19242    :param subnet_name: The ARM resource ID for the subnet in the vNet. If virtualNetworkId was
19243     specified, then this property is required. Type: string (or Expression with resultType string).
19244    :type subnet_name: any
19245    """
19246
19247    _validation = {
19248        'type': {'required': True},
19249        'cluster_size': {'required': True},
19250        'time_to_live': {'required': True},
19251        'version': {'required': True},
19252        'linked_service_name': {'required': True},
19253        'host_subscription_id': {'required': True},
19254        'tenant': {'required': True},
19255        'cluster_resource_group': {'required': True},
19256    }
19257
19258    _attribute_map = {
19259        'additional_properties': {'key': '', 'type': '{object}'},
19260        'type': {'key': 'type', 'type': 'str'},
19261        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
19262        'description': {'key': 'description', 'type': 'str'},
19263        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
19264        'annotations': {'key': 'annotations', 'type': '[object]'},
19265        'cluster_size': {'key': 'typeProperties.clusterSize', 'type': 'object'},
19266        'time_to_live': {'key': 'typeProperties.timeToLive', 'type': 'object'},
19267        'version': {'key': 'typeProperties.version', 'type': 'object'},
19268        'linked_service_name': {'key': 'typeProperties.linkedServiceName', 'type': 'LinkedServiceReference'},
19269        'host_subscription_id': {'key': 'typeProperties.hostSubscriptionId', 'type': 'object'},
19270        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
19271        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
19272        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
19273        'cluster_resource_group': {'key': 'typeProperties.clusterResourceGroup', 'type': 'object'},
19274        'cluster_name_prefix': {'key': 'typeProperties.clusterNamePrefix', 'type': 'object'},
19275        'cluster_user_name': {'key': 'typeProperties.clusterUserName', 'type': 'object'},
19276        'cluster_password': {'key': 'typeProperties.clusterPassword', 'type': 'SecretBase'},
19277        'cluster_ssh_user_name': {'key': 'typeProperties.clusterSshUserName', 'type': 'object'},
19278        'cluster_ssh_password': {'key': 'typeProperties.clusterSshPassword', 'type': 'SecretBase'},
19279        'additional_linked_service_names': {'key': 'typeProperties.additionalLinkedServiceNames', 'type': '[LinkedServiceReference]'},
19280        'hcatalog_linked_service_name': {'key': 'typeProperties.hcatalogLinkedServiceName', 'type': 'LinkedServiceReference'},
19281        'cluster_type': {'key': 'typeProperties.clusterType', 'type': 'object'},
19282        'spark_version': {'key': 'typeProperties.sparkVersion', 'type': 'object'},
19283        'core_configuration': {'key': 'typeProperties.coreConfiguration', 'type': 'object'},
19284        'h_base_configuration': {'key': 'typeProperties.hBaseConfiguration', 'type': 'object'},
19285        'hdfs_configuration': {'key': 'typeProperties.hdfsConfiguration', 'type': 'object'},
19286        'hive_configuration': {'key': 'typeProperties.hiveConfiguration', 'type': 'object'},
19287        'map_reduce_configuration': {'key': 'typeProperties.mapReduceConfiguration', 'type': 'object'},
19288        'oozie_configuration': {'key': 'typeProperties.oozieConfiguration', 'type': 'object'},
19289        'storm_configuration': {'key': 'typeProperties.stormConfiguration', 'type': 'object'},
19290        'yarn_configuration': {'key': 'typeProperties.yarnConfiguration', 'type': 'object'},
19291        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
19292        'head_node_size': {'key': 'typeProperties.headNodeSize', 'type': 'object'},
19293        'data_node_size': {'key': 'typeProperties.dataNodeSize', 'type': 'object'},
19294        'zookeeper_node_size': {'key': 'typeProperties.zookeeperNodeSize', 'type': 'object'},
19295        'script_actions': {'key': 'typeProperties.scriptActions', 'type': '[ScriptAction]'},
19296        'virtual_network_id': {'key': 'typeProperties.virtualNetworkId', 'type': 'object'},
19297        'subnet_name': {'key': 'typeProperties.subnetName', 'type': 'object'},
19298    }
19299
19300    def __init__(
19301        self,
19302        *,
19303        cluster_size: Any,
19304        time_to_live: Any,
19305        version: Any,
19306        linked_service_name: "LinkedServiceReference",
19307        host_subscription_id: Any,
19308        tenant: Any,
19309        cluster_resource_group: Any,
19310        additional_properties: Optional[Dict[str, Any]] = None,
19311        connect_via: Optional["IntegrationRuntimeReference"] = None,
19312        description: Optional[str] = None,
19313        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
19314        annotations: Optional[List[Any]] = None,
19315        service_principal_id: Optional[Any] = None,
19316        service_principal_key: Optional["SecretBase"] = None,
19317        cluster_name_prefix: Optional[Any] = None,
19318        cluster_user_name: Optional[Any] = None,
19319        cluster_password: Optional["SecretBase"] = None,
19320        cluster_ssh_user_name: Optional[Any] = None,
19321        cluster_ssh_password: Optional["SecretBase"] = None,
19322        additional_linked_service_names: Optional[List["LinkedServiceReference"]] = None,
19323        hcatalog_linked_service_name: Optional["LinkedServiceReference"] = None,
19324        cluster_type: Optional[Any] = None,
19325        spark_version: Optional[Any] = None,
19326        core_configuration: Optional[Any] = None,
19327        h_base_configuration: Optional[Any] = None,
19328        hdfs_configuration: Optional[Any] = None,
19329        hive_configuration: Optional[Any] = None,
19330        map_reduce_configuration: Optional[Any] = None,
19331        oozie_configuration: Optional[Any] = None,
19332        storm_configuration: Optional[Any] = None,
19333        yarn_configuration: Optional[Any] = None,
19334        encrypted_credential: Optional[Any] = None,
19335        head_node_size: Optional[Any] = None,
19336        data_node_size: Optional[Any] = None,
19337        zookeeper_node_size: Optional[Any] = None,
19338        script_actions: Optional[List["ScriptAction"]] = None,
19339        virtual_network_id: Optional[Any] = None,
19340        subnet_name: Optional[Any] = None,
19341        **kwargs
19342    ):
19343        super(HDInsightOnDemandLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
19344        self.type = 'HDInsightOnDemand'  # type: str
19345        self.cluster_size = cluster_size
19346        self.time_to_live = time_to_live
19347        self.version = version
19348        self.linked_service_name = linked_service_name
19349        self.host_subscription_id = host_subscription_id
19350        self.service_principal_id = service_principal_id
19351        self.service_principal_key = service_principal_key
19352        self.tenant = tenant
19353        self.cluster_resource_group = cluster_resource_group
19354        self.cluster_name_prefix = cluster_name_prefix
19355        self.cluster_user_name = cluster_user_name
19356        self.cluster_password = cluster_password
19357        self.cluster_ssh_user_name = cluster_ssh_user_name
19358        self.cluster_ssh_password = cluster_ssh_password
19359        self.additional_linked_service_names = additional_linked_service_names
19360        self.hcatalog_linked_service_name = hcatalog_linked_service_name
19361        self.cluster_type = cluster_type
19362        self.spark_version = spark_version
19363        self.core_configuration = core_configuration
19364        self.h_base_configuration = h_base_configuration
19365        self.hdfs_configuration = hdfs_configuration
19366        self.hive_configuration = hive_configuration
19367        self.map_reduce_configuration = map_reduce_configuration
19368        self.oozie_configuration = oozie_configuration
19369        self.storm_configuration = storm_configuration
19370        self.yarn_configuration = yarn_configuration
19371        self.encrypted_credential = encrypted_credential
19372        self.head_node_size = head_node_size
19373        self.data_node_size = data_node_size
19374        self.zookeeper_node_size = zookeeper_node_size
19375        self.script_actions = script_actions
19376        self.virtual_network_id = virtual_network_id
19377        self.subnet_name = subnet_name
19378
19379
19380class HDInsightPigActivity(ExecutionActivity):
19381    """HDInsight Pig activity type.
19382
19383    All required parameters must be populated in order to send to Azure.
19384
19385    :param additional_properties: Unmatched properties from the message are deserialized to this
19386     collection.
19387    :type additional_properties: dict[str, any]
19388    :param name: Required. Activity name.
19389    :type name: str
19390    :param type: Required. Type of activity.Constant filled by server.
19391    :type type: str
19392    :param description: Activity description.
19393    :type description: str
19394    :param depends_on: Activity depends on condition.
19395    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
19396    :param user_properties: Activity user properties.
19397    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
19398    :param linked_service_name: Linked service reference.
19399    :type linked_service_name:
19400     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
19401    :param policy: Activity policy.
19402    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
19403    :param storage_linked_services: Storage linked service references.
19404    :type storage_linked_services:
19405     list[~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference]
19406    :param arguments: User specified arguments to HDInsightActivity. Type: array (or Expression
19407     with resultType array).
19408    :type arguments: any
19409    :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure".
19410    :type get_debug_info: str or
19411     ~azure.synapse.artifacts.v2021_06_01_preview.models.HDInsightActivityDebugInfoOption
19412    :param script_path: Script path. Type: string (or Expression with resultType string).
19413    :type script_path: any
19414    :param script_linked_service: Script linked service reference.
19415    :type script_linked_service:
19416     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
19417    :param defines: Allows user to specify defines for Pig job request.
19418    :type defines: dict[str, any]
19419    """
19420
19421    _validation = {
19422        'name': {'required': True},
19423        'type': {'required': True},
19424    }
19425
19426    _attribute_map = {
19427        'additional_properties': {'key': '', 'type': '{object}'},
19428        'name': {'key': 'name', 'type': 'str'},
19429        'type': {'key': 'type', 'type': 'str'},
19430        'description': {'key': 'description', 'type': 'str'},
19431        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
19432        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
19433        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
19434        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
19435        'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'},
19436        'arguments': {'key': 'typeProperties.arguments', 'type': 'object'},
19437        'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'},
19438        'script_path': {'key': 'typeProperties.scriptPath', 'type': 'object'},
19439        'script_linked_service': {'key': 'typeProperties.scriptLinkedService', 'type': 'LinkedServiceReference'},
19440        'defines': {'key': 'typeProperties.defines', 'type': '{object}'},
19441    }
19442
19443    def __init__(
19444        self,
19445        *,
19446        name: str,
19447        additional_properties: Optional[Dict[str, Any]] = None,
19448        description: Optional[str] = None,
19449        depends_on: Optional[List["ActivityDependency"]] = None,
19450        user_properties: Optional[List["UserProperty"]] = None,
19451        linked_service_name: Optional["LinkedServiceReference"] = None,
19452        policy: Optional["ActivityPolicy"] = None,
19453        storage_linked_services: Optional[List["LinkedServiceReference"]] = None,
19454        arguments: Optional[Any] = None,
19455        get_debug_info: Optional[Union[str, "HDInsightActivityDebugInfoOption"]] = None,
19456        script_path: Optional[Any] = None,
19457        script_linked_service: Optional["LinkedServiceReference"] = None,
19458        defines: Optional[Dict[str, Any]] = None,
19459        **kwargs
19460    ):
19461        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)
19462        self.type = 'HDInsightPig'  # type: str
19463        self.storage_linked_services = storage_linked_services
19464        self.arguments = arguments
19465        self.get_debug_info = get_debug_info
19466        self.script_path = script_path
19467        self.script_linked_service = script_linked_service
19468        self.defines = defines
19469
19470
19471class HDInsightSparkActivity(ExecutionActivity):
19472    """HDInsight Spark activity.
19473
19474    All required parameters must be populated in order to send to Azure.
19475
19476    :param additional_properties: Unmatched properties from the message are deserialized to this
19477     collection.
19478    :type additional_properties: dict[str, any]
19479    :param name: Required. Activity name.
19480    :type name: str
19481    :param type: Required. Type of activity.Constant filled by server.
19482    :type type: str
19483    :param description: Activity description.
19484    :type description: str
19485    :param depends_on: Activity depends on condition.
19486    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
19487    :param user_properties: Activity user properties.
19488    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
19489    :param linked_service_name: Linked service reference.
19490    :type linked_service_name:
19491     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
19492    :param policy: Activity policy.
19493    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
19494    :param root_path: Required. The root path in 'sparkJobLinkedService' for all the job’s files.
19495     Type: string (or Expression with resultType string).
19496    :type root_path: any
19497    :param entry_file_path: Required. The relative path to the root folder of the code/package to
19498     be executed. Type: string (or Expression with resultType string).
19499    :type entry_file_path: any
19500    :param arguments: The user-specified arguments to HDInsightSparkActivity.
19501    :type arguments: list[any]
19502    :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure".
19503    :type get_debug_info: str or
19504     ~azure.synapse.artifacts.v2021_06_01_preview.models.HDInsightActivityDebugInfoOption
19505    :param spark_job_linked_service: The storage linked service for uploading the entry file and
19506     dependencies, and for receiving logs.
19507    :type spark_job_linked_service:
19508     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
19509    :param class_name: The application's Java/Spark main class.
19510    :type class_name: str
19511    :param proxy_user: The user to impersonate that will execute the job. Type: string (or
19512     Expression with resultType string).
19513    :type proxy_user: any
19514    :param spark_config: Spark configuration property.
19515    :type spark_config: dict[str, any]
19516    """
19517
19518    _validation = {
19519        'name': {'required': True},
19520        'type': {'required': True},
19521        'root_path': {'required': True},
19522        'entry_file_path': {'required': True},
19523    }
19524
19525    _attribute_map = {
19526        'additional_properties': {'key': '', 'type': '{object}'},
19527        'name': {'key': 'name', 'type': 'str'},
19528        'type': {'key': 'type', 'type': 'str'},
19529        'description': {'key': 'description', 'type': 'str'},
19530        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
19531        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
19532        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
19533        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
19534        'root_path': {'key': 'typeProperties.rootPath', 'type': 'object'},
19535        'entry_file_path': {'key': 'typeProperties.entryFilePath', 'type': 'object'},
19536        'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'},
19537        'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'},
19538        'spark_job_linked_service': {'key': 'typeProperties.sparkJobLinkedService', 'type': 'LinkedServiceReference'},
19539        'class_name': {'key': 'typeProperties.className', 'type': 'str'},
19540        'proxy_user': {'key': 'typeProperties.proxyUser', 'type': 'object'},
19541        'spark_config': {'key': 'typeProperties.sparkConfig', 'type': '{object}'},
19542    }
19543
19544    def __init__(
19545        self,
19546        *,
19547        name: str,
19548        root_path: Any,
19549        entry_file_path: Any,
19550        additional_properties: Optional[Dict[str, Any]] = None,
19551        description: Optional[str] = None,
19552        depends_on: Optional[List["ActivityDependency"]] = None,
19553        user_properties: Optional[List["UserProperty"]] = None,
19554        linked_service_name: Optional["LinkedServiceReference"] = None,
19555        policy: Optional["ActivityPolicy"] = None,
19556        arguments: Optional[List[Any]] = None,
19557        get_debug_info: Optional[Union[str, "HDInsightActivityDebugInfoOption"]] = None,
19558        spark_job_linked_service: Optional["LinkedServiceReference"] = None,
19559        class_name: Optional[str] = None,
19560        proxy_user: Optional[Any] = None,
19561        spark_config: Optional[Dict[str, Any]] = None,
19562        **kwargs
19563    ):
19564        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)
19565        self.type = 'HDInsightSpark'  # type: str
19566        self.root_path = root_path
19567        self.entry_file_path = entry_file_path
19568        self.arguments = arguments
19569        self.get_debug_info = get_debug_info
19570        self.spark_job_linked_service = spark_job_linked_service
19571        self.class_name = class_name
19572        self.proxy_user = proxy_user
19573        self.spark_config = spark_config
19574
19575
19576class HDInsightStreamingActivity(ExecutionActivity):
19577    """HDInsight streaming activity type.
19578
19579    All required parameters must be populated in order to send to Azure.
19580
19581    :param additional_properties: Unmatched properties from the message are deserialized to this
19582     collection.
19583    :type additional_properties: dict[str, any]
19584    :param name: Required. Activity name.
19585    :type name: str
19586    :param type: Required. Type of activity.Constant filled by server.
19587    :type type: str
19588    :param description: Activity description.
19589    :type description: str
19590    :param depends_on: Activity depends on condition.
19591    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
19592    :param user_properties: Activity user properties.
19593    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
19594    :param linked_service_name: Linked service reference.
19595    :type linked_service_name:
19596     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
19597    :param policy: Activity policy.
19598    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
19599    :param storage_linked_services: Storage linked service references.
19600    :type storage_linked_services:
19601     list[~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference]
19602    :param arguments: User specified arguments to HDInsightActivity.
19603    :type arguments: list[any]
19604    :param get_debug_info: Debug info option. Possible values include: "None", "Always", "Failure".
19605    :type get_debug_info: str or
19606     ~azure.synapse.artifacts.v2021_06_01_preview.models.HDInsightActivityDebugInfoOption
19607    :param mapper: Required. Mapper executable name. Type: string (or Expression with resultType
19608     string).
19609    :type mapper: any
19610    :param reducer: Required. Reducer executable name. Type: string (or Expression with resultType
19611     string).
19612    :type reducer: any
19613    :param input: Required. Input blob path. Type: string (or Expression with resultType string).
19614    :type input: any
19615    :param output: Required. Output blob path. Type: string (or Expression with resultType string).
19616    :type output: any
19617    :param file_paths: Required. Paths to streaming job files. Can be directories.
19618    :type file_paths: list[any]
19619    :param file_linked_service: Linked service reference where the files are located.
19620    :type file_linked_service:
19621     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
19622    :param combiner: Combiner executable name. Type: string (or Expression with resultType string).
19623    :type combiner: any
19624    :param command_environment: Command line environment values.
19625    :type command_environment: list[any]
19626    :param defines: Allows user to specify defines for streaming job request.
19627    :type defines: dict[str, any]
19628    """
19629
19630    _validation = {
19631        'name': {'required': True},
19632        'type': {'required': True},
19633        'mapper': {'required': True},
19634        'reducer': {'required': True},
19635        'input': {'required': True},
19636        'output': {'required': True},
19637        'file_paths': {'required': True},
19638    }
19639
19640    _attribute_map = {
19641        'additional_properties': {'key': '', 'type': '{object}'},
19642        'name': {'key': 'name', 'type': 'str'},
19643        'type': {'key': 'type', 'type': 'str'},
19644        'description': {'key': 'description', 'type': 'str'},
19645        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
19646        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
19647        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
19648        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
19649        'storage_linked_services': {'key': 'typeProperties.storageLinkedServices', 'type': '[LinkedServiceReference]'},
19650        'arguments': {'key': 'typeProperties.arguments', 'type': '[object]'},
19651        'get_debug_info': {'key': 'typeProperties.getDebugInfo', 'type': 'str'},
19652        'mapper': {'key': 'typeProperties.mapper', 'type': 'object'},
19653        'reducer': {'key': 'typeProperties.reducer', 'type': 'object'},
19654        'input': {'key': 'typeProperties.input', 'type': 'object'},
19655        'output': {'key': 'typeProperties.output', 'type': 'object'},
19656        'file_paths': {'key': 'typeProperties.filePaths', 'type': '[object]'},
19657        'file_linked_service': {'key': 'typeProperties.fileLinkedService', 'type': 'LinkedServiceReference'},
19658        'combiner': {'key': 'typeProperties.combiner', 'type': 'object'},
19659        'command_environment': {'key': 'typeProperties.commandEnvironment', 'type': '[object]'},
19660        'defines': {'key': 'typeProperties.defines', 'type': '{object}'},
19661    }
19662
19663    def __init__(
19664        self,
19665        *,
19666        name: str,
19667        mapper: Any,
19668        reducer: Any,
19669        input: Any,
19670        output: Any,
19671        file_paths: List[Any],
19672        additional_properties: Optional[Dict[str, Any]] = None,
19673        description: Optional[str] = None,
19674        depends_on: Optional[List["ActivityDependency"]] = None,
19675        user_properties: Optional[List["UserProperty"]] = None,
19676        linked_service_name: Optional["LinkedServiceReference"] = None,
19677        policy: Optional["ActivityPolicy"] = None,
19678        storage_linked_services: Optional[List["LinkedServiceReference"]] = None,
19679        arguments: Optional[List[Any]] = None,
19680        get_debug_info: Optional[Union[str, "HDInsightActivityDebugInfoOption"]] = None,
19681        file_linked_service: Optional["LinkedServiceReference"] = None,
19682        combiner: Optional[Any] = None,
19683        command_environment: Optional[List[Any]] = None,
19684        defines: Optional[Dict[str, Any]] = None,
19685        **kwargs
19686    ):
19687        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)
19688        self.type = 'HDInsightStreaming'  # type: str
19689        self.storage_linked_services = storage_linked_services
19690        self.arguments = arguments
19691        self.get_debug_info = get_debug_info
19692        self.mapper = mapper
19693        self.reducer = reducer
19694        self.input = input
19695        self.output = output
19696        self.file_paths = file_paths
19697        self.file_linked_service = file_linked_service
19698        self.combiner = combiner
19699        self.command_environment = command_environment
19700        self.defines = defines
19701
19702
19703class HiveLinkedService(LinkedService):
19704    """Hive Server linked service.
19705
19706    All required parameters must be populated in order to send to Azure.
19707
19708    :param additional_properties: Unmatched properties from the message are deserialized to this
19709     collection.
19710    :type additional_properties: dict[str, any]
19711    :param type: Required. Type of linked service.Constant filled by server.
19712    :type type: str
19713    :param connect_via: The integration runtime reference.
19714    :type connect_via:
19715     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
19716    :param description: Linked service description.
19717    :type description: str
19718    :param parameters: Parameters for linked service.
19719    :type parameters: dict[str,
19720     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
19721    :param annotations: List of tags that can be used for describing the linked service.
19722    :type annotations: list[any]
19723    :param host: Required. IP address or host name of the Hive server, separated by ';' for
19724     multiple hosts (only when serviceDiscoveryMode is enable).
19725    :type host: any
19726    :param port: The TCP port that the Hive server uses to listen for client connections.
19727    :type port: any
19728    :param server_type: The type of Hive server. Possible values include: "HiveServer1",
19729     "HiveServer2", "HiveThriftServer".
19730    :type server_type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.HiveServerType
19731    :param thrift_transport_protocol: The transport protocol to use in the Thrift layer. Possible
19732     values include: "Binary", "SASL", "HTTP ".
19733    :type thrift_transport_protocol: str or
19734     ~azure.synapse.artifacts.v2021_06_01_preview.models.HiveThriftTransportProtocol
19735    :param authentication_type: Required. The authentication method used to access the Hive server.
19736     Possible values include: "Anonymous", "Username", "UsernameAndPassword",
19737     "WindowsAzureHDInsightService".
19738    :type authentication_type: str or
19739     ~azure.synapse.artifacts.v2021_06_01_preview.models.HiveAuthenticationType
19740    :param service_discovery_mode: true to indicate using the ZooKeeper service, false not.
19741    :type service_discovery_mode: any
19742    :param zoo_keeper_name_space: The namespace on ZooKeeper under which Hive Server 2 nodes are
19743     added.
19744    :type zoo_keeper_name_space: any
19745    :param use_native_query: Specifies whether the driver uses native HiveQL queries,or converts
19746     them into an equivalent form in HiveQL.
19747    :type use_native_query: any
19748    :param username: The user name that you use to access Hive Server.
19749    :type username: any
19750    :param password: The password corresponding to the user name that you provided in the Username
19751     field.
19752    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
19753    :param http_path: The partial URL corresponding to the Hive server.
19754    :type http_path: any
19755    :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The
19756     default value is false.
19757    :type enable_ssl: any
19758    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
19759     verifying the server when connecting over SSL. This property can only be set when using SSL on
19760     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
19761    :type trusted_cert_path: any
19762    :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust
19763     store or from a specified PEM file. The default value is false.
19764    :type use_system_trust_store: any
19765    :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate
19766     name to match the host name of the server when connecting over SSL. The default value is false.
19767    :type allow_host_name_cn_mismatch: any
19768    :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from
19769     the server. The default value is false.
19770    :type allow_self_signed_server_cert: any
19771    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
19772     encrypted using the integration runtime credential manager. Type: string (or Expression with
19773     resultType string).
19774    :type encrypted_credential: any
19775    """
19776
19777    _validation = {
19778        'type': {'required': True},
19779        'host': {'required': True},
19780        'authentication_type': {'required': True},
19781    }
19782
19783    _attribute_map = {
19784        'additional_properties': {'key': '', 'type': '{object}'},
19785        'type': {'key': 'type', 'type': 'str'},
19786        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
19787        'description': {'key': 'description', 'type': 'str'},
19788        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
19789        'annotations': {'key': 'annotations', 'type': '[object]'},
19790        'host': {'key': 'typeProperties.host', 'type': 'object'},
19791        'port': {'key': 'typeProperties.port', 'type': 'object'},
19792        'server_type': {'key': 'typeProperties.serverType', 'type': 'str'},
19793        'thrift_transport_protocol': {'key': 'typeProperties.thriftTransportProtocol', 'type': 'str'},
19794        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
19795        'service_discovery_mode': {'key': 'typeProperties.serviceDiscoveryMode', 'type': 'object'},
19796        'zoo_keeper_name_space': {'key': 'typeProperties.zooKeeperNameSpace', 'type': 'object'},
19797        'use_native_query': {'key': 'typeProperties.useNativeQuery', 'type': 'object'},
19798        'username': {'key': 'typeProperties.username', 'type': 'object'},
19799        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
19800        'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'},
19801        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
19802        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
19803        'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'},
19804        'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'},
19805        'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'},
19806        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
19807    }
19808
19809    def __init__(
19810        self,
19811        *,
19812        host: Any,
19813        authentication_type: Union[str, "HiveAuthenticationType"],
19814        additional_properties: Optional[Dict[str, Any]] = None,
19815        connect_via: Optional["IntegrationRuntimeReference"] = None,
19816        description: Optional[str] = None,
19817        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
19818        annotations: Optional[List[Any]] = None,
19819        port: Optional[Any] = None,
19820        server_type: Optional[Union[str, "HiveServerType"]] = None,
19821        thrift_transport_protocol: Optional[Union[str, "HiveThriftTransportProtocol"]] = None,
19822        service_discovery_mode: Optional[Any] = None,
19823        zoo_keeper_name_space: Optional[Any] = None,
19824        use_native_query: Optional[Any] = None,
19825        username: Optional[Any] = None,
19826        password: Optional["SecretBase"] = None,
19827        http_path: Optional[Any] = None,
19828        enable_ssl: Optional[Any] = None,
19829        trusted_cert_path: Optional[Any] = None,
19830        use_system_trust_store: Optional[Any] = None,
19831        allow_host_name_cn_mismatch: Optional[Any] = None,
19832        allow_self_signed_server_cert: Optional[Any] = None,
19833        encrypted_credential: Optional[Any] = None,
19834        **kwargs
19835    ):
19836        super(HiveLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
19837        self.type = 'Hive'  # type: str
19838        self.host = host
19839        self.port = port
19840        self.server_type = server_type
19841        self.thrift_transport_protocol = thrift_transport_protocol
19842        self.authentication_type = authentication_type
19843        self.service_discovery_mode = service_discovery_mode
19844        self.zoo_keeper_name_space = zoo_keeper_name_space
19845        self.use_native_query = use_native_query
19846        self.username = username
19847        self.password = password
19848        self.http_path = http_path
19849        self.enable_ssl = enable_ssl
19850        self.trusted_cert_path = trusted_cert_path
19851        self.use_system_trust_store = use_system_trust_store
19852        self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch
19853        self.allow_self_signed_server_cert = allow_self_signed_server_cert
19854        self.encrypted_credential = encrypted_credential
19855
19856
19857class HiveObjectDataset(Dataset):
19858    """Hive Server dataset.
19859
19860    All required parameters must be populated in order to send to Azure.
19861
19862    :param additional_properties: Unmatched properties from the message are deserialized to this
19863     collection.
19864    :type additional_properties: dict[str, any]
19865    :param type: Required. Type of dataset.Constant filled by server.
19866    :type type: str
19867    :param description: Dataset description.
19868    :type description: str
19869    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
19870     with resultType array), itemType: DatasetDataElement.
19871    :type structure: any
19872    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
19873     Expression with resultType array), itemType: DatasetSchemaDataElement.
19874    :type schema: any
19875    :param linked_service_name: Required. Linked service reference.
19876    :type linked_service_name:
19877     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
19878    :param parameters: Parameters for dataset.
19879    :type parameters: dict[str,
19880     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
19881    :param annotations: List of tags that can be used for describing the Dataset.
19882    :type annotations: list[any]
19883    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
19884     root level.
19885    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
19886    :param table_name: This property will be retired. Please consider using schema + table
19887     properties instead.
19888    :type table_name: any
19889    :param table: The table name of the Hive. Type: string (or Expression with resultType string).
19890    :type table: any
19891    :param schema_type_properties_schema: The schema name of the Hive. Type: string (or Expression
19892     with resultType string).
19893    :type schema_type_properties_schema: any
19894    """
19895
19896    _validation = {
19897        'type': {'required': True},
19898        'linked_service_name': {'required': True},
19899    }
19900
19901    _attribute_map = {
19902        'additional_properties': {'key': '', 'type': '{object}'},
19903        'type': {'key': 'type', 'type': 'str'},
19904        'description': {'key': 'description', 'type': 'str'},
19905        'structure': {'key': 'structure', 'type': 'object'},
19906        'schema': {'key': 'schema', 'type': 'object'},
19907        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
19908        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
19909        'annotations': {'key': 'annotations', 'type': '[object]'},
19910        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
19911        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
19912        'table': {'key': 'typeProperties.table', 'type': 'object'},
19913        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
19914    }
19915
19916    def __init__(
19917        self,
19918        *,
19919        linked_service_name: "LinkedServiceReference",
19920        additional_properties: Optional[Dict[str, Any]] = None,
19921        description: Optional[str] = None,
19922        structure: Optional[Any] = None,
19923        schema: Optional[Any] = None,
19924        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
19925        annotations: Optional[List[Any]] = None,
19926        folder: Optional["DatasetFolder"] = None,
19927        table_name: Optional[Any] = None,
19928        table: Optional[Any] = None,
19929        schema_type_properties_schema: Optional[Any] = None,
19930        **kwargs
19931    ):
19932        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)
19933        self.type = 'HiveObject'  # type: str
19934        self.table_name = table_name
19935        self.table = table
19936        self.schema_type_properties_schema = schema_type_properties_schema
19937
19938
19939class HiveSource(TabularSource):
19940    """A copy activity Hive Server source.
19941
19942    All required parameters must be populated in order to send to Azure.
19943
19944    :param additional_properties: Unmatched properties from the message are deserialized to this
19945     collection.
19946    :type additional_properties: dict[str, any]
19947    :param type: Required. Copy source type.Constant filled by server.
19948    :type type: str
19949    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
19950     integer).
19951    :type source_retry_count: any
19952    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
19953     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
19954    :type source_retry_wait: any
19955    :param max_concurrent_connections: The maximum concurrent connection count for the source data
19956     store. Type: integer (or Expression with resultType integer).
19957    :type max_concurrent_connections: any
19958    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
19959     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
19960    :type query_timeout: any
19961    :param additional_columns: Specifies the additional columns to be added to source data. Type:
19962     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
19963    :type additional_columns: any
19964    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
19965     string).
19966    :type query: any
19967    """
19968
19969    _validation = {
19970        'type': {'required': True},
19971    }
19972
19973    _attribute_map = {
19974        'additional_properties': {'key': '', 'type': '{object}'},
19975        'type': {'key': 'type', 'type': 'str'},
19976        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
19977        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
19978        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
19979        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
19980        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
19981        'query': {'key': 'query', 'type': 'object'},
19982    }
19983
19984    def __init__(
19985        self,
19986        *,
19987        additional_properties: Optional[Dict[str, Any]] = None,
19988        source_retry_count: Optional[Any] = None,
19989        source_retry_wait: Optional[Any] = None,
19990        max_concurrent_connections: Optional[Any] = None,
19991        query_timeout: Optional[Any] = None,
19992        additional_columns: Optional[Any] = None,
19993        query: Optional[Any] = None,
19994        **kwargs
19995    ):
19996        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)
19997        self.type = 'HiveSource'  # type: str
19998        self.query = query
19999
20000
20001class HttpDataset(Dataset):
20002    """A file in an HTTP web server.
20003
20004    All required parameters must be populated in order to send to Azure.
20005
20006    :param additional_properties: Unmatched properties from the message are deserialized to this
20007     collection.
20008    :type additional_properties: dict[str, any]
20009    :param type: Required. Type of dataset.Constant filled by server.
20010    :type type: str
20011    :param description: Dataset description.
20012    :type description: str
20013    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
20014     with resultType array), itemType: DatasetDataElement.
20015    :type structure: any
20016    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
20017     Expression with resultType array), itemType: DatasetSchemaDataElement.
20018    :type schema: any
20019    :param linked_service_name: Required. Linked service reference.
20020    :type linked_service_name:
20021     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
20022    :param parameters: Parameters for dataset.
20023    :type parameters: dict[str,
20024     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
20025    :param annotations: List of tags that can be used for describing the Dataset.
20026    :type annotations: list[any]
20027    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
20028     root level.
20029    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
20030    :param relative_url: The relative URL based on the URL in the HttpLinkedService refers to an
20031     HTTP file Type: string (or Expression with resultType string).
20032    :type relative_url: any
20033    :param request_method: The HTTP method for the HTTP request. Type: string (or Expression with
20034     resultType string).
20035    :type request_method: any
20036    :param request_body: The body for the HTTP request. Type: string (or Expression with resultType
20037     string).
20038    :type request_body: any
20039    :param additional_headers: The headers for the HTTP Request. e.g.
20040     request-header-name-1:request-header-value-1
20041     ...
20042     request-header-name-n:request-header-value-n Type: string (or Expression with resultType
20043     string).
20044    :type additional_headers: any
20045    :param format: The format of files.
20046    :type format: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetStorageFormat
20047    :param compression: The data compression method used on files.
20048    :type compression: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetCompression
20049    """
20050
20051    _validation = {
20052        'type': {'required': True},
20053        'linked_service_name': {'required': True},
20054    }
20055
20056    _attribute_map = {
20057        'additional_properties': {'key': '', 'type': '{object}'},
20058        'type': {'key': 'type', 'type': 'str'},
20059        'description': {'key': 'description', 'type': 'str'},
20060        'structure': {'key': 'structure', 'type': 'object'},
20061        'schema': {'key': 'schema', 'type': 'object'},
20062        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
20063        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
20064        'annotations': {'key': 'annotations', 'type': '[object]'},
20065        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
20066        'relative_url': {'key': 'typeProperties.relativeUrl', 'type': 'object'},
20067        'request_method': {'key': 'typeProperties.requestMethod', 'type': 'object'},
20068        'request_body': {'key': 'typeProperties.requestBody', 'type': 'object'},
20069        'additional_headers': {'key': 'typeProperties.additionalHeaders', 'type': 'object'},
20070        'format': {'key': 'typeProperties.format', 'type': 'DatasetStorageFormat'},
20071        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
20072    }
20073
20074    def __init__(
20075        self,
20076        *,
20077        linked_service_name: "LinkedServiceReference",
20078        additional_properties: Optional[Dict[str, Any]] = None,
20079        description: Optional[str] = None,
20080        structure: Optional[Any] = None,
20081        schema: Optional[Any] = None,
20082        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
20083        annotations: Optional[List[Any]] = None,
20084        folder: Optional["DatasetFolder"] = None,
20085        relative_url: Optional[Any] = None,
20086        request_method: Optional[Any] = None,
20087        request_body: Optional[Any] = None,
20088        additional_headers: Optional[Any] = None,
20089        format: Optional["DatasetStorageFormat"] = None,
20090        compression: Optional["DatasetCompression"] = None,
20091        **kwargs
20092    ):
20093        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)
20094        self.type = 'HttpFile'  # type: str
20095        self.relative_url = relative_url
20096        self.request_method = request_method
20097        self.request_body = request_body
20098        self.additional_headers = additional_headers
20099        self.format = format
20100        self.compression = compression
20101
20102
20103class HttpLinkedService(LinkedService):
20104    """Linked service for an HTTP source.
20105
20106    All required parameters must be populated in order to send to Azure.
20107
20108    :param additional_properties: Unmatched properties from the message are deserialized to this
20109     collection.
20110    :type additional_properties: dict[str, any]
20111    :param type: Required. Type of linked service.Constant filled by server.
20112    :type type: str
20113    :param connect_via: The integration runtime reference.
20114    :type connect_via:
20115     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
20116    :param description: Linked service description.
20117    :type description: str
20118    :param parameters: Parameters for linked service.
20119    :type parameters: dict[str,
20120     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
20121    :param annotations: List of tags that can be used for describing the linked service.
20122    :type annotations: list[any]
20123    :param url: Required. The base URL of the HTTP endpoint, e.g. http://www.microsoft.com. Type:
20124     string (or Expression with resultType string).
20125    :type url: any
20126    :param authentication_type: The authentication type to be used to connect to the HTTP server.
20127     Possible values include: "Basic", "Anonymous", "Digest", "Windows", "ClientCertificate".
20128    :type authentication_type: str or
20129     ~azure.synapse.artifacts.v2021_06_01_preview.models.HttpAuthenticationType
20130    :param user_name: User name for Basic, Digest, or Windows authentication. Type: string (or
20131     Expression with resultType string).
20132    :type user_name: any
20133    :param password: Password for Basic, Digest, Windows, or ClientCertificate with
20134     EmbeddedCertData authentication.
20135    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
20136    :param embedded_cert_data: Base64 encoded certificate data for ClientCertificate
20137     authentication. For on-premises copy with ClientCertificate authentication, either
20138     CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression
20139     with resultType string).
20140    :type embedded_cert_data: any
20141    :param cert_thumbprint: Thumbprint of certificate for ClientCertificate authentication. Only
20142     valid for on-premises copy. For on-premises copy with ClientCertificate authentication, either
20143     CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression
20144     with resultType string).
20145    :type cert_thumbprint: any
20146    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
20147     encrypted using the integration runtime credential manager. Type: string (or Expression with
20148     resultType string).
20149    :type encrypted_credential: any
20150    :param enable_server_certificate_validation: If true, validate the HTTPS server SSL
20151     certificate. Default value is true. Type: boolean (or Expression with resultType boolean).
20152    :type enable_server_certificate_validation: any
20153    """
20154
20155    _validation = {
20156        'type': {'required': True},
20157        'url': {'required': True},
20158    }
20159
20160    _attribute_map = {
20161        'additional_properties': {'key': '', 'type': '{object}'},
20162        'type': {'key': 'type', 'type': 'str'},
20163        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
20164        'description': {'key': 'description', 'type': 'str'},
20165        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
20166        'annotations': {'key': 'annotations', 'type': '[object]'},
20167        'url': {'key': 'typeProperties.url', 'type': 'object'},
20168        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
20169        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
20170        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
20171        'embedded_cert_data': {'key': 'typeProperties.embeddedCertData', 'type': 'object'},
20172        'cert_thumbprint': {'key': 'typeProperties.certThumbprint', 'type': 'object'},
20173        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
20174        'enable_server_certificate_validation': {'key': 'typeProperties.enableServerCertificateValidation', 'type': 'object'},
20175    }
20176
20177    def __init__(
20178        self,
20179        *,
20180        url: Any,
20181        additional_properties: Optional[Dict[str, Any]] = None,
20182        connect_via: Optional["IntegrationRuntimeReference"] = None,
20183        description: Optional[str] = None,
20184        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
20185        annotations: Optional[List[Any]] = None,
20186        authentication_type: Optional[Union[str, "HttpAuthenticationType"]] = None,
20187        user_name: Optional[Any] = None,
20188        password: Optional["SecretBase"] = None,
20189        embedded_cert_data: Optional[Any] = None,
20190        cert_thumbprint: Optional[Any] = None,
20191        encrypted_credential: Optional[Any] = None,
20192        enable_server_certificate_validation: Optional[Any] = None,
20193        **kwargs
20194    ):
20195        super(HttpLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
20196        self.type = 'HttpServer'  # type: str
20197        self.url = url
20198        self.authentication_type = authentication_type
20199        self.user_name = user_name
20200        self.password = password
20201        self.embedded_cert_data = embedded_cert_data
20202        self.cert_thumbprint = cert_thumbprint
20203        self.encrypted_credential = encrypted_credential
20204        self.enable_server_certificate_validation = enable_server_certificate_validation
20205
20206
20207class HttpReadSettings(StoreReadSettings):
20208    """Sftp read settings.
20209
20210    All required parameters must be populated in order to send to Azure.
20211
20212    :param additional_properties: Unmatched properties from the message are deserialized to this
20213     collection.
20214    :type additional_properties: dict[str, any]
20215    :param type: Required. The read setting type.Constant filled by server.
20216    :type type: str
20217    :param max_concurrent_connections: The maximum concurrent connection count for the source data
20218     store. Type: integer (or Expression with resultType integer).
20219    :type max_concurrent_connections: any
20220    :param request_method: The HTTP method used to call the RESTful API. The default is GET. Type:
20221     string (or Expression with resultType string).
20222    :type request_method: any
20223    :param request_body: The HTTP request body to the RESTful API if requestMethod is POST. Type:
20224     string (or Expression with resultType string).
20225    :type request_body: any
20226    :param additional_headers: The additional HTTP headers in the request to the RESTful API. Type:
20227     string (or Expression with resultType string).
20228    :type additional_headers: any
20229    :param request_timeout: Specifies the timeout for a HTTP client to get HTTP response from HTTP
20230     server.
20231    :type request_timeout: any
20232    :param enable_partition_discovery: Indicates whether to enable partition discovery.
20233    :type enable_partition_discovery: bool
20234    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
20235     string (or Expression with resultType string).
20236    :type partition_root_path: any
20237    """
20238
20239    _validation = {
20240        'type': {'required': True},
20241    }
20242
20243    _attribute_map = {
20244        'additional_properties': {'key': '', 'type': '{object}'},
20245        'type': {'key': 'type', 'type': 'str'},
20246        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
20247        'request_method': {'key': 'requestMethod', 'type': 'object'},
20248        'request_body': {'key': 'requestBody', 'type': 'object'},
20249        'additional_headers': {'key': 'additionalHeaders', 'type': 'object'},
20250        'request_timeout': {'key': 'requestTimeout', 'type': 'object'},
20251        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
20252        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
20253    }
20254
20255    def __init__(
20256        self,
20257        *,
20258        additional_properties: Optional[Dict[str, Any]] = None,
20259        max_concurrent_connections: Optional[Any] = None,
20260        request_method: Optional[Any] = None,
20261        request_body: Optional[Any] = None,
20262        additional_headers: Optional[Any] = None,
20263        request_timeout: Optional[Any] = None,
20264        enable_partition_discovery: Optional[bool] = None,
20265        partition_root_path: Optional[Any] = None,
20266        **kwargs
20267    ):
20268        super(HttpReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
20269        self.type = 'HttpReadSettings'  # type: str
20270        self.request_method = request_method
20271        self.request_body = request_body
20272        self.additional_headers = additional_headers
20273        self.request_timeout = request_timeout
20274        self.enable_partition_discovery = enable_partition_discovery
20275        self.partition_root_path = partition_root_path
20276
20277
20278class HttpServerLocation(DatasetLocation):
20279    """The location of http server.
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. Type of dataset storage location.Constant filled by server.
20287    :type type: str
20288    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
20289     resultType string).
20290    :type folder_path: any
20291    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
20292     string).
20293    :type file_name: any
20294    :param relative_url: Specify the relativeUrl of http server. Type: string (or Expression with
20295     resultType string).
20296    :type relative_url: any
20297    """
20298
20299    _validation = {
20300        'type': {'required': True},
20301    }
20302
20303    _attribute_map = {
20304        'additional_properties': {'key': '', 'type': '{object}'},
20305        'type': {'key': 'type', 'type': 'str'},
20306        'folder_path': {'key': 'folderPath', 'type': 'object'},
20307        'file_name': {'key': 'fileName', 'type': 'object'},
20308        'relative_url': {'key': 'relativeUrl', 'type': 'object'},
20309    }
20310
20311    def __init__(
20312        self,
20313        *,
20314        additional_properties: Optional[Dict[str, Any]] = None,
20315        folder_path: Optional[Any] = None,
20316        file_name: Optional[Any] = None,
20317        relative_url: Optional[Any] = None,
20318        **kwargs
20319    ):
20320        super(HttpServerLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
20321        self.type = 'HttpServerLocation'  # type: str
20322        self.relative_url = relative_url
20323
20324
20325class HttpSource(CopySource):
20326    """A copy activity source for an HTTP file.
20327
20328    All required parameters must be populated in order to send to Azure.
20329
20330    :param additional_properties: Unmatched properties from the message are deserialized to this
20331     collection.
20332    :type additional_properties: dict[str, any]
20333    :param type: Required. Copy source type.Constant filled by server.
20334    :type type: str
20335    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
20336     integer).
20337    :type source_retry_count: any
20338    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
20339     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20340    :type source_retry_wait: any
20341    :param max_concurrent_connections: The maximum concurrent connection count for the source data
20342     store. Type: integer (or Expression with resultType integer).
20343    :type max_concurrent_connections: any
20344    :param http_request_timeout: Specifies the timeout for a HTTP client to get HTTP response from
20345     HTTP server. The default value is equivalent to System.Net.HttpWebRequest.Timeout. Type: string
20346     (or Expression with resultType string), pattern:
20347     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20348    :type http_request_timeout: any
20349    """
20350
20351    _validation = {
20352        'type': {'required': True},
20353    }
20354
20355    _attribute_map = {
20356        'additional_properties': {'key': '', 'type': '{object}'},
20357        'type': {'key': 'type', 'type': 'str'},
20358        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
20359        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
20360        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
20361        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
20362    }
20363
20364    def __init__(
20365        self,
20366        *,
20367        additional_properties: Optional[Dict[str, Any]] = None,
20368        source_retry_count: Optional[Any] = None,
20369        source_retry_wait: Optional[Any] = None,
20370        max_concurrent_connections: Optional[Any] = None,
20371        http_request_timeout: Optional[Any] = None,
20372        **kwargs
20373    ):
20374        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)
20375        self.type = 'HttpSource'  # type: str
20376        self.http_request_timeout = http_request_timeout
20377
20378
20379class HubspotLinkedService(LinkedService):
20380    """Hubspot Service linked service.
20381
20382    All required parameters must be populated in order to send to Azure.
20383
20384    :param additional_properties: Unmatched properties from the message are deserialized to this
20385     collection.
20386    :type additional_properties: dict[str, any]
20387    :param type: Required. Type of linked service.Constant filled by server.
20388    :type type: str
20389    :param connect_via: The integration runtime reference.
20390    :type connect_via:
20391     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
20392    :param description: Linked service description.
20393    :type description: str
20394    :param parameters: Parameters for linked service.
20395    :type parameters: dict[str,
20396     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
20397    :param annotations: List of tags that can be used for describing the linked service.
20398    :type annotations: list[any]
20399    :param client_id: Required. The client ID associated with your Hubspot application.
20400    :type client_id: any
20401    :param client_secret: The client secret associated with your Hubspot application.
20402    :type client_secret: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
20403    :param access_token: The access token obtained when initially authenticating your OAuth
20404     integration.
20405    :type access_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
20406    :param refresh_token: The refresh token obtained when initially authenticating your OAuth
20407     integration.
20408    :type refresh_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
20409    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
20410     HTTPS. The default value is true.
20411    :type use_encrypted_endpoints: any
20412    :param use_host_verification: Specifies whether to require the host name in the server's
20413     certificate to match the host name of the server when connecting over SSL. The default value is
20414     true.
20415    :type use_host_verification: any
20416    :param use_peer_verification: Specifies whether to verify the identity of the server when
20417     connecting over SSL. The default value is true.
20418    :type use_peer_verification: any
20419    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
20420     encrypted using the integration runtime credential manager. Type: string (or Expression with
20421     resultType string).
20422    :type encrypted_credential: any
20423    """
20424
20425    _validation = {
20426        'type': {'required': True},
20427        'client_id': {'required': True},
20428    }
20429
20430    _attribute_map = {
20431        'additional_properties': {'key': '', 'type': '{object}'},
20432        'type': {'key': 'type', 'type': 'str'},
20433        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
20434        'description': {'key': 'description', 'type': 'str'},
20435        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
20436        'annotations': {'key': 'annotations', 'type': '[object]'},
20437        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
20438        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
20439        'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'},
20440        'refresh_token': {'key': 'typeProperties.refreshToken', 'type': 'SecretBase'},
20441        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
20442        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
20443        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
20444        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
20445    }
20446
20447    def __init__(
20448        self,
20449        *,
20450        client_id: Any,
20451        additional_properties: Optional[Dict[str, Any]] = None,
20452        connect_via: Optional["IntegrationRuntimeReference"] = None,
20453        description: Optional[str] = None,
20454        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
20455        annotations: Optional[List[Any]] = None,
20456        client_secret: Optional["SecretBase"] = None,
20457        access_token: Optional["SecretBase"] = None,
20458        refresh_token: Optional["SecretBase"] = None,
20459        use_encrypted_endpoints: Optional[Any] = None,
20460        use_host_verification: Optional[Any] = None,
20461        use_peer_verification: Optional[Any] = None,
20462        encrypted_credential: Optional[Any] = None,
20463        **kwargs
20464    ):
20465        super(HubspotLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
20466        self.type = 'Hubspot'  # type: str
20467        self.client_id = client_id
20468        self.client_secret = client_secret
20469        self.access_token = access_token
20470        self.refresh_token = refresh_token
20471        self.use_encrypted_endpoints = use_encrypted_endpoints
20472        self.use_host_verification = use_host_verification
20473        self.use_peer_verification = use_peer_verification
20474        self.encrypted_credential = encrypted_credential
20475
20476
20477class HubspotObjectDataset(Dataset):
20478    """Hubspot Service dataset.
20479
20480    All required parameters must be populated in order to send to Azure.
20481
20482    :param additional_properties: Unmatched properties from the message are deserialized to this
20483     collection.
20484    :type additional_properties: dict[str, any]
20485    :param type: Required. Type of dataset.Constant filled by server.
20486    :type type: str
20487    :param description: Dataset description.
20488    :type description: str
20489    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
20490     with resultType array), itemType: DatasetDataElement.
20491    :type structure: any
20492    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
20493     Expression with resultType array), itemType: DatasetSchemaDataElement.
20494    :type schema: any
20495    :param linked_service_name: Required. Linked service reference.
20496    :type linked_service_name:
20497     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
20498    :param parameters: Parameters for dataset.
20499    :type parameters: dict[str,
20500     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
20501    :param annotations: List of tags that can be used for describing the Dataset.
20502    :type annotations: list[any]
20503    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
20504     root level.
20505    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
20506    :param table_name: The table name. Type: string (or Expression with resultType string).
20507    :type table_name: any
20508    """
20509
20510    _validation = {
20511        'type': {'required': True},
20512        'linked_service_name': {'required': True},
20513    }
20514
20515    _attribute_map = {
20516        'additional_properties': {'key': '', 'type': '{object}'},
20517        'type': {'key': 'type', 'type': 'str'},
20518        'description': {'key': 'description', 'type': 'str'},
20519        'structure': {'key': 'structure', 'type': 'object'},
20520        'schema': {'key': 'schema', 'type': 'object'},
20521        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
20522        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
20523        'annotations': {'key': 'annotations', 'type': '[object]'},
20524        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
20525        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
20526    }
20527
20528    def __init__(
20529        self,
20530        *,
20531        linked_service_name: "LinkedServiceReference",
20532        additional_properties: Optional[Dict[str, Any]] = None,
20533        description: Optional[str] = None,
20534        structure: Optional[Any] = None,
20535        schema: Optional[Any] = None,
20536        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
20537        annotations: Optional[List[Any]] = None,
20538        folder: Optional["DatasetFolder"] = None,
20539        table_name: Optional[Any] = None,
20540        **kwargs
20541    ):
20542        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)
20543        self.type = 'HubspotObject'  # type: str
20544        self.table_name = table_name
20545
20546
20547class HubspotSource(TabularSource):
20548    """A copy activity Hubspot Service source.
20549
20550    All required parameters must be populated in order to send to Azure.
20551
20552    :param additional_properties: Unmatched properties from the message are deserialized to this
20553     collection.
20554    :type additional_properties: dict[str, any]
20555    :param type: Required. Copy source type.Constant filled by server.
20556    :type type: str
20557    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
20558     integer).
20559    :type source_retry_count: any
20560    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
20561     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20562    :type source_retry_wait: any
20563    :param max_concurrent_connections: The maximum concurrent connection count for the source data
20564     store. Type: integer (or Expression with resultType integer).
20565    :type max_concurrent_connections: any
20566    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
20567     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20568    :type query_timeout: any
20569    :param additional_columns: Specifies the additional columns to be added to source data. Type:
20570     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
20571    :type additional_columns: any
20572    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
20573     string).
20574    :type query: any
20575    """
20576
20577    _validation = {
20578        'type': {'required': True},
20579    }
20580
20581    _attribute_map = {
20582        'additional_properties': {'key': '', 'type': '{object}'},
20583        'type': {'key': 'type', 'type': 'str'},
20584        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
20585        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
20586        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
20587        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
20588        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
20589        'query': {'key': 'query', 'type': 'object'},
20590    }
20591
20592    def __init__(
20593        self,
20594        *,
20595        additional_properties: Optional[Dict[str, Any]] = None,
20596        source_retry_count: Optional[Any] = None,
20597        source_retry_wait: Optional[Any] = None,
20598        max_concurrent_connections: Optional[Any] = None,
20599        query_timeout: Optional[Any] = None,
20600        additional_columns: Optional[Any] = None,
20601        query: Optional[Any] = None,
20602        **kwargs
20603    ):
20604        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)
20605        self.type = 'HubspotSource'  # type: str
20606        self.query = query
20607
20608
20609class IfConditionActivity(ControlActivity):
20610    """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.
20611
20612    All required parameters must be populated in order to send to Azure.
20613
20614    :param additional_properties: Unmatched properties from the message are deserialized to this
20615     collection.
20616    :type additional_properties: dict[str, any]
20617    :param name: Required. Activity name.
20618    :type name: str
20619    :param type: Required. Type of activity.Constant filled by server.
20620    :type type: str
20621    :param description: Activity description.
20622    :type description: str
20623    :param depends_on: Activity depends on condition.
20624    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
20625    :param user_properties: Activity user properties.
20626    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
20627    :param expression: Required. An expression that would evaluate to Boolean. This is used to
20628     determine the block of activities (ifTrueActivities or ifFalseActivities) that will be
20629     executed.
20630    :type expression: ~azure.synapse.artifacts.v2021_06_01_preview.models.Expression
20631    :param if_true_activities: List of activities to execute if expression is evaluated to true.
20632     This is an optional property and if not provided, the activity will exit without any action.
20633    :type if_true_activities: list[~azure.synapse.artifacts.v2021_06_01_preview.models.Activity]
20634    :param if_false_activities: List of activities to execute if expression is evaluated to false.
20635     This is an optional property and if not provided, the activity will exit without any action.
20636    :type if_false_activities: list[~azure.synapse.artifacts.v2021_06_01_preview.models.Activity]
20637    """
20638
20639    _validation = {
20640        'name': {'required': True},
20641        'type': {'required': True},
20642        'expression': {'required': True},
20643    }
20644
20645    _attribute_map = {
20646        'additional_properties': {'key': '', 'type': '{object}'},
20647        'name': {'key': 'name', 'type': 'str'},
20648        'type': {'key': 'type', 'type': 'str'},
20649        'description': {'key': 'description', 'type': 'str'},
20650        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
20651        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
20652        'expression': {'key': 'typeProperties.expression', 'type': 'Expression'},
20653        'if_true_activities': {'key': 'typeProperties.ifTrueActivities', 'type': '[Activity]'},
20654        'if_false_activities': {'key': 'typeProperties.ifFalseActivities', 'type': '[Activity]'},
20655    }
20656
20657    def __init__(
20658        self,
20659        *,
20660        name: str,
20661        expression: "Expression",
20662        additional_properties: Optional[Dict[str, Any]] = None,
20663        description: Optional[str] = None,
20664        depends_on: Optional[List["ActivityDependency"]] = None,
20665        user_properties: Optional[List["UserProperty"]] = None,
20666        if_true_activities: Optional[List["Activity"]] = None,
20667        if_false_activities: Optional[List["Activity"]] = None,
20668        **kwargs
20669    ):
20670        super(IfConditionActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
20671        self.type = 'IfCondition'  # type: str
20672        self.expression = expression
20673        self.if_true_activities = if_true_activities
20674        self.if_false_activities = if_false_activities
20675
20676
20677class ImpalaLinkedService(LinkedService):
20678    """Impala server linked service.
20679
20680    All required parameters must be populated in order to send to Azure.
20681
20682    :param additional_properties: Unmatched properties from the message are deserialized to this
20683     collection.
20684    :type additional_properties: dict[str, any]
20685    :param type: Required. Type of linked service.Constant filled by server.
20686    :type type: str
20687    :param connect_via: The integration runtime reference.
20688    :type connect_via:
20689     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
20690    :param description: Linked service description.
20691    :type description: str
20692    :param parameters: Parameters for linked service.
20693    :type parameters: dict[str,
20694     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
20695    :param annotations: List of tags that can be used for describing the linked service.
20696    :type annotations: list[any]
20697    :param host: Required. The IP address or host name of the Impala server. (i.e.
20698     192.168.222.160).
20699    :type host: any
20700    :param port: The TCP port that the Impala server uses to listen for client connections. The
20701     default value is 21050.
20702    :type port: any
20703    :param authentication_type: Required. The authentication type to use. Possible values include:
20704     "Anonymous", "SASLUsername", "UsernameAndPassword".
20705    :type authentication_type: str or
20706     ~azure.synapse.artifacts.v2021_06_01_preview.models.ImpalaAuthenticationType
20707    :param username: The user name used to access the Impala server. The default value is anonymous
20708     when using SASLUsername.
20709    :type username: any
20710    :param password: The password corresponding to the user name when using UsernameAndPassword.
20711    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
20712    :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The
20713     default value is false.
20714    :type enable_ssl: any
20715    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
20716     verifying the server when connecting over SSL. This property can only be set when using SSL on
20717     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
20718    :type trusted_cert_path: any
20719    :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust
20720     store or from a specified PEM file. The default value is false.
20721    :type use_system_trust_store: any
20722    :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate
20723     name to match the host name of the server when connecting over SSL. The default value is false.
20724    :type allow_host_name_cn_mismatch: any
20725    :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from
20726     the server. The default value is false.
20727    :type allow_self_signed_server_cert: any
20728    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
20729     encrypted using the integration runtime credential manager. Type: string (or Expression with
20730     resultType string).
20731    :type encrypted_credential: any
20732    """
20733
20734    _validation = {
20735        'type': {'required': True},
20736        'host': {'required': True},
20737        'authentication_type': {'required': True},
20738    }
20739
20740    _attribute_map = {
20741        'additional_properties': {'key': '', 'type': '{object}'},
20742        'type': {'key': 'type', 'type': 'str'},
20743        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
20744        'description': {'key': 'description', 'type': 'str'},
20745        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
20746        'annotations': {'key': 'annotations', 'type': '[object]'},
20747        'host': {'key': 'typeProperties.host', 'type': 'object'},
20748        'port': {'key': 'typeProperties.port', 'type': 'object'},
20749        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
20750        'username': {'key': 'typeProperties.username', 'type': 'object'},
20751        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
20752        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
20753        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
20754        'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'},
20755        'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'},
20756        'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'},
20757        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
20758    }
20759
20760    def __init__(
20761        self,
20762        *,
20763        host: Any,
20764        authentication_type: Union[str, "ImpalaAuthenticationType"],
20765        additional_properties: Optional[Dict[str, Any]] = None,
20766        connect_via: Optional["IntegrationRuntimeReference"] = None,
20767        description: Optional[str] = None,
20768        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
20769        annotations: Optional[List[Any]] = None,
20770        port: Optional[Any] = None,
20771        username: Optional[Any] = None,
20772        password: Optional["SecretBase"] = None,
20773        enable_ssl: Optional[Any] = None,
20774        trusted_cert_path: Optional[Any] = None,
20775        use_system_trust_store: Optional[Any] = None,
20776        allow_host_name_cn_mismatch: Optional[Any] = None,
20777        allow_self_signed_server_cert: Optional[Any] = None,
20778        encrypted_credential: Optional[Any] = None,
20779        **kwargs
20780    ):
20781        super(ImpalaLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
20782        self.type = 'Impala'  # type: str
20783        self.host = host
20784        self.port = port
20785        self.authentication_type = authentication_type
20786        self.username = username
20787        self.password = password
20788        self.enable_ssl = enable_ssl
20789        self.trusted_cert_path = trusted_cert_path
20790        self.use_system_trust_store = use_system_trust_store
20791        self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch
20792        self.allow_self_signed_server_cert = allow_self_signed_server_cert
20793        self.encrypted_credential = encrypted_credential
20794
20795
20796class ImpalaObjectDataset(Dataset):
20797    """Impala server dataset.
20798
20799    All required parameters must be populated in order to send to Azure.
20800
20801    :param additional_properties: Unmatched properties from the message are deserialized to this
20802     collection.
20803    :type additional_properties: dict[str, any]
20804    :param type: Required. Type of dataset.Constant filled by server.
20805    :type type: str
20806    :param description: Dataset description.
20807    :type description: str
20808    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
20809     with resultType array), itemType: DatasetDataElement.
20810    :type structure: any
20811    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
20812     Expression with resultType array), itemType: DatasetSchemaDataElement.
20813    :type schema: any
20814    :param linked_service_name: Required. Linked service reference.
20815    :type linked_service_name:
20816     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
20817    :param parameters: Parameters for dataset.
20818    :type parameters: dict[str,
20819     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
20820    :param annotations: List of tags that can be used for describing the Dataset.
20821    :type annotations: list[any]
20822    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
20823     root level.
20824    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
20825    :param table_name: This property will be retired. Please consider using schema + table
20826     properties instead.
20827    :type table_name: any
20828    :param table: The table name of the Impala. Type: string (or Expression with resultType
20829     string).
20830    :type table: any
20831    :param schema_type_properties_schema: The schema name of the Impala. Type: string (or
20832     Expression with resultType string).
20833    :type schema_type_properties_schema: any
20834    """
20835
20836    _validation = {
20837        'type': {'required': True},
20838        'linked_service_name': {'required': True},
20839    }
20840
20841    _attribute_map = {
20842        'additional_properties': {'key': '', 'type': '{object}'},
20843        'type': {'key': 'type', 'type': 'str'},
20844        'description': {'key': 'description', 'type': 'str'},
20845        'structure': {'key': 'structure', 'type': 'object'},
20846        'schema': {'key': 'schema', 'type': 'object'},
20847        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
20848        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
20849        'annotations': {'key': 'annotations', 'type': '[object]'},
20850        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
20851        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
20852        'table': {'key': 'typeProperties.table', 'type': 'object'},
20853        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
20854    }
20855
20856    def __init__(
20857        self,
20858        *,
20859        linked_service_name: "LinkedServiceReference",
20860        additional_properties: Optional[Dict[str, Any]] = None,
20861        description: Optional[str] = None,
20862        structure: Optional[Any] = None,
20863        schema: Optional[Any] = None,
20864        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
20865        annotations: Optional[List[Any]] = None,
20866        folder: Optional["DatasetFolder"] = None,
20867        table_name: Optional[Any] = None,
20868        table: Optional[Any] = None,
20869        schema_type_properties_schema: Optional[Any] = None,
20870        **kwargs
20871    ):
20872        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)
20873        self.type = 'ImpalaObject'  # type: str
20874        self.table_name = table_name
20875        self.table = table
20876        self.schema_type_properties_schema = schema_type_properties_schema
20877
20878
20879class ImpalaSource(TabularSource):
20880    """A copy activity Impala server source.
20881
20882    All required parameters must be populated in order to send to Azure.
20883
20884    :param additional_properties: Unmatched properties from the message are deserialized to this
20885     collection.
20886    :type additional_properties: dict[str, any]
20887    :param type: Required. Copy source type.Constant filled by server.
20888    :type type: str
20889    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
20890     integer).
20891    :type source_retry_count: any
20892    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
20893     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20894    :type source_retry_wait: any
20895    :param max_concurrent_connections: The maximum concurrent connection count for the source data
20896     store. Type: integer (or Expression with resultType integer).
20897    :type max_concurrent_connections: any
20898    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
20899     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
20900    :type query_timeout: any
20901    :param additional_columns: Specifies the additional columns to be added to source data. Type:
20902     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
20903    :type additional_columns: any
20904    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
20905     string).
20906    :type query: any
20907    """
20908
20909    _validation = {
20910        'type': {'required': True},
20911    }
20912
20913    _attribute_map = {
20914        'additional_properties': {'key': '', 'type': '{object}'},
20915        'type': {'key': 'type', 'type': 'str'},
20916        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
20917        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
20918        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
20919        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
20920        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
20921        'query': {'key': 'query', 'type': 'object'},
20922    }
20923
20924    def __init__(
20925        self,
20926        *,
20927        additional_properties: Optional[Dict[str, Any]] = None,
20928        source_retry_count: Optional[Any] = None,
20929        source_retry_wait: Optional[Any] = None,
20930        max_concurrent_connections: Optional[Any] = None,
20931        query_timeout: Optional[Any] = None,
20932        additional_columns: Optional[Any] = None,
20933        query: Optional[Any] = None,
20934        **kwargs
20935    ):
20936        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)
20937        self.type = 'ImpalaSource'  # type: str
20938        self.query = query
20939
20940
20941class InformixLinkedService(LinkedService):
20942    """Informix linked service.
20943
20944    All required parameters must be populated in order to send to Azure.
20945
20946    :param additional_properties: Unmatched properties from the message are deserialized to this
20947     collection.
20948    :type additional_properties: dict[str, any]
20949    :param type: Required. Type of linked service.Constant filled by server.
20950    :type type: str
20951    :param connect_via: The integration runtime reference.
20952    :type connect_via:
20953     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
20954    :param description: Linked service description.
20955    :type description: str
20956    :param parameters: Parameters for linked service.
20957    :type parameters: dict[str,
20958     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
20959    :param annotations: List of tags that can be used for describing the linked service.
20960    :type annotations: list[any]
20961    :param connection_string: Required. The non-access credential portion of the connection string
20962     as well as an optional encrypted credential. Type: string, SecureString or
20963     AzureKeyVaultSecretReference.
20964    :type connection_string: any
20965    :param authentication_type: Type of authentication used to connect to the Informix as ODBC data
20966     store. Possible values are: Anonymous and Basic. Type: string (or Expression with resultType
20967     string).
20968    :type authentication_type: any
20969    :param credential: The access credential portion of the connection string specified in
20970     driver-specific property-value format.
20971    :type credential: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
20972    :param user_name: User name for Basic authentication. Type: string (or Expression with
20973     resultType string).
20974    :type user_name: any
20975    :param password: Password for Basic authentication.
20976    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
20977    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
20978     encrypted using the integration runtime credential manager. Type: string (or Expression with
20979     resultType string).
20980    :type encrypted_credential: any
20981    """
20982
20983    _validation = {
20984        'type': {'required': True},
20985        'connection_string': {'required': True},
20986    }
20987
20988    _attribute_map = {
20989        'additional_properties': {'key': '', 'type': '{object}'},
20990        'type': {'key': 'type', 'type': 'str'},
20991        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
20992        'description': {'key': 'description', 'type': 'str'},
20993        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
20994        'annotations': {'key': 'annotations', 'type': '[object]'},
20995        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
20996        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'},
20997        'credential': {'key': 'typeProperties.credential', 'type': 'SecretBase'},
20998        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
20999        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
21000        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
21001    }
21002
21003    def __init__(
21004        self,
21005        *,
21006        connection_string: Any,
21007        additional_properties: Optional[Dict[str, Any]] = None,
21008        connect_via: Optional["IntegrationRuntimeReference"] = None,
21009        description: Optional[str] = None,
21010        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
21011        annotations: Optional[List[Any]] = None,
21012        authentication_type: Optional[Any] = None,
21013        credential: Optional["SecretBase"] = None,
21014        user_name: Optional[Any] = None,
21015        password: Optional["SecretBase"] = None,
21016        encrypted_credential: Optional[Any] = None,
21017        **kwargs
21018    ):
21019        super(InformixLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
21020        self.type = 'Informix'  # type: str
21021        self.connection_string = connection_string
21022        self.authentication_type = authentication_type
21023        self.credential = credential
21024        self.user_name = user_name
21025        self.password = password
21026        self.encrypted_credential = encrypted_credential
21027
21028
21029class InformixSink(CopySink):
21030    """A copy activity Informix sink.
21031
21032    All required parameters must be populated in order to send to Azure.
21033
21034    :param additional_properties: Unmatched properties from the message are deserialized to this
21035     collection.
21036    :type additional_properties: dict[str, any]
21037    :param type: Required. Copy sink type.Constant filled by server.
21038    :type type: str
21039    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
21040     integer), minimum: 0.
21041    :type write_batch_size: any
21042    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
21043     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
21044    :type write_batch_timeout: any
21045    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
21046     integer).
21047    :type sink_retry_count: any
21048    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
21049     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
21050    :type sink_retry_wait: any
21051    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
21052     store. Type: integer (or Expression with resultType integer).
21053    :type max_concurrent_connections: any
21054    :param pre_copy_script: A query to execute before starting the copy. Type: string (or
21055     Expression with resultType string).
21056    :type pre_copy_script: any
21057    """
21058
21059    _validation = {
21060        'type': {'required': True},
21061    }
21062
21063    _attribute_map = {
21064        'additional_properties': {'key': '', 'type': '{object}'},
21065        'type': {'key': 'type', 'type': 'str'},
21066        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
21067        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
21068        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
21069        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
21070        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
21071        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
21072    }
21073
21074    def __init__(
21075        self,
21076        *,
21077        additional_properties: Optional[Dict[str, Any]] = None,
21078        write_batch_size: Optional[Any] = None,
21079        write_batch_timeout: Optional[Any] = None,
21080        sink_retry_count: Optional[Any] = None,
21081        sink_retry_wait: Optional[Any] = None,
21082        max_concurrent_connections: Optional[Any] = None,
21083        pre_copy_script: Optional[Any] = None,
21084        **kwargs
21085    ):
21086        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)
21087        self.type = 'InformixSink'  # type: str
21088        self.pre_copy_script = pre_copy_script
21089
21090
21091class InformixSource(TabularSource):
21092    """A copy activity source for Informix.
21093
21094    All required parameters must be populated in order to send to Azure.
21095
21096    :param additional_properties: Unmatched properties from the message are deserialized to this
21097     collection.
21098    :type additional_properties: dict[str, any]
21099    :param type: Required. Copy source type.Constant filled by server.
21100    :type type: str
21101    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
21102     integer).
21103    :type source_retry_count: any
21104    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
21105     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
21106    :type source_retry_wait: any
21107    :param max_concurrent_connections: The maximum concurrent connection count for the source data
21108     store. Type: integer (or Expression with resultType integer).
21109    :type max_concurrent_connections: any
21110    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
21111     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
21112    :type query_timeout: any
21113    :param additional_columns: Specifies the additional columns to be added to source data. Type:
21114     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
21115    :type additional_columns: any
21116    :param query: Database query. Type: string (or Expression with resultType string).
21117    :type query: any
21118    """
21119
21120    _validation = {
21121        'type': {'required': True},
21122    }
21123
21124    _attribute_map = {
21125        'additional_properties': {'key': '', 'type': '{object}'},
21126        'type': {'key': 'type', 'type': 'str'},
21127        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
21128        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
21129        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
21130        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
21131        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
21132        'query': {'key': 'query', 'type': 'object'},
21133    }
21134
21135    def __init__(
21136        self,
21137        *,
21138        additional_properties: Optional[Dict[str, Any]] = None,
21139        source_retry_count: Optional[Any] = None,
21140        source_retry_wait: Optional[Any] = None,
21141        max_concurrent_connections: Optional[Any] = None,
21142        query_timeout: Optional[Any] = None,
21143        additional_columns: Optional[Any] = None,
21144        query: Optional[Any] = None,
21145        **kwargs
21146    ):
21147        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)
21148        self.type = 'InformixSource'  # type: str
21149        self.query = query
21150
21151
21152class InformixTableDataset(Dataset):
21153    """The Informix table dataset.
21154
21155    All required parameters must be populated in order to send to Azure.
21156
21157    :param additional_properties: Unmatched properties from the message are deserialized to this
21158     collection.
21159    :type additional_properties: dict[str, any]
21160    :param type: Required. Type of dataset.Constant filled by server.
21161    :type type: str
21162    :param description: Dataset description.
21163    :type description: str
21164    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
21165     with resultType array), itemType: DatasetDataElement.
21166    :type structure: any
21167    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
21168     Expression with resultType array), itemType: DatasetSchemaDataElement.
21169    :type schema: any
21170    :param linked_service_name: Required. Linked service reference.
21171    :type linked_service_name:
21172     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
21173    :param parameters: Parameters for dataset.
21174    :type parameters: dict[str,
21175     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
21176    :param annotations: List of tags that can be used for describing the Dataset.
21177    :type annotations: list[any]
21178    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
21179     root level.
21180    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
21181    :param table_name: The Informix table name. Type: string (or Expression with resultType
21182     string).
21183    :type table_name: any
21184    """
21185
21186    _validation = {
21187        'type': {'required': True},
21188        'linked_service_name': {'required': True},
21189    }
21190
21191    _attribute_map = {
21192        'additional_properties': {'key': '', 'type': '{object}'},
21193        'type': {'key': 'type', 'type': 'str'},
21194        'description': {'key': 'description', 'type': 'str'},
21195        'structure': {'key': 'structure', 'type': 'object'},
21196        'schema': {'key': 'schema', 'type': 'object'},
21197        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
21198        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
21199        'annotations': {'key': 'annotations', 'type': '[object]'},
21200        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
21201        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
21202    }
21203
21204    def __init__(
21205        self,
21206        *,
21207        linked_service_name: "LinkedServiceReference",
21208        additional_properties: Optional[Dict[str, Any]] = None,
21209        description: Optional[str] = None,
21210        structure: Optional[Any] = None,
21211        schema: Optional[Any] = None,
21212        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
21213        annotations: Optional[List[Any]] = None,
21214        folder: Optional["DatasetFolder"] = None,
21215        table_name: Optional[Any] = None,
21216        **kwargs
21217    ):
21218        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)
21219        self.type = 'InformixTable'  # type: str
21220        self.table_name = table_name
21221
21222
21223class IntegrationRuntime(msrest.serialization.Model):
21224    """Azure Synapse nested object which serves as a compute resource for activities.
21225
21226    You probably want to use the sub-classes and not this class directly. Known
21227    sub-classes are: ManagedIntegrationRuntime, SelfHostedIntegrationRuntime.
21228
21229    All required parameters must be populated in order to send to Azure.
21230
21231    :param additional_properties: Unmatched properties from the message are deserialized to this
21232     collection.
21233    :type additional_properties: dict[str, any]
21234    :param type: Required. Type of integration runtime.Constant filled by server.  Possible values
21235     include: "Managed", "SelfHosted".
21236    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeType
21237    :param description: Integration runtime description.
21238    :type description: str
21239    """
21240
21241    _validation = {
21242        'type': {'required': True},
21243    }
21244
21245    _attribute_map = {
21246        'additional_properties': {'key': '', 'type': '{object}'},
21247        'type': {'key': 'type', 'type': 'str'},
21248        'description': {'key': 'description', 'type': 'str'},
21249    }
21250
21251    _subtype_map = {
21252        'type': {'Managed': 'ManagedIntegrationRuntime', 'SelfHosted': 'SelfHostedIntegrationRuntime'}
21253    }
21254
21255    def __init__(
21256        self,
21257        *,
21258        additional_properties: Optional[Dict[str, Any]] = None,
21259        description: Optional[str] = None,
21260        **kwargs
21261    ):
21262        super(IntegrationRuntime, self).__init__(**kwargs)
21263        self.additional_properties = additional_properties
21264        self.type = 'IntegrationRuntime'  # type: str
21265        self.description = description
21266
21267
21268class IntegrationRuntimeComputeProperties(msrest.serialization.Model):
21269    """The compute resource properties for managed integration runtime.
21270
21271    :param additional_properties: Unmatched properties from the message are deserialized to this
21272     collection.
21273    :type additional_properties: dict[str, any]
21274    :param location: The location for managed integration runtime. The supported regions could be
21275     found on
21276     https://docs.microsoft.com/en-us/azure/data-factory/data-factory-data-movement-activities.
21277    :type location: str
21278    :param node_size: The node size requirement to managed integration runtime.
21279    :type node_size: str
21280    :param number_of_nodes: The required number of nodes for managed integration runtime.
21281    :type number_of_nodes: int
21282    :param max_parallel_executions_per_node: Maximum parallel executions count per node for managed
21283     integration runtime.
21284    :type max_parallel_executions_per_node: int
21285    :param data_flow_properties: Data flow properties for managed integration runtime.
21286    :type data_flow_properties:
21287     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeDataFlowProperties
21288    :param v_net_properties: VNet properties for managed integration runtime.
21289    :type v_net_properties:
21290     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeVNetProperties
21291    """
21292
21293    _validation = {
21294        'number_of_nodes': {'minimum': 1},
21295        'max_parallel_executions_per_node': {'minimum': 1},
21296    }
21297
21298    _attribute_map = {
21299        'additional_properties': {'key': '', 'type': '{object}'},
21300        'location': {'key': 'location', 'type': 'str'},
21301        'node_size': {'key': 'nodeSize', 'type': 'str'},
21302        'number_of_nodes': {'key': 'numberOfNodes', 'type': 'int'},
21303        'max_parallel_executions_per_node': {'key': 'maxParallelExecutionsPerNode', 'type': 'int'},
21304        'data_flow_properties': {'key': 'dataFlowProperties', 'type': 'IntegrationRuntimeDataFlowProperties'},
21305        'v_net_properties': {'key': 'vNetProperties', 'type': 'IntegrationRuntimeVNetProperties'},
21306    }
21307
21308    def __init__(
21309        self,
21310        *,
21311        additional_properties: Optional[Dict[str, Any]] = None,
21312        location: Optional[str] = None,
21313        node_size: Optional[str] = None,
21314        number_of_nodes: Optional[int] = None,
21315        max_parallel_executions_per_node: Optional[int] = None,
21316        data_flow_properties: Optional["IntegrationRuntimeDataFlowProperties"] = None,
21317        v_net_properties: Optional["IntegrationRuntimeVNetProperties"] = None,
21318        **kwargs
21319    ):
21320        super(IntegrationRuntimeComputeProperties, self).__init__(**kwargs)
21321        self.additional_properties = additional_properties
21322        self.location = location
21323        self.node_size = node_size
21324        self.number_of_nodes = number_of_nodes
21325        self.max_parallel_executions_per_node = max_parallel_executions_per_node
21326        self.data_flow_properties = data_flow_properties
21327        self.v_net_properties = v_net_properties
21328
21329
21330class IntegrationRuntimeCustomSetupScriptProperties(msrest.serialization.Model):
21331    """Custom setup script properties for a managed dedicated integration runtime.
21332
21333    :param blob_container_uri: The URI of the Azure blob container that contains the custom setup
21334     script.
21335    :type blob_container_uri: str
21336    :param sas_token: The SAS token of the Azure blob container.
21337    :type sas_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecureString
21338    """
21339
21340    _attribute_map = {
21341        'blob_container_uri': {'key': 'blobContainerUri', 'type': 'str'},
21342        'sas_token': {'key': 'sasToken', 'type': 'SecureString'},
21343    }
21344
21345    def __init__(
21346        self,
21347        *,
21348        blob_container_uri: Optional[str] = None,
21349        sas_token: Optional["SecureString"] = None,
21350        **kwargs
21351    ):
21352        super(IntegrationRuntimeCustomSetupScriptProperties, self).__init__(**kwargs)
21353        self.blob_container_uri = blob_container_uri
21354        self.sas_token = sas_token
21355
21356
21357class IntegrationRuntimeDataFlowProperties(msrest.serialization.Model):
21358    """Data flow properties for managed integration runtime.
21359
21360    :param additional_properties: Unmatched properties from the message are deserialized to this
21361     collection.
21362    :type additional_properties: dict[str, any]
21363    :param compute_type: Compute type of the cluster which will execute data flow job. Possible
21364     values include: "General", "MemoryOptimized", "ComputeOptimized".
21365    :type compute_type: str or
21366     ~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowComputeType
21367    :param core_count: Core count of the cluster which will execute data flow job. Supported values
21368     are: 8, 16, 32, 48, 80, 144 and 272.
21369    :type core_count: int
21370    :param time_to_live: Time to live (in minutes) setting of the cluster which will execute data
21371     flow job.
21372    :type time_to_live: int
21373    """
21374
21375    _validation = {
21376        'time_to_live': {'minimum': 0},
21377    }
21378
21379    _attribute_map = {
21380        'additional_properties': {'key': '', 'type': '{object}'},
21381        'compute_type': {'key': 'computeType', 'type': 'str'},
21382        'core_count': {'key': 'coreCount', 'type': 'int'},
21383        'time_to_live': {'key': 'timeToLive', 'type': 'int'},
21384    }
21385
21386    def __init__(
21387        self,
21388        *,
21389        additional_properties: Optional[Dict[str, Any]] = None,
21390        compute_type: Optional[Union[str, "DataFlowComputeType"]] = None,
21391        core_count: Optional[int] = None,
21392        time_to_live: Optional[int] = None,
21393        **kwargs
21394    ):
21395        super(IntegrationRuntimeDataFlowProperties, self).__init__(**kwargs)
21396        self.additional_properties = additional_properties
21397        self.compute_type = compute_type
21398        self.core_count = core_count
21399        self.time_to_live = time_to_live
21400
21401
21402class IntegrationRuntimeDataProxyProperties(msrest.serialization.Model):
21403    """Data proxy properties for a managed dedicated integration runtime.
21404
21405    :param connect_via: The self-hosted integration runtime reference.
21406    :type connect_via: ~azure.synapse.artifacts.v2021_06_01_preview.models.EntityReference
21407    :param staging_linked_service: The staging linked service reference.
21408    :type staging_linked_service:
21409     ~azure.synapse.artifacts.v2021_06_01_preview.models.EntityReference
21410    :param path: The path to contain the staged data in the Blob storage.
21411    :type path: str
21412    """
21413
21414    _attribute_map = {
21415        'connect_via': {'key': 'connectVia', 'type': 'EntityReference'},
21416        'staging_linked_service': {'key': 'stagingLinkedService', 'type': 'EntityReference'},
21417        'path': {'key': 'path', 'type': 'str'},
21418    }
21419
21420    def __init__(
21421        self,
21422        *,
21423        connect_via: Optional["EntityReference"] = None,
21424        staging_linked_service: Optional["EntityReference"] = None,
21425        path: Optional[str] = None,
21426        **kwargs
21427    ):
21428        super(IntegrationRuntimeDataProxyProperties, self).__init__(**kwargs)
21429        self.connect_via = connect_via
21430        self.staging_linked_service = staging_linked_service
21431        self.path = path
21432
21433
21434class IntegrationRuntimeListResponse(msrest.serialization.Model):
21435    """A list of integration runtime resources.
21436
21437    All required parameters must be populated in order to send to Azure.
21438
21439    :param value: Required. List of integration runtimes.
21440    :type value:
21441     list[~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeResource]
21442    :param next_link: The link to the next page of results, if any remaining results exist.
21443    :type next_link: str
21444    """
21445
21446    _validation = {
21447        'value': {'required': True},
21448    }
21449
21450    _attribute_map = {
21451        'value': {'key': 'value', 'type': '[IntegrationRuntimeResource]'},
21452        'next_link': {'key': 'nextLink', 'type': 'str'},
21453    }
21454
21455    def __init__(
21456        self,
21457        *,
21458        value: List["IntegrationRuntimeResource"],
21459        next_link: Optional[str] = None,
21460        **kwargs
21461    ):
21462        super(IntegrationRuntimeListResponse, self).__init__(**kwargs)
21463        self.value = value
21464        self.next_link = next_link
21465
21466
21467class IntegrationRuntimeReference(msrest.serialization.Model):
21468    """Integration runtime reference type.
21469
21470    All required parameters must be populated in order to send to Azure.
21471
21472    :param type: Required. Type of integration runtime. Possible values include:
21473     "IntegrationRuntimeReference".
21474    :type type: str or
21475     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReferenceType
21476    :param reference_name: Required. Reference integration runtime name.
21477    :type reference_name: str
21478    :param parameters: Arguments for integration runtime.
21479    :type parameters: dict[str, any]
21480    """
21481
21482    _validation = {
21483        'type': {'required': True},
21484        'reference_name': {'required': True},
21485    }
21486
21487    _attribute_map = {
21488        'type': {'key': 'type', 'type': 'str'},
21489        'reference_name': {'key': 'referenceName', 'type': 'str'},
21490        'parameters': {'key': 'parameters', 'type': '{object}'},
21491    }
21492
21493    def __init__(
21494        self,
21495        *,
21496        type: Union[str, "IntegrationRuntimeReferenceType"],
21497        reference_name: str,
21498        parameters: Optional[Dict[str, Any]] = None,
21499        **kwargs
21500    ):
21501        super(IntegrationRuntimeReference, self).__init__(**kwargs)
21502        self.type = type
21503        self.reference_name = reference_name
21504        self.parameters = parameters
21505
21506
21507class IntegrationRuntimeResource(SubResource):
21508    """Integration runtime resource type.
21509
21510    Variables are only populated by the server, and will be ignored when sending a request.
21511
21512    All required parameters must be populated in order to send to Azure.
21513
21514    :ivar id: Fully qualified resource ID for the resource. Ex -
21515     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
21516    :vartype id: str
21517    :ivar name: The name of the resource.
21518    :vartype name: str
21519    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
21520     "Microsoft.Storage/storageAccounts".
21521    :vartype type: str
21522    :ivar etag: Resource Etag.
21523    :vartype etag: str
21524    :param properties: Required. Integration runtime properties.
21525    :type properties: ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntime
21526    """
21527
21528    _validation = {
21529        'id': {'readonly': True},
21530        'name': {'readonly': True},
21531        'type': {'readonly': True},
21532        'etag': {'readonly': True},
21533        'properties': {'required': True},
21534    }
21535
21536    _attribute_map = {
21537        'id': {'key': 'id', 'type': 'str'},
21538        'name': {'key': 'name', 'type': 'str'},
21539        'type': {'key': 'type', 'type': 'str'},
21540        'etag': {'key': 'etag', 'type': 'str'},
21541        'properties': {'key': 'properties', 'type': 'IntegrationRuntime'},
21542    }
21543
21544    def __init__(
21545        self,
21546        *,
21547        properties: "IntegrationRuntime",
21548        **kwargs
21549    ):
21550        super(IntegrationRuntimeResource, self).__init__(**kwargs)
21551        self.properties = properties
21552
21553
21554class IntegrationRuntimeSsisCatalogInfo(msrest.serialization.Model):
21555    """Catalog information for managed dedicated integration runtime.
21556
21557    :param additional_properties: Unmatched properties from the message are deserialized to this
21558     collection.
21559    :type additional_properties: dict[str, any]
21560    :param catalog_server_endpoint: The catalog database server URL.
21561    :type catalog_server_endpoint: str
21562    :param catalog_admin_user_name: The administrator user name of catalog database.
21563    :type catalog_admin_user_name: str
21564    :param catalog_admin_password: The password of the administrator user account of the catalog
21565     database.
21566    :type catalog_admin_password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecureString
21567    :param catalog_pricing_tier: The pricing tier for the catalog database. The valid values could
21568     be found in https://azure.microsoft.com/en-us/pricing/details/sql-database/. Possible values
21569     include: "Basic", "Standard", "Premium", "PremiumRS".
21570    :type catalog_pricing_tier: str or
21571     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeSsisCatalogPricingTier
21572    """
21573
21574    _validation = {
21575        'catalog_admin_user_name': {'max_length': 128, 'min_length': 1},
21576    }
21577
21578    _attribute_map = {
21579        'additional_properties': {'key': '', 'type': '{object}'},
21580        'catalog_server_endpoint': {'key': 'catalogServerEndpoint', 'type': 'str'},
21581        'catalog_admin_user_name': {'key': 'catalogAdminUserName', 'type': 'str'},
21582        'catalog_admin_password': {'key': 'catalogAdminPassword', 'type': 'SecureString'},
21583        'catalog_pricing_tier': {'key': 'catalogPricingTier', 'type': 'str'},
21584    }
21585
21586    def __init__(
21587        self,
21588        *,
21589        additional_properties: Optional[Dict[str, Any]] = None,
21590        catalog_server_endpoint: Optional[str] = None,
21591        catalog_admin_user_name: Optional[str] = None,
21592        catalog_admin_password: Optional["SecureString"] = None,
21593        catalog_pricing_tier: Optional[Union[str, "IntegrationRuntimeSsisCatalogPricingTier"]] = None,
21594        **kwargs
21595    ):
21596        super(IntegrationRuntimeSsisCatalogInfo, self).__init__(**kwargs)
21597        self.additional_properties = additional_properties
21598        self.catalog_server_endpoint = catalog_server_endpoint
21599        self.catalog_admin_user_name = catalog_admin_user_name
21600        self.catalog_admin_password = catalog_admin_password
21601        self.catalog_pricing_tier = catalog_pricing_tier
21602
21603
21604class IntegrationRuntimeSsisProperties(msrest.serialization.Model):
21605    """SSIS properties for managed integration runtime.
21606
21607    :param additional_properties: Unmatched properties from the message are deserialized to this
21608     collection.
21609    :type additional_properties: dict[str, any]
21610    :param catalog_info: Catalog information for managed dedicated integration runtime.
21611    :type catalog_info:
21612     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeSsisCatalogInfo
21613    :param license_type: License type for bringing your own license scenario. Possible values
21614     include: "BasePrice", "LicenseIncluded".
21615    :type license_type: str or
21616     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeLicenseType
21617    :param custom_setup_script_properties: Custom setup script properties for a managed dedicated
21618     integration runtime.
21619    :type custom_setup_script_properties:
21620     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeCustomSetupScriptProperties
21621    :param data_proxy_properties: Data proxy properties for a managed dedicated integration
21622     runtime.
21623    :type data_proxy_properties:
21624     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeDataProxyProperties
21625    :param edition: The edition for the SSIS Integration Runtime. Possible values include:
21626     "Standard", "Enterprise".
21627    :type edition: str or
21628     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeEdition
21629    :param express_custom_setup_properties: Custom setup without script properties for a SSIS
21630     integration runtime.
21631    :type express_custom_setup_properties:
21632     list[~azure.synapse.artifacts.v2021_06_01_preview.models.CustomSetupBase]
21633    """
21634
21635    _attribute_map = {
21636        'additional_properties': {'key': '', 'type': '{object}'},
21637        'catalog_info': {'key': 'catalogInfo', 'type': 'IntegrationRuntimeSsisCatalogInfo'},
21638        'license_type': {'key': 'licenseType', 'type': 'str'},
21639        'custom_setup_script_properties': {'key': 'customSetupScriptProperties', 'type': 'IntegrationRuntimeCustomSetupScriptProperties'},
21640        'data_proxy_properties': {'key': 'dataProxyProperties', 'type': 'IntegrationRuntimeDataProxyProperties'},
21641        'edition': {'key': 'edition', 'type': 'str'},
21642        'express_custom_setup_properties': {'key': 'expressCustomSetupProperties', 'type': '[CustomSetupBase]'},
21643    }
21644
21645    def __init__(
21646        self,
21647        *,
21648        additional_properties: Optional[Dict[str, Any]] = None,
21649        catalog_info: Optional["IntegrationRuntimeSsisCatalogInfo"] = None,
21650        license_type: Optional[Union[str, "IntegrationRuntimeLicenseType"]] = None,
21651        custom_setup_script_properties: Optional["IntegrationRuntimeCustomSetupScriptProperties"] = None,
21652        data_proxy_properties: Optional["IntegrationRuntimeDataProxyProperties"] = None,
21653        edition: Optional[Union[str, "IntegrationRuntimeEdition"]] = None,
21654        express_custom_setup_properties: Optional[List["CustomSetupBase"]] = None,
21655        **kwargs
21656    ):
21657        super(IntegrationRuntimeSsisProperties, self).__init__(**kwargs)
21658        self.additional_properties = additional_properties
21659        self.catalog_info = catalog_info
21660        self.license_type = license_type
21661        self.custom_setup_script_properties = custom_setup_script_properties
21662        self.data_proxy_properties = data_proxy_properties
21663        self.edition = edition
21664        self.express_custom_setup_properties = express_custom_setup_properties
21665
21666
21667class IntegrationRuntimeVNetProperties(msrest.serialization.Model):
21668    """VNet properties for managed integration runtime.
21669
21670    :param additional_properties: Unmatched properties from the message are deserialized to this
21671     collection.
21672    :type additional_properties: dict[str, any]
21673    :param v_net_id: The ID of the VNet that this integration runtime will join.
21674    :type v_net_id: str
21675    :param subnet: The name of the subnet this integration runtime will join.
21676    :type subnet: str
21677    :param public_i_ps: Resource IDs of the public IP addresses that this integration runtime will
21678     use.
21679    :type public_i_ps: list[str]
21680    """
21681
21682    _attribute_map = {
21683        'additional_properties': {'key': '', 'type': '{object}'},
21684        'v_net_id': {'key': 'vNetId', 'type': 'str'},
21685        'subnet': {'key': 'subnet', 'type': 'str'},
21686        'public_i_ps': {'key': 'publicIPs', 'type': '[str]'},
21687    }
21688
21689    def __init__(
21690        self,
21691        *,
21692        additional_properties: Optional[Dict[str, Any]] = None,
21693        v_net_id: Optional[str] = None,
21694        subnet: Optional[str] = None,
21695        public_i_ps: Optional[List[str]] = None,
21696        **kwargs
21697    ):
21698        super(IntegrationRuntimeVNetProperties, self).__init__(**kwargs)
21699        self.additional_properties = additional_properties
21700        self.v_net_id = v_net_id
21701        self.subnet = subnet
21702        self.public_i_ps = public_i_ps
21703
21704
21705class JiraLinkedService(LinkedService):
21706    """Jira Service linked service.
21707
21708    All required parameters must be populated in order to send to Azure.
21709
21710    :param additional_properties: Unmatched properties from the message are deserialized to this
21711     collection.
21712    :type additional_properties: dict[str, any]
21713    :param type: Required. Type of linked service.Constant filled by server.
21714    :type type: str
21715    :param connect_via: The integration runtime reference.
21716    :type connect_via:
21717     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
21718    :param description: Linked service description.
21719    :type description: str
21720    :param parameters: Parameters for linked service.
21721    :type parameters: dict[str,
21722     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
21723    :param annotations: List of tags that can be used for describing the linked service.
21724    :type annotations: list[any]
21725    :param host: Required. The IP address or host name of the Jira service. (e.g.
21726     jira.example.com).
21727    :type host: any
21728    :param port: The TCP port that the Jira server uses to listen for client connections. The
21729     default value is 443 if connecting through HTTPS, or 8080 if connecting through HTTP.
21730    :type port: any
21731    :param username: Required. The user name that you use to access Jira Service.
21732    :type username: any
21733    :param password: The password corresponding to the user name that you provided in the username
21734     field.
21735    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
21736    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
21737     HTTPS. The default value is true.
21738    :type use_encrypted_endpoints: any
21739    :param use_host_verification: Specifies whether to require the host name in the server's
21740     certificate to match the host name of the server when connecting over SSL. The default value is
21741     true.
21742    :type use_host_verification: any
21743    :param use_peer_verification: Specifies whether to verify the identity of the server when
21744     connecting over SSL. The default value is true.
21745    :type use_peer_verification: any
21746    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
21747     encrypted using the integration runtime credential manager. Type: string (or Expression with
21748     resultType string).
21749    :type encrypted_credential: any
21750    """
21751
21752    _validation = {
21753        'type': {'required': True},
21754        'host': {'required': True},
21755        'username': {'required': True},
21756    }
21757
21758    _attribute_map = {
21759        'additional_properties': {'key': '', 'type': '{object}'},
21760        'type': {'key': 'type', 'type': 'str'},
21761        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
21762        'description': {'key': 'description', 'type': 'str'},
21763        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
21764        'annotations': {'key': 'annotations', 'type': '[object]'},
21765        'host': {'key': 'typeProperties.host', 'type': 'object'},
21766        'port': {'key': 'typeProperties.port', 'type': 'object'},
21767        'username': {'key': 'typeProperties.username', 'type': 'object'},
21768        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
21769        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
21770        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
21771        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
21772        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
21773    }
21774
21775    def __init__(
21776        self,
21777        *,
21778        host: Any,
21779        username: Any,
21780        additional_properties: Optional[Dict[str, Any]] = None,
21781        connect_via: Optional["IntegrationRuntimeReference"] = None,
21782        description: Optional[str] = None,
21783        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
21784        annotations: Optional[List[Any]] = None,
21785        port: Optional[Any] = None,
21786        password: Optional["SecretBase"] = None,
21787        use_encrypted_endpoints: Optional[Any] = None,
21788        use_host_verification: Optional[Any] = None,
21789        use_peer_verification: Optional[Any] = None,
21790        encrypted_credential: Optional[Any] = None,
21791        **kwargs
21792    ):
21793        super(JiraLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
21794        self.type = 'Jira'  # type: str
21795        self.host = host
21796        self.port = port
21797        self.username = username
21798        self.password = password
21799        self.use_encrypted_endpoints = use_encrypted_endpoints
21800        self.use_host_verification = use_host_verification
21801        self.use_peer_verification = use_peer_verification
21802        self.encrypted_credential = encrypted_credential
21803
21804
21805class JiraObjectDataset(Dataset):
21806    """Jira Service dataset.
21807
21808    All required parameters must be populated in order to send to Azure.
21809
21810    :param additional_properties: Unmatched properties from the message are deserialized to this
21811     collection.
21812    :type additional_properties: dict[str, any]
21813    :param type: Required. Type of dataset.Constant filled by server.
21814    :type type: str
21815    :param description: Dataset description.
21816    :type description: str
21817    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
21818     with resultType array), itemType: DatasetDataElement.
21819    :type structure: any
21820    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
21821     Expression with resultType array), itemType: DatasetSchemaDataElement.
21822    :type schema: any
21823    :param linked_service_name: Required. Linked service reference.
21824    :type linked_service_name:
21825     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
21826    :param parameters: Parameters for dataset.
21827    :type parameters: dict[str,
21828     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
21829    :param annotations: List of tags that can be used for describing the Dataset.
21830    :type annotations: list[any]
21831    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
21832     root level.
21833    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
21834    :param table_name: The table name. Type: string (or Expression with resultType string).
21835    :type table_name: any
21836    """
21837
21838    _validation = {
21839        'type': {'required': True},
21840        'linked_service_name': {'required': True},
21841    }
21842
21843    _attribute_map = {
21844        'additional_properties': {'key': '', 'type': '{object}'},
21845        'type': {'key': 'type', 'type': 'str'},
21846        'description': {'key': 'description', 'type': 'str'},
21847        'structure': {'key': 'structure', 'type': 'object'},
21848        'schema': {'key': 'schema', 'type': 'object'},
21849        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
21850        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
21851        'annotations': {'key': 'annotations', 'type': '[object]'},
21852        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
21853        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
21854    }
21855
21856    def __init__(
21857        self,
21858        *,
21859        linked_service_name: "LinkedServiceReference",
21860        additional_properties: Optional[Dict[str, Any]] = None,
21861        description: Optional[str] = None,
21862        structure: Optional[Any] = None,
21863        schema: Optional[Any] = None,
21864        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
21865        annotations: Optional[List[Any]] = None,
21866        folder: Optional["DatasetFolder"] = None,
21867        table_name: Optional[Any] = None,
21868        **kwargs
21869    ):
21870        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)
21871        self.type = 'JiraObject'  # type: str
21872        self.table_name = table_name
21873
21874
21875class JiraSource(TabularSource):
21876    """A copy activity Jira Service source.
21877
21878    All required parameters must be populated in order to send to Azure.
21879
21880    :param additional_properties: Unmatched properties from the message are deserialized to this
21881     collection.
21882    :type additional_properties: dict[str, any]
21883    :param type: Required. Copy source type.Constant filled by server.
21884    :type type: str
21885    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
21886     integer).
21887    :type source_retry_count: any
21888    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
21889     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
21890    :type source_retry_wait: any
21891    :param max_concurrent_connections: The maximum concurrent connection count for the source data
21892     store. Type: integer (or Expression with resultType integer).
21893    :type max_concurrent_connections: any
21894    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
21895     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
21896    :type query_timeout: any
21897    :param additional_columns: Specifies the additional columns to be added to source data. Type:
21898     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
21899    :type additional_columns: any
21900    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
21901     string).
21902    :type query: any
21903    """
21904
21905    _validation = {
21906        'type': {'required': True},
21907    }
21908
21909    _attribute_map = {
21910        'additional_properties': {'key': '', 'type': '{object}'},
21911        'type': {'key': 'type', 'type': 'str'},
21912        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
21913        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
21914        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
21915        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
21916        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
21917        'query': {'key': 'query', 'type': 'object'},
21918    }
21919
21920    def __init__(
21921        self,
21922        *,
21923        additional_properties: Optional[Dict[str, Any]] = None,
21924        source_retry_count: Optional[Any] = None,
21925        source_retry_wait: Optional[Any] = None,
21926        max_concurrent_connections: Optional[Any] = None,
21927        query_timeout: Optional[Any] = None,
21928        additional_columns: Optional[Any] = None,
21929        query: Optional[Any] = None,
21930        **kwargs
21931    ):
21932        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)
21933        self.type = 'JiraSource'  # type: str
21934        self.query = query
21935
21936
21937class JsonDataset(Dataset):
21938    """Json dataset.
21939
21940    All required parameters must be populated in order to send to Azure.
21941
21942    :param additional_properties: Unmatched properties from the message are deserialized to this
21943     collection.
21944    :type additional_properties: dict[str, any]
21945    :param type: Required. Type of dataset.Constant filled by server.
21946    :type type: str
21947    :param description: Dataset description.
21948    :type description: str
21949    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
21950     with resultType array), itemType: DatasetDataElement.
21951    :type structure: any
21952    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
21953     Expression with resultType array), itemType: DatasetSchemaDataElement.
21954    :type schema: any
21955    :param linked_service_name: Required. Linked service reference.
21956    :type linked_service_name:
21957     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
21958    :param parameters: Parameters for dataset.
21959    :type parameters: dict[str,
21960     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
21961    :param annotations: List of tags that can be used for describing the Dataset.
21962    :type annotations: list[any]
21963    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
21964     root level.
21965    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
21966    :param location: The location of the json data storage.
21967    :type location: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetLocation
21968    :param encoding_name: The code page name of the preferred encoding. If not specified, the
21969     default value is UTF-8, unless BOM denotes another Unicode encoding. Refer to the name column
21970     of the table in the following link to set supported values:
21971     https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with
21972     resultType string).
21973    :type encoding_name: any
21974    :param compression: The data compression method used for the json dataset.
21975    :type compression: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetCompression
21976    """
21977
21978    _validation = {
21979        'type': {'required': True},
21980        'linked_service_name': {'required': True},
21981    }
21982
21983    _attribute_map = {
21984        'additional_properties': {'key': '', 'type': '{object}'},
21985        'type': {'key': 'type', 'type': 'str'},
21986        'description': {'key': 'description', 'type': 'str'},
21987        'structure': {'key': 'structure', 'type': 'object'},
21988        'schema': {'key': 'schema', 'type': 'object'},
21989        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
21990        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
21991        'annotations': {'key': 'annotations', 'type': '[object]'},
21992        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
21993        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
21994        'encoding_name': {'key': 'typeProperties.encodingName', 'type': 'object'},
21995        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
21996    }
21997
21998    def __init__(
21999        self,
22000        *,
22001        linked_service_name: "LinkedServiceReference",
22002        additional_properties: Optional[Dict[str, Any]] = None,
22003        description: Optional[str] = None,
22004        structure: Optional[Any] = None,
22005        schema: Optional[Any] = None,
22006        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
22007        annotations: Optional[List[Any]] = None,
22008        folder: Optional["DatasetFolder"] = None,
22009        location: Optional["DatasetLocation"] = None,
22010        encoding_name: Optional[Any] = None,
22011        compression: Optional["DatasetCompression"] = None,
22012        **kwargs
22013    ):
22014        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)
22015        self.type = 'Json'  # type: str
22016        self.location = location
22017        self.encoding_name = encoding_name
22018        self.compression = compression
22019
22020
22021class JsonFormat(DatasetStorageFormat):
22022    """The data stored in JSON format.
22023
22024    All required parameters must be populated in order to send to Azure.
22025
22026    :param additional_properties: Unmatched properties from the message are deserialized to this
22027     collection.
22028    :type additional_properties: dict[str, any]
22029    :param type: Required. Type of dataset storage format.Constant filled by server.
22030    :type type: str
22031    :param serializer: Serializer. Type: string (or Expression with resultType string).
22032    :type serializer: any
22033    :param deserializer: Deserializer. Type: string (or Expression with resultType string).
22034    :type deserializer: any
22035    :param file_pattern: File pattern of JSON. To be more specific, the way of separating a
22036     collection of JSON objects. The default value is 'setOfObjects'. It is case-sensitive. Possible
22037     values include: "setOfObjects", "arrayOfObjects".
22038    :type file_pattern: str or
22039     ~azure.synapse.artifacts.v2021_06_01_preview.models.JsonFormatFilePattern
22040    :param nesting_separator: The character used to separate nesting levels. Default value is '.'
22041     (dot). Type: string (or Expression with resultType string).
22042    :type nesting_separator: any
22043    :param encoding_name: The code page name of the preferred encoding. If not provided, the
22044     default value is 'utf-8', unless the byte order mark (BOM) denotes another Unicode encoding.
22045     The full list of supported values can be found in the 'Name' column of the table of encodings
22046     in the following reference: https://go.microsoft.com/fwlink/?linkid=861078. Type: string (or
22047     Expression with resultType string).
22048    :type encoding_name: any
22049    :param json_node_reference: The JSONPath of the JSON array element to be flattened. Example:
22050     "$.ArrayPath". Type: string (or Expression with resultType string).
22051    :type json_node_reference: any
22052    :param json_path_definition: The JSONPath definition for each column mapping with a customized
22053     column name to extract data from JSON file. For fields under root object, start with "$"; for
22054     fields inside the array chosen by jsonNodeReference property, start from the array element.
22055     Example: {"Column1": "$.Column1Path", "Column2": "Column2PathInArray"}. Type: object (or
22056     Expression with resultType object).
22057    :type json_path_definition: any
22058    """
22059
22060    _validation = {
22061        'type': {'required': True},
22062    }
22063
22064    _attribute_map = {
22065        'additional_properties': {'key': '', 'type': '{object}'},
22066        'type': {'key': 'type', 'type': 'str'},
22067        'serializer': {'key': 'serializer', 'type': 'object'},
22068        'deserializer': {'key': 'deserializer', 'type': 'object'},
22069        'file_pattern': {'key': 'filePattern', 'type': 'str'},
22070        'nesting_separator': {'key': 'nestingSeparator', 'type': 'object'},
22071        'encoding_name': {'key': 'encodingName', 'type': 'object'},
22072        'json_node_reference': {'key': 'jsonNodeReference', 'type': 'object'},
22073        'json_path_definition': {'key': 'jsonPathDefinition', 'type': 'object'},
22074    }
22075
22076    def __init__(
22077        self,
22078        *,
22079        additional_properties: Optional[Dict[str, Any]] = None,
22080        serializer: Optional[Any] = None,
22081        deserializer: Optional[Any] = None,
22082        file_pattern: Optional[Union[str, "JsonFormatFilePattern"]] = None,
22083        nesting_separator: Optional[Any] = None,
22084        encoding_name: Optional[Any] = None,
22085        json_node_reference: Optional[Any] = None,
22086        json_path_definition: Optional[Any] = None,
22087        **kwargs
22088    ):
22089        super(JsonFormat, self).__init__(additional_properties=additional_properties, serializer=serializer, deserializer=deserializer, **kwargs)
22090        self.type = 'JsonFormat'  # type: str
22091        self.file_pattern = file_pattern
22092        self.nesting_separator = nesting_separator
22093        self.encoding_name = encoding_name
22094        self.json_node_reference = json_node_reference
22095        self.json_path_definition = json_path_definition
22096
22097
22098class JsonReadSettings(FormatReadSettings):
22099    """Json read settings.
22100
22101    All required parameters must be populated in order to send to Azure.
22102
22103    :param additional_properties: Unmatched properties from the message are deserialized to this
22104     collection.
22105    :type additional_properties: dict[str, any]
22106    :param type: Required. The read setting type.Constant filled by server.
22107    :type type: str
22108    :param compression_properties: Compression settings.
22109    :type compression_properties:
22110     ~azure.synapse.artifacts.v2021_06_01_preview.models.CompressionReadSettings
22111    """
22112
22113    _validation = {
22114        'type': {'required': True},
22115    }
22116
22117    _attribute_map = {
22118        'additional_properties': {'key': '', 'type': '{object}'},
22119        'type': {'key': 'type', 'type': 'str'},
22120        'compression_properties': {'key': 'compressionProperties', 'type': 'CompressionReadSettings'},
22121    }
22122
22123    def __init__(
22124        self,
22125        *,
22126        additional_properties: Optional[Dict[str, Any]] = None,
22127        compression_properties: Optional["CompressionReadSettings"] = None,
22128        **kwargs
22129    ):
22130        super(JsonReadSettings, self).__init__(additional_properties=additional_properties, **kwargs)
22131        self.type = 'JsonReadSettings'  # type: str
22132        self.compression_properties = compression_properties
22133
22134
22135class JsonSink(CopySink):
22136    """A copy activity Json sink.
22137
22138    All required parameters must be populated in order to send to Azure.
22139
22140    :param additional_properties: Unmatched properties from the message are deserialized to this
22141     collection.
22142    :type additional_properties: dict[str, any]
22143    :param type: Required. Copy sink type.Constant filled by server.
22144    :type type: str
22145    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
22146     integer), minimum: 0.
22147    :type write_batch_size: any
22148    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
22149     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
22150    :type write_batch_timeout: any
22151    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
22152     integer).
22153    :type sink_retry_count: any
22154    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
22155     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
22156    :type sink_retry_wait: any
22157    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
22158     store. Type: integer (or Expression with resultType integer).
22159    :type max_concurrent_connections: any
22160    :param store_settings: Json store settings.
22161    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreWriteSettings
22162    :param format_settings: Json format settings.
22163    :type format_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.JsonWriteSettings
22164    """
22165
22166    _validation = {
22167        'type': {'required': True},
22168    }
22169
22170    _attribute_map = {
22171        'additional_properties': {'key': '', 'type': '{object}'},
22172        'type': {'key': 'type', 'type': 'str'},
22173        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
22174        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
22175        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
22176        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
22177        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
22178        'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'},
22179        'format_settings': {'key': 'formatSettings', 'type': 'JsonWriteSettings'},
22180    }
22181
22182    def __init__(
22183        self,
22184        *,
22185        additional_properties: Optional[Dict[str, Any]] = None,
22186        write_batch_size: Optional[Any] = None,
22187        write_batch_timeout: Optional[Any] = None,
22188        sink_retry_count: Optional[Any] = None,
22189        sink_retry_wait: Optional[Any] = None,
22190        max_concurrent_connections: Optional[Any] = None,
22191        store_settings: Optional["StoreWriteSettings"] = None,
22192        format_settings: Optional["JsonWriteSettings"] = None,
22193        **kwargs
22194    ):
22195        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)
22196        self.type = 'JsonSink'  # type: str
22197        self.store_settings = store_settings
22198        self.format_settings = format_settings
22199
22200
22201class JsonSource(CopySource):
22202    """A copy activity Json source.
22203
22204    All required parameters must be populated in order to send to Azure.
22205
22206    :param additional_properties: Unmatched properties from the message are deserialized to this
22207     collection.
22208    :type additional_properties: dict[str, any]
22209    :param type: Required. Copy source type.Constant filled by server.
22210    :type type: str
22211    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
22212     integer).
22213    :type source_retry_count: any
22214    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
22215     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
22216    :type source_retry_wait: any
22217    :param max_concurrent_connections: The maximum concurrent connection count for the source data
22218     store. Type: integer (or Expression with resultType integer).
22219    :type max_concurrent_connections: any
22220    :param store_settings: Json store settings.
22221    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreReadSettings
22222    :param format_settings: Json format settings.
22223    :type format_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.JsonReadSettings
22224    :param additional_columns: Specifies the additional columns to be added to source data. Type:
22225     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
22226    :type additional_columns: any
22227    """
22228
22229    _validation = {
22230        'type': {'required': True},
22231    }
22232
22233    _attribute_map = {
22234        'additional_properties': {'key': '', 'type': '{object}'},
22235        'type': {'key': 'type', 'type': 'str'},
22236        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
22237        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
22238        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
22239        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
22240        'format_settings': {'key': 'formatSettings', 'type': 'JsonReadSettings'},
22241        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
22242    }
22243
22244    def __init__(
22245        self,
22246        *,
22247        additional_properties: Optional[Dict[str, Any]] = None,
22248        source_retry_count: Optional[Any] = None,
22249        source_retry_wait: Optional[Any] = None,
22250        max_concurrent_connections: Optional[Any] = None,
22251        store_settings: Optional["StoreReadSettings"] = None,
22252        format_settings: Optional["JsonReadSettings"] = None,
22253        additional_columns: Optional[Any] = None,
22254        **kwargs
22255    ):
22256        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)
22257        self.type = 'JsonSource'  # type: str
22258        self.store_settings = store_settings
22259        self.format_settings = format_settings
22260        self.additional_columns = additional_columns
22261
22262
22263class JsonWriteSettings(FormatWriteSettings):
22264    """Json write settings.
22265
22266    All required parameters must be populated in order to send to Azure.
22267
22268    :param additional_properties: Unmatched properties from the message are deserialized to this
22269     collection.
22270    :type additional_properties: dict[str, any]
22271    :param type: Required. The write setting type.Constant filled by server.
22272    :type type: str
22273    :param file_pattern: File pattern of JSON. This setting controls the way a collection of JSON
22274     objects will be treated. The default value is 'setOfObjects'. It is case-sensitive. Possible
22275     values include: "setOfObjects", "arrayOfObjects".
22276    :type file_pattern: str or
22277     ~azure.synapse.artifacts.v2021_06_01_preview.models.JsonWriteFilePattern
22278    """
22279
22280    _validation = {
22281        'type': {'required': True},
22282    }
22283
22284    _attribute_map = {
22285        'additional_properties': {'key': '', 'type': '{object}'},
22286        'type': {'key': 'type', 'type': 'str'},
22287        'file_pattern': {'key': 'filePattern', 'type': 'str'},
22288    }
22289
22290    def __init__(
22291        self,
22292        *,
22293        additional_properties: Optional[Dict[str, Any]] = None,
22294        file_pattern: Optional[Union[str, "JsonWriteFilePattern"]] = None,
22295        **kwargs
22296    ):
22297        super(JsonWriteSettings, self).__init__(additional_properties=additional_properties, **kwargs)
22298        self.type = 'JsonWriteSettings'  # type: str
22299        self.file_pattern = file_pattern
22300
22301
22302class LibraryInfo(msrest.serialization.Model):
22303    """Library/package information of a Big Data pool powered by Apache Spark.
22304
22305    Variables are only populated by the server, and will be ignored when sending a request.
22306
22307    :param name: Name of the library.
22308    :type name: str
22309    :param path: Storage blob path of library.
22310    :type path: str
22311    :param container_name: Storage blob container name.
22312    :type container_name: str
22313    :ivar uploaded_timestamp: The last update time of the library.
22314    :vartype uploaded_timestamp: ~datetime.datetime
22315    :param type: Type of the library.
22316    :type type: str
22317    :ivar provisioning_status: Provisioning status of the library/package.
22318    :vartype provisioning_status: str
22319    :ivar creator_id: Creator Id of the library/package.
22320    :vartype creator_id: str
22321    """
22322
22323    _validation = {
22324        'uploaded_timestamp': {'readonly': True},
22325        'provisioning_status': {'readonly': True},
22326        'creator_id': {'readonly': True},
22327    }
22328
22329    _attribute_map = {
22330        'name': {'key': 'name', 'type': 'str'},
22331        'path': {'key': 'path', 'type': 'str'},
22332        'container_name': {'key': 'containerName', 'type': 'str'},
22333        'uploaded_timestamp': {'key': 'uploadedTimestamp', 'type': 'iso-8601'},
22334        'type': {'key': 'type', 'type': 'str'},
22335        'provisioning_status': {'key': 'provisioningStatus', 'type': 'str'},
22336        'creator_id': {'key': 'creatorId', 'type': 'str'},
22337    }
22338
22339    def __init__(
22340        self,
22341        *,
22342        name: Optional[str] = None,
22343        path: Optional[str] = None,
22344        container_name: Optional[str] = None,
22345        type: Optional[str] = None,
22346        **kwargs
22347    ):
22348        super(LibraryInfo, self).__init__(**kwargs)
22349        self.name = name
22350        self.path = path
22351        self.container_name = container_name
22352        self.uploaded_timestamp = None
22353        self.type = type
22354        self.provisioning_status = None
22355        self.creator_id = None
22356
22357
22358class LibraryListResponse(msrest.serialization.Model):
22359    """A list of Library resources.
22360
22361    All required parameters must be populated in order to send to Azure.
22362
22363    :param value: Required. List of Library.
22364    :type value: list[~azure.synapse.artifacts.v2021_06_01_preview.models.LibraryResource]
22365    :param next_link: The link to the next page of results, if any remaining results exist.
22366    :type next_link: str
22367    """
22368
22369    _validation = {
22370        'value': {'required': True},
22371    }
22372
22373    _attribute_map = {
22374        'value': {'key': 'value', 'type': '[LibraryResource]'},
22375        'next_link': {'key': 'nextLink', 'type': 'str'},
22376    }
22377
22378    def __init__(
22379        self,
22380        *,
22381        value: List["LibraryResource"],
22382        next_link: Optional[str] = None,
22383        **kwargs
22384    ):
22385        super(LibraryListResponse, self).__init__(**kwargs)
22386        self.value = value
22387        self.next_link = next_link
22388
22389
22390class LibraryRequirements(msrest.serialization.Model):
22391    """Library requirements for a Big Data pool powered by Apache Spark.
22392
22393    Variables are only populated by the server, and will be ignored when sending a request.
22394
22395    :ivar time: The last update time of the library requirements file.
22396    :vartype time: ~datetime.datetime
22397    :param content: The library requirements.
22398    :type content: str
22399    :param filename: The filename of the library requirements file.
22400    :type filename: str
22401    """
22402
22403    _validation = {
22404        'time': {'readonly': True},
22405    }
22406
22407    _attribute_map = {
22408        'time': {'key': 'time', 'type': 'iso-8601'},
22409        'content': {'key': 'content', 'type': 'str'},
22410        'filename': {'key': 'filename', 'type': 'str'},
22411    }
22412
22413    def __init__(
22414        self,
22415        *,
22416        content: Optional[str] = None,
22417        filename: Optional[str] = None,
22418        **kwargs
22419    ):
22420        super(LibraryRequirements, self).__init__(**kwargs)
22421        self.time = None
22422        self.content = content
22423        self.filename = filename
22424
22425
22426class LibraryResource(SubResource):
22427    """Library response details.
22428
22429    Variables are only populated by the server, and will be ignored when sending a request.
22430
22431    All required parameters must be populated in order to send to Azure.
22432
22433    :ivar id: Fully qualified resource ID for the resource. Ex -
22434     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
22435    :vartype id: str
22436    :ivar name: The name of the resource.
22437    :vartype name: str
22438    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
22439     "Microsoft.Storage/storageAccounts".
22440    :vartype type: str
22441    :ivar etag: Resource Etag.
22442    :vartype etag: str
22443    :param properties: Required. Library/package properties.
22444    :type properties: ~azure.synapse.artifacts.v2021_06_01_preview.models.LibraryResourceProperties
22445    """
22446
22447    _validation = {
22448        'id': {'readonly': True},
22449        'name': {'readonly': True},
22450        'type': {'readonly': True},
22451        'etag': {'readonly': True},
22452        'properties': {'required': True},
22453    }
22454
22455    _attribute_map = {
22456        'id': {'key': 'id', 'type': 'str'},
22457        'name': {'key': 'name', 'type': 'str'},
22458        'type': {'key': 'type', 'type': 'str'},
22459        'etag': {'key': 'etag', 'type': 'str'},
22460        'properties': {'key': 'properties', 'type': 'LibraryResourceProperties'},
22461    }
22462
22463    def __init__(
22464        self,
22465        *,
22466        properties: "LibraryResourceProperties",
22467        **kwargs
22468    ):
22469        super(LibraryResource, self).__init__(**kwargs)
22470        self.properties = properties
22471
22472
22473class LibraryResourceInfo(msrest.serialization.Model):
22474    """Library resource info.
22475
22476    Variables are only populated by the server, and will be ignored when sending a request.
22477
22478    :ivar id: Fully qualified resource ID for the resource. Ex -
22479     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
22480    :vartype id: str
22481    :ivar record_id: record Id of the library/package.
22482    :vartype record_id: int
22483    :ivar state: Provisioning status of the library/package.
22484    :vartype state: str
22485    :ivar created: The creation time of the library/package.
22486    :vartype created: str
22487    :ivar changed: The last updated time of the library/package.
22488    :vartype changed: str
22489    :ivar type: The type of the resource. E.g. LibraryArtifact.
22490    :vartype type: str
22491    :ivar name: Name of the library/package.
22492    :vartype name: str
22493    :ivar operation_id: Operation Id of the operation performed on library/package.
22494    :vartype operation_id: str
22495    :ivar artifact_id: artifact Id of the library/package.
22496    :vartype artifact_id: str
22497    """
22498
22499    _validation = {
22500        'id': {'readonly': True},
22501        'record_id': {'readonly': True},
22502        'state': {'readonly': True},
22503        'created': {'readonly': True},
22504        'changed': {'readonly': True},
22505        'type': {'readonly': True},
22506        'name': {'readonly': True},
22507        'operation_id': {'readonly': True},
22508        'artifact_id': {'readonly': True},
22509    }
22510
22511    _attribute_map = {
22512        'id': {'key': 'id', 'type': 'str'},
22513        'record_id': {'key': 'recordId', 'type': 'int'},
22514        'state': {'key': 'state', 'type': 'str'},
22515        'created': {'key': 'created', 'type': 'str'},
22516        'changed': {'key': 'changed', 'type': 'str'},
22517        'type': {'key': 'type', 'type': 'str'},
22518        'name': {'key': 'name', 'type': 'str'},
22519        'operation_id': {'key': 'operationId', 'type': 'str'},
22520        'artifact_id': {'key': 'artifactId', 'type': 'str'},
22521    }
22522
22523    def __init__(
22524        self,
22525        **kwargs
22526    ):
22527        super(LibraryResourceInfo, self).__init__(**kwargs)
22528        self.id = None
22529        self.record_id = None
22530        self.state = None
22531        self.created = None
22532        self.changed = None
22533        self.type = None
22534        self.name = None
22535        self.operation_id = None
22536        self.artifact_id = None
22537
22538
22539class LibraryResourceProperties(msrest.serialization.Model):
22540    """Library/package properties.
22541
22542    Variables are only populated by the server, and will be ignored when sending a request.
22543
22544    :ivar name: Name of the library/package.
22545    :vartype name: str
22546    :ivar path: Location of library/package in storage account.
22547    :vartype path: str
22548    :ivar container_name: Container name of the library/package.
22549    :vartype container_name: str
22550    :ivar uploaded_timestamp: The last update time of the library/package.
22551    :vartype uploaded_timestamp: str
22552    :ivar type: Type of the library/package.
22553    :vartype type: str
22554    :ivar provisioning_status: Provisioning status of the library/package.
22555    :vartype provisioning_status: str
22556    :ivar creator_id: Creator Id of the library/package.
22557    :vartype creator_id: str
22558    """
22559
22560    _validation = {
22561        'name': {'readonly': True},
22562        'path': {'readonly': True},
22563        'container_name': {'readonly': True},
22564        'uploaded_timestamp': {'readonly': True},
22565        'type': {'readonly': True},
22566        'provisioning_status': {'readonly': True},
22567        'creator_id': {'readonly': True},
22568    }
22569
22570    _attribute_map = {
22571        'name': {'key': 'name', 'type': 'str'},
22572        'path': {'key': 'path', 'type': 'str'},
22573        'container_name': {'key': 'containerName', 'type': 'str'},
22574        'uploaded_timestamp': {'key': 'uploadedTimestamp', 'type': 'str'},
22575        'type': {'key': 'type', 'type': 'str'},
22576        'provisioning_status': {'key': 'provisioningStatus', 'type': 'str'},
22577        'creator_id': {'key': 'creatorId', 'type': 'str'},
22578    }
22579
22580    def __init__(
22581        self,
22582        **kwargs
22583    ):
22584        super(LibraryResourceProperties, self).__init__(**kwargs)
22585        self.name = None
22586        self.path = None
22587        self.container_name = None
22588        self.uploaded_timestamp = None
22589        self.type = None
22590        self.provisioning_status = None
22591        self.creator_id = None
22592
22593
22594class LinkedIntegrationRuntimeType(msrest.serialization.Model):
22595    """The base definition of a linked integration runtime.
22596
22597    You probably want to use the sub-classes and not this class directly. Known
22598    sub-classes are: LinkedIntegrationRuntimeKeyAuthorization, LinkedIntegrationRuntimeRbacAuthorization.
22599
22600    All required parameters must be populated in order to send to Azure.
22601
22602    :param authorization_type: Required. The authorization type for integration runtime
22603     sharing.Constant filled by server.
22604    :type authorization_type: str
22605    """
22606
22607    _validation = {
22608        'authorization_type': {'required': True},
22609    }
22610
22611    _attribute_map = {
22612        'authorization_type': {'key': 'authorizationType', 'type': 'str'},
22613    }
22614
22615    _subtype_map = {
22616        'authorization_type': {'Key': 'LinkedIntegrationRuntimeKeyAuthorization', 'RBAC': 'LinkedIntegrationRuntimeRbacAuthorization'}
22617    }
22618
22619    def __init__(
22620        self,
22621        **kwargs
22622    ):
22623        super(LinkedIntegrationRuntimeType, self).__init__(**kwargs)
22624        self.authorization_type = None  # type: Optional[str]
22625
22626
22627class LinkedIntegrationRuntimeKeyAuthorization(LinkedIntegrationRuntimeType):
22628    """The key authorization type integration runtime.
22629
22630    All required parameters must be populated in order to send to Azure.
22631
22632    :param authorization_type: Required. The authorization type for integration runtime
22633     sharing.Constant filled by server.
22634    :type authorization_type: str
22635    :param key: Required. The key used for authorization.
22636    :type key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecureString
22637    """
22638
22639    _validation = {
22640        'authorization_type': {'required': True},
22641        'key': {'required': True},
22642    }
22643
22644    _attribute_map = {
22645        'authorization_type': {'key': 'authorizationType', 'type': 'str'},
22646        'key': {'key': 'key', 'type': 'SecureString'},
22647    }
22648
22649    def __init__(
22650        self,
22651        *,
22652        key: "SecureString",
22653        **kwargs
22654    ):
22655        super(LinkedIntegrationRuntimeKeyAuthorization, self).__init__(**kwargs)
22656        self.authorization_type = 'Key'  # type: str
22657        self.key = key
22658
22659
22660class LinkedIntegrationRuntimeRbacAuthorization(LinkedIntegrationRuntimeType):
22661    """The role based access control (RBAC) authorization type integration runtime.
22662
22663    All required parameters must be populated in order to send to Azure.
22664
22665    :param authorization_type: Required. The authorization type for integration runtime
22666     sharing.Constant filled by server.
22667    :type authorization_type: str
22668    :param resource_id: Required. The resource identifier of the integration runtime to be shared.
22669    :type resource_id: str
22670    """
22671
22672    _validation = {
22673        'authorization_type': {'required': True},
22674        'resource_id': {'required': True},
22675    }
22676
22677    _attribute_map = {
22678        'authorization_type': {'key': 'authorizationType', 'type': 'str'},
22679        'resource_id': {'key': 'resourceId', 'type': 'str'},
22680    }
22681
22682    def __init__(
22683        self,
22684        *,
22685        resource_id: str,
22686        **kwargs
22687    ):
22688        super(LinkedIntegrationRuntimeRbacAuthorization, self).__init__(**kwargs)
22689        self.authorization_type = 'RBAC'  # type: str
22690        self.resource_id = resource_id
22691
22692
22693class LinkedServiceDebugResource(SubResourceDebugResource):
22694    """Linked service debug resource.
22695
22696    All required parameters must be populated in order to send to Azure.
22697
22698    :param name: The resource name.
22699    :type name: str
22700    :param properties: Required. Properties of linked service.
22701    :type properties: ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedService
22702    """
22703
22704    _validation = {
22705        'properties': {'required': True},
22706    }
22707
22708    _attribute_map = {
22709        'name': {'key': 'name', 'type': 'str'},
22710        'properties': {'key': 'properties', 'type': 'LinkedService'},
22711    }
22712
22713    def __init__(
22714        self,
22715        *,
22716        properties: "LinkedService",
22717        name: Optional[str] = None,
22718        **kwargs
22719    ):
22720        super(LinkedServiceDebugResource, self).__init__(name=name, **kwargs)
22721        self.properties = properties
22722
22723
22724class LinkedServiceListResponse(msrest.serialization.Model):
22725    """A list of linked service resources.
22726
22727    All required parameters must be populated in order to send to Azure.
22728
22729    :param value: Required. List of linked services.
22730    :type value: list[~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceResource]
22731    :param next_link: The link to the next page of results, if any remaining results exist.
22732    :type next_link: str
22733    """
22734
22735    _validation = {
22736        'value': {'required': True},
22737    }
22738
22739    _attribute_map = {
22740        'value': {'key': 'value', 'type': '[LinkedServiceResource]'},
22741        'next_link': {'key': 'nextLink', 'type': 'str'},
22742    }
22743
22744    def __init__(
22745        self,
22746        *,
22747        value: List["LinkedServiceResource"],
22748        next_link: Optional[str] = None,
22749        **kwargs
22750    ):
22751        super(LinkedServiceListResponse, self).__init__(**kwargs)
22752        self.value = value
22753        self.next_link = next_link
22754
22755
22756class LinkedServiceReference(msrest.serialization.Model):
22757    """Linked service reference type.
22758
22759    All required parameters must be populated in order to send to Azure.
22760
22761    :param type: Required. Linked service reference type. Possible values include:
22762     "LinkedServiceReference".
22763    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.Type
22764    :param reference_name: Required. Reference LinkedService name.
22765    :type reference_name: str
22766    :param parameters: Arguments for LinkedService.
22767    :type parameters: dict[str, any]
22768    """
22769
22770    _validation = {
22771        'type': {'required': True},
22772        'reference_name': {'required': True},
22773    }
22774
22775    _attribute_map = {
22776        'type': {'key': 'type', 'type': 'str'},
22777        'reference_name': {'key': 'referenceName', 'type': 'str'},
22778        'parameters': {'key': 'parameters', 'type': '{object}'},
22779    }
22780
22781    def __init__(
22782        self,
22783        *,
22784        type: Union[str, "Type"],
22785        reference_name: str,
22786        parameters: Optional[Dict[str, Any]] = None,
22787        **kwargs
22788    ):
22789        super(LinkedServiceReference, self).__init__(**kwargs)
22790        self.type = type
22791        self.reference_name = reference_name
22792        self.parameters = parameters
22793
22794
22795class LinkedServiceResource(SubResource):
22796    """Linked service resource type.
22797
22798    Variables are only populated by the server, and will be ignored when sending a request.
22799
22800    All required parameters must be populated in order to send to Azure.
22801
22802    :ivar id: Fully qualified resource ID for the resource. Ex -
22803     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
22804    :vartype id: str
22805    :ivar name: The name of the resource.
22806    :vartype name: str
22807    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
22808     "Microsoft.Storage/storageAccounts".
22809    :vartype type: str
22810    :ivar etag: Resource Etag.
22811    :vartype etag: str
22812    :param properties: Required. Properties of linked service.
22813    :type properties: ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedService
22814    """
22815
22816    _validation = {
22817        'id': {'readonly': True},
22818        'name': {'readonly': True},
22819        'type': {'readonly': True},
22820        'etag': {'readonly': True},
22821        'properties': {'required': True},
22822    }
22823
22824    _attribute_map = {
22825        'id': {'key': 'id', 'type': 'str'},
22826        'name': {'key': 'name', 'type': 'str'},
22827        'type': {'key': 'type', 'type': 'str'},
22828        'etag': {'key': 'etag', 'type': 'str'},
22829        'properties': {'key': 'properties', 'type': 'LinkedService'},
22830    }
22831
22832    def __init__(
22833        self,
22834        *,
22835        properties: "LinkedService",
22836        **kwargs
22837    ):
22838        super(LinkedServiceResource, self).__init__(**kwargs)
22839        self.properties = properties
22840
22841
22842class LogLocationSettings(msrest.serialization.Model):
22843    """Log location settings.
22844
22845    All required parameters must be populated in order to send to Azure.
22846
22847    :param linked_service_name: Required. Log storage linked service reference.
22848    :type linked_service_name:
22849     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
22850    :param path: The path to storage for storing detailed logs of activity execution. Type: string
22851     (or Expression with resultType string).
22852    :type path: any
22853    """
22854
22855    _validation = {
22856        'linked_service_name': {'required': True},
22857    }
22858
22859    _attribute_map = {
22860        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
22861        'path': {'key': 'path', 'type': 'object'},
22862    }
22863
22864    def __init__(
22865        self,
22866        *,
22867        linked_service_name: "LinkedServiceReference",
22868        path: Optional[Any] = None,
22869        **kwargs
22870    ):
22871        super(LogLocationSettings, self).__init__(**kwargs)
22872        self.linked_service_name = linked_service_name
22873        self.path = path
22874
22875
22876class LogSettings(msrest.serialization.Model):
22877    """Log settings.
22878
22879    All required parameters must be populated in order to send to Azure.
22880
22881    :param enable_copy_activity_log: Specifies whether to enable copy activity log. Type: boolean
22882     (or Expression with resultType boolean).
22883    :type enable_copy_activity_log: any
22884    :param copy_activity_log_settings: Specifies settings for copy activity log.
22885    :type copy_activity_log_settings:
22886     ~azure.synapse.artifacts.v2021_06_01_preview.models.CopyActivityLogSettings
22887    :param log_location_settings: Required. Log location settings customer needs to provide when
22888     enabling log.
22889    :type log_location_settings:
22890     ~azure.synapse.artifacts.v2021_06_01_preview.models.LogLocationSettings
22891    """
22892
22893    _validation = {
22894        'log_location_settings': {'required': True},
22895    }
22896
22897    _attribute_map = {
22898        'enable_copy_activity_log': {'key': 'enableCopyActivityLog', 'type': 'object'},
22899        'copy_activity_log_settings': {'key': 'copyActivityLogSettings', 'type': 'CopyActivityLogSettings'},
22900        'log_location_settings': {'key': 'logLocationSettings', 'type': 'LogLocationSettings'},
22901    }
22902
22903    def __init__(
22904        self,
22905        *,
22906        log_location_settings: "LogLocationSettings",
22907        enable_copy_activity_log: Optional[Any] = None,
22908        copy_activity_log_settings: Optional["CopyActivityLogSettings"] = None,
22909        **kwargs
22910    ):
22911        super(LogSettings, self).__init__(**kwargs)
22912        self.enable_copy_activity_log = enable_copy_activity_log
22913        self.copy_activity_log_settings = copy_activity_log_settings
22914        self.log_location_settings = log_location_settings
22915
22916
22917class LogStorageSettings(msrest.serialization.Model):
22918    """(Deprecated. Please use LogSettings) Log storage settings.
22919
22920    All required parameters must be populated in order to send to Azure.
22921
22922    :param additional_properties: Unmatched properties from the message are deserialized to this
22923     collection.
22924    :type additional_properties: dict[str, any]
22925    :param linked_service_name: Required. Log storage linked service reference.
22926    :type linked_service_name:
22927     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
22928    :param path: The path to storage for storing detailed logs of activity execution. Type: string
22929     (or Expression with resultType string).
22930    :type path: any
22931    :param log_level: Gets or sets the log level, support: Info, Warning. Type: string (or
22932     Expression with resultType string).
22933    :type log_level: any
22934    :param enable_reliable_logging: Specifies whether to enable reliable logging. Type: boolean (or
22935     Expression with resultType boolean).
22936    :type enable_reliable_logging: any
22937    """
22938
22939    _validation = {
22940        'linked_service_name': {'required': True},
22941    }
22942
22943    _attribute_map = {
22944        'additional_properties': {'key': '', 'type': '{object}'},
22945        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
22946        'path': {'key': 'path', 'type': 'object'},
22947        'log_level': {'key': 'logLevel', 'type': 'object'},
22948        'enable_reliable_logging': {'key': 'enableReliableLogging', 'type': 'object'},
22949    }
22950
22951    def __init__(
22952        self,
22953        *,
22954        linked_service_name: "LinkedServiceReference",
22955        additional_properties: Optional[Dict[str, Any]] = None,
22956        path: Optional[Any] = None,
22957        log_level: Optional[Any] = None,
22958        enable_reliable_logging: Optional[Any] = None,
22959        **kwargs
22960    ):
22961        super(LogStorageSettings, self).__init__(**kwargs)
22962        self.additional_properties = additional_properties
22963        self.linked_service_name = linked_service_name
22964        self.path = path
22965        self.log_level = log_level
22966        self.enable_reliable_logging = enable_reliable_logging
22967
22968
22969class LookupActivity(ExecutionActivity):
22970    """Lookup activity.
22971
22972    All required parameters must be populated in order to send to Azure.
22973
22974    :param additional_properties: Unmatched properties from the message are deserialized to this
22975     collection.
22976    :type additional_properties: dict[str, any]
22977    :param name: Required. Activity name.
22978    :type name: str
22979    :param type: Required. Type of activity.Constant filled by server.
22980    :type type: str
22981    :param description: Activity description.
22982    :type description: str
22983    :param depends_on: Activity depends on condition.
22984    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
22985    :param user_properties: Activity user properties.
22986    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
22987    :param linked_service_name: Linked service reference.
22988    :type linked_service_name:
22989     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
22990    :param policy: Activity policy.
22991    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
22992    :param source: Required. Dataset-specific source properties, same as copy activity source.
22993    :type source: ~azure.synapse.artifacts.v2021_06_01_preview.models.CopySource
22994    :param dataset: Required. Lookup activity dataset reference.
22995    :type dataset: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetReference
22996    :param first_row_only: Whether to return first row or all rows. Default value is true. Type:
22997     boolean (or Expression with resultType boolean).
22998    :type first_row_only: any
22999    """
23000
23001    _validation = {
23002        'name': {'required': True},
23003        'type': {'required': True},
23004        'source': {'required': True},
23005        'dataset': {'required': True},
23006    }
23007
23008    _attribute_map = {
23009        'additional_properties': {'key': '', 'type': '{object}'},
23010        'name': {'key': 'name', 'type': 'str'},
23011        'type': {'key': 'type', 'type': 'str'},
23012        'description': {'key': 'description', 'type': 'str'},
23013        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
23014        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
23015        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
23016        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
23017        'source': {'key': 'typeProperties.source', 'type': 'CopySource'},
23018        'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'},
23019        'first_row_only': {'key': 'typeProperties.firstRowOnly', 'type': 'object'},
23020    }
23021
23022    def __init__(
23023        self,
23024        *,
23025        name: str,
23026        source: "CopySource",
23027        dataset: "DatasetReference",
23028        additional_properties: Optional[Dict[str, Any]] = None,
23029        description: Optional[str] = None,
23030        depends_on: Optional[List["ActivityDependency"]] = None,
23031        user_properties: Optional[List["UserProperty"]] = None,
23032        linked_service_name: Optional["LinkedServiceReference"] = None,
23033        policy: Optional["ActivityPolicy"] = None,
23034        first_row_only: Optional[Any] = None,
23035        **kwargs
23036    ):
23037        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)
23038        self.type = 'Lookup'  # type: str
23039        self.source = source
23040        self.dataset = dataset
23041        self.first_row_only = first_row_only
23042
23043
23044class MagentoLinkedService(LinkedService):
23045    """Magento server linked service.
23046
23047    All required parameters must be populated in order to send to Azure.
23048
23049    :param additional_properties: Unmatched properties from the message are deserialized to this
23050     collection.
23051    :type additional_properties: dict[str, any]
23052    :param type: Required. Type of linked service.Constant filled by server.
23053    :type type: str
23054    :param connect_via: The integration runtime reference.
23055    :type connect_via:
23056     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
23057    :param description: Linked service description.
23058    :type description: str
23059    :param parameters: Parameters for linked service.
23060    :type parameters: dict[str,
23061     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
23062    :param annotations: List of tags that can be used for describing the linked service.
23063    :type annotations: list[any]
23064    :param host: Required. The URL of the Magento instance. (i.e. 192.168.222.110/magento3).
23065    :type host: any
23066    :param access_token: The access token from Magento.
23067    :type access_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
23068    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
23069     HTTPS. The default value is true.
23070    :type use_encrypted_endpoints: any
23071    :param use_host_verification: Specifies whether to require the host name in the server's
23072     certificate to match the host name of the server when connecting over SSL. The default value is
23073     true.
23074    :type use_host_verification: any
23075    :param use_peer_verification: Specifies whether to verify the identity of the server when
23076     connecting over SSL. The default value is true.
23077    :type use_peer_verification: any
23078    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
23079     encrypted using the integration runtime credential manager. Type: string (or Expression with
23080     resultType string).
23081    :type encrypted_credential: any
23082    """
23083
23084    _validation = {
23085        'type': {'required': True},
23086        'host': {'required': True},
23087    }
23088
23089    _attribute_map = {
23090        'additional_properties': {'key': '', 'type': '{object}'},
23091        'type': {'key': 'type', 'type': 'str'},
23092        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
23093        'description': {'key': 'description', 'type': 'str'},
23094        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
23095        'annotations': {'key': 'annotations', 'type': '[object]'},
23096        'host': {'key': 'typeProperties.host', 'type': 'object'},
23097        'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'},
23098        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
23099        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
23100        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
23101        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
23102    }
23103
23104    def __init__(
23105        self,
23106        *,
23107        host: Any,
23108        additional_properties: Optional[Dict[str, Any]] = None,
23109        connect_via: Optional["IntegrationRuntimeReference"] = None,
23110        description: Optional[str] = None,
23111        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
23112        annotations: Optional[List[Any]] = None,
23113        access_token: Optional["SecretBase"] = None,
23114        use_encrypted_endpoints: Optional[Any] = None,
23115        use_host_verification: Optional[Any] = None,
23116        use_peer_verification: Optional[Any] = None,
23117        encrypted_credential: Optional[Any] = None,
23118        **kwargs
23119    ):
23120        super(MagentoLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
23121        self.type = 'Magento'  # type: str
23122        self.host = host
23123        self.access_token = access_token
23124        self.use_encrypted_endpoints = use_encrypted_endpoints
23125        self.use_host_verification = use_host_verification
23126        self.use_peer_verification = use_peer_verification
23127        self.encrypted_credential = encrypted_credential
23128
23129
23130class MagentoObjectDataset(Dataset):
23131    """Magento server dataset.
23132
23133    All required parameters must be populated in order to send to Azure.
23134
23135    :param additional_properties: Unmatched properties from the message are deserialized to this
23136     collection.
23137    :type additional_properties: dict[str, any]
23138    :param type: Required. Type of dataset.Constant filled by server.
23139    :type type: str
23140    :param description: Dataset description.
23141    :type description: str
23142    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
23143     with resultType array), itemType: DatasetDataElement.
23144    :type structure: any
23145    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
23146     Expression with resultType array), itemType: DatasetSchemaDataElement.
23147    :type schema: any
23148    :param linked_service_name: Required. Linked service reference.
23149    :type linked_service_name:
23150     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
23151    :param parameters: Parameters for dataset.
23152    :type parameters: dict[str,
23153     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
23154    :param annotations: List of tags that can be used for describing the Dataset.
23155    :type annotations: list[any]
23156    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
23157     root level.
23158    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
23159    :param table_name: The table name. Type: string (or Expression with resultType string).
23160    :type table_name: any
23161    """
23162
23163    _validation = {
23164        'type': {'required': True},
23165        'linked_service_name': {'required': True},
23166    }
23167
23168    _attribute_map = {
23169        'additional_properties': {'key': '', 'type': '{object}'},
23170        'type': {'key': 'type', 'type': 'str'},
23171        'description': {'key': 'description', 'type': 'str'},
23172        'structure': {'key': 'structure', 'type': 'object'},
23173        'schema': {'key': 'schema', 'type': 'object'},
23174        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
23175        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
23176        'annotations': {'key': 'annotations', 'type': '[object]'},
23177        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
23178        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
23179    }
23180
23181    def __init__(
23182        self,
23183        *,
23184        linked_service_name: "LinkedServiceReference",
23185        additional_properties: Optional[Dict[str, Any]] = None,
23186        description: Optional[str] = None,
23187        structure: Optional[Any] = None,
23188        schema: Optional[Any] = None,
23189        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
23190        annotations: Optional[List[Any]] = None,
23191        folder: Optional["DatasetFolder"] = None,
23192        table_name: Optional[Any] = None,
23193        **kwargs
23194    ):
23195        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)
23196        self.type = 'MagentoObject'  # type: str
23197        self.table_name = table_name
23198
23199
23200class MagentoSource(TabularSource):
23201    """A copy activity Magento server source.
23202
23203    All required parameters must be populated in order to send to Azure.
23204
23205    :param additional_properties: Unmatched properties from the message are deserialized to this
23206     collection.
23207    :type additional_properties: dict[str, any]
23208    :param type: Required. Copy source type.Constant filled by server.
23209    :type type: str
23210    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
23211     integer).
23212    :type source_retry_count: any
23213    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
23214     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
23215    :type source_retry_wait: any
23216    :param max_concurrent_connections: The maximum concurrent connection count for the source data
23217     store. Type: integer (or Expression with resultType integer).
23218    :type max_concurrent_connections: any
23219    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
23220     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
23221    :type query_timeout: any
23222    :param additional_columns: Specifies the additional columns to be added to source data. Type:
23223     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
23224    :type additional_columns: any
23225    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
23226     string).
23227    :type query: any
23228    """
23229
23230    _validation = {
23231        'type': {'required': True},
23232    }
23233
23234    _attribute_map = {
23235        'additional_properties': {'key': '', 'type': '{object}'},
23236        'type': {'key': 'type', 'type': 'str'},
23237        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
23238        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
23239        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
23240        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
23241        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
23242        'query': {'key': 'query', 'type': 'object'},
23243    }
23244
23245    def __init__(
23246        self,
23247        *,
23248        additional_properties: Optional[Dict[str, Any]] = None,
23249        source_retry_count: Optional[Any] = None,
23250        source_retry_wait: Optional[Any] = None,
23251        max_concurrent_connections: Optional[Any] = None,
23252        query_timeout: Optional[Any] = None,
23253        additional_columns: Optional[Any] = None,
23254        query: Optional[Any] = None,
23255        **kwargs
23256    ):
23257        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)
23258        self.type = 'MagentoSource'  # type: str
23259        self.query = query
23260
23261
23262class ManagedIdentity(msrest.serialization.Model):
23263    """The workspace managed identity.
23264
23265    Variables are only populated by the server, and will be ignored when sending a request.
23266
23267    :ivar principal_id: The principal ID of the workspace managed identity.
23268    :vartype principal_id: str
23269    :ivar tenant_id: The tenant ID of the workspace managed identity.
23270    :vartype tenant_id: str
23271    :param type: The type of managed identity for the workspace. Possible values include: "None",
23272     "SystemAssigned".
23273    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.ResourceIdentityType
23274    """
23275
23276    _validation = {
23277        'principal_id': {'readonly': True},
23278        'tenant_id': {'readonly': True},
23279    }
23280
23281    _attribute_map = {
23282        'principal_id': {'key': 'principalId', 'type': 'str'},
23283        'tenant_id': {'key': 'tenantId', 'type': 'str'},
23284        'type': {'key': 'type', 'type': 'str'},
23285    }
23286
23287    def __init__(
23288        self,
23289        *,
23290        type: Optional[Union[str, "ResourceIdentityType"]] = None,
23291        **kwargs
23292    ):
23293        super(ManagedIdentity, self).__init__(**kwargs)
23294        self.principal_id = None
23295        self.tenant_id = None
23296        self.type = type
23297
23298
23299class ManagedIntegrationRuntime(IntegrationRuntime):
23300    """Managed integration runtime, including managed elastic and managed dedicated integration runtimes.
23301
23302    Variables are only populated by the server, and will be ignored when sending a request.
23303
23304    All required parameters must be populated in order to send to Azure.
23305
23306    :param additional_properties: Unmatched properties from the message are deserialized to this
23307     collection.
23308    :type additional_properties: dict[str, any]
23309    :param type: Required. Type of integration runtime.Constant filled by server.  Possible values
23310     include: "Managed", "SelfHosted".
23311    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeType
23312    :param description: Integration runtime description.
23313    :type description: str
23314    :ivar state: Integration runtime state, only valid for managed dedicated integration runtime.
23315     Possible values include: "Initial", "Stopped", "Started", "Starting", "Stopping",
23316     "NeedRegistration", "Online", "Limited", "Offline", "AccessDenied".
23317    :vartype state: str or
23318     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeState
23319    :param managed_virtual_network: Managed Virtual Network reference.
23320    :type managed_virtual_network:
23321     ~azure.synapse.artifacts.v2021_06_01_preview.models.ManagedVirtualNetworkReference
23322    :param compute_properties: The compute resource for managed integration runtime.
23323    :type compute_properties:
23324     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeComputeProperties
23325    :param ssis_properties: SSIS properties for managed integration runtime.
23326    :type ssis_properties:
23327     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeSsisProperties
23328    """
23329
23330    _validation = {
23331        'type': {'required': True},
23332        'state': {'readonly': True},
23333    }
23334
23335    _attribute_map = {
23336        'additional_properties': {'key': '', 'type': '{object}'},
23337        'type': {'key': 'type', 'type': 'str'},
23338        'description': {'key': 'description', 'type': 'str'},
23339        'state': {'key': 'state', 'type': 'str'},
23340        'managed_virtual_network': {'key': 'managedVirtualNetwork', 'type': 'ManagedVirtualNetworkReference'},
23341        'compute_properties': {'key': 'typeProperties.computeProperties', 'type': 'IntegrationRuntimeComputeProperties'},
23342        'ssis_properties': {'key': 'typeProperties.ssisProperties', 'type': 'IntegrationRuntimeSsisProperties'},
23343    }
23344
23345    def __init__(
23346        self,
23347        *,
23348        additional_properties: Optional[Dict[str, Any]] = None,
23349        description: Optional[str] = None,
23350        managed_virtual_network: Optional["ManagedVirtualNetworkReference"] = None,
23351        compute_properties: Optional["IntegrationRuntimeComputeProperties"] = None,
23352        ssis_properties: Optional["IntegrationRuntimeSsisProperties"] = None,
23353        **kwargs
23354    ):
23355        super(ManagedIntegrationRuntime, self).__init__(additional_properties=additional_properties, description=description, **kwargs)
23356        self.type = 'Managed'  # type: str
23357        self.state = None
23358        self.managed_virtual_network = managed_virtual_network
23359        self.compute_properties = compute_properties
23360        self.ssis_properties = ssis_properties
23361
23362
23363class ManagedVirtualNetworkReference(msrest.serialization.Model):
23364    """Managed Virtual Network reference type.
23365
23366    Variables are only populated by the server, and will be ignored when sending a request.
23367
23368    All required parameters must be populated in order to send to Azure.
23369
23370    :ivar type: Managed Virtual Network reference type. Has constant value:
23371     "ManagedVirtualNetworkReference".
23372    :vartype type: str
23373    :param reference_name: Required. Reference ManagedVirtualNetwork name.
23374    :type reference_name: str
23375    """
23376
23377    _validation = {
23378        'type': {'required': True, 'constant': True},
23379        'reference_name': {'required': True},
23380    }
23381
23382    _attribute_map = {
23383        'type': {'key': 'type', 'type': 'str'},
23384        'reference_name': {'key': 'referenceName', 'type': 'str'},
23385    }
23386
23387    type = "ManagedVirtualNetworkReference"
23388
23389    def __init__(
23390        self,
23391        *,
23392        reference_name: str,
23393        **kwargs
23394    ):
23395        super(ManagedVirtualNetworkReference, self).__init__(**kwargs)
23396        self.reference_name = reference_name
23397
23398
23399class ManagedVirtualNetworkSettings(msrest.serialization.Model):
23400    """Managed Virtual Network Settings.
23401
23402    :param prevent_data_exfiltration: Prevent Data Exfiltration.
23403    :type prevent_data_exfiltration: bool
23404    :param linked_access_check_on_target_resource: Linked Access Check On Target Resource.
23405    :type linked_access_check_on_target_resource: bool
23406    :param allowed_aad_tenant_ids_for_linking: Allowed Aad Tenant Ids For Linking.
23407    :type allowed_aad_tenant_ids_for_linking: list[str]
23408    """
23409
23410    _attribute_map = {
23411        'prevent_data_exfiltration': {'key': 'preventDataExfiltration', 'type': 'bool'},
23412        'linked_access_check_on_target_resource': {'key': 'linkedAccessCheckOnTargetResource', 'type': 'bool'},
23413        'allowed_aad_tenant_ids_for_linking': {'key': 'allowedAadTenantIdsForLinking', 'type': '[str]'},
23414    }
23415
23416    def __init__(
23417        self,
23418        *,
23419        prevent_data_exfiltration: Optional[bool] = None,
23420        linked_access_check_on_target_resource: Optional[bool] = None,
23421        allowed_aad_tenant_ids_for_linking: Optional[List[str]] = None,
23422        **kwargs
23423    ):
23424        super(ManagedVirtualNetworkSettings, self).__init__(**kwargs)
23425        self.prevent_data_exfiltration = prevent_data_exfiltration
23426        self.linked_access_check_on_target_resource = linked_access_check_on_target_resource
23427        self.allowed_aad_tenant_ids_for_linking = allowed_aad_tenant_ids_for_linking
23428
23429
23430class MappingDataFlow(DataFlow):
23431    """Mapping data flow.
23432
23433    All required parameters must be populated in order to send to Azure.
23434
23435    :param type: Required. Type of data flow.Constant filled by server.
23436    :type type: str
23437    :param description: The description of the data flow.
23438    :type description: str
23439    :param annotations: List of tags that can be used for describing the data flow.
23440    :type annotations: list[any]
23441    :param folder: The folder that this data flow is in. If not specified, Data flow will appear at
23442     the root level.
23443    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowFolder
23444    :param sources: List of sources in data flow.
23445    :type sources: list[~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowSource]
23446    :param sinks: List of sinks in data flow.
23447    :type sinks: list[~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowSink]
23448    :param transformations: List of transformations in data flow.
23449    :type transformations: list[~azure.synapse.artifacts.v2021_06_01_preview.models.Transformation]
23450    :param script: DataFlow script.
23451    :type script: str
23452    """
23453
23454    _validation = {
23455        'type': {'required': True},
23456    }
23457
23458    _attribute_map = {
23459        'type': {'key': 'type', 'type': 'str'},
23460        'description': {'key': 'description', 'type': 'str'},
23461        'annotations': {'key': 'annotations', 'type': '[object]'},
23462        'folder': {'key': 'folder', 'type': 'DataFlowFolder'},
23463        'sources': {'key': 'typeProperties.sources', 'type': '[DataFlowSource]'},
23464        'sinks': {'key': 'typeProperties.sinks', 'type': '[DataFlowSink]'},
23465        'transformations': {'key': 'typeProperties.transformations', 'type': '[Transformation]'},
23466        'script': {'key': 'typeProperties.script', 'type': 'str'},
23467    }
23468
23469    def __init__(
23470        self,
23471        *,
23472        description: Optional[str] = None,
23473        annotations: Optional[List[Any]] = None,
23474        folder: Optional["DataFlowFolder"] = None,
23475        sources: Optional[List["DataFlowSource"]] = None,
23476        sinks: Optional[List["DataFlowSink"]] = None,
23477        transformations: Optional[List["Transformation"]] = None,
23478        script: Optional[str] = None,
23479        **kwargs
23480    ):
23481        super(MappingDataFlow, self).__init__(description=description, annotations=annotations, folder=folder, **kwargs)
23482        self.type = 'MappingDataFlow'  # type: str
23483        self.sources = sources
23484        self.sinks = sinks
23485        self.transformations = transformations
23486        self.script = script
23487
23488
23489class MariaDBLinkedService(LinkedService):
23490    """MariaDB server linked service.
23491
23492    All required parameters must be populated in order to send to Azure.
23493
23494    :param additional_properties: Unmatched properties from the message are deserialized to this
23495     collection.
23496    :type additional_properties: dict[str, any]
23497    :param type: Required. Type of linked service.Constant filled by server.
23498    :type type: str
23499    :param connect_via: The integration runtime reference.
23500    :type connect_via:
23501     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
23502    :param description: Linked service description.
23503    :type description: str
23504    :param parameters: Parameters for linked service.
23505    :type parameters: dict[str,
23506     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
23507    :param annotations: List of tags that can be used for describing the linked service.
23508    :type annotations: list[any]
23509    :param connection_string: An ODBC connection string. Type: string, SecureString or
23510     AzureKeyVaultSecretReference.
23511    :type connection_string: any
23512    :param pwd: The Azure key vault secret reference of password in connection string.
23513    :type pwd: ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
23514    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
23515     encrypted using the integration runtime credential manager. Type: string (or Expression with
23516     resultType string).
23517    :type encrypted_credential: any
23518    """
23519
23520    _validation = {
23521        'type': {'required': True},
23522    }
23523
23524    _attribute_map = {
23525        'additional_properties': {'key': '', 'type': '{object}'},
23526        'type': {'key': 'type', 'type': 'str'},
23527        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
23528        'description': {'key': 'description', 'type': 'str'},
23529        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
23530        'annotations': {'key': 'annotations', 'type': '[object]'},
23531        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
23532        'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'},
23533        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
23534    }
23535
23536    def __init__(
23537        self,
23538        *,
23539        additional_properties: Optional[Dict[str, Any]] = None,
23540        connect_via: Optional["IntegrationRuntimeReference"] = None,
23541        description: Optional[str] = None,
23542        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
23543        annotations: Optional[List[Any]] = None,
23544        connection_string: Optional[Any] = None,
23545        pwd: Optional["AzureKeyVaultSecretReference"] = None,
23546        encrypted_credential: Optional[Any] = None,
23547        **kwargs
23548    ):
23549        super(MariaDBLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
23550        self.type = 'MariaDB'  # type: str
23551        self.connection_string = connection_string
23552        self.pwd = pwd
23553        self.encrypted_credential = encrypted_credential
23554
23555
23556class MariaDBSource(TabularSource):
23557    """A copy activity MariaDB server source.
23558
23559    All required parameters must be populated in order to send to Azure.
23560
23561    :param additional_properties: Unmatched properties from the message are deserialized to this
23562     collection.
23563    :type additional_properties: dict[str, any]
23564    :param type: Required. Copy source type.Constant filled by server.
23565    :type type: str
23566    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
23567     integer).
23568    :type source_retry_count: any
23569    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
23570     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
23571    :type source_retry_wait: any
23572    :param max_concurrent_connections: The maximum concurrent connection count for the source data
23573     store. Type: integer (or Expression with resultType integer).
23574    :type max_concurrent_connections: any
23575    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
23576     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
23577    :type query_timeout: any
23578    :param additional_columns: Specifies the additional columns to be added to source data. Type:
23579     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
23580    :type additional_columns: any
23581    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
23582     string).
23583    :type query: any
23584    """
23585
23586    _validation = {
23587        'type': {'required': True},
23588    }
23589
23590    _attribute_map = {
23591        'additional_properties': {'key': '', 'type': '{object}'},
23592        'type': {'key': 'type', 'type': 'str'},
23593        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
23594        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
23595        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
23596        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
23597        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
23598        'query': {'key': 'query', 'type': 'object'},
23599    }
23600
23601    def __init__(
23602        self,
23603        *,
23604        additional_properties: Optional[Dict[str, Any]] = None,
23605        source_retry_count: Optional[Any] = None,
23606        source_retry_wait: Optional[Any] = None,
23607        max_concurrent_connections: Optional[Any] = None,
23608        query_timeout: Optional[Any] = None,
23609        additional_columns: Optional[Any] = None,
23610        query: Optional[Any] = None,
23611        **kwargs
23612    ):
23613        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)
23614        self.type = 'MariaDBSource'  # type: str
23615        self.query = query
23616
23617
23618class MariaDBTableDataset(Dataset):
23619    """MariaDB server dataset.
23620
23621    All required parameters must be populated in order to send to Azure.
23622
23623    :param additional_properties: Unmatched properties from the message are deserialized to this
23624     collection.
23625    :type additional_properties: dict[str, any]
23626    :param type: Required. Type of dataset.Constant filled by server.
23627    :type type: str
23628    :param description: Dataset description.
23629    :type description: str
23630    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
23631     with resultType array), itemType: DatasetDataElement.
23632    :type structure: any
23633    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
23634     Expression with resultType array), itemType: DatasetSchemaDataElement.
23635    :type schema: any
23636    :param linked_service_name: Required. Linked service reference.
23637    :type linked_service_name:
23638     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
23639    :param parameters: Parameters for dataset.
23640    :type parameters: dict[str,
23641     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
23642    :param annotations: List of tags that can be used for describing the Dataset.
23643    :type annotations: list[any]
23644    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
23645     root level.
23646    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
23647    :param table_name: The table name. Type: string (or Expression with resultType string).
23648    :type table_name: any
23649    """
23650
23651    _validation = {
23652        'type': {'required': True},
23653        'linked_service_name': {'required': True},
23654    }
23655
23656    _attribute_map = {
23657        'additional_properties': {'key': '', 'type': '{object}'},
23658        'type': {'key': 'type', 'type': 'str'},
23659        'description': {'key': 'description', 'type': 'str'},
23660        'structure': {'key': 'structure', 'type': 'object'},
23661        'schema': {'key': 'schema', 'type': 'object'},
23662        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
23663        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
23664        'annotations': {'key': 'annotations', 'type': '[object]'},
23665        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
23666        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
23667    }
23668
23669    def __init__(
23670        self,
23671        *,
23672        linked_service_name: "LinkedServiceReference",
23673        additional_properties: Optional[Dict[str, Any]] = None,
23674        description: Optional[str] = None,
23675        structure: Optional[Any] = None,
23676        schema: Optional[Any] = None,
23677        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
23678        annotations: Optional[List[Any]] = None,
23679        folder: Optional["DatasetFolder"] = None,
23680        table_name: Optional[Any] = None,
23681        **kwargs
23682    ):
23683        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)
23684        self.type = 'MariaDBTable'  # type: str
23685        self.table_name = table_name
23686
23687
23688class MarketoLinkedService(LinkedService):
23689    """Marketo server linked service.
23690
23691    All required parameters must be populated in order to send to Azure.
23692
23693    :param additional_properties: Unmatched properties from the message are deserialized to this
23694     collection.
23695    :type additional_properties: dict[str, any]
23696    :param type: Required. Type of linked service.Constant filled by server.
23697    :type type: str
23698    :param connect_via: The integration runtime reference.
23699    :type connect_via:
23700     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
23701    :param description: Linked service description.
23702    :type description: str
23703    :param parameters: Parameters for linked service.
23704    :type parameters: dict[str,
23705     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
23706    :param annotations: List of tags that can be used for describing the linked service.
23707    :type annotations: list[any]
23708    :param endpoint: Required. The endpoint of the Marketo server. (i.e. 123-ABC-321.mktorest.com).
23709    :type endpoint: any
23710    :param client_id: Required. The client Id of your Marketo service.
23711    :type client_id: any
23712    :param client_secret: The client secret of your Marketo service.
23713    :type client_secret: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
23714    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
23715     HTTPS. The default value is true.
23716    :type use_encrypted_endpoints: any
23717    :param use_host_verification: Specifies whether to require the host name in the server's
23718     certificate to match the host name of the server when connecting over SSL. The default value is
23719     true.
23720    :type use_host_verification: any
23721    :param use_peer_verification: Specifies whether to verify the identity of the server when
23722     connecting over SSL. The default value is true.
23723    :type use_peer_verification: any
23724    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
23725     encrypted using the integration runtime credential manager. Type: string (or Expression with
23726     resultType string).
23727    :type encrypted_credential: any
23728    """
23729
23730    _validation = {
23731        'type': {'required': True},
23732        'endpoint': {'required': True},
23733        'client_id': {'required': True},
23734    }
23735
23736    _attribute_map = {
23737        'additional_properties': {'key': '', 'type': '{object}'},
23738        'type': {'key': 'type', 'type': 'str'},
23739        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
23740        'description': {'key': 'description', 'type': 'str'},
23741        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
23742        'annotations': {'key': 'annotations', 'type': '[object]'},
23743        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
23744        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
23745        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
23746        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
23747        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
23748        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
23749        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
23750    }
23751
23752    def __init__(
23753        self,
23754        *,
23755        endpoint: Any,
23756        client_id: Any,
23757        additional_properties: Optional[Dict[str, Any]] = None,
23758        connect_via: Optional["IntegrationRuntimeReference"] = None,
23759        description: Optional[str] = None,
23760        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
23761        annotations: Optional[List[Any]] = None,
23762        client_secret: Optional["SecretBase"] = None,
23763        use_encrypted_endpoints: Optional[Any] = None,
23764        use_host_verification: Optional[Any] = None,
23765        use_peer_verification: Optional[Any] = None,
23766        encrypted_credential: Optional[Any] = None,
23767        **kwargs
23768    ):
23769        super(MarketoLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
23770        self.type = 'Marketo'  # type: str
23771        self.endpoint = endpoint
23772        self.client_id = client_id
23773        self.client_secret = client_secret
23774        self.use_encrypted_endpoints = use_encrypted_endpoints
23775        self.use_host_verification = use_host_verification
23776        self.use_peer_verification = use_peer_verification
23777        self.encrypted_credential = encrypted_credential
23778
23779
23780class MarketoObjectDataset(Dataset):
23781    """Marketo server dataset.
23782
23783    All required parameters must be populated in order to send to Azure.
23784
23785    :param additional_properties: Unmatched properties from the message are deserialized to this
23786     collection.
23787    :type additional_properties: dict[str, any]
23788    :param type: Required. Type of dataset.Constant filled by server.
23789    :type type: str
23790    :param description: Dataset description.
23791    :type description: str
23792    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
23793     with resultType array), itemType: DatasetDataElement.
23794    :type structure: any
23795    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
23796     Expression with resultType array), itemType: DatasetSchemaDataElement.
23797    :type schema: any
23798    :param linked_service_name: Required. Linked service reference.
23799    :type linked_service_name:
23800     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
23801    :param parameters: Parameters for dataset.
23802    :type parameters: dict[str,
23803     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
23804    :param annotations: List of tags that can be used for describing the Dataset.
23805    :type annotations: list[any]
23806    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
23807     root level.
23808    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
23809    :param table_name: The table name. Type: string (or Expression with resultType string).
23810    :type table_name: any
23811    """
23812
23813    _validation = {
23814        'type': {'required': True},
23815        'linked_service_name': {'required': True},
23816    }
23817
23818    _attribute_map = {
23819        'additional_properties': {'key': '', 'type': '{object}'},
23820        'type': {'key': 'type', 'type': 'str'},
23821        'description': {'key': 'description', 'type': 'str'},
23822        'structure': {'key': 'structure', 'type': 'object'},
23823        'schema': {'key': 'schema', 'type': 'object'},
23824        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
23825        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
23826        'annotations': {'key': 'annotations', 'type': '[object]'},
23827        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
23828        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
23829    }
23830
23831    def __init__(
23832        self,
23833        *,
23834        linked_service_name: "LinkedServiceReference",
23835        additional_properties: Optional[Dict[str, Any]] = None,
23836        description: Optional[str] = None,
23837        structure: Optional[Any] = None,
23838        schema: Optional[Any] = None,
23839        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
23840        annotations: Optional[List[Any]] = None,
23841        folder: Optional["DatasetFolder"] = None,
23842        table_name: Optional[Any] = None,
23843        **kwargs
23844    ):
23845        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)
23846        self.type = 'MarketoObject'  # type: str
23847        self.table_name = table_name
23848
23849
23850class MarketoSource(TabularSource):
23851    """A copy activity Marketo server source.
23852
23853    All required parameters must be populated in order to send to Azure.
23854
23855    :param additional_properties: Unmatched properties from the message are deserialized to this
23856     collection.
23857    :type additional_properties: dict[str, any]
23858    :param type: Required. Copy source type.Constant filled by server.
23859    :type type: str
23860    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
23861     integer).
23862    :type source_retry_count: any
23863    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
23864     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
23865    :type source_retry_wait: any
23866    :param max_concurrent_connections: The maximum concurrent connection count for the source data
23867     store. Type: integer (or Expression with resultType integer).
23868    :type max_concurrent_connections: any
23869    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
23870     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
23871    :type query_timeout: any
23872    :param additional_columns: Specifies the additional columns to be added to source data. Type:
23873     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
23874    :type additional_columns: any
23875    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
23876     string).
23877    :type query: any
23878    """
23879
23880    _validation = {
23881        'type': {'required': True},
23882    }
23883
23884    _attribute_map = {
23885        'additional_properties': {'key': '', 'type': '{object}'},
23886        'type': {'key': 'type', 'type': 'str'},
23887        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
23888        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
23889        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
23890        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
23891        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
23892        'query': {'key': 'query', 'type': 'object'},
23893    }
23894
23895    def __init__(
23896        self,
23897        *,
23898        additional_properties: Optional[Dict[str, Any]] = None,
23899        source_retry_count: Optional[Any] = None,
23900        source_retry_wait: Optional[Any] = None,
23901        max_concurrent_connections: Optional[Any] = None,
23902        query_timeout: Optional[Any] = None,
23903        additional_columns: Optional[Any] = None,
23904        query: Optional[Any] = None,
23905        **kwargs
23906    ):
23907        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)
23908        self.type = 'MarketoSource'  # type: str
23909        self.query = query
23910
23911
23912class MicrosoftAccessLinkedService(LinkedService):
23913    """Microsoft Access linked service.
23914
23915    All required parameters must be populated in order to send to Azure.
23916
23917    :param additional_properties: Unmatched properties from the message are deserialized to this
23918     collection.
23919    :type additional_properties: dict[str, any]
23920    :param type: Required. Type of linked service.Constant filled by server.
23921    :type type: str
23922    :param connect_via: The integration runtime reference.
23923    :type connect_via:
23924     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
23925    :param description: Linked service description.
23926    :type description: str
23927    :param parameters: Parameters for linked service.
23928    :type parameters: dict[str,
23929     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
23930    :param annotations: List of tags that can be used for describing the linked service.
23931    :type annotations: list[any]
23932    :param connection_string: Required. The non-access credential portion of the connection string
23933     as well as an optional encrypted credential. Type: string, SecureString or
23934     AzureKeyVaultSecretReference.
23935    :type connection_string: any
23936    :param authentication_type: Type of authentication used to connect to the Microsoft Access as
23937     ODBC data store. Possible values are: Anonymous and Basic. Type: string (or Expression with
23938     resultType string).
23939    :type authentication_type: any
23940    :param credential: The access credential portion of the connection string specified in
23941     driver-specific property-value format.
23942    :type credential: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
23943    :param user_name: User name for Basic authentication. Type: string (or Expression with
23944     resultType string).
23945    :type user_name: any
23946    :param password: Password for Basic authentication.
23947    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
23948    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
23949     encrypted using the integration runtime credential manager. Type: string (or Expression with
23950     resultType string).
23951    :type encrypted_credential: any
23952    """
23953
23954    _validation = {
23955        'type': {'required': True},
23956        'connection_string': {'required': True},
23957    }
23958
23959    _attribute_map = {
23960        'additional_properties': {'key': '', 'type': '{object}'},
23961        'type': {'key': 'type', 'type': 'str'},
23962        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
23963        'description': {'key': 'description', 'type': 'str'},
23964        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
23965        'annotations': {'key': 'annotations', 'type': '[object]'},
23966        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
23967        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'},
23968        'credential': {'key': 'typeProperties.credential', 'type': 'SecretBase'},
23969        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
23970        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
23971        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
23972    }
23973
23974    def __init__(
23975        self,
23976        *,
23977        connection_string: Any,
23978        additional_properties: Optional[Dict[str, Any]] = None,
23979        connect_via: Optional["IntegrationRuntimeReference"] = None,
23980        description: Optional[str] = None,
23981        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
23982        annotations: Optional[List[Any]] = None,
23983        authentication_type: Optional[Any] = None,
23984        credential: Optional["SecretBase"] = None,
23985        user_name: Optional[Any] = None,
23986        password: Optional["SecretBase"] = None,
23987        encrypted_credential: Optional[Any] = None,
23988        **kwargs
23989    ):
23990        super(MicrosoftAccessLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
23991        self.type = 'MicrosoftAccess'  # type: str
23992        self.connection_string = connection_string
23993        self.authentication_type = authentication_type
23994        self.credential = credential
23995        self.user_name = user_name
23996        self.password = password
23997        self.encrypted_credential = encrypted_credential
23998
23999
24000class MicrosoftAccessSink(CopySink):
24001    """A copy activity Microsoft Access sink.
24002
24003    All required parameters must be populated in order to send to Azure.
24004
24005    :param additional_properties: Unmatched properties from the message are deserialized to this
24006     collection.
24007    :type additional_properties: dict[str, any]
24008    :param type: Required. Copy sink type.Constant filled by server.
24009    :type type: str
24010    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
24011     integer), minimum: 0.
24012    :type write_batch_size: any
24013    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
24014     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24015    :type write_batch_timeout: any
24016    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
24017     integer).
24018    :type sink_retry_count: any
24019    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
24020     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24021    :type sink_retry_wait: any
24022    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
24023     store. Type: integer (or Expression with resultType integer).
24024    :type max_concurrent_connections: any
24025    :param pre_copy_script: A query to execute before starting the copy. Type: string (or
24026     Expression with resultType string).
24027    :type pre_copy_script: any
24028    """
24029
24030    _validation = {
24031        'type': {'required': True},
24032    }
24033
24034    _attribute_map = {
24035        'additional_properties': {'key': '', 'type': '{object}'},
24036        'type': {'key': 'type', 'type': 'str'},
24037        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
24038        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
24039        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
24040        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
24041        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
24042        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
24043    }
24044
24045    def __init__(
24046        self,
24047        *,
24048        additional_properties: Optional[Dict[str, Any]] = None,
24049        write_batch_size: Optional[Any] = None,
24050        write_batch_timeout: Optional[Any] = None,
24051        sink_retry_count: Optional[Any] = None,
24052        sink_retry_wait: Optional[Any] = None,
24053        max_concurrent_connections: Optional[Any] = None,
24054        pre_copy_script: Optional[Any] = None,
24055        **kwargs
24056    ):
24057        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)
24058        self.type = 'MicrosoftAccessSink'  # type: str
24059        self.pre_copy_script = pre_copy_script
24060
24061
24062class MicrosoftAccessSource(CopySource):
24063    """A copy activity source for Microsoft Access.
24064
24065    All required parameters must be populated in order to send to Azure.
24066
24067    :param additional_properties: Unmatched properties from the message are deserialized to this
24068     collection.
24069    :type additional_properties: dict[str, any]
24070    :param type: Required. Copy source type.Constant filled by server.
24071    :type type: str
24072    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
24073     integer).
24074    :type source_retry_count: any
24075    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
24076     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24077    :type source_retry_wait: any
24078    :param max_concurrent_connections: The maximum concurrent connection count for the source data
24079     store. Type: integer (or Expression with resultType integer).
24080    :type max_concurrent_connections: any
24081    :param query: Database query. Type: string (or Expression with resultType string).
24082    :type query: any
24083    :param additional_columns: Specifies the additional columns to be added to source data. Type:
24084     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
24085    :type additional_columns: any
24086    """
24087
24088    _validation = {
24089        'type': {'required': True},
24090    }
24091
24092    _attribute_map = {
24093        'additional_properties': {'key': '', 'type': '{object}'},
24094        'type': {'key': 'type', 'type': 'str'},
24095        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
24096        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
24097        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
24098        'query': {'key': 'query', 'type': 'object'},
24099        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
24100    }
24101
24102    def __init__(
24103        self,
24104        *,
24105        additional_properties: Optional[Dict[str, Any]] = None,
24106        source_retry_count: Optional[Any] = None,
24107        source_retry_wait: Optional[Any] = None,
24108        max_concurrent_connections: Optional[Any] = None,
24109        query: Optional[Any] = None,
24110        additional_columns: Optional[Any] = None,
24111        **kwargs
24112    ):
24113        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)
24114        self.type = 'MicrosoftAccessSource'  # type: str
24115        self.query = query
24116        self.additional_columns = additional_columns
24117
24118
24119class MicrosoftAccessTableDataset(Dataset):
24120    """The Microsoft Access table dataset.
24121
24122    All required parameters must be populated in order to send to Azure.
24123
24124    :param additional_properties: Unmatched properties from the message are deserialized to this
24125     collection.
24126    :type additional_properties: dict[str, any]
24127    :param type: Required. Type of dataset.Constant filled by server.
24128    :type type: str
24129    :param description: Dataset description.
24130    :type description: str
24131    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
24132     with resultType array), itemType: DatasetDataElement.
24133    :type structure: any
24134    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
24135     Expression with resultType array), itemType: DatasetSchemaDataElement.
24136    :type schema: any
24137    :param linked_service_name: Required. Linked service reference.
24138    :type linked_service_name:
24139     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
24140    :param parameters: Parameters for dataset.
24141    :type parameters: dict[str,
24142     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
24143    :param annotations: List of tags that can be used for describing the Dataset.
24144    :type annotations: list[any]
24145    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
24146     root level.
24147    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
24148    :param table_name: The Microsoft Access table name. Type: string (or Expression with resultType
24149     string).
24150    :type table_name: any
24151    """
24152
24153    _validation = {
24154        'type': {'required': True},
24155        'linked_service_name': {'required': True},
24156    }
24157
24158    _attribute_map = {
24159        'additional_properties': {'key': '', 'type': '{object}'},
24160        'type': {'key': 'type', 'type': 'str'},
24161        'description': {'key': 'description', 'type': 'str'},
24162        'structure': {'key': 'structure', 'type': 'object'},
24163        'schema': {'key': 'schema', 'type': 'object'},
24164        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
24165        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
24166        'annotations': {'key': 'annotations', 'type': '[object]'},
24167        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
24168        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
24169    }
24170
24171    def __init__(
24172        self,
24173        *,
24174        linked_service_name: "LinkedServiceReference",
24175        additional_properties: Optional[Dict[str, Any]] = None,
24176        description: Optional[str] = None,
24177        structure: Optional[Any] = None,
24178        schema: Optional[Any] = None,
24179        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24180        annotations: Optional[List[Any]] = None,
24181        folder: Optional["DatasetFolder"] = None,
24182        table_name: Optional[Any] = None,
24183        **kwargs
24184    ):
24185        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)
24186        self.type = 'MicrosoftAccessTable'  # type: str
24187        self.table_name = table_name
24188
24189
24190class MongoDbAtlasCollectionDataset(Dataset):
24191    """The MongoDB Atlas database dataset.
24192
24193    All required parameters must be populated in order to send to Azure.
24194
24195    :param additional_properties: Unmatched properties from the message are deserialized to this
24196     collection.
24197    :type additional_properties: dict[str, any]
24198    :param type: Required. Type of dataset.Constant filled by server.
24199    :type type: str
24200    :param description: Dataset description.
24201    :type description: str
24202    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
24203     with resultType array), itemType: DatasetDataElement.
24204    :type structure: any
24205    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
24206     Expression with resultType array), itemType: DatasetSchemaDataElement.
24207    :type schema: any
24208    :param linked_service_name: Required. Linked service reference.
24209    :type linked_service_name:
24210     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
24211    :param parameters: Parameters for dataset.
24212    :type parameters: dict[str,
24213     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
24214    :param annotations: List of tags that can be used for describing the Dataset.
24215    :type annotations: list[any]
24216    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
24217     root level.
24218    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
24219    :param collection: Required. The collection name of the MongoDB Atlas database. Type: string
24220     (or Expression with resultType string).
24221    :type collection: any
24222    """
24223
24224    _validation = {
24225        'type': {'required': True},
24226        'linked_service_name': {'required': True},
24227        'collection': {'required': True},
24228    }
24229
24230    _attribute_map = {
24231        'additional_properties': {'key': '', 'type': '{object}'},
24232        'type': {'key': 'type', 'type': 'str'},
24233        'description': {'key': 'description', 'type': 'str'},
24234        'structure': {'key': 'structure', 'type': 'object'},
24235        'schema': {'key': 'schema', 'type': 'object'},
24236        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
24237        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
24238        'annotations': {'key': 'annotations', 'type': '[object]'},
24239        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
24240        'collection': {'key': 'typeProperties.collection', 'type': 'object'},
24241    }
24242
24243    def __init__(
24244        self,
24245        *,
24246        linked_service_name: "LinkedServiceReference",
24247        collection: Any,
24248        additional_properties: Optional[Dict[str, Any]] = None,
24249        description: Optional[str] = None,
24250        structure: Optional[Any] = None,
24251        schema: Optional[Any] = None,
24252        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24253        annotations: Optional[List[Any]] = None,
24254        folder: Optional["DatasetFolder"] = None,
24255        **kwargs
24256    ):
24257        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)
24258        self.type = 'MongoDbAtlasCollection'  # type: str
24259        self.collection = collection
24260
24261
24262class MongoDbAtlasLinkedService(LinkedService):
24263    """Linked service for MongoDB Atlas data source.
24264
24265    All required parameters must be populated in order to send to Azure.
24266
24267    :param additional_properties: Unmatched properties from the message are deserialized to this
24268     collection.
24269    :type additional_properties: dict[str, any]
24270    :param type: Required. Type of linked service.Constant filled by server.
24271    :type type: str
24272    :param connect_via: The integration runtime reference.
24273    :type connect_via:
24274     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
24275    :param description: Linked service description.
24276    :type description: str
24277    :param parameters: Parameters for linked service.
24278    :type parameters: dict[str,
24279     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
24280    :param annotations: List of tags that can be used for describing the linked service.
24281    :type annotations: list[any]
24282    :param connection_string: Required. The MongoDB Atlas connection string. Type: string,
24283     SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or
24284     AzureKeyVaultSecretReference.
24285    :type connection_string: any
24286    :param database: Required. The name of the MongoDB Atlas database that you want to access.
24287     Type: string (or Expression with resultType string).
24288    :type database: any
24289    """
24290
24291    _validation = {
24292        'type': {'required': True},
24293        'connection_string': {'required': True},
24294        'database': {'required': True},
24295    }
24296
24297    _attribute_map = {
24298        'additional_properties': {'key': '', 'type': '{object}'},
24299        'type': {'key': 'type', 'type': 'str'},
24300        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
24301        'description': {'key': 'description', 'type': 'str'},
24302        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
24303        'annotations': {'key': 'annotations', 'type': '[object]'},
24304        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
24305        'database': {'key': 'typeProperties.database', 'type': 'object'},
24306    }
24307
24308    def __init__(
24309        self,
24310        *,
24311        connection_string: Any,
24312        database: Any,
24313        additional_properties: Optional[Dict[str, Any]] = None,
24314        connect_via: Optional["IntegrationRuntimeReference"] = None,
24315        description: Optional[str] = None,
24316        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24317        annotations: Optional[List[Any]] = None,
24318        **kwargs
24319    ):
24320        super(MongoDbAtlasLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
24321        self.type = 'MongoDbAtlas'  # type: str
24322        self.connection_string = connection_string
24323        self.database = database
24324
24325
24326class MongoDbAtlasSource(CopySource):
24327    """A copy activity source for a MongoDB Atlas database.
24328
24329    All required parameters must be populated in order to send to Azure.
24330
24331    :param additional_properties: Unmatched properties from the message are deserialized to this
24332     collection.
24333    :type additional_properties: dict[str, any]
24334    :param type: Required. Copy source type.Constant filled by server.
24335    :type type: str
24336    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
24337     integer).
24338    :type source_retry_count: any
24339    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
24340     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24341    :type source_retry_wait: any
24342    :param max_concurrent_connections: The maximum concurrent connection count for the source data
24343     store. Type: integer (or Expression with resultType integer).
24344    :type max_concurrent_connections: any
24345    :param filter: Specifies selection filter using query operators. To return all documents in a
24346     collection, omit this parameter or pass an empty document ({}). Type: string (or Expression
24347     with resultType string).
24348    :type filter: any
24349    :param cursor_methods: Cursor methods for Mongodb query.
24350    :type cursor_methods:
24351     ~azure.synapse.artifacts.v2021_06_01_preview.models.MongoDbCursorMethodsProperties
24352    :param batch_size: Specifies the number of documents to return in each batch of the response
24353     from MongoDB Atlas instance. In most cases, modifying the batch size will not affect the user
24354     or the application. This property's main purpose is to avoid hit the limitation of response
24355     size. Type: integer (or Expression with resultType integer).
24356    :type batch_size: any
24357    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
24358     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24359    :type query_timeout: any
24360    :param additional_columns: Specifies the additional columns to be added to source data. Type:
24361     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
24362    :type additional_columns: any
24363    """
24364
24365    _validation = {
24366        'type': {'required': True},
24367    }
24368
24369    _attribute_map = {
24370        'additional_properties': {'key': '', 'type': '{object}'},
24371        'type': {'key': 'type', 'type': 'str'},
24372        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
24373        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
24374        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
24375        'filter': {'key': 'filter', 'type': 'object'},
24376        'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'},
24377        'batch_size': {'key': 'batchSize', 'type': 'object'},
24378        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
24379        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
24380    }
24381
24382    def __init__(
24383        self,
24384        *,
24385        additional_properties: Optional[Dict[str, Any]] = None,
24386        source_retry_count: Optional[Any] = None,
24387        source_retry_wait: Optional[Any] = None,
24388        max_concurrent_connections: Optional[Any] = None,
24389        filter: Optional[Any] = None,
24390        cursor_methods: Optional["MongoDbCursorMethodsProperties"] = None,
24391        batch_size: Optional[Any] = None,
24392        query_timeout: Optional[Any] = None,
24393        additional_columns: Optional[Any] = None,
24394        **kwargs
24395    ):
24396        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)
24397        self.type = 'MongoDbAtlasSource'  # type: str
24398        self.filter = filter
24399        self.cursor_methods = cursor_methods
24400        self.batch_size = batch_size
24401        self.query_timeout = query_timeout
24402        self.additional_columns = additional_columns
24403
24404
24405class MongoDbCollectionDataset(Dataset):
24406    """The MongoDB database dataset.
24407
24408    All required parameters must be populated in order to send to Azure.
24409
24410    :param additional_properties: Unmatched properties from the message are deserialized to this
24411     collection.
24412    :type additional_properties: dict[str, any]
24413    :param type: Required. Type of dataset.Constant filled by server.
24414    :type type: str
24415    :param description: Dataset description.
24416    :type description: str
24417    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
24418     with resultType array), itemType: DatasetDataElement.
24419    :type structure: any
24420    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
24421     Expression with resultType array), itemType: DatasetSchemaDataElement.
24422    :type schema: any
24423    :param linked_service_name: Required. Linked service reference.
24424    :type linked_service_name:
24425     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
24426    :param parameters: Parameters for dataset.
24427    :type parameters: dict[str,
24428     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
24429    :param annotations: List of tags that can be used for describing the Dataset.
24430    :type annotations: list[any]
24431    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
24432     root level.
24433    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
24434    :param collection_name: Required. The table name of the MongoDB database. Type: string (or
24435     Expression with resultType string).
24436    :type collection_name: any
24437    """
24438
24439    _validation = {
24440        'type': {'required': True},
24441        'linked_service_name': {'required': True},
24442        'collection_name': {'required': True},
24443    }
24444
24445    _attribute_map = {
24446        'additional_properties': {'key': '', 'type': '{object}'},
24447        'type': {'key': 'type', 'type': 'str'},
24448        'description': {'key': 'description', 'type': 'str'},
24449        'structure': {'key': 'structure', 'type': 'object'},
24450        'schema': {'key': 'schema', 'type': 'object'},
24451        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
24452        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
24453        'annotations': {'key': 'annotations', 'type': '[object]'},
24454        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
24455        'collection_name': {'key': 'typeProperties.collectionName', 'type': 'object'},
24456    }
24457
24458    def __init__(
24459        self,
24460        *,
24461        linked_service_name: "LinkedServiceReference",
24462        collection_name: Any,
24463        additional_properties: Optional[Dict[str, Any]] = None,
24464        description: Optional[str] = None,
24465        structure: Optional[Any] = None,
24466        schema: Optional[Any] = None,
24467        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24468        annotations: Optional[List[Any]] = None,
24469        folder: Optional["DatasetFolder"] = None,
24470        **kwargs
24471    ):
24472        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)
24473        self.type = 'MongoDbCollection'  # type: str
24474        self.collection_name = collection_name
24475
24476
24477class MongoDbCursorMethodsProperties(msrest.serialization.Model):
24478    """Cursor methods for Mongodb query.
24479
24480    :param additional_properties: Unmatched properties from the message are deserialized to this
24481     collection.
24482    :type additional_properties: dict[str, any]
24483    :param project: Specifies the fields to return in the documents that match the query filter. To
24484     return all fields in the matching documents, omit this parameter. Type: string (or Expression
24485     with resultType string).
24486    :type project: any
24487    :param sort: Specifies the order in which the query returns matching documents. Type: string
24488     (or Expression with resultType string). Type: string (or Expression with resultType string).
24489    :type sort: any
24490    :param skip: Specifies the how many documents skipped and where MongoDB begins returning
24491     results. This approach may be useful in implementing paginated results. Type: integer (or
24492     Expression with resultType integer).
24493    :type skip: any
24494    :param limit: Specifies the maximum number of documents the server returns. limit() is
24495     analogous to the LIMIT statement in a SQL database. Type: integer (or Expression with
24496     resultType integer).
24497    :type limit: any
24498    """
24499
24500    _attribute_map = {
24501        'additional_properties': {'key': '', 'type': '{object}'},
24502        'project': {'key': 'project', 'type': 'object'},
24503        'sort': {'key': 'sort', 'type': 'object'},
24504        'skip': {'key': 'skip', 'type': 'object'},
24505        'limit': {'key': 'limit', 'type': 'object'},
24506    }
24507
24508    def __init__(
24509        self,
24510        *,
24511        additional_properties: Optional[Dict[str, Any]] = None,
24512        project: Optional[Any] = None,
24513        sort: Optional[Any] = None,
24514        skip: Optional[Any] = None,
24515        limit: Optional[Any] = None,
24516        **kwargs
24517    ):
24518        super(MongoDbCursorMethodsProperties, self).__init__(**kwargs)
24519        self.additional_properties = additional_properties
24520        self.project = project
24521        self.sort = sort
24522        self.skip = skip
24523        self.limit = limit
24524
24525
24526class MongoDbLinkedService(LinkedService):
24527    """Linked service for MongoDb data source.
24528
24529    All required parameters must be populated in order to send to Azure.
24530
24531    :param additional_properties: Unmatched properties from the message are deserialized to this
24532     collection.
24533    :type additional_properties: dict[str, any]
24534    :param type: Required. Type of linked service.Constant filled by server.
24535    :type type: str
24536    :param connect_via: The integration runtime reference.
24537    :type connect_via:
24538     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
24539    :param description: Linked service description.
24540    :type description: str
24541    :param parameters: Parameters for linked service.
24542    :type parameters: dict[str,
24543     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
24544    :param annotations: List of tags that can be used for describing the linked service.
24545    :type annotations: list[any]
24546    :param server: Required. The IP address or server name of the MongoDB server. Type: string (or
24547     Expression with resultType string).
24548    :type server: any
24549    :param authentication_type: The authentication type to be used to connect to the MongoDB
24550     database. Possible values include: "Basic", "Anonymous".
24551    :type authentication_type: str or
24552     ~azure.synapse.artifacts.v2021_06_01_preview.models.MongoDbAuthenticationType
24553    :param database_name: Required. The name of the MongoDB database that you want to access. Type:
24554     string (or Expression with resultType string).
24555    :type database_name: any
24556    :param username: Username for authentication. Type: string (or Expression with resultType
24557     string).
24558    :type username: any
24559    :param password: Password for authentication.
24560    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
24561    :param auth_source: Database to verify the username and password. Type: string (or Expression
24562     with resultType string).
24563    :type auth_source: any
24564    :param port: The TCP port number that the MongoDB server uses to listen for client connections.
24565     The default value is 27017. Type: integer (or Expression with resultType integer), minimum: 0.
24566    :type port: any
24567    :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The
24568     default value is false. Type: boolean (or Expression with resultType boolean).
24569    :type enable_ssl: any
24570    :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from
24571     the server. The default value is false. Type: boolean (or Expression with resultType boolean).
24572    :type allow_self_signed_server_cert: any
24573    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
24574     encrypted using the integration runtime credential manager. Type: string (or Expression with
24575     resultType string).
24576    :type encrypted_credential: any
24577    """
24578
24579    _validation = {
24580        'type': {'required': True},
24581        'server': {'required': True},
24582        'database_name': {'required': True},
24583    }
24584
24585    _attribute_map = {
24586        'additional_properties': {'key': '', 'type': '{object}'},
24587        'type': {'key': 'type', 'type': 'str'},
24588        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
24589        'description': {'key': 'description', 'type': 'str'},
24590        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
24591        'annotations': {'key': 'annotations', 'type': '[object]'},
24592        'server': {'key': 'typeProperties.server', 'type': 'object'},
24593        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
24594        'database_name': {'key': 'typeProperties.databaseName', 'type': 'object'},
24595        'username': {'key': 'typeProperties.username', 'type': 'object'},
24596        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
24597        'auth_source': {'key': 'typeProperties.authSource', 'type': 'object'},
24598        'port': {'key': 'typeProperties.port', 'type': 'object'},
24599        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
24600        'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'},
24601        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
24602    }
24603
24604    def __init__(
24605        self,
24606        *,
24607        server: Any,
24608        database_name: Any,
24609        additional_properties: Optional[Dict[str, Any]] = None,
24610        connect_via: Optional["IntegrationRuntimeReference"] = None,
24611        description: Optional[str] = None,
24612        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24613        annotations: Optional[List[Any]] = None,
24614        authentication_type: Optional[Union[str, "MongoDbAuthenticationType"]] = None,
24615        username: Optional[Any] = None,
24616        password: Optional["SecretBase"] = None,
24617        auth_source: Optional[Any] = None,
24618        port: Optional[Any] = None,
24619        enable_ssl: Optional[Any] = None,
24620        allow_self_signed_server_cert: Optional[Any] = None,
24621        encrypted_credential: Optional[Any] = None,
24622        **kwargs
24623    ):
24624        super(MongoDbLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
24625        self.type = 'MongoDb'  # type: str
24626        self.server = server
24627        self.authentication_type = authentication_type
24628        self.database_name = database_name
24629        self.username = username
24630        self.password = password
24631        self.auth_source = auth_source
24632        self.port = port
24633        self.enable_ssl = enable_ssl
24634        self.allow_self_signed_server_cert = allow_self_signed_server_cert
24635        self.encrypted_credential = encrypted_credential
24636
24637
24638class MongoDbSource(CopySource):
24639    """A copy activity source for a MongoDB database.
24640
24641    All required parameters must be populated in order to send to Azure.
24642
24643    :param additional_properties: Unmatched properties from the message are deserialized to this
24644     collection.
24645    :type additional_properties: dict[str, any]
24646    :param type: Required. Copy source type.Constant filled by server.
24647    :type type: str
24648    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
24649     integer).
24650    :type source_retry_count: any
24651    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
24652     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24653    :type source_retry_wait: any
24654    :param max_concurrent_connections: The maximum concurrent connection count for the source data
24655     store. Type: integer (or Expression with resultType integer).
24656    :type max_concurrent_connections: any
24657    :param query: Database query. Should be a SQL-92 query expression. Type: string (or Expression
24658     with resultType string).
24659    :type query: any
24660    :param additional_columns: Specifies the additional columns to be added to source data. Type:
24661     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
24662    :type additional_columns: any
24663    """
24664
24665    _validation = {
24666        'type': {'required': True},
24667    }
24668
24669    _attribute_map = {
24670        'additional_properties': {'key': '', 'type': '{object}'},
24671        'type': {'key': 'type', 'type': 'str'},
24672        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
24673        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
24674        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
24675        'query': {'key': 'query', 'type': 'object'},
24676        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
24677    }
24678
24679    def __init__(
24680        self,
24681        *,
24682        additional_properties: Optional[Dict[str, Any]] = None,
24683        source_retry_count: Optional[Any] = None,
24684        source_retry_wait: Optional[Any] = None,
24685        max_concurrent_connections: Optional[Any] = None,
24686        query: Optional[Any] = None,
24687        additional_columns: Optional[Any] = None,
24688        **kwargs
24689    ):
24690        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)
24691        self.type = 'MongoDbSource'  # type: str
24692        self.query = query
24693        self.additional_columns = additional_columns
24694
24695
24696class MongoDbV2CollectionDataset(Dataset):
24697    """The MongoDB database dataset.
24698
24699    All required parameters must be populated in order to send to Azure.
24700
24701    :param additional_properties: Unmatched properties from the message are deserialized to this
24702     collection.
24703    :type additional_properties: dict[str, any]
24704    :param type: Required. Type of dataset.Constant filled by server.
24705    :type type: str
24706    :param description: Dataset description.
24707    :type description: str
24708    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
24709     with resultType array), itemType: DatasetDataElement.
24710    :type structure: any
24711    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
24712     Expression with resultType array), itemType: DatasetSchemaDataElement.
24713    :type schema: any
24714    :param linked_service_name: Required. Linked service reference.
24715    :type linked_service_name:
24716     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
24717    :param parameters: Parameters for dataset.
24718    :type parameters: dict[str,
24719     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
24720    :param annotations: List of tags that can be used for describing the Dataset.
24721    :type annotations: list[any]
24722    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
24723     root level.
24724    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
24725    :param collection: Required. The collection name of the MongoDB database. Type: string (or
24726     Expression with resultType string).
24727    :type collection: any
24728    """
24729
24730    _validation = {
24731        'type': {'required': True},
24732        'linked_service_name': {'required': True},
24733        'collection': {'required': True},
24734    }
24735
24736    _attribute_map = {
24737        'additional_properties': {'key': '', 'type': '{object}'},
24738        'type': {'key': 'type', 'type': 'str'},
24739        'description': {'key': 'description', 'type': 'str'},
24740        'structure': {'key': 'structure', 'type': 'object'},
24741        'schema': {'key': 'schema', 'type': 'object'},
24742        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
24743        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
24744        'annotations': {'key': 'annotations', 'type': '[object]'},
24745        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
24746        'collection': {'key': 'typeProperties.collection', 'type': 'object'},
24747    }
24748
24749    def __init__(
24750        self,
24751        *,
24752        linked_service_name: "LinkedServiceReference",
24753        collection: Any,
24754        additional_properties: Optional[Dict[str, Any]] = None,
24755        description: Optional[str] = None,
24756        structure: Optional[Any] = None,
24757        schema: Optional[Any] = None,
24758        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24759        annotations: Optional[List[Any]] = None,
24760        folder: Optional["DatasetFolder"] = None,
24761        **kwargs
24762    ):
24763        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)
24764        self.type = 'MongoDbV2Collection'  # type: str
24765        self.collection = collection
24766
24767
24768class MongoDbV2LinkedService(LinkedService):
24769    """Linked service for MongoDB data source.
24770
24771    All required parameters must be populated in order to send to Azure.
24772
24773    :param additional_properties: Unmatched properties from the message are deserialized to this
24774     collection.
24775    :type additional_properties: dict[str, any]
24776    :param type: Required. Type of linked service.Constant filled by server.
24777    :type type: str
24778    :param connect_via: The integration runtime reference.
24779    :type connect_via:
24780     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
24781    :param description: Linked service description.
24782    :type description: str
24783    :param parameters: Parameters for linked service.
24784    :type parameters: dict[str,
24785     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
24786    :param annotations: List of tags that can be used for describing the linked service.
24787    :type annotations: list[any]
24788    :param connection_string: Required. The MongoDB connection string. Type: string, SecureString
24789     or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.
24790    :type connection_string: any
24791    :param database: Required. The name of the MongoDB database that you want to access. Type:
24792     string (or Expression with resultType string).
24793    :type database: any
24794    """
24795
24796    _validation = {
24797        'type': {'required': True},
24798        'connection_string': {'required': True},
24799        'database': {'required': True},
24800    }
24801
24802    _attribute_map = {
24803        'additional_properties': {'key': '', 'type': '{object}'},
24804        'type': {'key': 'type', 'type': 'str'},
24805        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
24806        'description': {'key': 'description', 'type': 'str'},
24807        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
24808        'annotations': {'key': 'annotations', 'type': '[object]'},
24809        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
24810        'database': {'key': 'typeProperties.database', 'type': 'object'},
24811    }
24812
24813    def __init__(
24814        self,
24815        *,
24816        connection_string: Any,
24817        database: Any,
24818        additional_properties: Optional[Dict[str, Any]] = None,
24819        connect_via: Optional["IntegrationRuntimeReference"] = None,
24820        description: Optional[str] = None,
24821        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24822        annotations: Optional[List[Any]] = None,
24823        **kwargs
24824    ):
24825        super(MongoDbV2LinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
24826        self.type = 'MongoDbV2'  # type: str
24827        self.connection_string = connection_string
24828        self.database = database
24829
24830
24831class MongoDbV2Source(CopySource):
24832    """A copy activity source for a MongoDB database.
24833
24834    All required parameters must be populated in order to send to Azure.
24835
24836    :param additional_properties: Unmatched properties from the message are deserialized to this
24837     collection.
24838    :type additional_properties: dict[str, any]
24839    :param type: Required. Copy source type.Constant filled by server.
24840    :type type: str
24841    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
24842     integer).
24843    :type source_retry_count: any
24844    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
24845     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24846    :type source_retry_wait: any
24847    :param max_concurrent_connections: The maximum concurrent connection count for the source data
24848     store. Type: integer (or Expression with resultType integer).
24849    :type max_concurrent_connections: any
24850    :param filter: Specifies selection filter using query operators. To return all documents in a
24851     collection, omit this parameter or pass an empty document ({}). Type: string (or Expression
24852     with resultType string).
24853    :type filter: any
24854    :param cursor_methods: Cursor methods for Mongodb query.
24855    :type cursor_methods:
24856     ~azure.synapse.artifacts.v2021_06_01_preview.models.MongoDbCursorMethodsProperties
24857    :param batch_size: Specifies the number of documents to return in each batch of the response
24858     from MongoDB instance. In most cases, modifying the batch size will not affect the user or the
24859     application. This property's main purpose is to avoid hit the limitation of response size.
24860     Type: integer (or Expression with resultType integer).
24861    :type batch_size: any
24862    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
24863     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24864    :type query_timeout: any
24865    :param additional_columns: Specifies the additional columns to be added to source data. Type:
24866     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
24867    :type additional_columns: any
24868    """
24869
24870    _validation = {
24871        'type': {'required': True},
24872    }
24873
24874    _attribute_map = {
24875        'additional_properties': {'key': '', 'type': '{object}'},
24876        'type': {'key': 'type', 'type': 'str'},
24877        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
24878        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
24879        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
24880        'filter': {'key': 'filter', 'type': 'object'},
24881        'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'},
24882        'batch_size': {'key': 'batchSize', 'type': 'object'},
24883        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
24884        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
24885    }
24886
24887    def __init__(
24888        self,
24889        *,
24890        additional_properties: Optional[Dict[str, Any]] = None,
24891        source_retry_count: Optional[Any] = None,
24892        source_retry_wait: Optional[Any] = None,
24893        max_concurrent_connections: Optional[Any] = None,
24894        filter: Optional[Any] = None,
24895        cursor_methods: Optional["MongoDbCursorMethodsProperties"] = None,
24896        batch_size: Optional[Any] = None,
24897        query_timeout: Optional[Any] = None,
24898        additional_columns: Optional[Any] = None,
24899        **kwargs
24900    ):
24901        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)
24902        self.type = 'MongoDbV2Source'  # type: str
24903        self.filter = filter
24904        self.cursor_methods = cursor_methods
24905        self.batch_size = batch_size
24906        self.query_timeout = query_timeout
24907        self.additional_columns = additional_columns
24908
24909
24910class MySqlLinkedService(LinkedService):
24911    """Linked service for MySQL data source.
24912
24913    All required parameters must be populated in order to send to Azure.
24914
24915    :param additional_properties: Unmatched properties from the message are deserialized to this
24916     collection.
24917    :type additional_properties: dict[str, any]
24918    :param type: Required. Type of linked service.Constant filled by server.
24919    :type type: str
24920    :param connect_via: The integration runtime reference.
24921    :type connect_via:
24922     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
24923    :param description: Linked service description.
24924    :type description: str
24925    :param parameters: Parameters for linked service.
24926    :type parameters: dict[str,
24927     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
24928    :param annotations: List of tags that can be used for describing the linked service.
24929    :type annotations: list[any]
24930    :param connection_string: Required. The connection string.
24931    :type connection_string: any
24932    :param password: The Azure key vault secret reference of password in connection string.
24933    :type password:
24934     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
24935    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
24936     encrypted using the integration runtime credential manager. Type: string (or Expression with
24937     resultType string).
24938    :type encrypted_credential: any
24939    """
24940
24941    _validation = {
24942        'type': {'required': True},
24943        'connection_string': {'required': True},
24944    }
24945
24946    _attribute_map = {
24947        'additional_properties': {'key': '', 'type': '{object}'},
24948        'type': {'key': 'type', 'type': 'str'},
24949        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
24950        'description': {'key': 'description', 'type': 'str'},
24951        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
24952        'annotations': {'key': 'annotations', 'type': '[object]'},
24953        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
24954        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
24955        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
24956    }
24957
24958    def __init__(
24959        self,
24960        *,
24961        connection_string: Any,
24962        additional_properties: Optional[Dict[str, Any]] = None,
24963        connect_via: Optional["IntegrationRuntimeReference"] = None,
24964        description: Optional[str] = None,
24965        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
24966        annotations: Optional[List[Any]] = None,
24967        password: Optional["AzureKeyVaultSecretReference"] = None,
24968        encrypted_credential: Optional[Any] = None,
24969        **kwargs
24970    ):
24971        super(MySqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
24972        self.type = 'MySql'  # type: str
24973        self.connection_string = connection_string
24974        self.password = password
24975        self.encrypted_credential = encrypted_credential
24976
24977
24978class MySqlSource(TabularSource):
24979    """A copy activity source for MySQL databases.
24980
24981    All required parameters must be populated in order to send to Azure.
24982
24983    :param additional_properties: Unmatched properties from the message are deserialized to this
24984     collection.
24985    :type additional_properties: dict[str, any]
24986    :param type: Required. Copy source type.Constant filled by server.
24987    :type type: str
24988    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
24989     integer).
24990    :type source_retry_count: any
24991    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
24992     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24993    :type source_retry_wait: any
24994    :param max_concurrent_connections: The maximum concurrent connection count for the source data
24995     store. Type: integer (or Expression with resultType integer).
24996    :type max_concurrent_connections: any
24997    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
24998     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
24999    :type query_timeout: any
25000    :param additional_columns: Specifies the additional columns to be added to source data. Type:
25001     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
25002    :type additional_columns: any
25003    :param query: Database query. Type: string (or Expression with resultType string).
25004    :type query: any
25005    """
25006
25007    _validation = {
25008        'type': {'required': True},
25009    }
25010
25011    _attribute_map = {
25012        'additional_properties': {'key': '', 'type': '{object}'},
25013        'type': {'key': 'type', 'type': 'str'},
25014        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
25015        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
25016        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
25017        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
25018        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
25019        'query': {'key': 'query', 'type': 'object'},
25020    }
25021
25022    def __init__(
25023        self,
25024        *,
25025        additional_properties: Optional[Dict[str, Any]] = None,
25026        source_retry_count: Optional[Any] = None,
25027        source_retry_wait: Optional[Any] = None,
25028        max_concurrent_connections: Optional[Any] = None,
25029        query_timeout: Optional[Any] = None,
25030        additional_columns: Optional[Any] = None,
25031        query: Optional[Any] = None,
25032        **kwargs
25033    ):
25034        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)
25035        self.type = 'MySqlSource'  # type: str
25036        self.query = query
25037
25038
25039class MySqlTableDataset(Dataset):
25040    """The MySQL table dataset.
25041
25042    All required parameters must be populated in order to send to Azure.
25043
25044    :param additional_properties: Unmatched properties from the message are deserialized to this
25045     collection.
25046    :type additional_properties: dict[str, any]
25047    :param type: Required. Type of dataset.Constant filled by server.
25048    :type type: str
25049    :param description: Dataset description.
25050    :type description: str
25051    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
25052     with resultType array), itemType: DatasetDataElement.
25053    :type structure: any
25054    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
25055     Expression with resultType array), itemType: DatasetSchemaDataElement.
25056    :type schema: any
25057    :param linked_service_name: Required. Linked service reference.
25058    :type linked_service_name:
25059     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
25060    :param parameters: Parameters for dataset.
25061    :type parameters: dict[str,
25062     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
25063    :param annotations: List of tags that can be used for describing the Dataset.
25064    :type annotations: list[any]
25065    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
25066     root level.
25067    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
25068    :param table_name: The MySQL table name. Type: string (or Expression with resultType string).
25069    :type table_name: any
25070    """
25071
25072    _validation = {
25073        'type': {'required': True},
25074        'linked_service_name': {'required': True},
25075    }
25076
25077    _attribute_map = {
25078        'additional_properties': {'key': '', 'type': '{object}'},
25079        'type': {'key': 'type', 'type': 'str'},
25080        'description': {'key': 'description', 'type': 'str'},
25081        'structure': {'key': 'structure', 'type': 'object'},
25082        'schema': {'key': 'schema', 'type': 'object'},
25083        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
25084        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
25085        'annotations': {'key': 'annotations', 'type': '[object]'},
25086        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
25087        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
25088    }
25089
25090    def __init__(
25091        self,
25092        *,
25093        linked_service_name: "LinkedServiceReference",
25094        additional_properties: Optional[Dict[str, Any]] = None,
25095        description: Optional[str] = None,
25096        structure: Optional[Any] = None,
25097        schema: Optional[Any] = None,
25098        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
25099        annotations: Optional[List[Any]] = None,
25100        folder: Optional["DatasetFolder"] = None,
25101        table_name: Optional[Any] = None,
25102        **kwargs
25103    ):
25104        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)
25105        self.type = 'MySqlTable'  # type: str
25106        self.table_name = table_name
25107
25108
25109class NetezzaLinkedService(LinkedService):
25110    """Netezza linked service.
25111
25112    All required parameters must be populated in order to send to Azure.
25113
25114    :param additional_properties: Unmatched properties from the message are deserialized to this
25115     collection.
25116    :type additional_properties: dict[str, any]
25117    :param type: Required. Type of linked service.Constant filled by server.
25118    :type type: str
25119    :param connect_via: The integration runtime reference.
25120    :type connect_via:
25121     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
25122    :param description: Linked service description.
25123    :type description: str
25124    :param parameters: Parameters for linked service.
25125    :type parameters: dict[str,
25126     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
25127    :param annotations: List of tags that can be used for describing the linked service.
25128    :type annotations: list[any]
25129    :param connection_string: An ODBC connection string. Type: string, SecureString or
25130     AzureKeyVaultSecretReference.
25131    :type connection_string: any
25132    :param pwd: The Azure key vault secret reference of password in connection string.
25133    :type pwd: ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
25134    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
25135     encrypted using the integration runtime credential manager. Type: string (or Expression with
25136     resultType string).
25137    :type encrypted_credential: any
25138    """
25139
25140    _validation = {
25141        'type': {'required': True},
25142    }
25143
25144    _attribute_map = {
25145        'additional_properties': {'key': '', 'type': '{object}'},
25146        'type': {'key': 'type', 'type': 'str'},
25147        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
25148        'description': {'key': 'description', 'type': 'str'},
25149        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
25150        'annotations': {'key': 'annotations', 'type': '[object]'},
25151        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
25152        'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'},
25153        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
25154    }
25155
25156    def __init__(
25157        self,
25158        *,
25159        additional_properties: Optional[Dict[str, Any]] = None,
25160        connect_via: Optional["IntegrationRuntimeReference"] = None,
25161        description: Optional[str] = None,
25162        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
25163        annotations: Optional[List[Any]] = None,
25164        connection_string: Optional[Any] = None,
25165        pwd: Optional["AzureKeyVaultSecretReference"] = None,
25166        encrypted_credential: Optional[Any] = None,
25167        **kwargs
25168    ):
25169        super(NetezzaLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
25170        self.type = 'Netezza'  # type: str
25171        self.connection_string = connection_string
25172        self.pwd = pwd
25173        self.encrypted_credential = encrypted_credential
25174
25175
25176class NetezzaPartitionSettings(msrest.serialization.Model):
25177    """The settings that will be leveraged for Netezza source partitioning.
25178
25179    :param partition_column_name: The name of the column in integer type that will be used for
25180     proceeding range partitioning. Type: string (or Expression with resultType string).
25181    :type partition_column_name: any
25182    :param partition_upper_bound: The maximum value of column specified in partitionColumnName that
25183     will be used for proceeding range partitioning. Type: string (or Expression with resultType
25184     string).
25185    :type partition_upper_bound: any
25186    :param partition_lower_bound: The minimum value of column specified in partitionColumnName that
25187     will be used for proceeding range partitioning. Type: string (or Expression with resultType
25188     string).
25189    :type partition_lower_bound: any
25190    """
25191
25192    _attribute_map = {
25193        'partition_column_name': {'key': 'partitionColumnName', 'type': 'object'},
25194        'partition_upper_bound': {'key': 'partitionUpperBound', 'type': 'object'},
25195        'partition_lower_bound': {'key': 'partitionLowerBound', 'type': 'object'},
25196    }
25197
25198    def __init__(
25199        self,
25200        *,
25201        partition_column_name: Optional[Any] = None,
25202        partition_upper_bound: Optional[Any] = None,
25203        partition_lower_bound: Optional[Any] = None,
25204        **kwargs
25205    ):
25206        super(NetezzaPartitionSettings, self).__init__(**kwargs)
25207        self.partition_column_name = partition_column_name
25208        self.partition_upper_bound = partition_upper_bound
25209        self.partition_lower_bound = partition_lower_bound
25210
25211
25212class NetezzaSource(TabularSource):
25213    """A copy activity Netezza source.
25214
25215    All required parameters must be populated in order to send to Azure.
25216
25217    :param additional_properties: Unmatched properties from the message are deserialized to this
25218     collection.
25219    :type additional_properties: dict[str, any]
25220    :param type: Required. Copy source type.Constant filled by server.
25221    :type type: str
25222    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
25223     integer).
25224    :type source_retry_count: any
25225    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
25226     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
25227    :type source_retry_wait: any
25228    :param max_concurrent_connections: The maximum concurrent connection count for the source data
25229     store. Type: integer (or Expression with resultType integer).
25230    :type max_concurrent_connections: any
25231    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
25232     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
25233    :type query_timeout: any
25234    :param additional_columns: Specifies the additional columns to be added to source data. Type:
25235     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
25236    :type additional_columns: any
25237    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
25238     string).
25239    :type query: any
25240    :param partition_option: The partition mechanism that will be used for Netezza read in
25241     parallel. Possible values include: "None", "DataSlice", "DynamicRange".
25242    :type partition_option: str or
25243     ~azure.synapse.artifacts.v2021_06_01_preview.models.NetezzaPartitionOption
25244    :param partition_settings: The settings that will be leveraged for Netezza source partitioning.
25245    :type partition_settings:
25246     ~azure.synapse.artifacts.v2021_06_01_preview.models.NetezzaPartitionSettings
25247    """
25248
25249    _validation = {
25250        'type': {'required': True},
25251    }
25252
25253    _attribute_map = {
25254        'additional_properties': {'key': '', 'type': '{object}'},
25255        'type': {'key': 'type', 'type': 'str'},
25256        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
25257        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
25258        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
25259        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
25260        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
25261        'query': {'key': 'query', 'type': 'object'},
25262        'partition_option': {'key': 'partitionOption', 'type': 'str'},
25263        'partition_settings': {'key': 'partitionSettings', 'type': 'NetezzaPartitionSettings'},
25264    }
25265
25266    def __init__(
25267        self,
25268        *,
25269        additional_properties: Optional[Dict[str, Any]] = None,
25270        source_retry_count: Optional[Any] = None,
25271        source_retry_wait: Optional[Any] = None,
25272        max_concurrent_connections: Optional[Any] = None,
25273        query_timeout: Optional[Any] = None,
25274        additional_columns: Optional[Any] = None,
25275        query: Optional[Any] = None,
25276        partition_option: Optional[Union[str, "NetezzaPartitionOption"]] = None,
25277        partition_settings: Optional["NetezzaPartitionSettings"] = None,
25278        **kwargs
25279    ):
25280        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)
25281        self.type = 'NetezzaSource'  # type: str
25282        self.query = query
25283        self.partition_option = partition_option
25284        self.partition_settings = partition_settings
25285
25286
25287class NetezzaTableDataset(Dataset):
25288    """Netezza dataset.
25289
25290    All required parameters must be populated in order to send to Azure.
25291
25292    :param additional_properties: Unmatched properties from the message are deserialized to this
25293     collection.
25294    :type additional_properties: dict[str, any]
25295    :param type: Required. Type of dataset.Constant filled by server.
25296    :type type: str
25297    :param description: Dataset description.
25298    :type description: str
25299    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
25300     with resultType array), itemType: DatasetDataElement.
25301    :type structure: any
25302    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
25303     Expression with resultType array), itemType: DatasetSchemaDataElement.
25304    :type schema: any
25305    :param linked_service_name: Required. Linked service reference.
25306    :type linked_service_name:
25307     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
25308    :param parameters: Parameters for dataset.
25309    :type parameters: dict[str,
25310     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
25311    :param annotations: List of tags that can be used for describing the Dataset.
25312    :type annotations: list[any]
25313    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
25314     root level.
25315    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
25316    :param table_name: This property will be retired. Please consider using schema + table
25317     properties instead.
25318    :type table_name: any
25319    :param table: The table name of the Netezza. Type: string (or Expression with resultType
25320     string).
25321    :type table: any
25322    :param schema_type_properties_schema: The schema name of the Netezza. Type: string (or
25323     Expression with resultType string).
25324    :type schema_type_properties_schema: any
25325    """
25326
25327    _validation = {
25328        'type': {'required': True},
25329        'linked_service_name': {'required': True},
25330    }
25331
25332    _attribute_map = {
25333        'additional_properties': {'key': '', 'type': '{object}'},
25334        'type': {'key': 'type', 'type': 'str'},
25335        'description': {'key': 'description', 'type': 'str'},
25336        'structure': {'key': 'structure', 'type': 'object'},
25337        'schema': {'key': 'schema', 'type': 'object'},
25338        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
25339        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
25340        'annotations': {'key': 'annotations', 'type': '[object]'},
25341        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
25342        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
25343        'table': {'key': 'typeProperties.table', 'type': 'object'},
25344        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
25345    }
25346
25347    def __init__(
25348        self,
25349        *,
25350        linked_service_name: "LinkedServiceReference",
25351        additional_properties: Optional[Dict[str, Any]] = None,
25352        description: Optional[str] = None,
25353        structure: Optional[Any] = None,
25354        schema: Optional[Any] = None,
25355        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
25356        annotations: Optional[List[Any]] = None,
25357        folder: Optional["DatasetFolder"] = None,
25358        table_name: Optional[Any] = None,
25359        table: Optional[Any] = None,
25360        schema_type_properties_schema: Optional[Any] = None,
25361        **kwargs
25362    ):
25363        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)
25364        self.type = 'NetezzaTable'  # type: str
25365        self.table_name = table_name
25366        self.table = table
25367        self.schema_type_properties_schema = schema_type_properties_schema
25368
25369
25370class Notebook(msrest.serialization.Model):
25371    """Notebook.
25372
25373    All required parameters must be populated in order to send to Azure.
25374
25375    :param additional_properties: Unmatched properties from the message are deserialized to this
25376     collection.
25377    :type additional_properties: dict[str, any]
25378    :param description: The description of the notebook.
25379    :type description: str
25380    :param big_data_pool: Big data pool reference.
25381    :type big_data_pool: ~azure.synapse.artifacts.v2021_06_01_preview.models.BigDataPoolReference
25382    :param session_properties: Session properties.
25383    :type session_properties:
25384     ~azure.synapse.artifacts.v2021_06_01_preview.models.NotebookSessionProperties
25385    :param metadata: Required. Notebook root-level metadata.
25386    :type metadata: ~azure.synapse.artifacts.v2021_06_01_preview.models.NotebookMetadata
25387    :param nbformat: Required. Notebook format (major number). Incremented between backwards
25388     incompatible changes to the notebook format.
25389    :type nbformat: int
25390    :param nbformat_minor: Required. Notebook format (minor number). Incremented for backward
25391     compatible changes to the notebook format.
25392    :type nbformat_minor: int
25393    :param cells: Required. Array of cells of the current notebook.
25394    :type cells: list[~azure.synapse.artifacts.v2021_06_01_preview.models.NotebookCell]
25395    """
25396
25397    _validation = {
25398        'metadata': {'required': True},
25399        'nbformat': {'required': True},
25400        'nbformat_minor': {'required': True},
25401        'cells': {'required': True},
25402    }
25403
25404    _attribute_map = {
25405        'additional_properties': {'key': '', 'type': '{object}'},
25406        'description': {'key': 'description', 'type': 'str'},
25407        'big_data_pool': {'key': 'bigDataPool', 'type': 'BigDataPoolReference'},
25408        'session_properties': {'key': 'sessionProperties', 'type': 'NotebookSessionProperties'},
25409        'metadata': {'key': 'metadata', 'type': 'NotebookMetadata'},
25410        'nbformat': {'key': 'nbformat', 'type': 'int'},
25411        'nbformat_minor': {'key': 'nbformat_minor', 'type': 'int'},
25412        'cells': {'key': 'cells', 'type': '[NotebookCell]'},
25413    }
25414
25415    def __init__(
25416        self,
25417        *,
25418        metadata: "NotebookMetadata",
25419        nbformat: int,
25420        nbformat_minor: int,
25421        cells: List["NotebookCell"],
25422        additional_properties: Optional[Dict[str, Any]] = None,
25423        description: Optional[str] = None,
25424        big_data_pool: Optional["BigDataPoolReference"] = None,
25425        session_properties: Optional["NotebookSessionProperties"] = None,
25426        **kwargs
25427    ):
25428        super(Notebook, self).__init__(**kwargs)
25429        self.additional_properties = additional_properties
25430        self.description = description
25431        self.big_data_pool = big_data_pool
25432        self.session_properties = session_properties
25433        self.metadata = metadata
25434        self.nbformat = nbformat
25435        self.nbformat_minor = nbformat_minor
25436        self.cells = cells
25437
25438
25439class NotebookCell(msrest.serialization.Model):
25440    """Notebook cell.
25441
25442    All required parameters must be populated in order to send to Azure.
25443
25444    :param additional_properties: Unmatched properties from the message are deserialized to this
25445     collection.
25446    :type additional_properties: dict[str, any]
25447    :param cell_type: Required. String identifying the type of cell.
25448    :type cell_type: str
25449    :param metadata: Required. Cell-level metadata.
25450    :type metadata: any
25451    :param source: Required. Contents of the cell, represented as an array of lines.
25452    :type source: list[str]
25453    :param attachments: Attachments associated with the cell.
25454    :type attachments: any
25455    :param outputs: Cell-level output items.
25456    :type outputs: list[~azure.synapse.artifacts.v2021_06_01_preview.models.NotebookCellOutputItem]
25457    """
25458
25459    _validation = {
25460        'cell_type': {'required': True},
25461        'metadata': {'required': True},
25462        'source': {'required': True},
25463    }
25464
25465    _attribute_map = {
25466        'additional_properties': {'key': '', 'type': '{object}'},
25467        'cell_type': {'key': 'cell_type', 'type': 'str'},
25468        'metadata': {'key': 'metadata', 'type': 'object'},
25469        'source': {'key': 'source', 'type': '[str]'},
25470        'attachments': {'key': 'attachments', 'type': 'object'},
25471        'outputs': {'key': 'outputs', 'type': '[NotebookCellOutputItem]'},
25472    }
25473
25474    def __init__(
25475        self,
25476        *,
25477        cell_type: str,
25478        metadata: Any,
25479        source: List[str],
25480        additional_properties: Optional[Dict[str, Any]] = None,
25481        attachments: Optional[Any] = None,
25482        outputs: Optional[List["NotebookCellOutputItem"]] = None,
25483        **kwargs
25484    ):
25485        super(NotebookCell, self).__init__(**kwargs)
25486        self.additional_properties = additional_properties
25487        self.cell_type = cell_type
25488        self.metadata = metadata
25489        self.source = source
25490        self.attachments = attachments
25491        self.outputs = outputs
25492
25493
25494class NotebookCellOutputItem(msrest.serialization.Model):
25495    """An item of the notebook cell execution output.
25496
25497    All required parameters must be populated in order to send to Azure.
25498
25499    :param name: For output_type=stream, determines the name of stream (stdout / stderr).
25500    :type name: str
25501    :param execution_count: Execution sequence number.
25502    :type execution_count: int
25503    :param output_type: Required. Execution, display, or stream outputs. Possible values include:
25504     "execute_result", "display_data", "stream", "error".
25505    :type output_type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.CellOutputType
25506    :param text: For output_type=stream, the stream's text output, represented as a string or an
25507     array of strings.
25508    :type text: any
25509    :param data: Output data. Use MIME type as key, and content as value.
25510    :type data: any
25511    :param metadata: Metadata for the output item.
25512    :type metadata: any
25513    """
25514
25515    _validation = {
25516        'output_type': {'required': True},
25517    }
25518
25519    _attribute_map = {
25520        'name': {'key': 'name', 'type': 'str'},
25521        'execution_count': {'key': 'execution_count', 'type': 'int'},
25522        'output_type': {'key': 'output_type', 'type': 'str'},
25523        'text': {'key': 'text', 'type': 'object'},
25524        'data': {'key': 'data', 'type': 'object'},
25525        'metadata': {'key': 'metadata', 'type': 'object'},
25526    }
25527
25528    def __init__(
25529        self,
25530        *,
25531        output_type: Union[str, "CellOutputType"],
25532        name: Optional[str] = None,
25533        execution_count: Optional[int] = None,
25534        text: Optional[Any] = None,
25535        data: Optional[Any] = None,
25536        metadata: Optional[Any] = None,
25537        **kwargs
25538    ):
25539        super(NotebookCellOutputItem, self).__init__(**kwargs)
25540        self.name = name
25541        self.execution_count = execution_count
25542        self.output_type = output_type
25543        self.text = text
25544        self.data = data
25545        self.metadata = metadata
25546
25547
25548class NotebookKernelSpec(msrest.serialization.Model):
25549    """Kernel information.
25550
25551    All required parameters must be populated in order to send to Azure.
25552
25553    :param additional_properties: Unmatched properties from the message are deserialized to this
25554     collection.
25555    :type additional_properties: dict[str, any]
25556    :param name: Required. Name of the kernel specification.
25557    :type name: str
25558    :param display_name: Required. Name to display in UI.
25559    :type display_name: str
25560    """
25561
25562    _validation = {
25563        'name': {'required': True},
25564        'display_name': {'required': True},
25565    }
25566
25567    _attribute_map = {
25568        'additional_properties': {'key': '', 'type': '{object}'},
25569        'name': {'key': 'name', 'type': 'str'},
25570        'display_name': {'key': 'display_name', 'type': 'str'},
25571    }
25572
25573    def __init__(
25574        self,
25575        *,
25576        name: str,
25577        display_name: str,
25578        additional_properties: Optional[Dict[str, Any]] = None,
25579        **kwargs
25580    ):
25581        super(NotebookKernelSpec, self).__init__(**kwargs)
25582        self.additional_properties = additional_properties
25583        self.name = name
25584        self.display_name = display_name
25585
25586
25587class NotebookLanguageInfo(msrest.serialization.Model):
25588    """Language info.
25589
25590    All required parameters must be populated in order to send to Azure.
25591
25592    :param additional_properties: Unmatched properties from the message are deserialized to this
25593     collection.
25594    :type additional_properties: dict[str, any]
25595    :param name: Required. The programming language which this kernel runs.
25596    :type name: str
25597    :param codemirror_mode: The codemirror mode to use for code in this language.
25598    :type codemirror_mode: str
25599    """
25600
25601    _validation = {
25602        'name': {'required': True},
25603    }
25604
25605    _attribute_map = {
25606        'additional_properties': {'key': '', 'type': '{object}'},
25607        'name': {'key': 'name', 'type': 'str'},
25608        'codemirror_mode': {'key': 'codemirror_mode', 'type': 'str'},
25609    }
25610
25611    def __init__(
25612        self,
25613        *,
25614        name: str,
25615        additional_properties: Optional[Dict[str, Any]] = None,
25616        codemirror_mode: Optional[str] = None,
25617        **kwargs
25618    ):
25619        super(NotebookLanguageInfo, self).__init__(**kwargs)
25620        self.additional_properties = additional_properties
25621        self.name = name
25622        self.codemirror_mode = codemirror_mode
25623
25624
25625class NotebookListResponse(msrest.serialization.Model):
25626    """A list of Notebook resources.
25627
25628    All required parameters must be populated in order to send to Azure.
25629
25630    :param value: Required. List of Notebooks.
25631    :type value: list[~azure.synapse.artifacts.v2021_06_01_preview.models.NotebookResource]
25632    :param next_link: The link to the next page of results, if any remaining results exist.
25633    :type next_link: str
25634    """
25635
25636    _validation = {
25637        'value': {'required': True},
25638    }
25639
25640    _attribute_map = {
25641        'value': {'key': 'value', 'type': '[NotebookResource]'},
25642        'next_link': {'key': 'nextLink', 'type': 'str'},
25643    }
25644
25645    def __init__(
25646        self,
25647        *,
25648        value: List["NotebookResource"],
25649        next_link: Optional[str] = None,
25650        **kwargs
25651    ):
25652        super(NotebookListResponse, self).__init__(**kwargs)
25653        self.value = value
25654        self.next_link = next_link
25655
25656
25657class NotebookMetadata(msrest.serialization.Model):
25658    """Notebook root-level metadata.
25659
25660    :param additional_properties: Unmatched properties from the message are deserialized to this
25661     collection.
25662    :type additional_properties: dict[str, any]
25663    :param kernelspec: Kernel information.
25664    :type kernelspec: ~azure.synapse.artifacts.v2021_06_01_preview.models.NotebookKernelSpec
25665    :param language_info: Language info.
25666    :type language_info: ~azure.synapse.artifacts.v2021_06_01_preview.models.NotebookLanguageInfo
25667    """
25668
25669    _attribute_map = {
25670        'additional_properties': {'key': '', 'type': '{object}'},
25671        'kernelspec': {'key': 'kernelspec', 'type': 'NotebookKernelSpec'},
25672        'language_info': {'key': 'language_info', 'type': 'NotebookLanguageInfo'},
25673    }
25674
25675    def __init__(
25676        self,
25677        *,
25678        additional_properties: Optional[Dict[str, Any]] = None,
25679        kernelspec: Optional["NotebookKernelSpec"] = None,
25680        language_info: Optional["NotebookLanguageInfo"] = None,
25681        **kwargs
25682    ):
25683        super(NotebookMetadata, self).__init__(**kwargs)
25684        self.additional_properties = additional_properties
25685        self.kernelspec = kernelspec
25686        self.language_info = language_info
25687
25688
25689class NotebookResource(msrest.serialization.Model):
25690    """Notebook resource type.
25691
25692    Variables are only populated by the server, and will be ignored when sending a request.
25693
25694    All required parameters must be populated in order to send to Azure.
25695
25696    :ivar id: Fully qualified resource Id for the resource. Ex -
25697     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
25698    :vartype id: str
25699    :param name: Required. The name of the resource.
25700    :type name: str
25701    :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or
25702     Microsoft.Storage/storageAccounts.
25703    :vartype type: str
25704    :ivar etag: Resource Etag.
25705    :vartype etag: str
25706    :param properties: Required. Properties of Notebook.
25707    :type properties: ~azure.synapse.artifacts.v2021_06_01_preview.models.Notebook
25708    """
25709
25710    _validation = {
25711        'id': {'readonly': True},
25712        'name': {'required': True},
25713        'type': {'readonly': True},
25714        'etag': {'readonly': True},
25715        'properties': {'required': True},
25716    }
25717
25718    _attribute_map = {
25719        'id': {'key': 'id', 'type': 'str'},
25720        'name': {'key': 'name', 'type': 'str'},
25721        'type': {'key': 'type', 'type': 'str'},
25722        'etag': {'key': 'etag', 'type': 'str'},
25723        'properties': {'key': 'properties', 'type': 'Notebook'},
25724    }
25725
25726    def __init__(
25727        self,
25728        *,
25729        name: str,
25730        properties: "Notebook",
25731        **kwargs
25732    ):
25733        super(NotebookResource, self).__init__(**kwargs)
25734        self.id = None
25735        self.name = name
25736        self.type = None
25737        self.etag = None
25738        self.properties = properties
25739
25740
25741class NotebookSessionProperties(msrest.serialization.Model):
25742    """Session properties.
25743
25744    All required parameters must be populated in order to send to Azure.
25745
25746    :param driver_memory: Required. Amount of memory to use for the driver process.
25747    :type driver_memory: str
25748    :param driver_cores: Required. Number of cores to use for the driver.
25749    :type driver_cores: int
25750    :param executor_memory: Required. Amount of memory to use per executor process.
25751    :type executor_memory: str
25752    :param executor_cores: Required. Number of cores to use for each executor.
25753    :type executor_cores: int
25754    :param num_executors: Required. Number of executors to launch for this session.
25755    :type num_executors: int
25756    """
25757
25758    _validation = {
25759        'driver_memory': {'required': True},
25760        'driver_cores': {'required': True},
25761        'executor_memory': {'required': True},
25762        'executor_cores': {'required': True},
25763        'num_executors': {'required': True},
25764    }
25765
25766    _attribute_map = {
25767        'driver_memory': {'key': 'driverMemory', 'type': 'str'},
25768        'driver_cores': {'key': 'driverCores', 'type': 'int'},
25769        'executor_memory': {'key': 'executorMemory', 'type': 'str'},
25770        'executor_cores': {'key': 'executorCores', 'type': 'int'},
25771        'num_executors': {'key': 'numExecutors', 'type': 'int'},
25772    }
25773
25774    def __init__(
25775        self,
25776        *,
25777        driver_memory: str,
25778        driver_cores: int,
25779        executor_memory: str,
25780        executor_cores: int,
25781        num_executors: int,
25782        **kwargs
25783    ):
25784        super(NotebookSessionProperties, self).__init__(**kwargs)
25785        self.driver_memory = driver_memory
25786        self.driver_cores = driver_cores
25787        self.executor_memory = executor_memory
25788        self.executor_cores = executor_cores
25789        self.num_executors = num_executors
25790
25791
25792class ODataLinkedService(LinkedService):
25793    """Open Data Protocol (OData) linked service.
25794
25795    All required parameters must be populated in order to send to Azure.
25796
25797    :param additional_properties: Unmatched properties from the message are deserialized to this
25798     collection.
25799    :type additional_properties: dict[str, any]
25800    :param type: Required. Type of linked service.Constant filled by server.
25801    :type type: str
25802    :param connect_via: The integration runtime reference.
25803    :type connect_via:
25804     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
25805    :param description: Linked service description.
25806    :type description: str
25807    :param parameters: Parameters for linked service.
25808    :type parameters: dict[str,
25809     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
25810    :param annotations: List of tags that can be used for describing the linked service.
25811    :type annotations: list[any]
25812    :param url: Required. The URL of the OData service endpoint. Type: string (or Expression with
25813     resultType string).
25814    :type url: any
25815    :param authentication_type: Type of authentication used to connect to the OData service.
25816     Possible values include: "Basic", "Anonymous", "Windows", "AadServicePrincipal",
25817     "ManagedServiceIdentity".
25818    :type authentication_type: str or
25819     ~azure.synapse.artifacts.v2021_06_01_preview.models.ODataAuthenticationType
25820    :param user_name: User name of the OData service. Type: string (or Expression with resultType
25821     string).
25822    :type user_name: any
25823    :param password: Password of the OData service.
25824    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
25825    :param tenant: Specify the tenant information (domain name or tenant ID) under which your
25826     application resides. Type: string (or Expression with resultType string).
25827    :type tenant: any
25828    :param service_principal_id: Specify the application id of your application registered in Azure
25829     Active Directory. Type: string (or Expression with resultType string).
25830    :type service_principal_id: any
25831    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
25832     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
25833     factory regions’ cloud type. Type: string (or Expression with resultType string).
25834    :type azure_cloud_type: any
25835    :param aad_resource_id: Specify the resource you are requesting authorization to use Directory.
25836     Type: string (or Expression with resultType string).
25837    :type aad_resource_id: any
25838    :param aad_service_principal_credential_type: Specify the credential type (key or cert) is used
25839     for service principal. Possible values include: "ServicePrincipalKey", "ServicePrincipalCert".
25840    :type aad_service_principal_credential_type: str or
25841     ~azure.synapse.artifacts.v2021_06_01_preview.models.ODataAadServicePrincipalCredentialType
25842    :param service_principal_key: Specify the secret of your application registered in Azure Active
25843     Directory. Type: string (or Expression with resultType string).
25844    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
25845    :param service_principal_embedded_cert: Specify the base64 encoded certificate of your
25846     application registered in Azure Active Directory. Type: string (or Expression with resultType
25847     string).
25848    :type service_principal_embedded_cert:
25849     ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
25850    :param service_principal_embedded_cert_password: Specify the password of your certificate if
25851     your certificate has a password and you are using AadServicePrincipal authentication. Type:
25852     string (or Expression with resultType string).
25853    :type service_principal_embedded_cert_password:
25854     ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
25855    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
25856     encrypted using the integration runtime credential manager. Type: string (or Expression with
25857     resultType string).
25858    :type encrypted_credential: any
25859    """
25860
25861    _validation = {
25862        'type': {'required': True},
25863        'url': {'required': True},
25864    }
25865
25866    _attribute_map = {
25867        'additional_properties': {'key': '', 'type': '{object}'},
25868        'type': {'key': 'type', 'type': 'str'},
25869        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
25870        'description': {'key': 'description', 'type': 'str'},
25871        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
25872        'annotations': {'key': 'annotations', 'type': '[object]'},
25873        'url': {'key': 'typeProperties.url', 'type': 'object'},
25874        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
25875        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
25876        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
25877        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
25878        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
25879        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
25880        'aad_resource_id': {'key': 'typeProperties.aadResourceId', 'type': 'object'},
25881        'aad_service_principal_credential_type': {'key': 'typeProperties.aadServicePrincipalCredentialType', 'type': 'str'},
25882        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
25883        'service_principal_embedded_cert': {'key': 'typeProperties.servicePrincipalEmbeddedCert', 'type': 'SecretBase'},
25884        'service_principal_embedded_cert_password': {'key': 'typeProperties.servicePrincipalEmbeddedCertPassword', 'type': 'SecretBase'},
25885        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
25886    }
25887
25888    def __init__(
25889        self,
25890        *,
25891        url: Any,
25892        additional_properties: Optional[Dict[str, Any]] = None,
25893        connect_via: Optional["IntegrationRuntimeReference"] = None,
25894        description: Optional[str] = None,
25895        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
25896        annotations: Optional[List[Any]] = None,
25897        authentication_type: Optional[Union[str, "ODataAuthenticationType"]] = None,
25898        user_name: Optional[Any] = None,
25899        password: Optional["SecretBase"] = None,
25900        tenant: Optional[Any] = None,
25901        service_principal_id: Optional[Any] = None,
25902        azure_cloud_type: Optional[Any] = None,
25903        aad_resource_id: Optional[Any] = None,
25904        aad_service_principal_credential_type: Optional[Union[str, "ODataAadServicePrincipalCredentialType"]] = None,
25905        service_principal_key: Optional["SecretBase"] = None,
25906        service_principal_embedded_cert: Optional["SecretBase"] = None,
25907        service_principal_embedded_cert_password: Optional["SecretBase"] = None,
25908        encrypted_credential: Optional[Any] = None,
25909        **kwargs
25910    ):
25911        super(ODataLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
25912        self.type = 'OData'  # type: str
25913        self.url = url
25914        self.authentication_type = authentication_type
25915        self.user_name = user_name
25916        self.password = password
25917        self.tenant = tenant
25918        self.service_principal_id = service_principal_id
25919        self.azure_cloud_type = azure_cloud_type
25920        self.aad_resource_id = aad_resource_id
25921        self.aad_service_principal_credential_type = aad_service_principal_credential_type
25922        self.service_principal_key = service_principal_key
25923        self.service_principal_embedded_cert = service_principal_embedded_cert
25924        self.service_principal_embedded_cert_password = service_principal_embedded_cert_password
25925        self.encrypted_credential = encrypted_credential
25926
25927
25928class ODataResourceDataset(Dataset):
25929    """The Open Data Protocol (OData) resource dataset.
25930
25931    All required parameters must be populated in order to send to Azure.
25932
25933    :param additional_properties: Unmatched properties from the message are deserialized to this
25934     collection.
25935    :type additional_properties: dict[str, any]
25936    :param type: Required. Type of dataset.Constant filled by server.
25937    :type type: str
25938    :param description: Dataset description.
25939    :type description: str
25940    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
25941     with resultType array), itemType: DatasetDataElement.
25942    :type structure: any
25943    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
25944     Expression with resultType array), itemType: DatasetSchemaDataElement.
25945    :type schema: any
25946    :param linked_service_name: Required. Linked service reference.
25947    :type linked_service_name:
25948     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
25949    :param parameters: Parameters for dataset.
25950    :type parameters: dict[str,
25951     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
25952    :param annotations: List of tags that can be used for describing the Dataset.
25953    :type annotations: list[any]
25954    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
25955     root level.
25956    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
25957    :param path: The OData resource path. Type: string (or Expression with resultType string).
25958    :type path: any
25959    """
25960
25961    _validation = {
25962        'type': {'required': True},
25963        'linked_service_name': {'required': True},
25964    }
25965
25966    _attribute_map = {
25967        'additional_properties': {'key': '', 'type': '{object}'},
25968        'type': {'key': 'type', 'type': 'str'},
25969        'description': {'key': 'description', 'type': 'str'},
25970        'structure': {'key': 'structure', 'type': 'object'},
25971        'schema': {'key': 'schema', 'type': 'object'},
25972        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
25973        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
25974        'annotations': {'key': 'annotations', 'type': '[object]'},
25975        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
25976        'path': {'key': 'typeProperties.path', 'type': 'object'},
25977    }
25978
25979    def __init__(
25980        self,
25981        *,
25982        linked_service_name: "LinkedServiceReference",
25983        additional_properties: Optional[Dict[str, Any]] = None,
25984        description: Optional[str] = None,
25985        structure: Optional[Any] = None,
25986        schema: Optional[Any] = None,
25987        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
25988        annotations: Optional[List[Any]] = None,
25989        folder: Optional["DatasetFolder"] = None,
25990        path: Optional[Any] = None,
25991        **kwargs
25992    ):
25993        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)
25994        self.type = 'ODataResource'  # type: str
25995        self.path = path
25996
25997
25998class ODataSource(CopySource):
25999    """A copy activity source for OData source.
26000
26001    All required parameters must be populated in order to send to Azure.
26002
26003    :param additional_properties: Unmatched properties from the message are deserialized to this
26004     collection.
26005    :type additional_properties: dict[str, any]
26006    :param type: Required. Copy source type.Constant filled by server.
26007    :type type: str
26008    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
26009     integer).
26010    :type source_retry_count: any
26011    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
26012     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26013    :type source_retry_wait: any
26014    :param max_concurrent_connections: The maximum concurrent connection count for the source data
26015     store. Type: integer (or Expression with resultType integer).
26016    :type max_concurrent_connections: any
26017    :param query: OData query. For example, "$top=1". Type: string (or Expression with resultType
26018     string).
26019    :type query: any
26020    :param http_request_timeout: The timeout (TimeSpan) to get an HTTP response. It is the timeout
26021     to get a response, not the timeout to read response data. Default value: 00:05:00. Type: string
26022     (or Expression with resultType string), pattern:
26023     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26024    :type http_request_timeout: any
26025    :param additional_columns: Specifies the additional columns to be added to source data. Type:
26026     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
26027    :type additional_columns: any
26028    """
26029
26030    _validation = {
26031        'type': {'required': True},
26032    }
26033
26034    _attribute_map = {
26035        'additional_properties': {'key': '', 'type': '{object}'},
26036        'type': {'key': 'type', 'type': 'str'},
26037        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
26038        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
26039        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
26040        'query': {'key': 'query', 'type': 'object'},
26041        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
26042        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
26043    }
26044
26045    def __init__(
26046        self,
26047        *,
26048        additional_properties: Optional[Dict[str, Any]] = None,
26049        source_retry_count: Optional[Any] = None,
26050        source_retry_wait: Optional[Any] = None,
26051        max_concurrent_connections: Optional[Any] = None,
26052        query: Optional[Any] = None,
26053        http_request_timeout: Optional[Any] = None,
26054        additional_columns: Optional[Any] = None,
26055        **kwargs
26056    ):
26057        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)
26058        self.type = 'ODataSource'  # type: str
26059        self.query = query
26060        self.http_request_timeout = http_request_timeout
26061        self.additional_columns = additional_columns
26062
26063
26064class OdbcLinkedService(LinkedService):
26065    """Open Database Connectivity (ODBC) linked service.
26066
26067    All required parameters must be populated in order to send to Azure.
26068
26069    :param additional_properties: Unmatched properties from the message are deserialized to this
26070     collection.
26071    :type additional_properties: dict[str, any]
26072    :param type: Required. Type of linked service.Constant filled by server.
26073    :type type: str
26074    :param connect_via: The integration runtime reference.
26075    :type connect_via:
26076     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
26077    :param description: Linked service description.
26078    :type description: str
26079    :param parameters: Parameters for linked service.
26080    :type parameters: dict[str,
26081     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
26082    :param annotations: List of tags that can be used for describing the linked service.
26083    :type annotations: list[any]
26084    :param connection_string: Required. The non-access credential portion of the connection string
26085     as well as an optional encrypted credential. Type: string, SecureString or
26086     AzureKeyVaultSecretReference.
26087    :type connection_string: any
26088    :param authentication_type: Type of authentication used to connect to the ODBC data store.
26089     Possible values are: Anonymous and Basic. Type: string (or Expression with resultType string).
26090    :type authentication_type: any
26091    :param credential: The access credential portion of the connection string specified in
26092     driver-specific property-value format.
26093    :type credential: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
26094    :param user_name: User name for Basic authentication. Type: string (or Expression with
26095     resultType string).
26096    :type user_name: any
26097    :param password: Password for Basic authentication.
26098    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
26099    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
26100     encrypted using the integration runtime credential manager. Type: string (or Expression with
26101     resultType string).
26102    :type encrypted_credential: any
26103    """
26104
26105    _validation = {
26106        'type': {'required': True},
26107        'connection_string': {'required': True},
26108    }
26109
26110    _attribute_map = {
26111        'additional_properties': {'key': '', 'type': '{object}'},
26112        'type': {'key': 'type', 'type': 'str'},
26113        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
26114        'description': {'key': 'description', 'type': 'str'},
26115        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
26116        'annotations': {'key': 'annotations', 'type': '[object]'},
26117        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
26118        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'},
26119        'credential': {'key': 'typeProperties.credential', 'type': 'SecretBase'},
26120        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
26121        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
26122        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
26123    }
26124
26125    def __init__(
26126        self,
26127        *,
26128        connection_string: Any,
26129        additional_properties: Optional[Dict[str, Any]] = None,
26130        connect_via: Optional["IntegrationRuntimeReference"] = None,
26131        description: Optional[str] = None,
26132        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
26133        annotations: Optional[List[Any]] = None,
26134        authentication_type: Optional[Any] = None,
26135        credential: Optional["SecretBase"] = None,
26136        user_name: Optional[Any] = None,
26137        password: Optional["SecretBase"] = None,
26138        encrypted_credential: Optional[Any] = None,
26139        **kwargs
26140    ):
26141        super(OdbcLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
26142        self.type = 'Odbc'  # type: str
26143        self.connection_string = connection_string
26144        self.authentication_type = authentication_type
26145        self.credential = credential
26146        self.user_name = user_name
26147        self.password = password
26148        self.encrypted_credential = encrypted_credential
26149
26150
26151class OdbcSink(CopySink):
26152    """A copy activity ODBC sink.
26153
26154    All required parameters must be populated in order to send to Azure.
26155
26156    :param additional_properties: Unmatched properties from the message are deserialized to this
26157     collection.
26158    :type additional_properties: dict[str, any]
26159    :param type: Required. Copy sink type.Constant filled by server.
26160    :type type: str
26161    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
26162     integer), minimum: 0.
26163    :type write_batch_size: any
26164    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
26165     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26166    :type write_batch_timeout: any
26167    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
26168     integer).
26169    :type sink_retry_count: any
26170    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
26171     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26172    :type sink_retry_wait: any
26173    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
26174     store. Type: integer (or Expression with resultType integer).
26175    :type max_concurrent_connections: any
26176    :param pre_copy_script: A query to execute before starting the copy. Type: string (or
26177     Expression with resultType string).
26178    :type pre_copy_script: any
26179    """
26180
26181    _validation = {
26182        'type': {'required': True},
26183    }
26184
26185    _attribute_map = {
26186        'additional_properties': {'key': '', 'type': '{object}'},
26187        'type': {'key': 'type', 'type': 'str'},
26188        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
26189        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
26190        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
26191        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
26192        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
26193        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
26194    }
26195
26196    def __init__(
26197        self,
26198        *,
26199        additional_properties: Optional[Dict[str, Any]] = None,
26200        write_batch_size: Optional[Any] = None,
26201        write_batch_timeout: Optional[Any] = None,
26202        sink_retry_count: Optional[Any] = None,
26203        sink_retry_wait: Optional[Any] = None,
26204        max_concurrent_connections: Optional[Any] = None,
26205        pre_copy_script: Optional[Any] = None,
26206        **kwargs
26207    ):
26208        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)
26209        self.type = 'OdbcSink'  # type: str
26210        self.pre_copy_script = pre_copy_script
26211
26212
26213class OdbcSource(TabularSource):
26214    """A copy activity source for ODBC databases.
26215
26216    All required parameters must be populated in order to send to Azure.
26217
26218    :param additional_properties: Unmatched properties from the message are deserialized to this
26219     collection.
26220    :type additional_properties: dict[str, any]
26221    :param type: Required. Copy source type.Constant filled by server.
26222    :type type: str
26223    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
26224     integer).
26225    :type source_retry_count: any
26226    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
26227     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26228    :type source_retry_wait: any
26229    :param max_concurrent_connections: The maximum concurrent connection count for the source data
26230     store. Type: integer (or Expression with resultType integer).
26231    :type max_concurrent_connections: any
26232    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
26233     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26234    :type query_timeout: any
26235    :param additional_columns: Specifies the additional columns to be added to source data. Type:
26236     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
26237    :type additional_columns: any
26238    :param query: Database query. Type: string (or Expression with resultType string).
26239    :type query: any
26240    """
26241
26242    _validation = {
26243        'type': {'required': True},
26244    }
26245
26246    _attribute_map = {
26247        'additional_properties': {'key': '', 'type': '{object}'},
26248        'type': {'key': 'type', 'type': 'str'},
26249        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
26250        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
26251        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
26252        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
26253        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
26254        'query': {'key': 'query', 'type': 'object'},
26255    }
26256
26257    def __init__(
26258        self,
26259        *,
26260        additional_properties: Optional[Dict[str, Any]] = None,
26261        source_retry_count: Optional[Any] = None,
26262        source_retry_wait: Optional[Any] = None,
26263        max_concurrent_connections: Optional[Any] = None,
26264        query_timeout: Optional[Any] = None,
26265        additional_columns: Optional[Any] = None,
26266        query: Optional[Any] = None,
26267        **kwargs
26268    ):
26269        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)
26270        self.type = 'OdbcSource'  # type: str
26271        self.query = query
26272
26273
26274class OdbcTableDataset(Dataset):
26275    """The ODBC table dataset.
26276
26277    All required parameters must be populated in order to send to Azure.
26278
26279    :param additional_properties: Unmatched properties from the message are deserialized to this
26280     collection.
26281    :type additional_properties: dict[str, any]
26282    :param type: Required. Type of dataset.Constant filled by server.
26283    :type type: str
26284    :param description: Dataset description.
26285    :type description: str
26286    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
26287     with resultType array), itemType: DatasetDataElement.
26288    :type structure: any
26289    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
26290     Expression with resultType array), itemType: DatasetSchemaDataElement.
26291    :type schema: any
26292    :param linked_service_name: Required. Linked service reference.
26293    :type linked_service_name:
26294     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
26295    :param parameters: Parameters for dataset.
26296    :type parameters: dict[str,
26297     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
26298    :param annotations: List of tags that can be used for describing the Dataset.
26299    :type annotations: list[any]
26300    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
26301     root level.
26302    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
26303    :param table_name: The ODBC table name. Type: string (or Expression with resultType string).
26304    :type table_name: any
26305    """
26306
26307    _validation = {
26308        'type': {'required': True},
26309        'linked_service_name': {'required': True},
26310    }
26311
26312    _attribute_map = {
26313        'additional_properties': {'key': '', 'type': '{object}'},
26314        'type': {'key': 'type', 'type': 'str'},
26315        'description': {'key': 'description', 'type': 'str'},
26316        'structure': {'key': 'structure', 'type': 'object'},
26317        'schema': {'key': 'schema', 'type': 'object'},
26318        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
26319        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
26320        'annotations': {'key': 'annotations', 'type': '[object]'},
26321        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
26322        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
26323    }
26324
26325    def __init__(
26326        self,
26327        *,
26328        linked_service_name: "LinkedServiceReference",
26329        additional_properties: Optional[Dict[str, Any]] = None,
26330        description: Optional[str] = None,
26331        structure: Optional[Any] = None,
26332        schema: Optional[Any] = None,
26333        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
26334        annotations: Optional[List[Any]] = None,
26335        folder: Optional["DatasetFolder"] = None,
26336        table_name: Optional[Any] = None,
26337        **kwargs
26338    ):
26339        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)
26340        self.type = 'OdbcTable'  # type: str
26341        self.table_name = table_name
26342
26343
26344class Office365Dataset(Dataset):
26345    """The Office365 account.
26346
26347    All required parameters must be populated in order to send to Azure.
26348
26349    :param additional_properties: Unmatched properties from the message are deserialized to this
26350     collection.
26351    :type additional_properties: dict[str, any]
26352    :param type: Required. Type of dataset.Constant filled by server.
26353    :type type: str
26354    :param description: Dataset description.
26355    :type description: str
26356    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
26357     with resultType array), itemType: DatasetDataElement.
26358    :type structure: any
26359    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
26360     Expression with resultType array), itemType: DatasetSchemaDataElement.
26361    :type schema: any
26362    :param linked_service_name: Required. Linked service reference.
26363    :type linked_service_name:
26364     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
26365    :param parameters: Parameters for dataset.
26366    :type parameters: dict[str,
26367     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
26368    :param annotations: List of tags that can be used for describing the Dataset.
26369    :type annotations: list[any]
26370    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
26371     root level.
26372    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
26373    :param table_name: Required. Name of the dataset to extract from Office 365. Type: string (or
26374     Expression with resultType string).
26375    :type table_name: any
26376    :param predicate: A predicate expression that can be used to filter the specific rows to
26377     extract from Office 365. Type: string (or Expression with resultType string).
26378    :type predicate: any
26379    """
26380
26381    _validation = {
26382        'type': {'required': True},
26383        'linked_service_name': {'required': True},
26384        'table_name': {'required': True},
26385    }
26386
26387    _attribute_map = {
26388        'additional_properties': {'key': '', 'type': '{object}'},
26389        'type': {'key': 'type', 'type': 'str'},
26390        'description': {'key': 'description', 'type': 'str'},
26391        'structure': {'key': 'structure', 'type': 'object'},
26392        'schema': {'key': 'schema', 'type': 'object'},
26393        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
26394        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
26395        'annotations': {'key': 'annotations', 'type': '[object]'},
26396        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
26397        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
26398        'predicate': {'key': 'typeProperties.predicate', 'type': 'object'},
26399    }
26400
26401    def __init__(
26402        self,
26403        *,
26404        linked_service_name: "LinkedServiceReference",
26405        table_name: Any,
26406        additional_properties: Optional[Dict[str, Any]] = None,
26407        description: Optional[str] = None,
26408        structure: Optional[Any] = None,
26409        schema: Optional[Any] = None,
26410        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
26411        annotations: Optional[List[Any]] = None,
26412        folder: Optional["DatasetFolder"] = None,
26413        predicate: Optional[Any] = None,
26414        **kwargs
26415    ):
26416        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)
26417        self.type = 'Office365Table'  # type: str
26418        self.table_name = table_name
26419        self.predicate = predicate
26420
26421
26422class Office365LinkedService(LinkedService):
26423    """Office365 linked service.
26424
26425    All required parameters must be populated in order to send to Azure.
26426
26427    :param additional_properties: Unmatched properties from the message are deserialized to this
26428     collection.
26429    :type additional_properties: dict[str, any]
26430    :param type: Required. Type of linked service.Constant filled by server.
26431    :type type: str
26432    :param connect_via: The integration runtime reference.
26433    :type connect_via:
26434     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
26435    :param description: Linked service description.
26436    :type description: str
26437    :param parameters: Parameters for linked service.
26438    :type parameters: dict[str,
26439     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
26440    :param annotations: List of tags that can be used for describing the linked service.
26441    :type annotations: list[any]
26442    :param office365_tenant_id: Required. Azure tenant ID to which the Office 365 account belongs.
26443     Type: string (or Expression with resultType string).
26444    :type office365_tenant_id: any
26445    :param service_principal_tenant_id: Required. Specify the tenant information under which your
26446     Azure AD web application resides. Type: string (or Expression with resultType string).
26447    :type service_principal_tenant_id: any
26448    :param service_principal_id: Required. Specify the application's client ID. Type: string (or
26449     Expression with resultType string).
26450    :type service_principal_id: any
26451    :param service_principal_key: Required. Specify the application's key.
26452    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
26453    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
26454     encrypted using the integration runtime credential manager. Type: string (or Expression with
26455     resultType string).
26456    :type encrypted_credential: any
26457    """
26458
26459    _validation = {
26460        'type': {'required': True},
26461        'office365_tenant_id': {'required': True},
26462        'service_principal_tenant_id': {'required': True},
26463        'service_principal_id': {'required': True},
26464        'service_principal_key': {'required': True},
26465    }
26466
26467    _attribute_map = {
26468        'additional_properties': {'key': '', 'type': '{object}'},
26469        'type': {'key': 'type', 'type': 'str'},
26470        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
26471        'description': {'key': 'description', 'type': 'str'},
26472        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
26473        'annotations': {'key': 'annotations', 'type': '[object]'},
26474        'office365_tenant_id': {'key': 'typeProperties.office365TenantId', 'type': 'object'},
26475        'service_principal_tenant_id': {'key': 'typeProperties.servicePrincipalTenantId', 'type': 'object'},
26476        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
26477        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
26478        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
26479    }
26480
26481    def __init__(
26482        self,
26483        *,
26484        office365_tenant_id: Any,
26485        service_principal_tenant_id: Any,
26486        service_principal_id: Any,
26487        service_principal_key: "SecretBase",
26488        additional_properties: Optional[Dict[str, Any]] = None,
26489        connect_via: Optional["IntegrationRuntimeReference"] = None,
26490        description: Optional[str] = None,
26491        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
26492        annotations: Optional[List[Any]] = None,
26493        encrypted_credential: Optional[Any] = None,
26494        **kwargs
26495    ):
26496        super(Office365LinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
26497        self.type = 'Office365'  # type: str
26498        self.office365_tenant_id = office365_tenant_id
26499        self.service_principal_tenant_id = service_principal_tenant_id
26500        self.service_principal_id = service_principal_id
26501        self.service_principal_key = service_principal_key
26502        self.encrypted_credential = encrypted_credential
26503
26504
26505class Office365Source(CopySource):
26506    """A copy activity source for an Office 365 service.
26507
26508    All required parameters must be populated in order to send to Azure.
26509
26510    :param additional_properties: Unmatched properties from the message are deserialized to this
26511     collection.
26512    :type additional_properties: dict[str, any]
26513    :param type: Required. Copy source type.Constant filled by server.
26514    :type type: str
26515    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
26516     integer).
26517    :type source_retry_count: any
26518    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
26519     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26520    :type source_retry_wait: any
26521    :param max_concurrent_connections: The maximum concurrent connection count for the source data
26522     store. Type: integer (or Expression with resultType integer).
26523    :type max_concurrent_connections: any
26524    :param allowed_groups: The groups containing all the users. Type: array of strings (or
26525     Expression with resultType array of strings).
26526    :type allowed_groups: any
26527    :param user_scope_filter_uri: The user scope uri. Type: string (or Expression with resultType
26528     string).
26529    :type user_scope_filter_uri: any
26530    :param date_filter_column: The Column to apply the :code:`<paramref name="StartTime"/>` and
26531     :code:`<paramref name="EndTime"/>`. Type: string (or Expression with resultType string).
26532    :type date_filter_column: any
26533    :param start_time: Start time of the requested range for this dataset. Type: string (or
26534     Expression with resultType string).
26535    :type start_time: any
26536    :param end_time: End time of the requested range for this dataset. Type: string (or Expression
26537     with resultType string).
26538    :type end_time: any
26539    :param output_columns: The columns to be read out from the Office 365 table. Type: array of
26540     objects (or Expression with resultType array of objects). Example: [ { "name": "Id" }, {
26541     "name": "CreatedDateTime" } ].
26542    :type output_columns: any
26543    """
26544
26545    _validation = {
26546        'type': {'required': True},
26547    }
26548
26549    _attribute_map = {
26550        'additional_properties': {'key': '', 'type': '{object}'},
26551        'type': {'key': 'type', 'type': 'str'},
26552        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
26553        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
26554        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
26555        'allowed_groups': {'key': 'allowedGroups', 'type': 'object'},
26556        'user_scope_filter_uri': {'key': 'userScopeFilterUri', 'type': 'object'},
26557        'date_filter_column': {'key': 'dateFilterColumn', 'type': 'object'},
26558        'start_time': {'key': 'startTime', 'type': 'object'},
26559        'end_time': {'key': 'endTime', 'type': 'object'},
26560        'output_columns': {'key': 'outputColumns', 'type': 'object'},
26561    }
26562
26563    def __init__(
26564        self,
26565        *,
26566        additional_properties: Optional[Dict[str, Any]] = None,
26567        source_retry_count: Optional[Any] = None,
26568        source_retry_wait: Optional[Any] = None,
26569        max_concurrent_connections: Optional[Any] = None,
26570        allowed_groups: Optional[Any] = None,
26571        user_scope_filter_uri: Optional[Any] = None,
26572        date_filter_column: Optional[Any] = None,
26573        start_time: Optional[Any] = None,
26574        end_time: Optional[Any] = None,
26575        output_columns: Optional[Any] = None,
26576        **kwargs
26577    ):
26578        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)
26579        self.type = 'Office365Source'  # type: str
26580        self.allowed_groups = allowed_groups
26581        self.user_scope_filter_uri = user_scope_filter_uri
26582        self.date_filter_column = date_filter_column
26583        self.start_time = start_time
26584        self.end_time = end_time
26585        self.output_columns = output_columns
26586
26587
26588class OperationResult(msrest.serialization.Model):
26589    """Operation status for the operation.
26590
26591    Variables are only populated by the server, and will be ignored when sending a request.
26592
26593    :ivar status: Operation status.
26594    :vartype status: str
26595    :param code: Error code.
26596    :type code: str
26597    :param message: Error message.
26598    :type message: str
26599    :param target: Property name/path in request associated with error.
26600    :type target: str
26601    :param details: Array with additional error details.
26602    :type details: list[~azure.synapse.artifacts.v2021_06_01_preview.models.CloudError]
26603    """
26604
26605    _validation = {
26606        'status': {'readonly': True},
26607    }
26608
26609    _attribute_map = {
26610        'status': {'key': 'status', 'type': 'str'},
26611        'code': {'key': 'error.code', 'type': 'str'},
26612        'message': {'key': 'error.message', 'type': 'str'},
26613        'target': {'key': 'error.target', 'type': 'str'},
26614        'details': {'key': 'error.details', 'type': '[CloudError]'},
26615    }
26616
26617    def __init__(
26618        self,
26619        *,
26620        code: Optional[str] = None,
26621        message: Optional[str] = None,
26622        target: Optional[str] = None,
26623        details: Optional[List["CloudError"]] = None,
26624        **kwargs
26625    ):
26626        super(OperationResult, self).__init__(**kwargs)
26627        self.status = None
26628        self.code = code
26629        self.message = message
26630        self.target = target
26631        self.details = details
26632
26633
26634class OracleLinkedService(LinkedService):
26635    """Oracle database.
26636
26637    All required parameters must be populated in order to send to Azure.
26638
26639    :param additional_properties: Unmatched properties from the message are deserialized to this
26640     collection.
26641    :type additional_properties: dict[str, any]
26642    :param type: Required. Type of linked service.Constant filled by server.
26643    :type type: str
26644    :param connect_via: The integration runtime reference.
26645    :type connect_via:
26646     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
26647    :param description: Linked service description.
26648    :type description: str
26649    :param parameters: Parameters for linked service.
26650    :type parameters: dict[str,
26651     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
26652    :param annotations: List of tags that can be used for describing the linked service.
26653    :type annotations: list[any]
26654    :param connection_string: Required. The connection string. Type: string, SecureString or
26655     AzureKeyVaultSecretReference.
26656    :type connection_string: any
26657    :param password: The Azure key vault secret reference of password in connection string.
26658    :type password:
26659     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
26660    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
26661     encrypted using the integration runtime credential manager. Type: string (or Expression with
26662     resultType string).
26663    :type encrypted_credential: any
26664    """
26665
26666    _validation = {
26667        'type': {'required': True},
26668        'connection_string': {'required': True},
26669    }
26670
26671    _attribute_map = {
26672        'additional_properties': {'key': '', 'type': '{object}'},
26673        'type': {'key': 'type', 'type': 'str'},
26674        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
26675        'description': {'key': 'description', 'type': 'str'},
26676        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
26677        'annotations': {'key': 'annotations', 'type': '[object]'},
26678        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
26679        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
26680        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
26681    }
26682
26683    def __init__(
26684        self,
26685        *,
26686        connection_string: Any,
26687        additional_properties: Optional[Dict[str, Any]] = None,
26688        connect_via: Optional["IntegrationRuntimeReference"] = None,
26689        description: Optional[str] = None,
26690        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
26691        annotations: Optional[List[Any]] = None,
26692        password: Optional["AzureKeyVaultSecretReference"] = None,
26693        encrypted_credential: Optional[Any] = None,
26694        **kwargs
26695    ):
26696        super(OracleLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
26697        self.type = 'Oracle'  # type: str
26698        self.connection_string = connection_string
26699        self.password = password
26700        self.encrypted_credential = encrypted_credential
26701
26702
26703class OraclePartitionSettings(msrest.serialization.Model):
26704    """The settings that will be leveraged for Oracle source partitioning.
26705
26706    :param partition_names: Names of the physical partitions of Oracle table.
26707    :type partition_names: any
26708    :param partition_column_name: The name of the column in integer type that will be used for
26709     proceeding range partitioning. Type: string (or Expression with resultType string).
26710    :type partition_column_name: any
26711    :param partition_upper_bound: The maximum value of column specified in partitionColumnName that
26712     will be used for proceeding range partitioning. Type: string (or Expression with resultType
26713     string).
26714    :type partition_upper_bound: any
26715    :param partition_lower_bound: The minimum value of column specified in partitionColumnName that
26716     will be used for proceeding range partitioning. Type: string (or Expression with resultType
26717     string).
26718    :type partition_lower_bound: any
26719    """
26720
26721    _attribute_map = {
26722        'partition_names': {'key': 'partitionNames', 'type': 'object'},
26723        'partition_column_name': {'key': 'partitionColumnName', 'type': 'object'},
26724        'partition_upper_bound': {'key': 'partitionUpperBound', 'type': 'object'},
26725        'partition_lower_bound': {'key': 'partitionLowerBound', 'type': 'object'},
26726    }
26727
26728    def __init__(
26729        self,
26730        *,
26731        partition_names: Optional[Any] = None,
26732        partition_column_name: Optional[Any] = None,
26733        partition_upper_bound: Optional[Any] = None,
26734        partition_lower_bound: Optional[Any] = None,
26735        **kwargs
26736    ):
26737        super(OraclePartitionSettings, self).__init__(**kwargs)
26738        self.partition_names = partition_names
26739        self.partition_column_name = partition_column_name
26740        self.partition_upper_bound = partition_upper_bound
26741        self.partition_lower_bound = partition_lower_bound
26742
26743
26744class OracleServiceCloudLinkedService(LinkedService):
26745    """Oracle Service Cloud linked service.
26746
26747    All required parameters must be populated in order to send to Azure.
26748
26749    :param additional_properties: Unmatched properties from the message are deserialized to this
26750     collection.
26751    :type additional_properties: dict[str, any]
26752    :param type: Required. Type of linked service.Constant filled by server.
26753    :type type: str
26754    :param connect_via: The integration runtime reference.
26755    :type connect_via:
26756     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
26757    :param description: Linked service description.
26758    :type description: str
26759    :param parameters: Parameters for linked service.
26760    :type parameters: dict[str,
26761     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
26762    :param annotations: List of tags that can be used for describing the linked service.
26763    :type annotations: list[any]
26764    :param host: Required. The URL of the Oracle Service Cloud instance.
26765    :type host: any
26766    :param username: Required. The user name that you use to access Oracle Service Cloud server.
26767    :type username: any
26768    :param password: Required. The password corresponding to the user name that you provided in the
26769     username key.
26770    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
26771    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
26772     HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
26773    :type use_encrypted_endpoints: any
26774    :param use_host_verification: Specifies whether to require the host name in the server's
26775     certificate to match the host name of the server when connecting over SSL. The default value is
26776     true. Type: boolean (or Expression with resultType boolean).
26777    :type use_host_verification: any
26778    :param use_peer_verification: Specifies whether to verify the identity of the server when
26779     connecting over SSL. The default value is true. Type: boolean (or Expression with resultType
26780     boolean).
26781    :type use_peer_verification: any
26782    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
26783     encrypted using the integration runtime credential manager. Type: string (or Expression with
26784     resultType string).
26785    :type encrypted_credential: any
26786    """
26787
26788    _validation = {
26789        'type': {'required': True},
26790        'host': {'required': True},
26791        'username': {'required': True},
26792        'password': {'required': True},
26793    }
26794
26795    _attribute_map = {
26796        'additional_properties': {'key': '', 'type': '{object}'},
26797        'type': {'key': 'type', 'type': 'str'},
26798        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
26799        'description': {'key': 'description', 'type': 'str'},
26800        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
26801        'annotations': {'key': 'annotations', 'type': '[object]'},
26802        'host': {'key': 'typeProperties.host', 'type': 'object'},
26803        'username': {'key': 'typeProperties.username', 'type': 'object'},
26804        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
26805        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
26806        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
26807        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
26808        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
26809    }
26810
26811    def __init__(
26812        self,
26813        *,
26814        host: Any,
26815        username: Any,
26816        password: "SecretBase",
26817        additional_properties: Optional[Dict[str, Any]] = None,
26818        connect_via: Optional["IntegrationRuntimeReference"] = None,
26819        description: Optional[str] = None,
26820        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
26821        annotations: Optional[List[Any]] = None,
26822        use_encrypted_endpoints: Optional[Any] = None,
26823        use_host_verification: Optional[Any] = None,
26824        use_peer_verification: Optional[Any] = None,
26825        encrypted_credential: Optional[Any] = None,
26826        **kwargs
26827    ):
26828        super(OracleServiceCloudLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
26829        self.type = 'OracleServiceCloud'  # type: str
26830        self.host = host
26831        self.username = username
26832        self.password = password
26833        self.use_encrypted_endpoints = use_encrypted_endpoints
26834        self.use_host_verification = use_host_verification
26835        self.use_peer_verification = use_peer_verification
26836        self.encrypted_credential = encrypted_credential
26837
26838
26839class OracleServiceCloudObjectDataset(Dataset):
26840    """Oracle Service Cloud dataset.
26841
26842    All required parameters must be populated in order to send to Azure.
26843
26844    :param additional_properties: Unmatched properties from the message are deserialized to this
26845     collection.
26846    :type additional_properties: dict[str, any]
26847    :param type: Required. Type of dataset.Constant filled by server.
26848    :type type: str
26849    :param description: Dataset description.
26850    :type description: str
26851    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
26852     with resultType array), itemType: DatasetDataElement.
26853    :type structure: any
26854    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
26855     Expression with resultType array), itemType: DatasetSchemaDataElement.
26856    :type schema: any
26857    :param linked_service_name: Required. Linked service reference.
26858    :type linked_service_name:
26859     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
26860    :param parameters: Parameters for dataset.
26861    :type parameters: dict[str,
26862     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
26863    :param annotations: List of tags that can be used for describing the Dataset.
26864    :type annotations: list[any]
26865    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
26866     root level.
26867    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
26868    :param table_name: The table name. Type: string (or Expression with resultType string).
26869    :type table_name: any
26870    """
26871
26872    _validation = {
26873        'type': {'required': True},
26874        'linked_service_name': {'required': True},
26875    }
26876
26877    _attribute_map = {
26878        'additional_properties': {'key': '', 'type': '{object}'},
26879        'type': {'key': 'type', 'type': 'str'},
26880        'description': {'key': 'description', 'type': 'str'},
26881        'structure': {'key': 'structure', 'type': 'object'},
26882        'schema': {'key': 'schema', 'type': 'object'},
26883        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
26884        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
26885        'annotations': {'key': 'annotations', 'type': '[object]'},
26886        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
26887        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
26888    }
26889
26890    def __init__(
26891        self,
26892        *,
26893        linked_service_name: "LinkedServiceReference",
26894        additional_properties: Optional[Dict[str, Any]] = None,
26895        description: Optional[str] = None,
26896        structure: Optional[Any] = None,
26897        schema: Optional[Any] = None,
26898        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
26899        annotations: Optional[List[Any]] = None,
26900        folder: Optional["DatasetFolder"] = None,
26901        table_name: Optional[Any] = None,
26902        **kwargs
26903    ):
26904        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)
26905        self.type = 'OracleServiceCloudObject'  # type: str
26906        self.table_name = table_name
26907
26908
26909class OracleServiceCloudSource(TabularSource):
26910    """A copy activity Oracle Service Cloud source.
26911
26912    All required parameters must be populated in order to send to Azure.
26913
26914    :param additional_properties: Unmatched properties from the message are deserialized to this
26915     collection.
26916    :type additional_properties: dict[str, any]
26917    :param type: Required. Copy source type.Constant filled by server.
26918    :type type: str
26919    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
26920     integer).
26921    :type source_retry_count: any
26922    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
26923     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26924    :type source_retry_wait: any
26925    :param max_concurrent_connections: The maximum concurrent connection count for the source data
26926     store. Type: integer (or Expression with resultType integer).
26927    :type max_concurrent_connections: any
26928    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
26929     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26930    :type query_timeout: any
26931    :param additional_columns: Specifies the additional columns to be added to source data. Type:
26932     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
26933    :type additional_columns: any
26934    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
26935     string).
26936    :type query: any
26937    """
26938
26939    _validation = {
26940        'type': {'required': True},
26941    }
26942
26943    _attribute_map = {
26944        'additional_properties': {'key': '', 'type': '{object}'},
26945        'type': {'key': 'type', 'type': 'str'},
26946        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
26947        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
26948        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
26949        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
26950        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
26951        'query': {'key': 'query', 'type': 'object'},
26952    }
26953
26954    def __init__(
26955        self,
26956        *,
26957        additional_properties: Optional[Dict[str, Any]] = None,
26958        source_retry_count: Optional[Any] = None,
26959        source_retry_wait: Optional[Any] = None,
26960        max_concurrent_connections: Optional[Any] = None,
26961        query_timeout: Optional[Any] = None,
26962        additional_columns: Optional[Any] = None,
26963        query: Optional[Any] = None,
26964        **kwargs
26965    ):
26966        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)
26967        self.type = 'OracleServiceCloudSource'  # type: str
26968        self.query = query
26969
26970
26971class OracleSink(CopySink):
26972    """A copy activity Oracle sink.
26973
26974    All required parameters must be populated in order to send to Azure.
26975
26976    :param additional_properties: Unmatched properties from the message are deserialized to this
26977     collection.
26978    :type additional_properties: dict[str, any]
26979    :param type: Required. Copy sink type.Constant filled by server.
26980    :type type: str
26981    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
26982     integer), minimum: 0.
26983    :type write_batch_size: any
26984    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
26985     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26986    :type write_batch_timeout: any
26987    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
26988     integer).
26989    :type sink_retry_count: any
26990    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
26991     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
26992    :type sink_retry_wait: any
26993    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
26994     store. Type: integer (or Expression with resultType integer).
26995    :type max_concurrent_connections: any
26996    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
26997     string).
26998    :type pre_copy_script: any
26999    """
27000
27001    _validation = {
27002        'type': {'required': True},
27003    }
27004
27005    _attribute_map = {
27006        'additional_properties': {'key': '', 'type': '{object}'},
27007        'type': {'key': 'type', 'type': 'str'},
27008        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
27009        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
27010        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
27011        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
27012        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
27013        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
27014    }
27015
27016    def __init__(
27017        self,
27018        *,
27019        additional_properties: Optional[Dict[str, Any]] = None,
27020        write_batch_size: Optional[Any] = None,
27021        write_batch_timeout: Optional[Any] = None,
27022        sink_retry_count: Optional[Any] = None,
27023        sink_retry_wait: Optional[Any] = None,
27024        max_concurrent_connections: Optional[Any] = None,
27025        pre_copy_script: Optional[Any] = None,
27026        **kwargs
27027    ):
27028        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)
27029        self.type = 'OracleSink'  # type: str
27030        self.pre_copy_script = pre_copy_script
27031
27032
27033class OracleSource(CopySource):
27034    """A copy activity Oracle source.
27035
27036    All required parameters must be populated in order to send to Azure.
27037
27038    :param additional_properties: Unmatched properties from the message are deserialized to this
27039     collection.
27040    :type additional_properties: dict[str, any]
27041    :param type: Required. Copy source type.Constant filled by server.
27042    :type type: str
27043    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
27044     integer).
27045    :type source_retry_count: any
27046    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
27047     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27048    :type source_retry_wait: any
27049    :param max_concurrent_connections: The maximum concurrent connection count for the source data
27050     store. Type: integer (or Expression with resultType integer).
27051    :type max_concurrent_connections: any
27052    :param oracle_reader_query: Oracle reader query. Type: string (or Expression with resultType
27053     string).
27054    :type oracle_reader_query: any
27055    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
27056     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27057    :type query_timeout: any
27058    :param partition_option: The partition mechanism that will be used for Oracle read in parallel.
27059     Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange".
27060    :type partition_option: str or
27061     ~azure.synapse.artifacts.v2021_06_01_preview.models.OraclePartitionOption
27062    :param partition_settings: The settings that will be leveraged for Oracle source partitioning.
27063    :type partition_settings:
27064     ~azure.synapse.artifacts.v2021_06_01_preview.models.OraclePartitionSettings
27065    :param additional_columns: Specifies the additional columns to be added to source data. Type:
27066     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
27067    :type additional_columns: any
27068    """
27069
27070    _validation = {
27071        'type': {'required': True},
27072    }
27073
27074    _attribute_map = {
27075        'additional_properties': {'key': '', 'type': '{object}'},
27076        'type': {'key': 'type', 'type': 'str'},
27077        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
27078        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
27079        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
27080        'oracle_reader_query': {'key': 'oracleReaderQuery', 'type': 'object'},
27081        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
27082        'partition_option': {'key': 'partitionOption', 'type': 'str'},
27083        'partition_settings': {'key': 'partitionSettings', 'type': 'OraclePartitionSettings'},
27084        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
27085    }
27086
27087    def __init__(
27088        self,
27089        *,
27090        additional_properties: Optional[Dict[str, Any]] = None,
27091        source_retry_count: Optional[Any] = None,
27092        source_retry_wait: Optional[Any] = None,
27093        max_concurrent_connections: Optional[Any] = None,
27094        oracle_reader_query: Optional[Any] = None,
27095        query_timeout: Optional[Any] = None,
27096        partition_option: Optional[Union[str, "OraclePartitionOption"]] = None,
27097        partition_settings: Optional["OraclePartitionSettings"] = None,
27098        additional_columns: Optional[Any] = None,
27099        **kwargs
27100    ):
27101        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)
27102        self.type = 'OracleSource'  # type: str
27103        self.oracle_reader_query = oracle_reader_query
27104        self.query_timeout = query_timeout
27105        self.partition_option = partition_option
27106        self.partition_settings = partition_settings
27107        self.additional_columns = additional_columns
27108
27109
27110class OracleTableDataset(Dataset):
27111    """The on-premises Oracle database dataset.
27112
27113    All required parameters must be populated in order to send to Azure.
27114
27115    :param additional_properties: Unmatched properties from the message are deserialized to this
27116     collection.
27117    :type additional_properties: dict[str, any]
27118    :param type: Required. Type of dataset.Constant filled by server.
27119    :type type: str
27120    :param description: Dataset description.
27121    :type description: str
27122    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
27123     with resultType array), itemType: DatasetDataElement.
27124    :type structure: any
27125    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
27126     Expression with resultType array), itemType: DatasetSchemaDataElement.
27127    :type schema: any
27128    :param linked_service_name: Required. Linked service reference.
27129    :type linked_service_name:
27130     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
27131    :param parameters: Parameters for dataset.
27132    :type parameters: dict[str,
27133     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
27134    :param annotations: List of tags that can be used for describing the Dataset.
27135    :type annotations: list[any]
27136    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
27137     root level.
27138    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
27139    :param table_name: This property will be retired. Please consider using schema + table
27140     properties instead.
27141    :type table_name: any
27142    :param schema_type_properties_schema: The schema name of the on-premises Oracle database. Type:
27143     string (or Expression with resultType string).
27144    :type schema_type_properties_schema: any
27145    :param table: The table name of the on-premises Oracle database. Type: string (or Expression
27146     with resultType string).
27147    :type table: any
27148    """
27149
27150    _validation = {
27151        'type': {'required': True},
27152        'linked_service_name': {'required': True},
27153    }
27154
27155    _attribute_map = {
27156        'additional_properties': {'key': '', 'type': '{object}'},
27157        'type': {'key': 'type', 'type': 'str'},
27158        'description': {'key': 'description', 'type': 'str'},
27159        'structure': {'key': 'structure', 'type': 'object'},
27160        'schema': {'key': 'schema', 'type': 'object'},
27161        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
27162        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
27163        'annotations': {'key': 'annotations', 'type': '[object]'},
27164        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
27165        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
27166        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
27167        'table': {'key': 'typeProperties.table', 'type': 'object'},
27168    }
27169
27170    def __init__(
27171        self,
27172        *,
27173        linked_service_name: "LinkedServiceReference",
27174        additional_properties: Optional[Dict[str, Any]] = None,
27175        description: Optional[str] = None,
27176        structure: Optional[Any] = None,
27177        schema: Optional[Any] = None,
27178        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
27179        annotations: Optional[List[Any]] = None,
27180        folder: Optional["DatasetFolder"] = None,
27181        table_name: Optional[Any] = None,
27182        schema_type_properties_schema: Optional[Any] = None,
27183        table: Optional[Any] = None,
27184        **kwargs
27185    ):
27186        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)
27187        self.type = 'OracleTable'  # type: str
27188        self.table_name = table_name
27189        self.schema_type_properties_schema = schema_type_properties_schema
27190        self.table = table
27191
27192
27193class OrcDataset(Dataset):
27194    """ORC dataset.
27195
27196    All required parameters must be populated in order to send to Azure.
27197
27198    :param additional_properties: Unmatched properties from the message are deserialized to this
27199     collection.
27200    :type additional_properties: dict[str, any]
27201    :param type: Required. Type of dataset.Constant filled by server.
27202    :type type: str
27203    :param description: Dataset description.
27204    :type description: str
27205    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
27206     with resultType array), itemType: DatasetDataElement.
27207    :type structure: any
27208    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
27209     Expression with resultType array), itemType: DatasetSchemaDataElement.
27210    :type schema: any
27211    :param linked_service_name: Required. Linked service reference.
27212    :type linked_service_name:
27213     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
27214    :param parameters: Parameters for dataset.
27215    :type parameters: dict[str,
27216     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
27217    :param annotations: List of tags that can be used for describing the Dataset.
27218    :type annotations: list[any]
27219    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
27220     root level.
27221    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
27222    :param location: The location of the ORC data storage.
27223    :type location: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetLocation
27224    :param orc_compression_codec:  Possible values include: "none", "zlib", "snappy", "lzo".
27225    :type orc_compression_codec: str or
27226     ~azure.synapse.artifacts.v2021_06_01_preview.models.OrcCompressionCodec
27227    """
27228
27229    _validation = {
27230        'type': {'required': True},
27231        'linked_service_name': {'required': True},
27232    }
27233
27234    _attribute_map = {
27235        'additional_properties': {'key': '', 'type': '{object}'},
27236        'type': {'key': 'type', 'type': 'str'},
27237        'description': {'key': 'description', 'type': 'str'},
27238        'structure': {'key': 'structure', 'type': 'object'},
27239        'schema': {'key': 'schema', 'type': 'object'},
27240        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
27241        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
27242        'annotations': {'key': 'annotations', 'type': '[object]'},
27243        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
27244        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
27245        'orc_compression_codec': {'key': 'typeProperties.orcCompressionCodec', 'type': 'str'},
27246    }
27247
27248    def __init__(
27249        self,
27250        *,
27251        linked_service_name: "LinkedServiceReference",
27252        additional_properties: Optional[Dict[str, Any]] = None,
27253        description: Optional[str] = None,
27254        structure: Optional[Any] = None,
27255        schema: Optional[Any] = None,
27256        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
27257        annotations: Optional[List[Any]] = None,
27258        folder: Optional["DatasetFolder"] = None,
27259        location: Optional["DatasetLocation"] = None,
27260        orc_compression_codec: Optional[Union[str, "OrcCompressionCodec"]] = None,
27261        **kwargs
27262    ):
27263        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)
27264        self.type = 'Orc'  # type: str
27265        self.location = location
27266        self.orc_compression_codec = orc_compression_codec
27267
27268
27269class OrcFormat(DatasetStorageFormat):
27270    """The data stored in Optimized Row Columnar (ORC) format.
27271
27272    All required parameters must be populated in order to send to Azure.
27273
27274    :param additional_properties: Unmatched properties from the message are deserialized to this
27275     collection.
27276    :type additional_properties: dict[str, any]
27277    :param type: Required. Type of dataset storage format.Constant filled by server.
27278    :type type: str
27279    :param serializer: Serializer. Type: string (or Expression with resultType string).
27280    :type serializer: any
27281    :param deserializer: Deserializer. Type: string (or Expression with resultType string).
27282    :type deserializer: any
27283    """
27284
27285    _validation = {
27286        'type': {'required': True},
27287    }
27288
27289    _attribute_map = {
27290        'additional_properties': {'key': '', 'type': '{object}'},
27291        'type': {'key': 'type', 'type': 'str'},
27292        'serializer': {'key': 'serializer', 'type': 'object'},
27293        'deserializer': {'key': 'deserializer', 'type': 'object'},
27294    }
27295
27296    def __init__(
27297        self,
27298        *,
27299        additional_properties: Optional[Dict[str, Any]] = None,
27300        serializer: Optional[Any] = None,
27301        deserializer: Optional[Any] = None,
27302        **kwargs
27303    ):
27304        super(OrcFormat, self).__init__(additional_properties=additional_properties, serializer=serializer, deserializer=deserializer, **kwargs)
27305        self.type = 'OrcFormat'  # type: str
27306
27307
27308class OrcSink(CopySink):
27309    """A copy activity ORC sink.
27310
27311    All required parameters must be populated in order to send to Azure.
27312
27313    :param additional_properties: Unmatched properties from the message are deserialized to this
27314     collection.
27315    :type additional_properties: dict[str, any]
27316    :param type: Required. Copy sink type.Constant filled by server.
27317    :type type: str
27318    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
27319     integer), minimum: 0.
27320    :type write_batch_size: any
27321    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
27322     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27323    :type write_batch_timeout: any
27324    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
27325     integer).
27326    :type sink_retry_count: any
27327    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
27328     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27329    :type sink_retry_wait: any
27330    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
27331     store. Type: integer (or Expression with resultType integer).
27332    :type max_concurrent_connections: any
27333    :param store_settings: ORC store settings.
27334    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreWriteSettings
27335    :param format_settings: ORC format settings.
27336    :type format_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.OrcWriteSettings
27337    """
27338
27339    _validation = {
27340        'type': {'required': True},
27341    }
27342
27343    _attribute_map = {
27344        'additional_properties': {'key': '', 'type': '{object}'},
27345        'type': {'key': 'type', 'type': 'str'},
27346        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
27347        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
27348        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
27349        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
27350        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
27351        'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'},
27352        'format_settings': {'key': 'formatSettings', 'type': 'OrcWriteSettings'},
27353    }
27354
27355    def __init__(
27356        self,
27357        *,
27358        additional_properties: Optional[Dict[str, Any]] = None,
27359        write_batch_size: Optional[Any] = None,
27360        write_batch_timeout: Optional[Any] = None,
27361        sink_retry_count: Optional[Any] = None,
27362        sink_retry_wait: Optional[Any] = None,
27363        max_concurrent_connections: Optional[Any] = None,
27364        store_settings: Optional["StoreWriteSettings"] = None,
27365        format_settings: Optional["OrcWriteSettings"] = None,
27366        **kwargs
27367    ):
27368        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)
27369        self.type = 'OrcSink'  # type: str
27370        self.store_settings = store_settings
27371        self.format_settings = format_settings
27372
27373
27374class OrcSource(CopySource):
27375    """A copy activity ORC source.
27376
27377    All required parameters must be populated in order to send to Azure.
27378
27379    :param additional_properties: Unmatched properties from the message are deserialized to this
27380     collection.
27381    :type additional_properties: dict[str, any]
27382    :param type: Required. Copy source type.Constant filled by server.
27383    :type type: str
27384    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
27385     integer).
27386    :type source_retry_count: any
27387    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
27388     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27389    :type source_retry_wait: any
27390    :param max_concurrent_connections: The maximum concurrent connection count for the source data
27391     store. Type: integer (or Expression with resultType integer).
27392    :type max_concurrent_connections: any
27393    :param store_settings: ORC store settings.
27394    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreReadSettings
27395    :param additional_columns: Specifies the additional columns to be added to source data. Type:
27396     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
27397    :type additional_columns: any
27398    """
27399
27400    _validation = {
27401        'type': {'required': True},
27402    }
27403
27404    _attribute_map = {
27405        'additional_properties': {'key': '', 'type': '{object}'},
27406        'type': {'key': 'type', 'type': 'str'},
27407        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
27408        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
27409        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
27410        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
27411        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
27412    }
27413
27414    def __init__(
27415        self,
27416        *,
27417        additional_properties: Optional[Dict[str, Any]] = None,
27418        source_retry_count: Optional[Any] = None,
27419        source_retry_wait: Optional[Any] = None,
27420        max_concurrent_connections: Optional[Any] = None,
27421        store_settings: Optional["StoreReadSettings"] = None,
27422        additional_columns: Optional[Any] = None,
27423        **kwargs
27424    ):
27425        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)
27426        self.type = 'OrcSource'  # type: str
27427        self.store_settings = store_settings
27428        self.additional_columns = additional_columns
27429
27430
27431class OrcWriteSettings(FormatWriteSettings):
27432    """Orc write settings.
27433
27434    All required parameters must be populated in order to send to Azure.
27435
27436    :param additional_properties: Unmatched properties from the message are deserialized to this
27437     collection.
27438    :type additional_properties: dict[str, any]
27439    :param type: Required. The write setting type.Constant filled by server.
27440    :type type: str
27441    :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the
27442     specified count. Type: integer (or Expression with resultType integer).
27443    :type max_rows_per_file: any
27444    :param file_name_prefix: Specifies the file name pattern
27445     :code:`<fileNamePrefix>`_:code:`<fileIndex>`.:code:`<fileExtension>` when copy from non-file
27446     based store without partitionOptions. Type: string (or Expression with resultType string).
27447    :type file_name_prefix: any
27448    """
27449
27450    _validation = {
27451        'type': {'required': True},
27452    }
27453
27454    _attribute_map = {
27455        'additional_properties': {'key': '', 'type': '{object}'},
27456        'type': {'key': 'type', 'type': 'str'},
27457        'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'},
27458        'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'},
27459    }
27460
27461    def __init__(
27462        self,
27463        *,
27464        additional_properties: Optional[Dict[str, Any]] = None,
27465        max_rows_per_file: Optional[Any] = None,
27466        file_name_prefix: Optional[Any] = None,
27467        **kwargs
27468    ):
27469        super(OrcWriteSettings, self).__init__(additional_properties=additional_properties, **kwargs)
27470        self.type = 'OrcWriteSettings'  # type: str
27471        self.max_rows_per_file = max_rows_per_file
27472        self.file_name_prefix = file_name_prefix
27473
27474
27475class ParameterSpecification(msrest.serialization.Model):
27476    """Definition of a single parameter for an entity.
27477
27478    All required parameters must be populated in order to send to Azure.
27479
27480    :param type: Required. Parameter type. Possible values include: "Object", "String", "Int",
27481     "Float", "Bool", "Array", "SecureString".
27482    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterType
27483    :param default_value: Default value of parameter.
27484    :type default_value: any
27485    """
27486
27487    _validation = {
27488        'type': {'required': True},
27489    }
27490
27491    _attribute_map = {
27492        'type': {'key': 'type', 'type': 'str'},
27493        'default_value': {'key': 'defaultValue', 'type': 'object'},
27494    }
27495
27496    def __init__(
27497        self,
27498        *,
27499        type: Union[str, "ParameterType"],
27500        default_value: Optional[Any] = None,
27501        **kwargs
27502    ):
27503        super(ParameterSpecification, self).__init__(**kwargs)
27504        self.type = type
27505        self.default_value = default_value
27506
27507
27508class ParquetDataset(Dataset):
27509    """Parquet dataset.
27510
27511    All required parameters must be populated in order to send to Azure.
27512
27513    :param additional_properties: Unmatched properties from the message are deserialized to this
27514     collection.
27515    :type additional_properties: dict[str, any]
27516    :param type: Required. Type of dataset.Constant filled by server.
27517    :type type: str
27518    :param description: Dataset description.
27519    :type description: str
27520    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
27521     with resultType array), itemType: DatasetDataElement.
27522    :type structure: any
27523    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
27524     Expression with resultType array), itemType: DatasetSchemaDataElement.
27525    :type schema: any
27526    :param linked_service_name: Required. Linked service reference.
27527    :type linked_service_name:
27528     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
27529    :param parameters: Parameters for dataset.
27530    :type parameters: dict[str,
27531     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
27532    :param annotations: List of tags that can be used for describing the Dataset.
27533    :type annotations: list[any]
27534    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
27535     root level.
27536    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
27537    :param location: The location of the parquet storage.
27538    :type location: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetLocation
27539    :param compression_codec: A string from ParquetCompressionCodecEnum or an expression.
27540    :type compression_codec: any
27541    """
27542
27543    _validation = {
27544        'type': {'required': True},
27545        'linked_service_name': {'required': True},
27546    }
27547
27548    _attribute_map = {
27549        'additional_properties': {'key': '', 'type': '{object}'},
27550        'type': {'key': 'type', 'type': 'str'},
27551        'description': {'key': 'description', 'type': 'str'},
27552        'structure': {'key': 'structure', 'type': 'object'},
27553        'schema': {'key': 'schema', 'type': 'object'},
27554        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
27555        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
27556        'annotations': {'key': 'annotations', 'type': '[object]'},
27557        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
27558        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
27559        'compression_codec': {'key': 'typeProperties.compressionCodec', 'type': 'object'},
27560    }
27561
27562    def __init__(
27563        self,
27564        *,
27565        linked_service_name: "LinkedServiceReference",
27566        additional_properties: Optional[Dict[str, Any]] = None,
27567        description: Optional[str] = None,
27568        structure: Optional[Any] = None,
27569        schema: Optional[Any] = None,
27570        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
27571        annotations: Optional[List[Any]] = None,
27572        folder: Optional["DatasetFolder"] = None,
27573        location: Optional["DatasetLocation"] = None,
27574        compression_codec: Optional[Any] = None,
27575        **kwargs
27576    ):
27577        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)
27578        self.type = 'Parquet'  # type: str
27579        self.location = location
27580        self.compression_codec = compression_codec
27581
27582
27583class ParquetFormat(DatasetStorageFormat):
27584    """The data stored in Parquet format.
27585
27586    All required parameters must be populated in order to send to Azure.
27587
27588    :param additional_properties: Unmatched properties from the message are deserialized to this
27589     collection.
27590    :type additional_properties: dict[str, any]
27591    :param type: Required. Type of dataset storage format.Constant filled by server.
27592    :type type: str
27593    :param serializer: Serializer. Type: string (or Expression with resultType string).
27594    :type serializer: any
27595    :param deserializer: Deserializer. Type: string (or Expression with resultType string).
27596    :type deserializer: any
27597    """
27598
27599    _validation = {
27600        'type': {'required': True},
27601    }
27602
27603    _attribute_map = {
27604        'additional_properties': {'key': '', 'type': '{object}'},
27605        'type': {'key': 'type', 'type': 'str'},
27606        'serializer': {'key': 'serializer', 'type': 'object'},
27607        'deserializer': {'key': 'deserializer', 'type': 'object'},
27608    }
27609
27610    def __init__(
27611        self,
27612        *,
27613        additional_properties: Optional[Dict[str, Any]] = None,
27614        serializer: Optional[Any] = None,
27615        deserializer: Optional[Any] = None,
27616        **kwargs
27617    ):
27618        super(ParquetFormat, self).__init__(additional_properties=additional_properties, serializer=serializer, deserializer=deserializer, **kwargs)
27619        self.type = 'ParquetFormat'  # type: str
27620
27621
27622class ParquetSink(CopySink):
27623    """A copy activity Parquet sink.
27624
27625    All required parameters must be populated in order to send to Azure.
27626
27627    :param additional_properties: Unmatched properties from the message are deserialized to this
27628     collection.
27629    :type additional_properties: dict[str, any]
27630    :param type: Required. Copy sink type.Constant filled by server.
27631    :type type: str
27632    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
27633     integer), minimum: 0.
27634    :type write_batch_size: any
27635    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
27636     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27637    :type write_batch_timeout: any
27638    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
27639     integer).
27640    :type sink_retry_count: any
27641    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
27642     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27643    :type sink_retry_wait: any
27644    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
27645     store. Type: integer (or Expression with resultType integer).
27646    :type max_concurrent_connections: any
27647    :param store_settings: Parquet store settings.
27648    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreWriteSettings
27649    :param format_settings: Parquet format settings.
27650    :type format_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.ParquetWriteSettings
27651    """
27652
27653    _validation = {
27654        'type': {'required': True},
27655    }
27656
27657    _attribute_map = {
27658        'additional_properties': {'key': '', 'type': '{object}'},
27659        'type': {'key': 'type', 'type': 'str'},
27660        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
27661        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
27662        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
27663        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
27664        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
27665        'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'},
27666        'format_settings': {'key': 'formatSettings', 'type': 'ParquetWriteSettings'},
27667    }
27668
27669    def __init__(
27670        self,
27671        *,
27672        additional_properties: Optional[Dict[str, Any]] = None,
27673        write_batch_size: Optional[Any] = None,
27674        write_batch_timeout: Optional[Any] = None,
27675        sink_retry_count: Optional[Any] = None,
27676        sink_retry_wait: Optional[Any] = None,
27677        max_concurrent_connections: Optional[Any] = None,
27678        store_settings: Optional["StoreWriteSettings"] = None,
27679        format_settings: Optional["ParquetWriteSettings"] = None,
27680        **kwargs
27681    ):
27682        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)
27683        self.type = 'ParquetSink'  # type: str
27684        self.store_settings = store_settings
27685        self.format_settings = format_settings
27686
27687
27688class ParquetSource(CopySource):
27689    """A copy activity Parquet source.
27690
27691    All required parameters must be populated in order to send to Azure.
27692
27693    :param additional_properties: Unmatched properties from the message are deserialized to this
27694     collection.
27695    :type additional_properties: dict[str, any]
27696    :param type: Required. Copy source type.Constant filled by server.
27697    :type type: str
27698    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
27699     integer).
27700    :type source_retry_count: any
27701    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
27702     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27703    :type source_retry_wait: any
27704    :param max_concurrent_connections: The maximum concurrent connection count for the source data
27705     store. Type: integer (or Expression with resultType integer).
27706    :type max_concurrent_connections: any
27707    :param store_settings: Parquet store settings.
27708    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreReadSettings
27709    :param additional_columns: Specifies the additional columns to be added to source data. Type:
27710     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
27711    :type additional_columns: any
27712    """
27713
27714    _validation = {
27715        'type': {'required': True},
27716    }
27717
27718    _attribute_map = {
27719        'additional_properties': {'key': '', 'type': '{object}'},
27720        'type': {'key': 'type', 'type': 'str'},
27721        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
27722        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
27723        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
27724        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
27725        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
27726    }
27727
27728    def __init__(
27729        self,
27730        *,
27731        additional_properties: Optional[Dict[str, Any]] = None,
27732        source_retry_count: Optional[Any] = None,
27733        source_retry_wait: Optional[Any] = None,
27734        max_concurrent_connections: Optional[Any] = None,
27735        store_settings: Optional["StoreReadSettings"] = None,
27736        additional_columns: Optional[Any] = None,
27737        **kwargs
27738    ):
27739        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)
27740        self.type = 'ParquetSource'  # type: str
27741        self.store_settings = store_settings
27742        self.additional_columns = additional_columns
27743
27744
27745class ParquetWriteSettings(FormatWriteSettings):
27746    """Parquet write settings.
27747
27748    All required parameters must be populated in order to send to Azure.
27749
27750    :param additional_properties: Unmatched properties from the message are deserialized to this
27751     collection.
27752    :type additional_properties: dict[str, any]
27753    :param type: Required. The write setting type.Constant filled by server.
27754    :type type: str
27755    :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the
27756     specified count. Type: integer (or Expression with resultType integer).
27757    :type max_rows_per_file: any
27758    :param file_name_prefix: Specifies the file name pattern
27759     :code:`<fileNamePrefix>`_:code:`<fileIndex>`.:code:`<fileExtension>` when copy from non-file
27760     based store without partitionOptions. Type: string (or Expression with resultType string).
27761    :type file_name_prefix: any
27762    """
27763
27764    _validation = {
27765        'type': {'required': True},
27766    }
27767
27768    _attribute_map = {
27769        'additional_properties': {'key': '', 'type': '{object}'},
27770        'type': {'key': 'type', 'type': 'str'},
27771        'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'},
27772        'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'},
27773    }
27774
27775    def __init__(
27776        self,
27777        *,
27778        additional_properties: Optional[Dict[str, Any]] = None,
27779        max_rows_per_file: Optional[Any] = None,
27780        file_name_prefix: Optional[Any] = None,
27781        **kwargs
27782    ):
27783        super(ParquetWriteSettings, self).__init__(additional_properties=additional_properties, **kwargs)
27784        self.type = 'ParquetWriteSettings'  # type: str
27785        self.max_rows_per_file = max_rows_per_file
27786        self.file_name_prefix = file_name_prefix
27787
27788
27789class PaypalLinkedService(LinkedService):
27790    """Paypal Service linked service.
27791
27792    All required parameters must be populated in order to send to Azure.
27793
27794    :param additional_properties: Unmatched properties from the message are deserialized to this
27795     collection.
27796    :type additional_properties: dict[str, any]
27797    :param type: Required. Type of linked service.Constant filled by server.
27798    :type type: str
27799    :param connect_via: The integration runtime reference.
27800    :type connect_via:
27801     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
27802    :param description: Linked service description.
27803    :type description: str
27804    :param parameters: Parameters for linked service.
27805    :type parameters: dict[str,
27806     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
27807    :param annotations: List of tags that can be used for describing the linked service.
27808    :type annotations: list[any]
27809    :param host: Required. The URL of the PayPal instance. (i.e. api.sandbox.paypal.com).
27810    :type host: any
27811    :param client_id: Required. The client ID associated with your PayPal application.
27812    :type client_id: any
27813    :param client_secret: The client secret associated with your PayPal application.
27814    :type client_secret: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
27815    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
27816     HTTPS. The default value is true.
27817    :type use_encrypted_endpoints: any
27818    :param use_host_verification: Specifies whether to require the host name in the server's
27819     certificate to match the host name of the server when connecting over SSL. The default value is
27820     true.
27821    :type use_host_verification: any
27822    :param use_peer_verification: Specifies whether to verify the identity of the server when
27823     connecting over SSL. The default value is true.
27824    :type use_peer_verification: any
27825    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
27826     encrypted using the integration runtime credential manager. Type: string (or Expression with
27827     resultType string).
27828    :type encrypted_credential: any
27829    """
27830
27831    _validation = {
27832        'type': {'required': True},
27833        'host': {'required': True},
27834        'client_id': {'required': True},
27835    }
27836
27837    _attribute_map = {
27838        'additional_properties': {'key': '', 'type': '{object}'},
27839        'type': {'key': 'type', 'type': 'str'},
27840        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
27841        'description': {'key': 'description', 'type': 'str'},
27842        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
27843        'annotations': {'key': 'annotations', 'type': '[object]'},
27844        'host': {'key': 'typeProperties.host', 'type': 'object'},
27845        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
27846        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
27847        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
27848        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
27849        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
27850        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
27851    }
27852
27853    def __init__(
27854        self,
27855        *,
27856        host: Any,
27857        client_id: Any,
27858        additional_properties: Optional[Dict[str, Any]] = None,
27859        connect_via: Optional["IntegrationRuntimeReference"] = None,
27860        description: Optional[str] = None,
27861        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
27862        annotations: Optional[List[Any]] = None,
27863        client_secret: Optional["SecretBase"] = None,
27864        use_encrypted_endpoints: Optional[Any] = None,
27865        use_host_verification: Optional[Any] = None,
27866        use_peer_verification: Optional[Any] = None,
27867        encrypted_credential: Optional[Any] = None,
27868        **kwargs
27869    ):
27870        super(PaypalLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
27871        self.type = 'Paypal'  # type: str
27872        self.host = host
27873        self.client_id = client_id
27874        self.client_secret = client_secret
27875        self.use_encrypted_endpoints = use_encrypted_endpoints
27876        self.use_host_verification = use_host_verification
27877        self.use_peer_verification = use_peer_verification
27878        self.encrypted_credential = encrypted_credential
27879
27880
27881class PaypalObjectDataset(Dataset):
27882    """Paypal Service dataset.
27883
27884    All required parameters must be populated in order to send to Azure.
27885
27886    :param additional_properties: Unmatched properties from the message are deserialized to this
27887     collection.
27888    :type additional_properties: dict[str, any]
27889    :param type: Required. Type of dataset.Constant filled by server.
27890    :type type: str
27891    :param description: Dataset description.
27892    :type description: str
27893    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
27894     with resultType array), itemType: DatasetDataElement.
27895    :type structure: any
27896    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
27897     Expression with resultType array), itemType: DatasetSchemaDataElement.
27898    :type schema: any
27899    :param linked_service_name: Required. Linked service reference.
27900    :type linked_service_name:
27901     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
27902    :param parameters: Parameters for dataset.
27903    :type parameters: dict[str,
27904     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
27905    :param annotations: List of tags that can be used for describing the Dataset.
27906    :type annotations: list[any]
27907    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
27908     root level.
27909    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
27910    :param table_name: The table name. Type: string (or Expression with resultType string).
27911    :type table_name: any
27912    """
27913
27914    _validation = {
27915        'type': {'required': True},
27916        'linked_service_name': {'required': True},
27917    }
27918
27919    _attribute_map = {
27920        'additional_properties': {'key': '', 'type': '{object}'},
27921        'type': {'key': 'type', 'type': 'str'},
27922        'description': {'key': 'description', 'type': 'str'},
27923        'structure': {'key': 'structure', 'type': 'object'},
27924        'schema': {'key': 'schema', 'type': 'object'},
27925        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
27926        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
27927        'annotations': {'key': 'annotations', 'type': '[object]'},
27928        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
27929        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
27930    }
27931
27932    def __init__(
27933        self,
27934        *,
27935        linked_service_name: "LinkedServiceReference",
27936        additional_properties: Optional[Dict[str, Any]] = None,
27937        description: Optional[str] = None,
27938        structure: Optional[Any] = None,
27939        schema: Optional[Any] = None,
27940        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
27941        annotations: Optional[List[Any]] = None,
27942        folder: Optional["DatasetFolder"] = None,
27943        table_name: Optional[Any] = None,
27944        **kwargs
27945    ):
27946        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)
27947        self.type = 'PaypalObject'  # type: str
27948        self.table_name = table_name
27949
27950
27951class PaypalSource(TabularSource):
27952    """A copy activity Paypal Service source.
27953
27954    All required parameters must be populated in order to send to Azure.
27955
27956    :param additional_properties: Unmatched properties from the message are deserialized to this
27957     collection.
27958    :type additional_properties: dict[str, any]
27959    :param type: Required. Copy source type.Constant filled by server.
27960    :type type: str
27961    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
27962     integer).
27963    :type source_retry_count: any
27964    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
27965     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27966    :type source_retry_wait: any
27967    :param max_concurrent_connections: The maximum concurrent connection count for the source data
27968     store. Type: integer (or Expression with resultType integer).
27969    :type max_concurrent_connections: any
27970    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
27971     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
27972    :type query_timeout: any
27973    :param additional_columns: Specifies the additional columns to be added to source data. Type:
27974     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
27975    :type additional_columns: any
27976    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
27977     string).
27978    :type query: any
27979    """
27980
27981    _validation = {
27982        'type': {'required': True},
27983    }
27984
27985    _attribute_map = {
27986        'additional_properties': {'key': '', 'type': '{object}'},
27987        'type': {'key': 'type', 'type': 'str'},
27988        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
27989        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
27990        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
27991        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
27992        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
27993        'query': {'key': 'query', 'type': 'object'},
27994    }
27995
27996    def __init__(
27997        self,
27998        *,
27999        additional_properties: Optional[Dict[str, Any]] = None,
28000        source_retry_count: Optional[Any] = None,
28001        source_retry_wait: Optional[Any] = None,
28002        max_concurrent_connections: Optional[Any] = None,
28003        query_timeout: Optional[Any] = None,
28004        additional_columns: Optional[Any] = None,
28005        query: Optional[Any] = None,
28006        **kwargs
28007    ):
28008        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)
28009        self.type = 'PaypalSource'  # type: str
28010        self.query = query
28011
28012
28013class PhoenixLinkedService(LinkedService):
28014    """Phoenix server linked service.
28015
28016    All required parameters must be populated in order to send to Azure.
28017
28018    :param additional_properties: Unmatched properties from the message are deserialized to this
28019     collection.
28020    :type additional_properties: dict[str, any]
28021    :param type: Required. Type of linked service.Constant filled by server.
28022    :type type: str
28023    :param connect_via: The integration runtime reference.
28024    :type connect_via:
28025     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
28026    :param description: Linked service description.
28027    :type description: str
28028    :param parameters: Parameters for linked service.
28029    :type parameters: dict[str,
28030     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
28031    :param annotations: List of tags that can be used for describing the linked service.
28032    :type annotations: list[any]
28033    :param host: Required. The IP address or host name of the Phoenix server. (i.e.
28034     192.168.222.160).
28035    :type host: any
28036    :param port: The TCP port that the Phoenix server uses to listen for client connections. The
28037     default value is 8765.
28038    :type port: any
28039    :param http_path: The partial URL corresponding to the Phoenix server. (i.e.
28040     /gateway/sandbox/phoenix/version). The default value is hbasephoenix if using
28041     WindowsAzureHDInsightService.
28042    :type http_path: any
28043    :param authentication_type: Required. The authentication mechanism used to connect to the
28044     Phoenix server. Possible values include: "Anonymous", "UsernameAndPassword",
28045     "WindowsAzureHDInsightService".
28046    :type authentication_type: str or
28047     ~azure.synapse.artifacts.v2021_06_01_preview.models.PhoenixAuthenticationType
28048    :param username: The user name used to connect to the Phoenix server.
28049    :type username: any
28050    :param password: The password corresponding to the user name.
28051    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
28052    :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The
28053     default value is false.
28054    :type enable_ssl: any
28055    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
28056     verifying the server when connecting over SSL. This property can only be set when using SSL on
28057     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
28058    :type trusted_cert_path: any
28059    :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust
28060     store or from a specified PEM file. The default value is false.
28061    :type use_system_trust_store: any
28062    :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate
28063     name to match the host name of the server when connecting over SSL. The default value is false.
28064    :type allow_host_name_cn_mismatch: any
28065    :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from
28066     the server. The default value is false.
28067    :type allow_self_signed_server_cert: any
28068    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
28069     encrypted using the integration runtime credential manager. Type: string (or Expression with
28070     resultType string).
28071    :type encrypted_credential: any
28072    """
28073
28074    _validation = {
28075        'type': {'required': True},
28076        'host': {'required': True},
28077        'authentication_type': {'required': True},
28078    }
28079
28080    _attribute_map = {
28081        'additional_properties': {'key': '', 'type': '{object}'},
28082        'type': {'key': 'type', 'type': 'str'},
28083        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
28084        'description': {'key': 'description', 'type': 'str'},
28085        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
28086        'annotations': {'key': 'annotations', 'type': '[object]'},
28087        'host': {'key': 'typeProperties.host', 'type': 'object'},
28088        'port': {'key': 'typeProperties.port', 'type': 'object'},
28089        'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'},
28090        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
28091        'username': {'key': 'typeProperties.username', 'type': 'object'},
28092        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
28093        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
28094        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
28095        'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'},
28096        'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'},
28097        'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'},
28098        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
28099    }
28100
28101    def __init__(
28102        self,
28103        *,
28104        host: Any,
28105        authentication_type: Union[str, "PhoenixAuthenticationType"],
28106        additional_properties: Optional[Dict[str, Any]] = None,
28107        connect_via: Optional["IntegrationRuntimeReference"] = None,
28108        description: Optional[str] = None,
28109        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
28110        annotations: Optional[List[Any]] = None,
28111        port: Optional[Any] = None,
28112        http_path: Optional[Any] = None,
28113        username: Optional[Any] = None,
28114        password: Optional["SecretBase"] = None,
28115        enable_ssl: Optional[Any] = None,
28116        trusted_cert_path: Optional[Any] = None,
28117        use_system_trust_store: Optional[Any] = None,
28118        allow_host_name_cn_mismatch: Optional[Any] = None,
28119        allow_self_signed_server_cert: Optional[Any] = None,
28120        encrypted_credential: Optional[Any] = None,
28121        **kwargs
28122    ):
28123        super(PhoenixLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
28124        self.type = 'Phoenix'  # type: str
28125        self.host = host
28126        self.port = port
28127        self.http_path = http_path
28128        self.authentication_type = authentication_type
28129        self.username = username
28130        self.password = password
28131        self.enable_ssl = enable_ssl
28132        self.trusted_cert_path = trusted_cert_path
28133        self.use_system_trust_store = use_system_trust_store
28134        self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch
28135        self.allow_self_signed_server_cert = allow_self_signed_server_cert
28136        self.encrypted_credential = encrypted_credential
28137
28138
28139class PhoenixObjectDataset(Dataset):
28140    """Phoenix server dataset.
28141
28142    All required parameters must be populated in order to send to Azure.
28143
28144    :param additional_properties: Unmatched properties from the message are deserialized to this
28145     collection.
28146    :type additional_properties: dict[str, any]
28147    :param type: Required. Type of dataset.Constant filled by server.
28148    :type type: str
28149    :param description: Dataset description.
28150    :type description: str
28151    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
28152     with resultType array), itemType: DatasetDataElement.
28153    :type structure: any
28154    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
28155     Expression with resultType array), itemType: DatasetSchemaDataElement.
28156    :type schema: any
28157    :param linked_service_name: Required. Linked service reference.
28158    :type linked_service_name:
28159     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
28160    :param parameters: Parameters for dataset.
28161    :type parameters: dict[str,
28162     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
28163    :param annotations: List of tags that can be used for describing the Dataset.
28164    :type annotations: list[any]
28165    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
28166     root level.
28167    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
28168    :param table_name: This property will be retired. Please consider using schema + table
28169     properties instead.
28170    :type table_name: any
28171    :param table: The table name of the Phoenix. Type: string (or Expression with resultType
28172     string).
28173    :type table: any
28174    :param schema_type_properties_schema: The schema name of the Phoenix. Type: string (or
28175     Expression with resultType string).
28176    :type schema_type_properties_schema: any
28177    """
28178
28179    _validation = {
28180        'type': {'required': True},
28181        'linked_service_name': {'required': True},
28182    }
28183
28184    _attribute_map = {
28185        'additional_properties': {'key': '', 'type': '{object}'},
28186        'type': {'key': 'type', 'type': 'str'},
28187        'description': {'key': 'description', 'type': 'str'},
28188        'structure': {'key': 'structure', 'type': 'object'},
28189        'schema': {'key': 'schema', 'type': 'object'},
28190        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
28191        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
28192        'annotations': {'key': 'annotations', 'type': '[object]'},
28193        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
28194        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
28195        'table': {'key': 'typeProperties.table', 'type': 'object'},
28196        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
28197    }
28198
28199    def __init__(
28200        self,
28201        *,
28202        linked_service_name: "LinkedServiceReference",
28203        additional_properties: Optional[Dict[str, Any]] = None,
28204        description: Optional[str] = None,
28205        structure: Optional[Any] = None,
28206        schema: Optional[Any] = None,
28207        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
28208        annotations: Optional[List[Any]] = None,
28209        folder: Optional["DatasetFolder"] = None,
28210        table_name: Optional[Any] = None,
28211        table: Optional[Any] = None,
28212        schema_type_properties_schema: Optional[Any] = None,
28213        **kwargs
28214    ):
28215        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)
28216        self.type = 'PhoenixObject'  # type: str
28217        self.table_name = table_name
28218        self.table = table
28219        self.schema_type_properties_schema = schema_type_properties_schema
28220
28221
28222class PhoenixSource(TabularSource):
28223    """A copy activity Phoenix server source.
28224
28225    All required parameters must be populated in order to send to Azure.
28226
28227    :param additional_properties: Unmatched properties from the message are deserialized to this
28228     collection.
28229    :type additional_properties: dict[str, any]
28230    :param type: Required. Copy source type.Constant filled by server.
28231    :type type: str
28232    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
28233     integer).
28234    :type source_retry_count: any
28235    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
28236     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
28237    :type source_retry_wait: any
28238    :param max_concurrent_connections: The maximum concurrent connection count for the source data
28239     store. Type: integer (or Expression with resultType integer).
28240    :type max_concurrent_connections: any
28241    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
28242     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
28243    :type query_timeout: any
28244    :param additional_columns: Specifies the additional columns to be added to source data. Type:
28245     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
28246    :type additional_columns: any
28247    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
28248     string).
28249    :type query: any
28250    """
28251
28252    _validation = {
28253        'type': {'required': True},
28254    }
28255
28256    _attribute_map = {
28257        'additional_properties': {'key': '', 'type': '{object}'},
28258        'type': {'key': 'type', 'type': 'str'},
28259        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
28260        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
28261        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
28262        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
28263        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
28264        'query': {'key': 'query', 'type': 'object'},
28265    }
28266
28267    def __init__(
28268        self,
28269        *,
28270        additional_properties: Optional[Dict[str, Any]] = None,
28271        source_retry_count: Optional[Any] = None,
28272        source_retry_wait: Optional[Any] = None,
28273        max_concurrent_connections: Optional[Any] = None,
28274        query_timeout: Optional[Any] = None,
28275        additional_columns: Optional[Any] = None,
28276        query: Optional[Any] = None,
28277        **kwargs
28278    ):
28279        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)
28280        self.type = 'PhoenixSource'  # type: str
28281        self.query = query
28282
28283
28284class PipelineFolder(msrest.serialization.Model):
28285    """The folder that this Pipeline is in. If not specified, Pipeline will appear at the root level.
28286
28287    :param name: The name of the folder that this Pipeline is in.
28288    :type name: str
28289    """
28290
28291    _attribute_map = {
28292        'name': {'key': 'name', 'type': 'str'},
28293    }
28294
28295    def __init__(
28296        self,
28297        *,
28298        name: Optional[str] = None,
28299        **kwargs
28300    ):
28301        super(PipelineFolder, self).__init__(**kwargs)
28302        self.name = name
28303
28304
28305class PipelineListResponse(msrest.serialization.Model):
28306    """A list of pipeline resources.
28307
28308    All required parameters must be populated in order to send to Azure.
28309
28310    :param value: Required. List of pipelines.
28311    :type value: list[~azure.synapse.artifacts.v2021_06_01_preview.models.PipelineResource]
28312    :param next_link: The link to the next page of results, if any remaining results exist.
28313    :type next_link: str
28314    """
28315
28316    _validation = {
28317        'value': {'required': True},
28318    }
28319
28320    _attribute_map = {
28321        'value': {'key': 'value', 'type': '[PipelineResource]'},
28322        'next_link': {'key': 'nextLink', 'type': 'str'},
28323    }
28324
28325    def __init__(
28326        self,
28327        *,
28328        value: List["PipelineResource"],
28329        next_link: Optional[str] = None,
28330        **kwargs
28331    ):
28332        super(PipelineListResponse, self).__init__(**kwargs)
28333        self.value = value
28334        self.next_link = next_link
28335
28336
28337class PipelineReference(msrest.serialization.Model):
28338    """Pipeline reference type.
28339
28340    All required parameters must be populated in order to send to Azure.
28341
28342    :param type: Required. Pipeline reference type. Possible values include: "PipelineReference".
28343    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.PipelineReferenceType
28344    :param reference_name: Required. Reference pipeline name.
28345    :type reference_name: str
28346    :param name: Reference name.
28347    :type name: str
28348    """
28349
28350    _validation = {
28351        'type': {'required': True},
28352        'reference_name': {'required': True},
28353    }
28354
28355    _attribute_map = {
28356        'type': {'key': 'type', 'type': 'str'},
28357        'reference_name': {'key': 'referenceName', 'type': 'str'},
28358        'name': {'key': 'name', 'type': 'str'},
28359    }
28360
28361    def __init__(
28362        self,
28363        *,
28364        type: Union[str, "PipelineReferenceType"],
28365        reference_name: str,
28366        name: Optional[str] = None,
28367        **kwargs
28368    ):
28369        super(PipelineReference, self).__init__(**kwargs)
28370        self.type = type
28371        self.reference_name = reference_name
28372        self.name = name
28373
28374
28375class PipelineResource(SubResource):
28376    """Pipeline resource type.
28377
28378    Variables are only populated by the server, and will be ignored when sending a request.
28379
28380    :ivar id: Fully qualified resource ID for the resource. Ex -
28381     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
28382    :vartype id: str
28383    :ivar name: The name of the resource.
28384    :vartype name: str
28385    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
28386     "Microsoft.Storage/storageAccounts".
28387    :vartype type: str
28388    :ivar etag: Resource Etag.
28389    :vartype etag: str
28390    :param additional_properties: Unmatched properties from the message are deserialized to this
28391     collection.
28392    :type additional_properties: dict[str, any]
28393    :param description: The description of the pipeline.
28394    :type description: str
28395    :param activities: List of activities in pipeline.
28396    :type activities: list[~azure.synapse.artifacts.v2021_06_01_preview.models.Activity]
28397    :param parameters: List of parameters for pipeline.
28398    :type parameters: dict[str,
28399     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
28400    :param variables: List of variables for pipeline.
28401    :type variables: dict[str,
28402     ~azure.synapse.artifacts.v2021_06_01_preview.models.VariableSpecification]
28403    :param concurrency: The max number of concurrent runs for the pipeline.
28404    :type concurrency: int
28405    :param annotations: List of tags that can be used for describing the Pipeline.
28406    :type annotations: list[any]
28407    :param run_dimensions: Dimensions emitted by Pipeline.
28408    :type run_dimensions: dict[str, any]
28409    :param folder: The folder that this Pipeline is in. If not specified, Pipeline will appear at
28410     the root level.
28411    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.PipelineFolder
28412    """
28413
28414    _validation = {
28415        'id': {'readonly': True},
28416        'name': {'readonly': True},
28417        'type': {'readonly': True},
28418        'etag': {'readonly': True},
28419        'concurrency': {'minimum': 1},
28420    }
28421
28422    _attribute_map = {
28423        'id': {'key': 'id', 'type': 'str'},
28424        'name': {'key': 'name', 'type': 'str'},
28425        'type': {'key': 'type', 'type': 'str'},
28426        'etag': {'key': 'etag', 'type': 'str'},
28427        'additional_properties': {'key': '', 'type': '{object}'},
28428        'description': {'key': 'properties.description', 'type': 'str'},
28429        'activities': {'key': 'properties.activities', 'type': '[Activity]'},
28430        'parameters': {'key': 'properties.parameters', 'type': '{ParameterSpecification}'},
28431        'variables': {'key': 'properties.variables', 'type': '{VariableSpecification}'},
28432        'concurrency': {'key': 'properties.concurrency', 'type': 'int'},
28433        'annotations': {'key': 'properties.annotations', 'type': '[object]'},
28434        'run_dimensions': {'key': 'properties.runDimensions', 'type': '{object}'},
28435        'folder': {'key': 'properties.folder', 'type': 'PipelineFolder'},
28436    }
28437
28438    def __init__(
28439        self,
28440        *,
28441        additional_properties: Optional[Dict[str, Any]] = None,
28442        description: Optional[str] = None,
28443        activities: Optional[List["Activity"]] = None,
28444        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
28445        variables: Optional[Dict[str, "VariableSpecification"]] = None,
28446        concurrency: Optional[int] = None,
28447        annotations: Optional[List[Any]] = None,
28448        run_dimensions: Optional[Dict[str, Any]] = None,
28449        folder: Optional["PipelineFolder"] = None,
28450        **kwargs
28451    ):
28452        super(PipelineResource, self).__init__(**kwargs)
28453        self.additional_properties = additional_properties
28454        self.description = description
28455        self.activities = activities
28456        self.parameters = parameters
28457        self.variables = variables
28458        self.concurrency = concurrency
28459        self.annotations = annotations
28460        self.run_dimensions = run_dimensions
28461        self.folder = folder
28462
28463
28464class PipelineRun(msrest.serialization.Model):
28465    """Information about a pipeline run.
28466
28467    Variables are only populated by the server, and will be ignored when sending a request.
28468
28469    :param additional_properties: Unmatched properties from the message are deserialized to this
28470     collection.
28471    :type additional_properties: dict[str, any]
28472    :ivar run_id: Identifier of a run.
28473    :vartype run_id: str
28474    :ivar run_group_id: Identifier that correlates all the recovery runs of a pipeline run.
28475    :vartype run_group_id: str
28476    :ivar is_latest: Indicates if the recovered pipeline run is the latest in its group.
28477    :vartype is_latest: bool
28478    :ivar pipeline_name: The pipeline name.
28479    :vartype pipeline_name: str
28480    :ivar parameters: The full or partial list of parameter name, value pair used in the pipeline
28481     run.
28482    :vartype parameters: dict[str, str]
28483    :ivar invoked_by: Entity that started the pipeline run.
28484    :vartype invoked_by: ~azure.synapse.artifacts.v2021_06_01_preview.models.PipelineRunInvokedBy
28485    :ivar last_updated: The last updated timestamp for the pipeline run event in ISO8601 format.
28486    :vartype last_updated: ~datetime.datetime
28487    :ivar run_start: The start time of a pipeline run in ISO8601 format.
28488    :vartype run_start: ~datetime.datetime
28489    :ivar run_end: The end time of a pipeline run in ISO8601 format.
28490    :vartype run_end: ~datetime.datetime
28491    :ivar duration_in_ms: The duration of a pipeline run.
28492    :vartype duration_in_ms: int
28493    :ivar status: The status of a pipeline run.
28494    :vartype status: str
28495    :ivar message: The message from a pipeline run.
28496    :vartype message: str
28497    """
28498
28499    _validation = {
28500        'run_id': {'readonly': True},
28501        'run_group_id': {'readonly': True},
28502        'is_latest': {'readonly': True},
28503        'pipeline_name': {'readonly': True},
28504        'parameters': {'readonly': True},
28505        'invoked_by': {'readonly': True},
28506        'last_updated': {'readonly': True},
28507        'run_start': {'readonly': True},
28508        'run_end': {'readonly': True},
28509        'duration_in_ms': {'readonly': True},
28510        'status': {'readonly': True},
28511        'message': {'readonly': True},
28512    }
28513
28514    _attribute_map = {
28515        'additional_properties': {'key': '', 'type': '{object}'},
28516        'run_id': {'key': 'runId', 'type': 'str'},
28517        'run_group_id': {'key': 'runGroupId', 'type': 'str'},
28518        'is_latest': {'key': 'isLatest', 'type': 'bool'},
28519        'pipeline_name': {'key': 'pipelineName', 'type': 'str'},
28520        'parameters': {'key': 'parameters', 'type': '{str}'},
28521        'invoked_by': {'key': 'invokedBy', 'type': 'PipelineRunInvokedBy'},
28522        'last_updated': {'key': 'lastUpdated', 'type': 'iso-8601'},
28523        'run_start': {'key': 'runStart', 'type': 'iso-8601'},
28524        'run_end': {'key': 'runEnd', 'type': 'iso-8601'},
28525        'duration_in_ms': {'key': 'durationInMs', 'type': 'int'},
28526        'status': {'key': 'status', 'type': 'str'},
28527        'message': {'key': 'message', 'type': 'str'},
28528    }
28529
28530    def __init__(
28531        self,
28532        *,
28533        additional_properties: Optional[Dict[str, Any]] = None,
28534        **kwargs
28535    ):
28536        super(PipelineRun, self).__init__(**kwargs)
28537        self.additional_properties = additional_properties
28538        self.run_id = None
28539        self.run_group_id = None
28540        self.is_latest = None
28541        self.pipeline_name = None
28542        self.parameters = None
28543        self.invoked_by = None
28544        self.last_updated = None
28545        self.run_start = None
28546        self.run_end = None
28547        self.duration_in_ms = None
28548        self.status = None
28549        self.message = None
28550
28551
28552class PipelineRunInvokedBy(msrest.serialization.Model):
28553    """Provides entity name and id that started the pipeline run.
28554
28555    Variables are only populated by the server, and will be ignored when sending a request.
28556
28557    :ivar name: Name of the entity that started the pipeline run.
28558    :vartype name: str
28559    :ivar id: The ID of the entity that started the run.
28560    :vartype id: str
28561    :ivar invoked_by_type: The type of the entity that started the run.
28562    :vartype invoked_by_type: str
28563    """
28564
28565    _validation = {
28566        'name': {'readonly': True},
28567        'id': {'readonly': True},
28568        'invoked_by_type': {'readonly': True},
28569    }
28570
28571    _attribute_map = {
28572        'name': {'key': 'name', 'type': 'str'},
28573        'id': {'key': 'id', 'type': 'str'},
28574        'invoked_by_type': {'key': 'invokedByType', 'type': 'str'},
28575    }
28576
28577    def __init__(
28578        self,
28579        **kwargs
28580    ):
28581        super(PipelineRunInvokedBy, self).__init__(**kwargs)
28582        self.name = None
28583        self.id = None
28584        self.invoked_by_type = None
28585
28586
28587class PipelineRunsQueryResponse(msrest.serialization.Model):
28588    """A list pipeline runs.
28589
28590    All required parameters must be populated in order to send to Azure.
28591
28592    :param value: Required. List of pipeline runs.
28593    :type value: list[~azure.synapse.artifacts.v2021_06_01_preview.models.PipelineRun]
28594    :param continuation_token: The continuation token for getting the next page of results, if any
28595     remaining results exist, null otherwise.
28596    :type continuation_token: str
28597    """
28598
28599    _validation = {
28600        'value': {'required': True},
28601    }
28602
28603    _attribute_map = {
28604        'value': {'key': 'value', 'type': '[PipelineRun]'},
28605        'continuation_token': {'key': 'continuationToken', 'type': 'str'},
28606    }
28607
28608    def __init__(
28609        self,
28610        *,
28611        value: List["PipelineRun"],
28612        continuation_token: Optional[str] = None,
28613        **kwargs
28614    ):
28615        super(PipelineRunsQueryResponse, self).__init__(**kwargs)
28616        self.value = value
28617        self.continuation_token = continuation_token
28618
28619
28620class PolybaseSettings(msrest.serialization.Model):
28621    """PolyBase settings.
28622
28623    :param additional_properties: Unmatched properties from the message are deserialized to this
28624     collection.
28625    :type additional_properties: dict[str, any]
28626    :param reject_type: Reject type. Possible values include: "value", "percentage".
28627    :type reject_type: str or
28628     ~azure.synapse.artifacts.v2021_06_01_preview.models.PolybaseSettingsRejectType
28629    :param reject_value: Specifies the value or the percentage of rows that can be rejected before
28630     the query fails. Type: number (or Expression with resultType number), minimum: 0.
28631    :type reject_value: any
28632    :param reject_sample_value: Determines the number of rows to attempt to retrieve before the
28633     PolyBase recalculates the percentage of rejected rows. Type: integer (or Expression with
28634     resultType integer), minimum: 0.
28635    :type reject_sample_value: any
28636    :param use_type_default: Specifies how to handle missing values in delimited text files when
28637     PolyBase retrieves data from the text file. Type: boolean (or Expression with resultType
28638     boolean).
28639    :type use_type_default: any
28640    """
28641
28642    _attribute_map = {
28643        'additional_properties': {'key': '', 'type': '{object}'},
28644        'reject_type': {'key': 'rejectType', 'type': 'str'},
28645        'reject_value': {'key': 'rejectValue', 'type': 'object'},
28646        'reject_sample_value': {'key': 'rejectSampleValue', 'type': 'object'},
28647        'use_type_default': {'key': 'useTypeDefault', 'type': 'object'},
28648    }
28649
28650    def __init__(
28651        self,
28652        *,
28653        additional_properties: Optional[Dict[str, Any]] = None,
28654        reject_type: Optional[Union[str, "PolybaseSettingsRejectType"]] = None,
28655        reject_value: Optional[Any] = None,
28656        reject_sample_value: Optional[Any] = None,
28657        use_type_default: Optional[Any] = None,
28658        **kwargs
28659    ):
28660        super(PolybaseSettings, self).__init__(**kwargs)
28661        self.additional_properties = additional_properties
28662        self.reject_type = reject_type
28663        self.reject_value = reject_value
28664        self.reject_sample_value = reject_sample_value
28665        self.use_type_default = use_type_default
28666
28667
28668class PostgreSqlLinkedService(LinkedService):
28669    """Linked service for PostgreSQL data source.
28670
28671    All required parameters must be populated in order to send to Azure.
28672
28673    :param additional_properties: Unmatched properties from the message are deserialized to this
28674     collection.
28675    :type additional_properties: dict[str, any]
28676    :param type: Required. Type of linked service.Constant filled by server.
28677    :type type: str
28678    :param connect_via: The integration runtime reference.
28679    :type connect_via:
28680     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
28681    :param description: Linked service description.
28682    :type description: str
28683    :param parameters: Parameters for linked service.
28684    :type parameters: dict[str,
28685     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
28686    :param annotations: List of tags that can be used for describing the linked service.
28687    :type annotations: list[any]
28688    :param connection_string: Required. The connection string.
28689    :type connection_string: any
28690    :param password: The Azure key vault secret reference of password in connection string.
28691    :type password:
28692     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
28693    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
28694     encrypted using the integration runtime credential manager. Type: string (or Expression with
28695     resultType string).
28696    :type encrypted_credential: any
28697    """
28698
28699    _validation = {
28700        'type': {'required': True},
28701        'connection_string': {'required': True},
28702    }
28703
28704    _attribute_map = {
28705        'additional_properties': {'key': '', 'type': '{object}'},
28706        'type': {'key': 'type', 'type': 'str'},
28707        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
28708        'description': {'key': 'description', 'type': 'str'},
28709        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
28710        'annotations': {'key': 'annotations', 'type': '[object]'},
28711        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
28712        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
28713        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
28714    }
28715
28716    def __init__(
28717        self,
28718        *,
28719        connection_string: Any,
28720        additional_properties: Optional[Dict[str, Any]] = None,
28721        connect_via: Optional["IntegrationRuntimeReference"] = None,
28722        description: Optional[str] = None,
28723        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
28724        annotations: Optional[List[Any]] = None,
28725        password: Optional["AzureKeyVaultSecretReference"] = None,
28726        encrypted_credential: Optional[Any] = None,
28727        **kwargs
28728    ):
28729        super(PostgreSqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
28730        self.type = 'PostgreSql'  # type: str
28731        self.connection_string = connection_string
28732        self.password = password
28733        self.encrypted_credential = encrypted_credential
28734
28735
28736class PostgreSqlSource(TabularSource):
28737    """A copy activity source for PostgreSQL databases.
28738
28739    All required parameters must be populated in order to send to Azure.
28740
28741    :param additional_properties: Unmatched properties from the message are deserialized to this
28742     collection.
28743    :type additional_properties: dict[str, any]
28744    :param type: Required. Copy source type.Constant filled by server.
28745    :type type: str
28746    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
28747     integer).
28748    :type source_retry_count: any
28749    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
28750     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
28751    :type source_retry_wait: any
28752    :param max_concurrent_connections: The maximum concurrent connection count for the source data
28753     store. Type: integer (or Expression with resultType integer).
28754    :type max_concurrent_connections: any
28755    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
28756     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
28757    :type query_timeout: any
28758    :param additional_columns: Specifies the additional columns to be added to source data. Type:
28759     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
28760    :type additional_columns: any
28761    :param query: Database query. Type: string (or Expression with resultType string).
28762    :type query: any
28763    """
28764
28765    _validation = {
28766        'type': {'required': True},
28767    }
28768
28769    _attribute_map = {
28770        'additional_properties': {'key': '', 'type': '{object}'},
28771        'type': {'key': 'type', 'type': 'str'},
28772        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
28773        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
28774        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
28775        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
28776        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
28777        'query': {'key': 'query', 'type': 'object'},
28778    }
28779
28780    def __init__(
28781        self,
28782        *,
28783        additional_properties: Optional[Dict[str, Any]] = None,
28784        source_retry_count: Optional[Any] = None,
28785        source_retry_wait: Optional[Any] = None,
28786        max_concurrent_connections: Optional[Any] = None,
28787        query_timeout: Optional[Any] = None,
28788        additional_columns: Optional[Any] = None,
28789        query: Optional[Any] = None,
28790        **kwargs
28791    ):
28792        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)
28793        self.type = 'PostgreSqlSource'  # type: str
28794        self.query = query
28795
28796
28797class PostgreSqlTableDataset(Dataset):
28798    """The PostgreSQL table dataset.
28799
28800    All required parameters must be populated in order to send to Azure.
28801
28802    :param additional_properties: Unmatched properties from the message are deserialized to this
28803     collection.
28804    :type additional_properties: dict[str, any]
28805    :param type: Required. Type of dataset.Constant filled by server.
28806    :type type: str
28807    :param description: Dataset description.
28808    :type description: str
28809    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
28810     with resultType array), itemType: DatasetDataElement.
28811    :type structure: any
28812    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
28813     Expression with resultType array), itemType: DatasetSchemaDataElement.
28814    :type schema: any
28815    :param linked_service_name: Required. Linked service reference.
28816    :type linked_service_name:
28817     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
28818    :param parameters: Parameters for dataset.
28819    :type parameters: dict[str,
28820     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
28821    :param annotations: List of tags that can be used for describing the Dataset.
28822    :type annotations: list[any]
28823    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
28824     root level.
28825    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
28826    :param table_name: This property will be retired. Please consider using schema + table
28827     properties instead.
28828    :type table_name: any
28829    :param table: The PostgreSQL table name. Type: string (or Expression with resultType string).
28830    :type table: any
28831    :param schema_type_properties_schema: The PostgreSQL schema name. Type: string (or Expression
28832     with resultType string).
28833    :type schema_type_properties_schema: any
28834    """
28835
28836    _validation = {
28837        'type': {'required': True},
28838        'linked_service_name': {'required': True},
28839    }
28840
28841    _attribute_map = {
28842        'additional_properties': {'key': '', 'type': '{object}'},
28843        'type': {'key': 'type', 'type': 'str'},
28844        'description': {'key': 'description', 'type': 'str'},
28845        'structure': {'key': 'structure', 'type': 'object'},
28846        'schema': {'key': 'schema', 'type': 'object'},
28847        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
28848        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
28849        'annotations': {'key': 'annotations', 'type': '[object]'},
28850        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
28851        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
28852        'table': {'key': 'typeProperties.table', 'type': 'object'},
28853        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
28854    }
28855
28856    def __init__(
28857        self,
28858        *,
28859        linked_service_name: "LinkedServiceReference",
28860        additional_properties: Optional[Dict[str, Any]] = None,
28861        description: Optional[str] = None,
28862        structure: Optional[Any] = None,
28863        schema: Optional[Any] = None,
28864        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
28865        annotations: Optional[List[Any]] = None,
28866        folder: Optional["DatasetFolder"] = None,
28867        table_name: Optional[Any] = None,
28868        table: Optional[Any] = None,
28869        schema_type_properties_schema: Optional[Any] = None,
28870        **kwargs
28871    ):
28872        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)
28873        self.type = 'PostgreSqlTable'  # type: str
28874        self.table_name = table_name
28875        self.table = table
28876        self.schema_type_properties_schema = schema_type_properties_schema
28877
28878
28879class PrestoLinkedService(LinkedService):
28880    """Presto server linked service.
28881
28882    All required parameters must be populated in order to send to Azure.
28883
28884    :param additional_properties: Unmatched properties from the message are deserialized to this
28885     collection.
28886    :type additional_properties: dict[str, any]
28887    :param type: Required. Type of linked service.Constant filled by server.
28888    :type type: str
28889    :param connect_via: The integration runtime reference.
28890    :type connect_via:
28891     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
28892    :param description: Linked service description.
28893    :type description: str
28894    :param parameters: Parameters for linked service.
28895    :type parameters: dict[str,
28896     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
28897    :param annotations: List of tags that can be used for describing the linked service.
28898    :type annotations: list[any]
28899    :param host: Required. The IP address or host name of the Presto server. (i.e.
28900     192.168.222.160).
28901    :type host: any
28902    :param server_version: Required. The version of the Presto server. (i.e. 0.148-t).
28903    :type server_version: any
28904    :param catalog: Required. The catalog context for all request against the server.
28905    :type catalog: any
28906    :param port: The TCP port that the Presto server uses to listen for client connections. The
28907     default value is 8080.
28908    :type port: any
28909    :param authentication_type: Required. The authentication mechanism used to connect to the
28910     Presto server. Possible values include: "Anonymous", "LDAP".
28911    :type authentication_type: str or
28912     ~azure.synapse.artifacts.v2021_06_01_preview.models.PrestoAuthenticationType
28913    :param username: The user name used to connect to the Presto server.
28914    :type username: any
28915    :param password: The password corresponding to the user name.
28916    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
28917    :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The
28918     default value is false.
28919    :type enable_ssl: any
28920    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
28921     verifying the server when connecting over SSL. This property can only be set when using SSL on
28922     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
28923    :type trusted_cert_path: any
28924    :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust
28925     store or from a specified PEM file. The default value is false.
28926    :type use_system_trust_store: any
28927    :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate
28928     name to match the host name of the server when connecting over SSL. The default value is false.
28929    :type allow_host_name_cn_mismatch: any
28930    :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from
28931     the server. The default value is false.
28932    :type allow_self_signed_server_cert: any
28933    :param time_zone_id: The local time zone used by the connection. Valid values for this option
28934     are specified in the IANA Time Zone Database. The default value is the system time zone.
28935    :type time_zone_id: any
28936    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
28937     encrypted using the integration runtime credential manager. Type: string (or Expression with
28938     resultType string).
28939    :type encrypted_credential: any
28940    """
28941
28942    _validation = {
28943        'type': {'required': True},
28944        'host': {'required': True},
28945        'server_version': {'required': True},
28946        'catalog': {'required': True},
28947        'authentication_type': {'required': True},
28948    }
28949
28950    _attribute_map = {
28951        'additional_properties': {'key': '', 'type': '{object}'},
28952        'type': {'key': 'type', 'type': 'str'},
28953        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
28954        'description': {'key': 'description', 'type': 'str'},
28955        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
28956        'annotations': {'key': 'annotations', 'type': '[object]'},
28957        'host': {'key': 'typeProperties.host', 'type': 'object'},
28958        'server_version': {'key': 'typeProperties.serverVersion', 'type': 'object'},
28959        'catalog': {'key': 'typeProperties.catalog', 'type': 'object'},
28960        'port': {'key': 'typeProperties.port', 'type': 'object'},
28961        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
28962        'username': {'key': 'typeProperties.username', 'type': 'object'},
28963        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
28964        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
28965        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
28966        'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'},
28967        'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'},
28968        'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'},
28969        'time_zone_id': {'key': 'typeProperties.timeZoneID', 'type': 'object'},
28970        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
28971    }
28972
28973    def __init__(
28974        self,
28975        *,
28976        host: Any,
28977        server_version: Any,
28978        catalog: Any,
28979        authentication_type: Union[str, "PrestoAuthenticationType"],
28980        additional_properties: Optional[Dict[str, Any]] = None,
28981        connect_via: Optional["IntegrationRuntimeReference"] = None,
28982        description: Optional[str] = None,
28983        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
28984        annotations: Optional[List[Any]] = None,
28985        port: Optional[Any] = None,
28986        username: Optional[Any] = None,
28987        password: Optional["SecretBase"] = None,
28988        enable_ssl: Optional[Any] = None,
28989        trusted_cert_path: Optional[Any] = None,
28990        use_system_trust_store: Optional[Any] = None,
28991        allow_host_name_cn_mismatch: Optional[Any] = None,
28992        allow_self_signed_server_cert: Optional[Any] = None,
28993        time_zone_id: Optional[Any] = None,
28994        encrypted_credential: Optional[Any] = None,
28995        **kwargs
28996    ):
28997        super(PrestoLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
28998        self.type = 'Presto'  # type: str
28999        self.host = host
29000        self.server_version = server_version
29001        self.catalog = catalog
29002        self.port = port
29003        self.authentication_type = authentication_type
29004        self.username = username
29005        self.password = password
29006        self.enable_ssl = enable_ssl
29007        self.trusted_cert_path = trusted_cert_path
29008        self.use_system_trust_store = use_system_trust_store
29009        self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch
29010        self.allow_self_signed_server_cert = allow_self_signed_server_cert
29011        self.time_zone_id = time_zone_id
29012        self.encrypted_credential = encrypted_credential
29013
29014
29015class PrestoObjectDataset(Dataset):
29016    """Presto server dataset.
29017
29018    All required parameters must be populated in order to send to Azure.
29019
29020    :param additional_properties: Unmatched properties from the message are deserialized to this
29021     collection.
29022    :type additional_properties: dict[str, any]
29023    :param type: Required. Type of dataset.Constant filled by server.
29024    :type type: str
29025    :param description: Dataset description.
29026    :type description: str
29027    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
29028     with resultType array), itemType: DatasetDataElement.
29029    :type structure: any
29030    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
29031     Expression with resultType array), itemType: DatasetSchemaDataElement.
29032    :type schema: any
29033    :param linked_service_name: Required. Linked service reference.
29034    :type linked_service_name:
29035     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
29036    :param parameters: Parameters for dataset.
29037    :type parameters: dict[str,
29038     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
29039    :param annotations: List of tags that can be used for describing the Dataset.
29040    :type annotations: list[any]
29041    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
29042     root level.
29043    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
29044    :param table_name: This property will be retired. Please consider using schema + table
29045     properties instead.
29046    :type table_name: any
29047    :param table: The table name of the Presto. Type: string (or Expression with resultType
29048     string).
29049    :type table: any
29050    :param schema_type_properties_schema: The schema name of the Presto. Type: string (or
29051     Expression with resultType string).
29052    :type schema_type_properties_schema: any
29053    """
29054
29055    _validation = {
29056        'type': {'required': True},
29057        'linked_service_name': {'required': True},
29058    }
29059
29060    _attribute_map = {
29061        'additional_properties': {'key': '', 'type': '{object}'},
29062        'type': {'key': 'type', 'type': 'str'},
29063        'description': {'key': 'description', 'type': 'str'},
29064        'structure': {'key': 'structure', 'type': 'object'},
29065        'schema': {'key': 'schema', 'type': 'object'},
29066        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
29067        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
29068        'annotations': {'key': 'annotations', 'type': '[object]'},
29069        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
29070        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
29071        'table': {'key': 'typeProperties.table', 'type': 'object'},
29072        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
29073    }
29074
29075    def __init__(
29076        self,
29077        *,
29078        linked_service_name: "LinkedServiceReference",
29079        additional_properties: Optional[Dict[str, Any]] = None,
29080        description: Optional[str] = None,
29081        structure: Optional[Any] = None,
29082        schema: Optional[Any] = None,
29083        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
29084        annotations: Optional[List[Any]] = None,
29085        folder: Optional["DatasetFolder"] = None,
29086        table_name: Optional[Any] = None,
29087        table: Optional[Any] = None,
29088        schema_type_properties_schema: Optional[Any] = None,
29089        **kwargs
29090    ):
29091        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)
29092        self.type = 'PrestoObject'  # type: str
29093        self.table_name = table_name
29094        self.table = table
29095        self.schema_type_properties_schema = schema_type_properties_schema
29096
29097
29098class PrestoSource(TabularSource):
29099    """A copy activity Presto server source.
29100
29101    All required parameters must be populated in order to send to Azure.
29102
29103    :param additional_properties: Unmatched properties from the message are deserialized to this
29104     collection.
29105    :type additional_properties: dict[str, any]
29106    :param type: Required. Copy source type.Constant filled by server.
29107    :type type: str
29108    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
29109     integer).
29110    :type source_retry_count: any
29111    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
29112     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
29113    :type source_retry_wait: any
29114    :param max_concurrent_connections: The maximum concurrent connection count for the source data
29115     store. Type: integer (or Expression with resultType integer).
29116    :type max_concurrent_connections: any
29117    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
29118     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
29119    :type query_timeout: any
29120    :param additional_columns: Specifies the additional columns to be added to source data. Type:
29121     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
29122    :type additional_columns: any
29123    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
29124     string).
29125    :type query: any
29126    """
29127
29128    _validation = {
29129        'type': {'required': True},
29130    }
29131
29132    _attribute_map = {
29133        'additional_properties': {'key': '', 'type': '{object}'},
29134        'type': {'key': 'type', 'type': 'str'},
29135        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
29136        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
29137        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
29138        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
29139        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
29140        'query': {'key': 'query', 'type': 'object'},
29141    }
29142
29143    def __init__(
29144        self,
29145        *,
29146        additional_properties: Optional[Dict[str, Any]] = None,
29147        source_retry_count: Optional[Any] = None,
29148        source_retry_wait: Optional[Any] = None,
29149        max_concurrent_connections: Optional[Any] = None,
29150        query_timeout: Optional[Any] = None,
29151        additional_columns: Optional[Any] = None,
29152        query: Optional[Any] = None,
29153        **kwargs
29154    ):
29155        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)
29156        self.type = 'PrestoSource'  # type: str
29157        self.query = query
29158
29159
29160class PrivateEndpoint(msrest.serialization.Model):
29161    """Private endpoint details.
29162
29163    Variables are only populated by the server, and will be ignored when sending a request.
29164
29165    :ivar id: Resource id of the private endpoint.
29166    :vartype id: str
29167    """
29168
29169    _validation = {
29170        'id': {'readonly': True},
29171    }
29172
29173    _attribute_map = {
29174        'id': {'key': 'id', 'type': 'str'},
29175    }
29176
29177    def __init__(
29178        self,
29179        **kwargs
29180    ):
29181        super(PrivateEndpoint, self).__init__(**kwargs)
29182        self.id = None
29183
29184
29185class ProxyResource(Resource):
29186    """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location.
29187
29188    Variables are only populated by the server, and will be ignored when sending a request.
29189
29190    :ivar id: Fully qualified resource ID for the resource. Ex -
29191     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
29192    :vartype id: str
29193    :ivar name: The name of the resource.
29194    :vartype name: str
29195    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
29196     "Microsoft.Storage/storageAccounts".
29197    :vartype type: str
29198    """
29199
29200    _validation = {
29201        'id': {'readonly': True},
29202        'name': {'readonly': True},
29203        'type': {'readonly': True},
29204    }
29205
29206    _attribute_map = {
29207        'id': {'key': 'id', 'type': 'str'},
29208        'name': {'key': 'name', 'type': 'str'},
29209        'type': {'key': 'type', 'type': 'str'},
29210    }
29211
29212    def __init__(
29213        self,
29214        **kwargs
29215    ):
29216        super(ProxyResource, self).__init__(**kwargs)
29217
29218
29219class PrivateEndpointConnection(ProxyResource):
29220    """A private endpoint connection.
29221
29222    Variables are only populated by the server, and will be ignored when sending a request.
29223
29224    :ivar id: Fully qualified resource ID for the resource. Ex -
29225     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
29226    :vartype id: str
29227    :ivar name: The name of the resource.
29228    :vartype name: str
29229    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
29230     "Microsoft.Storage/storageAccounts".
29231    :vartype type: str
29232    :param private_endpoint: The private endpoint which the connection belongs to.
29233    :type private_endpoint: ~azure.synapse.artifacts.v2021_06_01_preview.models.PrivateEndpoint
29234    :param private_link_service_connection_state: Connection state of the private endpoint
29235     connection.
29236    :type private_link_service_connection_state:
29237     ~azure.synapse.artifacts.v2021_06_01_preview.models.PrivateLinkServiceConnectionState
29238    :ivar provisioning_state: Provisioning state of the private endpoint connection.
29239    :vartype provisioning_state: str
29240    """
29241
29242    _validation = {
29243        'id': {'readonly': True},
29244        'name': {'readonly': True},
29245        'type': {'readonly': True},
29246        'provisioning_state': {'readonly': True},
29247    }
29248
29249    _attribute_map = {
29250        'id': {'key': 'id', 'type': 'str'},
29251        'name': {'key': 'name', 'type': 'str'},
29252        'type': {'key': 'type', 'type': 'str'},
29253        'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'},
29254        'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'},
29255        'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
29256    }
29257
29258    def __init__(
29259        self,
29260        *,
29261        private_endpoint: Optional["PrivateEndpoint"] = None,
29262        private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None,
29263        **kwargs
29264    ):
29265        super(PrivateEndpointConnection, self).__init__(**kwargs)
29266        self.private_endpoint = private_endpoint
29267        self.private_link_service_connection_state = private_link_service_connection_state
29268        self.provisioning_state = None
29269
29270
29271class PrivateLinkServiceConnectionState(msrest.serialization.Model):
29272    """Connection state details of the private endpoint.
29273
29274    Variables are only populated by the server, and will be ignored when sending a request.
29275
29276    :param status: The private link service connection status.
29277    :type status: str
29278    :param description: The private link service connection description.
29279    :type description: str
29280    :ivar actions_required: The actions required for private link service connection.
29281    :vartype actions_required: str
29282    """
29283
29284    _validation = {
29285        'actions_required': {'readonly': True},
29286    }
29287
29288    _attribute_map = {
29289        'status': {'key': 'status', 'type': 'str'},
29290        'description': {'key': 'description', 'type': 'str'},
29291        'actions_required': {'key': 'actionsRequired', 'type': 'str'},
29292    }
29293
29294    def __init__(
29295        self,
29296        *,
29297        status: Optional[str] = None,
29298        description: Optional[str] = None,
29299        **kwargs
29300    ):
29301        super(PrivateLinkServiceConnectionState, self).__init__(**kwargs)
29302        self.status = status
29303        self.description = description
29304        self.actions_required = None
29305
29306
29307class PurviewConfiguration(msrest.serialization.Model):
29308    """Purview Configuration.
29309
29310    :param purview_resource_id: Purview Resource ID.
29311    :type purview_resource_id: str
29312    """
29313
29314    _attribute_map = {
29315        'purview_resource_id': {'key': 'purviewResourceId', 'type': 'str'},
29316    }
29317
29318    def __init__(
29319        self,
29320        *,
29321        purview_resource_id: Optional[str] = None,
29322        **kwargs
29323    ):
29324        super(PurviewConfiguration, self).__init__(**kwargs)
29325        self.purview_resource_id = purview_resource_id
29326
29327
29328class QueryDataFlowDebugSessionsResponse(msrest.serialization.Model):
29329    """A list of active debug sessions.
29330
29331    :param value: Array with all active debug sessions.
29332    :type value: list[~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowDebugSessionInfo]
29333    :param next_link: The link to the next page of results, if any remaining results exist.
29334    :type next_link: str
29335    """
29336
29337    _attribute_map = {
29338        'value': {'key': 'value', 'type': '[DataFlowDebugSessionInfo]'},
29339        'next_link': {'key': 'nextLink', 'type': 'str'},
29340    }
29341
29342    def __init__(
29343        self,
29344        *,
29345        value: Optional[List["DataFlowDebugSessionInfo"]] = None,
29346        next_link: Optional[str] = None,
29347        **kwargs
29348    ):
29349        super(QueryDataFlowDebugSessionsResponse, self).__init__(**kwargs)
29350        self.value = value
29351        self.next_link = next_link
29352
29353
29354class QuickBooksLinkedService(LinkedService):
29355    """QuickBooks server linked service.
29356
29357    All required parameters must be populated in order to send to Azure.
29358
29359    :param additional_properties: Unmatched properties from the message are deserialized to this
29360     collection.
29361    :type additional_properties: dict[str, any]
29362    :param type: Required. Type of linked service.Constant filled by server.
29363    :type type: str
29364    :param connect_via: The integration runtime reference.
29365    :type connect_via:
29366     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
29367    :param description: Linked service description.
29368    :type description: str
29369    :param parameters: Parameters for linked service.
29370    :type parameters: dict[str,
29371     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
29372    :param annotations: List of tags that can be used for describing the linked service.
29373    :type annotations: list[any]
29374    :param connection_properties: Properties used to connect to QuickBooks. It is mutually
29375     exclusive with any other properties in the linked service. Type: object.
29376    :type connection_properties: any
29377    :param endpoint: Required. The endpoint of the QuickBooks server. (i.e.
29378     quickbooks.api.intuit.com).
29379    :type endpoint: any
29380    :param company_id: Required. The company ID of the QuickBooks company to authorize.
29381    :type company_id: any
29382    :param consumer_key: Required. The consumer key for OAuth 1.0 authentication.
29383    :type consumer_key: any
29384    :param consumer_secret: Required. The consumer secret for OAuth 1.0 authentication.
29385    :type consumer_secret: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
29386    :param access_token: Required. The access token for OAuth 1.0 authentication.
29387    :type access_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
29388    :param access_token_secret: Required. The access token secret for OAuth 1.0 authentication.
29389    :type access_token_secret: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
29390    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
29391     HTTPS. The default value is true.
29392    :type use_encrypted_endpoints: any
29393    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
29394     encrypted using the integration runtime credential manager. Type: string (or Expression with
29395     resultType string).
29396    :type encrypted_credential: any
29397    """
29398
29399    _validation = {
29400        'type': {'required': True},
29401        'endpoint': {'required': True},
29402        'company_id': {'required': True},
29403        'consumer_key': {'required': True},
29404        'consumer_secret': {'required': True},
29405        'access_token': {'required': True},
29406        'access_token_secret': {'required': True},
29407    }
29408
29409    _attribute_map = {
29410        'additional_properties': {'key': '', 'type': '{object}'},
29411        'type': {'key': 'type', 'type': 'str'},
29412        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
29413        'description': {'key': 'description', 'type': 'str'},
29414        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
29415        'annotations': {'key': 'annotations', 'type': '[object]'},
29416        'connection_properties': {'key': 'typeProperties.connectionProperties', 'type': 'object'},
29417        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
29418        'company_id': {'key': 'typeProperties.companyId', 'type': 'object'},
29419        'consumer_key': {'key': 'typeProperties.consumerKey', 'type': 'object'},
29420        'consumer_secret': {'key': 'typeProperties.consumerSecret', 'type': 'SecretBase'},
29421        'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'},
29422        'access_token_secret': {'key': 'typeProperties.accessTokenSecret', 'type': 'SecretBase'},
29423        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
29424        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
29425    }
29426
29427    def __init__(
29428        self,
29429        *,
29430        endpoint: Any,
29431        company_id: Any,
29432        consumer_key: Any,
29433        consumer_secret: "SecretBase",
29434        access_token: "SecretBase",
29435        access_token_secret: "SecretBase",
29436        additional_properties: Optional[Dict[str, Any]] = None,
29437        connect_via: Optional["IntegrationRuntimeReference"] = None,
29438        description: Optional[str] = None,
29439        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
29440        annotations: Optional[List[Any]] = None,
29441        connection_properties: Optional[Any] = None,
29442        use_encrypted_endpoints: Optional[Any] = None,
29443        encrypted_credential: Optional[Any] = None,
29444        **kwargs
29445    ):
29446        super(QuickBooksLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
29447        self.type = 'QuickBooks'  # type: str
29448        self.connection_properties = connection_properties
29449        self.endpoint = endpoint
29450        self.company_id = company_id
29451        self.consumer_key = consumer_key
29452        self.consumer_secret = consumer_secret
29453        self.access_token = access_token
29454        self.access_token_secret = access_token_secret
29455        self.use_encrypted_endpoints = use_encrypted_endpoints
29456        self.encrypted_credential = encrypted_credential
29457
29458
29459class QuickBooksObjectDataset(Dataset):
29460    """QuickBooks server dataset.
29461
29462    All required parameters must be populated in order to send to Azure.
29463
29464    :param additional_properties: Unmatched properties from the message are deserialized to this
29465     collection.
29466    :type additional_properties: dict[str, any]
29467    :param type: Required. Type of dataset.Constant filled by server.
29468    :type type: str
29469    :param description: Dataset description.
29470    :type description: str
29471    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
29472     with resultType array), itemType: DatasetDataElement.
29473    :type structure: any
29474    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
29475     Expression with resultType array), itemType: DatasetSchemaDataElement.
29476    :type schema: any
29477    :param linked_service_name: Required. Linked service reference.
29478    :type linked_service_name:
29479     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
29480    :param parameters: Parameters for dataset.
29481    :type parameters: dict[str,
29482     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
29483    :param annotations: List of tags that can be used for describing the Dataset.
29484    :type annotations: list[any]
29485    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
29486     root level.
29487    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
29488    :param table_name: The table name. Type: string (or Expression with resultType string).
29489    :type table_name: any
29490    """
29491
29492    _validation = {
29493        'type': {'required': True},
29494        'linked_service_name': {'required': True},
29495    }
29496
29497    _attribute_map = {
29498        'additional_properties': {'key': '', 'type': '{object}'},
29499        'type': {'key': 'type', 'type': 'str'},
29500        'description': {'key': 'description', 'type': 'str'},
29501        'structure': {'key': 'structure', 'type': 'object'},
29502        'schema': {'key': 'schema', 'type': 'object'},
29503        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
29504        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
29505        'annotations': {'key': 'annotations', 'type': '[object]'},
29506        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
29507        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
29508    }
29509
29510    def __init__(
29511        self,
29512        *,
29513        linked_service_name: "LinkedServiceReference",
29514        additional_properties: Optional[Dict[str, Any]] = None,
29515        description: Optional[str] = None,
29516        structure: Optional[Any] = None,
29517        schema: Optional[Any] = None,
29518        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
29519        annotations: Optional[List[Any]] = None,
29520        folder: Optional["DatasetFolder"] = None,
29521        table_name: Optional[Any] = None,
29522        **kwargs
29523    ):
29524        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)
29525        self.type = 'QuickBooksObject'  # type: str
29526        self.table_name = table_name
29527
29528
29529class QuickBooksSource(TabularSource):
29530    """A copy activity QuickBooks server source.
29531
29532    All required parameters must be populated in order to send to Azure.
29533
29534    :param additional_properties: Unmatched properties from the message are deserialized to this
29535     collection.
29536    :type additional_properties: dict[str, any]
29537    :param type: Required. Copy source type.Constant filled by server.
29538    :type type: str
29539    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
29540     integer).
29541    :type source_retry_count: any
29542    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
29543     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
29544    :type source_retry_wait: any
29545    :param max_concurrent_connections: The maximum concurrent connection count for the source data
29546     store. Type: integer (or Expression with resultType integer).
29547    :type max_concurrent_connections: any
29548    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
29549     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
29550    :type query_timeout: any
29551    :param additional_columns: Specifies the additional columns to be added to source data. Type:
29552     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
29553    :type additional_columns: any
29554    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
29555     string).
29556    :type query: any
29557    """
29558
29559    _validation = {
29560        'type': {'required': True},
29561    }
29562
29563    _attribute_map = {
29564        'additional_properties': {'key': '', 'type': '{object}'},
29565        'type': {'key': 'type', 'type': 'str'},
29566        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
29567        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
29568        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
29569        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
29570        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
29571        'query': {'key': 'query', 'type': 'object'},
29572    }
29573
29574    def __init__(
29575        self,
29576        *,
29577        additional_properties: Optional[Dict[str, Any]] = None,
29578        source_retry_count: Optional[Any] = None,
29579        source_retry_wait: Optional[Any] = None,
29580        max_concurrent_connections: Optional[Any] = None,
29581        query_timeout: Optional[Any] = None,
29582        additional_columns: Optional[Any] = None,
29583        query: Optional[Any] = None,
29584        **kwargs
29585    ):
29586        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)
29587        self.type = 'QuickBooksSource'  # type: str
29588        self.query = query
29589
29590
29591class RecurrenceSchedule(msrest.serialization.Model):
29592    """The recurrence schedule.
29593
29594    :param additional_properties: Unmatched properties from the message are deserialized to this
29595     collection.
29596    :type additional_properties: dict[str, any]
29597    :param minutes: The minutes.
29598    :type minutes: list[int]
29599    :param hours: The hours.
29600    :type hours: list[int]
29601    :param week_days: The days of the week.
29602    :type week_days: list[str or ~azure.synapse.artifacts.v2021_06_01_preview.models.DayOfWeek]
29603    :param month_days: The month days.
29604    :type month_days: list[int]
29605    :param monthly_occurrences: The monthly occurrences.
29606    :type monthly_occurrences:
29607     list[~azure.synapse.artifacts.v2021_06_01_preview.models.RecurrenceScheduleOccurrence]
29608    """
29609
29610    _attribute_map = {
29611        'additional_properties': {'key': '', 'type': '{object}'},
29612        'minutes': {'key': 'minutes', 'type': '[int]'},
29613        'hours': {'key': 'hours', 'type': '[int]'},
29614        'week_days': {'key': 'weekDays', 'type': '[str]'},
29615        'month_days': {'key': 'monthDays', 'type': '[int]'},
29616        'monthly_occurrences': {'key': 'monthlyOccurrences', 'type': '[RecurrenceScheduleOccurrence]'},
29617    }
29618
29619    def __init__(
29620        self,
29621        *,
29622        additional_properties: Optional[Dict[str, Any]] = None,
29623        minutes: Optional[List[int]] = None,
29624        hours: Optional[List[int]] = None,
29625        week_days: Optional[List[Union[str, "DayOfWeek"]]] = None,
29626        month_days: Optional[List[int]] = None,
29627        monthly_occurrences: Optional[List["RecurrenceScheduleOccurrence"]] = None,
29628        **kwargs
29629    ):
29630        super(RecurrenceSchedule, self).__init__(**kwargs)
29631        self.additional_properties = additional_properties
29632        self.minutes = minutes
29633        self.hours = hours
29634        self.week_days = week_days
29635        self.month_days = month_days
29636        self.monthly_occurrences = monthly_occurrences
29637
29638
29639class RecurrenceScheduleOccurrence(msrest.serialization.Model):
29640    """The recurrence schedule occurrence.
29641
29642    :param additional_properties: Unmatched properties from the message are deserialized to this
29643     collection.
29644    :type additional_properties: dict[str, any]
29645    :param day: The day of the week. Possible values include: "Sunday", "Monday", "Tuesday",
29646     "Wednesday", "Thursday", "Friday", "Saturday".
29647    :type day: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.DayOfWeek
29648    :param occurrence: The occurrence.
29649    :type occurrence: int
29650    """
29651
29652    _attribute_map = {
29653        'additional_properties': {'key': '', 'type': '{object}'},
29654        'day': {'key': 'day', 'type': 'str'},
29655        'occurrence': {'key': 'occurrence', 'type': 'int'},
29656    }
29657
29658    def __init__(
29659        self,
29660        *,
29661        additional_properties: Optional[Dict[str, Any]] = None,
29662        day: Optional[Union[str, "DayOfWeek"]] = None,
29663        occurrence: Optional[int] = None,
29664        **kwargs
29665    ):
29666        super(RecurrenceScheduleOccurrence, self).__init__(**kwargs)
29667        self.additional_properties = additional_properties
29668        self.day = day
29669        self.occurrence = occurrence
29670
29671
29672class RedirectIncompatibleRowSettings(msrest.serialization.Model):
29673    """Redirect incompatible row settings.
29674
29675    All required parameters must be populated in order to send to Azure.
29676
29677    :param additional_properties: Unmatched properties from the message are deserialized to this
29678     collection.
29679    :type additional_properties: dict[str, any]
29680    :param linked_service_name: Required. Name of the Azure Storage, Storage SAS, or Azure Data
29681     Lake Store linked service used for redirecting incompatible row. Must be specified if
29682     redirectIncompatibleRowSettings is specified. Type: string (or Expression with resultType
29683     string).
29684    :type linked_service_name: any
29685    :param path: The path for storing the redirect incompatible row data. Type: string (or
29686     Expression with resultType string).
29687    :type path: any
29688    """
29689
29690    _validation = {
29691        'linked_service_name': {'required': True},
29692    }
29693
29694    _attribute_map = {
29695        'additional_properties': {'key': '', 'type': '{object}'},
29696        'linked_service_name': {'key': 'linkedServiceName', 'type': 'object'},
29697        'path': {'key': 'path', 'type': 'object'},
29698    }
29699
29700    def __init__(
29701        self,
29702        *,
29703        linked_service_name: Any,
29704        additional_properties: Optional[Dict[str, Any]] = None,
29705        path: Optional[Any] = None,
29706        **kwargs
29707    ):
29708        super(RedirectIncompatibleRowSettings, self).__init__(**kwargs)
29709        self.additional_properties = additional_properties
29710        self.linked_service_name = linked_service_name
29711        self.path = path
29712
29713
29714class RedshiftUnloadSettings(msrest.serialization.Model):
29715    """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.
29716
29717    All required parameters must be populated in order to send to Azure.
29718
29719    :param s3_linked_service_name: Required. The name of the Amazon S3 linked service which will be
29720     used for the unload operation when copying from the Amazon Redshift source.
29721    :type s3_linked_service_name:
29722     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
29723    :param bucket_name: Required. The bucket of the interim Amazon S3 which will be used to store
29724     the unloaded data from Amazon Redshift source. The bucket must be in the same region as the
29725     Amazon Redshift source. Type: string (or Expression with resultType string).
29726    :type bucket_name: any
29727    """
29728
29729    _validation = {
29730        's3_linked_service_name': {'required': True},
29731        'bucket_name': {'required': True},
29732    }
29733
29734    _attribute_map = {
29735        's3_linked_service_name': {'key': 's3LinkedServiceName', 'type': 'LinkedServiceReference'},
29736        'bucket_name': {'key': 'bucketName', 'type': 'object'},
29737    }
29738
29739    def __init__(
29740        self,
29741        *,
29742        s3_linked_service_name: "LinkedServiceReference",
29743        bucket_name: Any,
29744        **kwargs
29745    ):
29746        super(RedshiftUnloadSettings, self).__init__(**kwargs)
29747        self.s3_linked_service_name = s3_linked_service_name
29748        self.bucket_name = bucket_name
29749
29750
29751class RelationalSource(CopySource):
29752    """A copy activity source for various relational databases.
29753
29754    All required parameters must be populated in order to send to Azure.
29755
29756    :param additional_properties: Unmatched properties from the message are deserialized to this
29757     collection.
29758    :type additional_properties: dict[str, any]
29759    :param type: Required. Copy source type.Constant filled by server.
29760    :type type: str
29761    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
29762     integer).
29763    :type source_retry_count: any
29764    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
29765     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
29766    :type source_retry_wait: any
29767    :param max_concurrent_connections: The maximum concurrent connection count for the source data
29768     store. Type: integer (or Expression with resultType integer).
29769    :type max_concurrent_connections: any
29770    :param query: Database query. Type: string (or Expression with resultType string).
29771    :type query: any
29772    :param additional_columns: Specifies the additional columns to be added to source data. Type:
29773     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
29774    :type additional_columns: any
29775    """
29776
29777    _validation = {
29778        'type': {'required': True},
29779    }
29780
29781    _attribute_map = {
29782        'additional_properties': {'key': '', 'type': '{object}'},
29783        'type': {'key': 'type', 'type': 'str'},
29784        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
29785        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
29786        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
29787        'query': {'key': 'query', 'type': 'object'},
29788        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
29789    }
29790
29791    def __init__(
29792        self,
29793        *,
29794        additional_properties: Optional[Dict[str, Any]] = None,
29795        source_retry_count: Optional[Any] = None,
29796        source_retry_wait: Optional[Any] = None,
29797        max_concurrent_connections: Optional[Any] = None,
29798        query: Optional[Any] = None,
29799        additional_columns: Optional[Any] = None,
29800        **kwargs
29801    ):
29802        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)
29803        self.type = 'RelationalSource'  # type: str
29804        self.query = query
29805        self.additional_columns = additional_columns
29806
29807
29808class RelationalTableDataset(Dataset):
29809    """The relational table dataset.
29810
29811    All required parameters must be populated in order to send to Azure.
29812
29813    :param additional_properties: Unmatched properties from the message are deserialized to this
29814     collection.
29815    :type additional_properties: dict[str, any]
29816    :param type: Required. Type of dataset.Constant filled by server.
29817    :type type: str
29818    :param description: Dataset description.
29819    :type description: str
29820    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
29821     with resultType array), itemType: DatasetDataElement.
29822    :type structure: any
29823    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
29824     Expression with resultType array), itemType: DatasetSchemaDataElement.
29825    :type schema: any
29826    :param linked_service_name: Required. Linked service reference.
29827    :type linked_service_name:
29828     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
29829    :param parameters: Parameters for dataset.
29830    :type parameters: dict[str,
29831     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
29832    :param annotations: List of tags that can be used for describing the Dataset.
29833    :type annotations: list[any]
29834    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
29835     root level.
29836    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
29837    :param table_name: The relational table name. Type: string (or Expression with resultType
29838     string).
29839    :type table_name: any
29840    """
29841
29842    _validation = {
29843        'type': {'required': True},
29844        'linked_service_name': {'required': True},
29845    }
29846
29847    _attribute_map = {
29848        'additional_properties': {'key': '', 'type': '{object}'},
29849        'type': {'key': 'type', 'type': 'str'},
29850        'description': {'key': 'description', 'type': 'str'},
29851        'structure': {'key': 'structure', 'type': 'object'},
29852        'schema': {'key': 'schema', 'type': 'object'},
29853        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
29854        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
29855        'annotations': {'key': 'annotations', 'type': '[object]'},
29856        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
29857        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
29858    }
29859
29860    def __init__(
29861        self,
29862        *,
29863        linked_service_name: "LinkedServiceReference",
29864        additional_properties: Optional[Dict[str, Any]] = None,
29865        description: Optional[str] = None,
29866        structure: Optional[Any] = None,
29867        schema: Optional[Any] = None,
29868        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
29869        annotations: Optional[List[Any]] = None,
29870        folder: Optional["DatasetFolder"] = None,
29871        table_name: Optional[Any] = None,
29872        **kwargs
29873    ):
29874        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)
29875        self.type = 'RelationalTable'  # type: str
29876        self.table_name = table_name
29877
29878
29879class RerunTriggerListResponse(msrest.serialization.Model):
29880    """A list of rerun triggers.
29881
29882    Variables are only populated by the server, and will be ignored when sending a request.
29883
29884    All required parameters must be populated in order to send to Azure.
29885
29886    :param value: Required. List of rerun triggers.
29887    :type value: list[~azure.synapse.artifacts.v2021_06_01_preview.models.RerunTriggerResource]
29888    :ivar next_link: The continuation token for getting the next page of results, if any remaining
29889     results exist, null otherwise.
29890    :vartype next_link: str
29891    """
29892
29893    _validation = {
29894        'value': {'required': True},
29895        'next_link': {'readonly': True},
29896    }
29897
29898    _attribute_map = {
29899        'value': {'key': 'value', 'type': '[RerunTriggerResource]'},
29900        'next_link': {'key': 'nextLink', 'type': 'str'},
29901    }
29902
29903    def __init__(
29904        self,
29905        *,
29906        value: List["RerunTriggerResource"],
29907        **kwargs
29908    ):
29909        super(RerunTriggerListResponse, self).__init__(**kwargs)
29910        self.value = value
29911        self.next_link = None
29912
29913
29914class RerunTriggerResource(SubResource):
29915    """RerunTrigger resource type.
29916
29917    Variables are only populated by the server, and will be ignored when sending a request.
29918
29919    All required parameters must be populated in order to send to Azure.
29920
29921    :ivar id: Fully qualified resource ID for the resource. Ex -
29922     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
29923    :vartype id: str
29924    :ivar name: The name of the resource.
29925    :vartype name: str
29926    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
29927     "Microsoft.Storage/storageAccounts".
29928    :vartype type: str
29929    :ivar etag: Resource Etag.
29930    :vartype etag: str
29931    :param properties: Required. Properties of the rerun trigger.
29932    :type properties:
29933     ~azure.synapse.artifacts.v2021_06_01_preview.models.RerunTumblingWindowTrigger
29934    """
29935
29936    _validation = {
29937        'id': {'readonly': True},
29938        'name': {'readonly': True},
29939        'type': {'readonly': True},
29940        'etag': {'readonly': True},
29941        'properties': {'required': True},
29942    }
29943
29944    _attribute_map = {
29945        'id': {'key': 'id', 'type': 'str'},
29946        'name': {'key': 'name', 'type': 'str'},
29947        'type': {'key': 'type', 'type': 'str'},
29948        'etag': {'key': 'etag', 'type': 'str'},
29949        'properties': {'key': 'properties', 'type': 'RerunTumblingWindowTrigger'},
29950    }
29951
29952    def __init__(
29953        self,
29954        *,
29955        properties: "RerunTumblingWindowTrigger",
29956        **kwargs
29957    ):
29958        super(RerunTriggerResource, self).__init__(**kwargs)
29959        self.properties = properties
29960
29961
29962class RerunTumblingWindowTrigger(Trigger):
29963    """Trigger that schedules pipeline reruns for all fixed time interval windows from a requested start time to requested end time.
29964
29965    Variables are only populated by the server, and will be ignored when sending a request.
29966
29967    All required parameters must be populated in order to send to Azure.
29968
29969    :param additional_properties: Unmatched properties from the message are deserialized to this
29970     collection.
29971    :type additional_properties: dict[str, any]
29972    :param type: Required. Trigger type.Constant filled by server.
29973    :type type: str
29974    :param description: Trigger description.
29975    :type description: str
29976    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
29977     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
29978    :vartype runtime_state: str or
29979     ~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerRuntimeState
29980    :param annotations: List of tags that can be used for describing the trigger.
29981    :type annotations: list[any]
29982    :param parent_trigger: Required. The parent trigger reference.
29983    :type parent_trigger: any
29984    :param requested_start_time: Required. The start time for the time period for which restatement
29985     is initiated. Only UTC time is currently supported.
29986    :type requested_start_time: ~datetime.datetime
29987    :param requested_end_time: Required. The end time for the time period for which restatement is
29988     initiated. Only UTC time is currently supported.
29989    :type requested_end_time: ~datetime.datetime
29990    :param rerun_concurrency: Required. The max number of parallel time windows (ready for
29991     execution) for which a rerun is triggered.
29992    :type rerun_concurrency: int
29993    """
29994
29995    _validation = {
29996        'type': {'required': True},
29997        'runtime_state': {'readonly': True},
29998        'parent_trigger': {'required': True},
29999        'requested_start_time': {'required': True},
30000        'requested_end_time': {'required': True},
30001        'rerun_concurrency': {'required': True, 'maximum': 50, 'minimum': 1},
30002    }
30003
30004    _attribute_map = {
30005        'additional_properties': {'key': '', 'type': '{object}'},
30006        'type': {'key': 'type', 'type': 'str'},
30007        'description': {'key': 'description', 'type': 'str'},
30008        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
30009        'annotations': {'key': 'annotations', 'type': '[object]'},
30010        'parent_trigger': {'key': 'typeProperties.parentTrigger', 'type': 'object'},
30011        'requested_start_time': {'key': 'typeProperties.requestedStartTime', 'type': 'iso-8601'},
30012        'requested_end_time': {'key': 'typeProperties.requestedEndTime', 'type': 'iso-8601'},
30013        'rerun_concurrency': {'key': 'typeProperties.rerunConcurrency', 'type': 'int'},
30014    }
30015
30016    def __init__(
30017        self,
30018        *,
30019        parent_trigger: Any,
30020        requested_start_time: datetime.datetime,
30021        requested_end_time: datetime.datetime,
30022        rerun_concurrency: int,
30023        additional_properties: Optional[Dict[str, Any]] = None,
30024        description: Optional[str] = None,
30025        annotations: Optional[List[Any]] = None,
30026        **kwargs
30027    ):
30028        super(RerunTumblingWindowTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, **kwargs)
30029        self.type = 'RerunTumblingWindowTrigger'  # type: str
30030        self.parent_trigger = parent_trigger
30031        self.requested_start_time = requested_start_time
30032        self.requested_end_time = requested_end_time
30033        self.rerun_concurrency = rerun_concurrency
30034
30035
30036class RerunTumblingWindowTriggerActionParameters(msrest.serialization.Model):
30037    """Rerun tumbling window trigger Parameters.
30038
30039    All required parameters must be populated in order to send to Azure.
30040
30041    :param start_time: Required. The start time for the time period for which restatement is
30042     initiated. Only UTC time is currently supported.
30043    :type start_time: ~datetime.datetime
30044    :param end_time: Required. The end time for the time period for which restatement is initiated.
30045     Only UTC time is currently supported.
30046    :type end_time: ~datetime.datetime
30047    :param max_concurrency: Required. The max number of parallel time windows (ready for execution)
30048     for which a rerun is triggered.
30049    :type max_concurrency: int
30050    """
30051
30052    _validation = {
30053        'start_time': {'required': True},
30054        'end_time': {'required': True},
30055        'max_concurrency': {'required': True, 'maximum': 50, 'minimum': 1},
30056    }
30057
30058    _attribute_map = {
30059        'start_time': {'key': 'startTime', 'type': 'iso-8601'},
30060        'end_time': {'key': 'endTime', 'type': 'iso-8601'},
30061        'max_concurrency': {'key': 'maxConcurrency', 'type': 'int'},
30062    }
30063
30064    def __init__(
30065        self,
30066        *,
30067        start_time: datetime.datetime,
30068        end_time: datetime.datetime,
30069        max_concurrency: int,
30070        **kwargs
30071    ):
30072        super(RerunTumblingWindowTriggerActionParameters, self).__init__(**kwargs)
30073        self.start_time = start_time
30074        self.end_time = end_time
30075        self.max_concurrency = max_concurrency
30076
30077
30078class ResponsysLinkedService(LinkedService):
30079    """Responsys linked service.
30080
30081    All required parameters must be populated in order to send to Azure.
30082
30083    :param additional_properties: Unmatched properties from the message are deserialized to this
30084     collection.
30085    :type additional_properties: dict[str, any]
30086    :param type: Required. Type of linked service.Constant filled by server.
30087    :type type: str
30088    :param connect_via: The integration runtime reference.
30089    :type connect_via:
30090     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
30091    :param description: Linked service description.
30092    :type description: str
30093    :param parameters: Parameters for linked service.
30094    :type parameters: dict[str,
30095     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
30096    :param annotations: List of tags that can be used for describing the linked service.
30097    :type annotations: list[any]
30098    :param endpoint: Required. The endpoint of the Responsys server.
30099    :type endpoint: any
30100    :param client_id: Required. The client ID associated with the Responsys application. Type:
30101     string (or Expression with resultType string).
30102    :type client_id: any
30103    :param client_secret: The client secret associated with the Responsys application. Type: string
30104     (or Expression with resultType string).
30105    :type client_secret: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
30106    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
30107     HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
30108    :type use_encrypted_endpoints: any
30109    :param use_host_verification: Specifies whether to require the host name in the server's
30110     certificate to match the host name of the server when connecting over SSL. The default value is
30111     true. Type: boolean (or Expression with resultType boolean).
30112    :type use_host_verification: any
30113    :param use_peer_verification: Specifies whether to verify the identity of the server when
30114     connecting over SSL. The default value is true. Type: boolean (or Expression with resultType
30115     boolean).
30116    :type use_peer_verification: any
30117    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
30118     encrypted using the integration runtime credential manager. Type: string (or Expression with
30119     resultType string).
30120    :type encrypted_credential: any
30121    """
30122
30123    _validation = {
30124        'type': {'required': True},
30125        'endpoint': {'required': True},
30126        'client_id': {'required': True},
30127    }
30128
30129    _attribute_map = {
30130        'additional_properties': {'key': '', 'type': '{object}'},
30131        'type': {'key': 'type', 'type': 'str'},
30132        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
30133        'description': {'key': 'description', 'type': 'str'},
30134        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
30135        'annotations': {'key': 'annotations', 'type': '[object]'},
30136        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
30137        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
30138        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
30139        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
30140        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
30141        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
30142        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
30143    }
30144
30145    def __init__(
30146        self,
30147        *,
30148        endpoint: Any,
30149        client_id: Any,
30150        additional_properties: Optional[Dict[str, Any]] = None,
30151        connect_via: Optional["IntegrationRuntimeReference"] = None,
30152        description: Optional[str] = None,
30153        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
30154        annotations: Optional[List[Any]] = None,
30155        client_secret: Optional["SecretBase"] = None,
30156        use_encrypted_endpoints: Optional[Any] = None,
30157        use_host_verification: Optional[Any] = None,
30158        use_peer_verification: Optional[Any] = None,
30159        encrypted_credential: Optional[Any] = None,
30160        **kwargs
30161    ):
30162        super(ResponsysLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
30163        self.type = 'Responsys'  # type: str
30164        self.endpoint = endpoint
30165        self.client_id = client_id
30166        self.client_secret = client_secret
30167        self.use_encrypted_endpoints = use_encrypted_endpoints
30168        self.use_host_verification = use_host_verification
30169        self.use_peer_verification = use_peer_verification
30170        self.encrypted_credential = encrypted_credential
30171
30172
30173class ResponsysObjectDataset(Dataset):
30174    """Responsys dataset.
30175
30176    All required parameters must be populated in order to send to Azure.
30177
30178    :param additional_properties: Unmatched properties from the message are deserialized to this
30179     collection.
30180    :type additional_properties: dict[str, any]
30181    :param type: Required. Type of dataset.Constant filled by server.
30182    :type type: str
30183    :param description: Dataset description.
30184    :type description: str
30185    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
30186     with resultType array), itemType: DatasetDataElement.
30187    :type structure: any
30188    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
30189     Expression with resultType array), itemType: DatasetSchemaDataElement.
30190    :type schema: any
30191    :param linked_service_name: Required. Linked service reference.
30192    :type linked_service_name:
30193     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
30194    :param parameters: Parameters for dataset.
30195    :type parameters: dict[str,
30196     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
30197    :param annotations: List of tags that can be used for describing the Dataset.
30198    :type annotations: list[any]
30199    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
30200     root level.
30201    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
30202    :param table_name: The table name. Type: string (or Expression with resultType string).
30203    :type table_name: any
30204    """
30205
30206    _validation = {
30207        'type': {'required': True},
30208        'linked_service_name': {'required': True},
30209    }
30210
30211    _attribute_map = {
30212        'additional_properties': {'key': '', 'type': '{object}'},
30213        'type': {'key': 'type', 'type': 'str'},
30214        'description': {'key': 'description', 'type': 'str'},
30215        'structure': {'key': 'structure', 'type': 'object'},
30216        'schema': {'key': 'schema', 'type': 'object'},
30217        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
30218        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
30219        'annotations': {'key': 'annotations', 'type': '[object]'},
30220        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
30221        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
30222    }
30223
30224    def __init__(
30225        self,
30226        *,
30227        linked_service_name: "LinkedServiceReference",
30228        additional_properties: Optional[Dict[str, Any]] = None,
30229        description: Optional[str] = None,
30230        structure: Optional[Any] = None,
30231        schema: Optional[Any] = None,
30232        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
30233        annotations: Optional[List[Any]] = None,
30234        folder: Optional["DatasetFolder"] = None,
30235        table_name: Optional[Any] = None,
30236        **kwargs
30237    ):
30238        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)
30239        self.type = 'ResponsysObject'  # type: str
30240        self.table_name = table_name
30241
30242
30243class ResponsysSource(TabularSource):
30244    """A copy activity Responsys source.
30245
30246    All required parameters must be populated in order to send to Azure.
30247
30248    :param additional_properties: Unmatched properties from the message are deserialized to this
30249     collection.
30250    :type additional_properties: dict[str, any]
30251    :param type: Required. Copy source type.Constant filled by server.
30252    :type type: str
30253    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
30254     integer).
30255    :type source_retry_count: any
30256    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
30257     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
30258    :type source_retry_wait: any
30259    :param max_concurrent_connections: The maximum concurrent connection count for the source data
30260     store. Type: integer (or Expression with resultType integer).
30261    :type max_concurrent_connections: any
30262    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
30263     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
30264    :type query_timeout: any
30265    :param additional_columns: Specifies the additional columns to be added to source data. Type:
30266     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
30267    :type additional_columns: any
30268    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
30269     string).
30270    :type query: any
30271    """
30272
30273    _validation = {
30274        'type': {'required': True},
30275    }
30276
30277    _attribute_map = {
30278        'additional_properties': {'key': '', 'type': '{object}'},
30279        'type': {'key': 'type', 'type': 'str'},
30280        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
30281        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
30282        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
30283        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
30284        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
30285        'query': {'key': 'query', 'type': 'object'},
30286    }
30287
30288    def __init__(
30289        self,
30290        *,
30291        additional_properties: Optional[Dict[str, Any]] = None,
30292        source_retry_count: Optional[Any] = None,
30293        source_retry_wait: Optional[Any] = None,
30294        max_concurrent_connections: Optional[Any] = None,
30295        query_timeout: Optional[Any] = None,
30296        additional_columns: Optional[Any] = None,
30297        query: Optional[Any] = None,
30298        **kwargs
30299    ):
30300        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)
30301        self.type = 'ResponsysSource'  # type: str
30302        self.query = query
30303
30304
30305class RestResourceDataset(Dataset):
30306    """A Rest service dataset.
30307
30308    All required parameters must be populated in order to send to Azure.
30309
30310    :param additional_properties: Unmatched properties from the message are deserialized to this
30311     collection.
30312    :type additional_properties: dict[str, any]
30313    :param type: Required. Type of dataset.Constant filled by server.
30314    :type type: str
30315    :param description: Dataset description.
30316    :type description: str
30317    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
30318     with resultType array), itemType: DatasetDataElement.
30319    :type structure: any
30320    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
30321     Expression with resultType array), itemType: DatasetSchemaDataElement.
30322    :type schema: any
30323    :param linked_service_name: Required. Linked service reference.
30324    :type linked_service_name:
30325     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
30326    :param parameters: Parameters for dataset.
30327    :type parameters: dict[str,
30328     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
30329    :param annotations: List of tags that can be used for describing the Dataset.
30330    :type annotations: list[any]
30331    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
30332     root level.
30333    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
30334    :param relative_url: The relative URL to the resource that the RESTful API provides. Type:
30335     string (or Expression with resultType string).
30336    :type relative_url: any
30337    :param request_method: The HTTP method used to call the RESTful API. The default is GET. Type:
30338     string (or Expression with resultType string).
30339    :type request_method: any
30340    :param request_body: The HTTP request body to the RESTful API if requestMethod is POST. Type:
30341     string (or Expression with resultType string).
30342    :type request_body: any
30343    :param additional_headers: The additional HTTP headers in the request to the RESTful API. Type:
30344     string (or Expression with resultType string).
30345    :type additional_headers: any
30346    :param pagination_rules: The pagination rules to compose next page requests. Type: string (or
30347     Expression with resultType string).
30348    :type pagination_rules: any
30349    """
30350
30351    _validation = {
30352        'type': {'required': True},
30353        'linked_service_name': {'required': True},
30354    }
30355
30356    _attribute_map = {
30357        'additional_properties': {'key': '', 'type': '{object}'},
30358        'type': {'key': 'type', 'type': 'str'},
30359        'description': {'key': 'description', 'type': 'str'},
30360        'structure': {'key': 'structure', 'type': 'object'},
30361        'schema': {'key': 'schema', 'type': 'object'},
30362        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
30363        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
30364        'annotations': {'key': 'annotations', 'type': '[object]'},
30365        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
30366        'relative_url': {'key': 'typeProperties.relativeUrl', 'type': 'object'},
30367        'request_method': {'key': 'typeProperties.requestMethod', 'type': 'object'},
30368        'request_body': {'key': 'typeProperties.requestBody', 'type': 'object'},
30369        'additional_headers': {'key': 'typeProperties.additionalHeaders', 'type': 'object'},
30370        'pagination_rules': {'key': 'typeProperties.paginationRules', 'type': 'object'},
30371    }
30372
30373    def __init__(
30374        self,
30375        *,
30376        linked_service_name: "LinkedServiceReference",
30377        additional_properties: Optional[Dict[str, Any]] = None,
30378        description: Optional[str] = None,
30379        structure: Optional[Any] = None,
30380        schema: Optional[Any] = None,
30381        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
30382        annotations: Optional[List[Any]] = None,
30383        folder: Optional["DatasetFolder"] = None,
30384        relative_url: Optional[Any] = None,
30385        request_method: Optional[Any] = None,
30386        request_body: Optional[Any] = None,
30387        additional_headers: Optional[Any] = None,
30388        pagination_rules: Optional[Any] = None,
30389        **kwargs
30390    ):
30391        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)
30392        self.type = 'RestResource'  # type: str
30393        self.relative_url = relative_url
30394        self.request_method = request_method
30395        self.request_body = request_body
30396        self.additional_headers = additional_headers
30397        self.pagination_rules = pagination_rules
30398
30399
30400class RestServiceLinkedService(LinkedService):
30401    """Rest Service linked service.
30402
30403    All required parameters must be populated in order to send to Azure.
30404
30405    :param additional_properties: Unmatched properties from the message are deserialized to this
30406     collection.
30407    :type additional_properties: dict[str, any]
30408    :param type: Required. Type of linked service.Constant filled by server.
30409    :type type: str
30410    :param connect_via: The integration runtime reference.
30411    :type connect_via:
30412     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
30413    :param description: Linked service description.
30414    :type description: str
30415    :param parameters: Parameters for linked service.
30416    :type parameters: dict[str,
30417     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
30418    :param annotations: List of tags that can be used for describing the linked service.
30419    :type annotations: list[any]
30420    :param url: Required. The base URL of the REST service.
30421    :type url: any
30422    :param enable_server_certificate_validation: Whether to validate server side SSL certificate
30423     when connecting to the endpoint.The default value is true. Type: boolean (or Expression with
30424     resultType boolean).
30425    :type enable_server_certificate_validation: any
30426    :param authentication_type: Required. Type of authentication used to connect to the REST
30427     service. Possible values include: "Anonymous", "Basic", "AadServicePrincipal",
30428     "ManagedServiceIdentity".
30429    :type authentication_type: str or
30430     ~azure.synapse.artifacts.v2021_06_01_preview.models.RestServiceAuthenticationType
30431    :param user_name: The user name used in Basic authentication type.
30432    :type user_name: any
30433    :param password: The password used in Basic authentication type.
30434    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
30435    :param service_principal_id: The application's client ID used in AadServicePrincipal
30436     authentication type.
30437    :type service_principal_id: any
30438    :param service_principal_key: The application's key used in AadServicePrincipal authentication
30439     type.
30440    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
30441    :param tenant: The tenant information (domain name or tenant ID) used in AadServicePrincipal
30442     authentication type under which your application resides.
30443    :type tenant: any
30444    :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed
30445     values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data
30446     factory regions’ cloud type. Type: string (or Expression with resultType string).
30447    :type azure_cloud_type: any
30448    :param aad_resource_id: The resource you are requesting authorization to use.
30449    :type aad_resource_id: any
30450    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
30451     encrypted using the integration runtime credential manager. Type: string (or Expression with
30452     resultType string).
30453    :type encrypted_credential: any
30454    """
30455
30456    _validation = {
30457        'type': {'required': True},
30458        'url': {'required': True},
30459        'authentication_type': {'required': True},
30460    }
30461
30462    _attribute_map = {
30463        'additional_properties': {'key': '', 'type': '{object}'},
30464        'type': {'key': 'type', 'type': 'str'},
30465        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
30466        'description': {'key': 'description', 'type': 'str'},
30467        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
30468        'annotations': {'key': 'annotations', 'type': '[object]'},
30469        'url': {'key': 'typeProperties.url', 'type': 'object'},
30470        'enable_server_certificate_validation': {'key': 'typeProperties.enableServerCertificateValidation', 'type': 'object'},
30471        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
30472        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
30473        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
30474        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
30475        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
30476        'tenant': {'key': 'typeProperties.tenant', 'type': 'object'},
30477        'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'},
30478        'aad_resource_id': {'key': 'typeProperties.aadResourceId', 'type': 'object'},
30479        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
30480    }
30481
30482    def __init__(
30483        self,
30484        *,
30485        url: Any,
30486        authentication_type: Union[str, "RestServiceAuthenticationType"],
30487        additional_properties: Optional[Dict[str, Any]] = None,
30488        connect_via: Optional["IntegrationRuntimeReference"] = None,
30489        description: Optional[str] = None,
30490        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
30491        annotations: Optional[List[Any]] = None,
30492        enable_server_certificate_validation: Optional[Any] = None,
30493        user_name: Optional[Any] = None,
30494        password: Optional["SecretBase"] = None,
30495        service_principal_id: Optional[Any] = None,
30496        service_principal_key: Optional["SecretBase"] = None,
30497        tenant: Optional[Any] = None,
30498        azure_cloud_type: Optional[Any] = None,
30499        aad_resource_id: Optional[Any] = None,
30500        encrypted_credential: Optional[Any] = None,
30501        **kwargs
30502    ):
30503        super(RestServiceLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
30504        self.type = 'RestService'  # type: str
30505        self.url = url
30506        self.enable_server_certificate_validation = enable_server_certificate_validation
30507        self.authentication_type = authentication_type
30508        self.user_name = user_name
30509        self.password = password
30510        self.service_principal_id = service_principal_id
30511        self.service_principal_key = service_principal_key
30512        self.tenant = tenant
30513        self.azure_cloud_type = azure_cloud_type
30514        self.aad_resource_id = aad_resource_id
30515        self.encrypted_credential = encrypted_credential
30516
30517
30518class RestSink(CopySink):
30519    """A copy activity Rest service Sink.
30520
30521    All required parameters must be populated in order to send to Azure.
30522
30523    :param additional_properties: Unmatched properties from the message are deserialized to this
30524     collection.
30525    :type additional_properties: dict[str, any]
30526    :param type: Required. Copy sink type.Constant filled by server.
30527    :type type: str
30528    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
30529     integer), minimum: 0.
30530    :type write_batch_size: any
30531    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
30532     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
30533    :type write_batch_timeout: any
30534    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
30535     integer).
30536    :type sink_retry_count: any
30537    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
30538     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
30539    :type sink_retry_wait: any
30540    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
30541     store. Type: integer (or Expression with resultType integer).
30542    :type max_concurrent_connections: any
30543    :param request_method: The HTTP method used to call the RESTful API. The default is POST. Type:
30544     string (or Expression with resultType string).
30545    :type request_method: any
30546    :param additional_headers: The additional HTTP headers in the request to the RESTful API. Type:
30547     string (or Expression with resultType string).
30548    :type additional_headers: any
30549    :param http_request_timeout: The timeout (TimeSpan) to get an HTTP response. It is the timeout
30550     to get a response, not the timeout to read response data. Default value: 00:01:40. Type: string
30551     (or Expression with resultType string), pattern:
30552     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
30553    :type http_request_timeout: any
30554    :param request_interval: The time to await before sending next request, in milliseconds.
30555    :type request_interval: any
30556    :param http_compression_type: Http Compression Type to Send data in compressed format with
30557     Optimal Compression Level, Default is None. And The Only Supported option is Gzip.
30558    :type http_compression_type: any
30559    """
30560
30561    _validation = {
30562        'type': {'required': True},
30563    }
30564
30565    _attribute_map = {
30566        'additional_properties': {'key': '', 'type': '{object}'},
30567        'type': {'key': 'type', 'type': 'str'},
30568        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
30569        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
30570        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
30571        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
30572        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
30573        'request_method': {'key': 'requestMethod', 'type': 'object'},
30574        'additional_headers': {'key': 'additionalHeaders', 'type': 'object'},
30575        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
30576        'request_interval': {'key': 'requestInterval', 'type': 'object'},
30577        'http_compression_type': {'key': 'httpCompressionType', 'type': 'object'},
30578    }
30579
30580    def __init__(
30581        self,
30582        *,
30583        additional_properties: Optional[Dict[str, Any]] = None,
30584        write_batch_size: Optional[Any] = None,
30585        write_batch_timeout: Optional[Any] = None,
30586        sink_retry_count: Optional[Any] = None,
30587        sink_retry_wait: Optional[Any] = None,
30588        max_concurrent_connections: Optional[Any] = None,
30589        request_method: Optional[Any] = None,
30590        additional_headers: Optional[Any] = None,
30591        http_request_timeout: Optional[Any] = None,
30592        request_interval: Optional[Any] = None,
30593        http_compression_type: Optional[Any] = None,
30594        **kwargs
30595    ):
30596        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)
30597        self.type = 'RestSink'  # type: str
30598        self.request_method = request_method
30599        self.additional_headers = additional_headers
30600        self.http_request_timeout = http_request_timeout
30601        self.request_interval = request_interval
30602        self.http_compression_type = http_compression_type
30603
30604
30605class RestSource(CopySource):
30606    """A copy activity Rest service source.
30607
30608    All required parameters must be populated in order to send to Azure.
30609
30610    :param additional_properties: Unmatched properties from the message are deserialized to this
30611     collection.
30612    :type additional_properties: dict[str, any]
30613    :param type: Required. Copy source type.Constant filled by server.
30614    :type type: str
30615    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
30616     integer).
30617    :type source_retry_count: any
30618    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
30619     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
30620    :type source_retry_wait: any
30621    :param max_concurrent_connections: The maximum concurrent connection count for the source data
30622     store. Type: integer (or Expression with resultType integer).
30623    :type max_concurrent_connections: any
30624    :param request_method: The HTTP method used to call the RESTful API. The default is GET. Type:
30625     string (or Expression with resultType string).
30626    :type request_method: any
30627    :param request_body: The HTTP request body to the RESTful API if requestMethod is POST. Type:
30628     string (or Expression with resultType string).
30629    :type request_body: any
30630    :param additional_headers: The additional HTTP headers in the request to the RESTful API. Type:
30631     string (or Expression with resultType string).
30632    :type additional_headers: any
30633    :param pagination_rules: The pagination rules to compose next page requests. Type: string (or
30634     Expression with resultType string).
30635    :type pagination_rules: any
30636    :param http_request_timeout: The timeout (TimeSpan) to get an HTTP response. It is the timeout
30637     to get a response, not the timeout to read response data. Default value: 00:01:40. Type: string
30638     (or Expression with resultType string), pattern:
30639     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
30640    :type http_request_timeout: any
30641    :param request_interval: The time to await before sending next page request.
30642    :type request_interval: any
30643    :param additional_columns: Specifies the additional columns to be added to source data. Type:
30644     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
30645    :type additional_columns: any
30646    """
30647
30648    _validation = {
30649        'type': {'required': True},
30650    }
30651
30652    _attribute_map = {
30653        'additional_properties': {'key': '', 'type': '{object}'},
30654        'type': {'key': 'type', 'type': 'str'},
30655        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
30656        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
30657        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
30658        'request_method': {'key': 'requestMethod', 'type': 'object'},
30659        'request_body': {'key': 'requestBody', 'type': 'object'},
30660        'additional_headers': {'key': 'additionalHeaders', 'type': 'object'},
30661        'pagination_rules': {'key': 'paginationRules', 'type': 'object'},
30662        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
30663        'request_interval': {'key': 'requestInterval', 'type': 'object'},
30664        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
30665    }
30666
30667    def __init__(
30668        self,
30669        *,
30670        additional_properties: Optional[Dict[str, Any]] = None,
30671        source_retry_count: Optional[Any] = None,
30672        source_retry_wait: Optional[Any] = None,
30673        max_concurrent_connections: Optional[Any] = None,
30674        request_method: Optional[Any] = None,
30675        request_body: Optional[Any] = None,
30676        additional_headers: Optional[Any] = None,
30677        pagination_rules: Optional[Any] = None,
30678        http_request_timeout: Optional[Any] = None,
30679        request_interval: Optional[Any] = None,
30680        additional_columns: Optional[Any] = None,
30681        **kwargs
30682    ):
30683        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)
30684        self.type = 'RestSource'  # type: str
30685        self.request_method = request_method
30686        self.request_body = request_body
30687        self.additional_headers = additional_headers
30688        self.pagination_rules = pagination_rules
30689        self.http_request_timeout = http_request_timeout
30690        self.request_interval = request_interval
30691        self.additional_columns = additional_columns
30692
30693
30694class RetryPolicy(msrest.serialization.Model):
30695    """Execution policy for an activity.
30696
30697    :param count: Maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with
30698     resultType integer), minimum: 0.
30699    :type count: any
30700    :param interval_in_seconds: Interval between retries in seconds. Default is 30.
30701    :type interval_in_seconds: int
30702    """
30703
30704    _validation = {
30705        'interval_in_seconds': {'maximum': 86400, 'minimum': 30},
30706    }
30707
30708    _attribute_map = {
30709        'count': {'key': 'count', 'type': 'object'},
30710        'interval_in_seconds': {'key': 'intervalInSeconds', 'type': 'int'},
30711    }
30712
30713    def __init__(
30714        self,
30715        *,
30716        count: Optional[Any] = None,
30717        interval_in_seconds: Optional[int] = None,
30718        **kwargs
30719    ):
30720        super(RetryPolicy, self).__init__(**kwargs)
30721        self.count = count
30722        self.interval_in_seconds = interval_in_seconds
30723
30724
30725class RunFilterParameters(msrest.serialization.Model):
30726    """Query parameters for listing runs.
30727
30728    All required parameters must be populated in order to send to Azure.
30729
30730    :param continuation_token: The continuation token for getting the next page of results. Null
30731     for first page.
30732    :type continuation_token: str
30733    :param last_updated_after: Required. The time at or after which the run event was updated in
30734     'ISO 8601' format.
30735    :type last_updated_after: ~datetime.datetime
30736    :param last_updated_before: Required. The time at or before which the run event was updated in
30737     'ISO 8601' format.
30738    :type last_updated_before: ~datetime.datetime
30739    :param filters: List of filters.
30740    :type filters: list[~azure.synapse.artifacts.v2021_06_01_preview.models.RunQueryFilter]
30741    :param order_by: List of OrderBy option.
30742    :type order_by: list[~azure.synapse.artifacts.v2021_06_01_preview.models.RunQueryOrderBy]
30743    """
30744
30745    _validation = {
30746        'last_updated_after': {'required': True},
30747        'last_updated_before': {'required': True},
30748    }
30749
30750    _attribute_map = {
30751        'continuation_token': {'key': 'continuationToken', 'type': 'str'},
30752        'last_updated_after': {'key': 'lastUpdatedAfter', 'type': 'iso-8601'},
30753        'last_updated_before': {'key': 'lastUpdatedBefore', 'type': 'iso-8601'},
30754        'filters': {'key': 'filters', 'type': '[RunQueryFilter]'},
30755        'order_by': {'key': 'orderBy', 'type': '[RunQueryOrderBy]'},
30756    }
30757
30758    def __init__(
30759        self,
30760        *,
30761        last_updated_after: datetime.datetime,
30762        last_updated_before: datetime.datetime,
30763        continuation_token: Optional[str] = None,
30764        filters: Optional[List["RunQueryFilter"]] = None,
30765        order_by: Optional[List["RunQueryOrderBy"]] = None,
30766        **kwargs
30767    ):
30768        super(RunFilterParameters, self).__init__(**kwargs)
30769        self.continuation_token = continuation_token
30770        self.last_updated_after = last_updated_after
30771        self.last_updated_before = last_updated_before
30772        self.filters = filters
30773        self.order_by = order_by
30774
30775
30776class RunQueryFilter(msrest.serialization.Model):
30777    """Query filter option for listing runs.
30778
30779    All required parameters must be populated in order to send to Azure.
30780
30781    :param operand: Required. Parameter name to be used for filter. The allowed operands to query
30782     pipeline runs are PipelineName, RunStart, RunEnd and Status; to query activity runs are
30783     ActivityName, ActivityRunStart, ActivityRunEnd, ActivityType and Status, and to query trigger
30784     runs are TriggerName, TriggerRunTimestamp and Status. Possible values include: "PipelineName",
30785     "Status", "RunStart", "RunEnd", "ActivityName", "ActivityRunStart", "ActivityRunEnd",
30786     "ActivityType", "TriggerName", "TriggerRunTimestamp", "RunGroupId", "LatestOnly".
30787    :type operand: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.RunQueryFilterOperand
30788    :param operator: Required. Operator to be used for filter. Possible values include: "Equals",
30789     "NotEquals", "In", "NotIn".
30790    :type operator: str or
30791     ~azure.synapse.artifacts.v2021_06_01_preview.models.RunQueryFilterOperator
30792    :param values: Required. List of filter values.
30793    :type values: list[str]
30794    """
30795
30796    _validation = {
30797        'operand': {'required': True},
30798        'operator': {'required': True},
30799        'values': {'required': True},
30800    }
30801
30802    _attribute_map = {
30803        'operand': {'key': 'operand', 'type': 'str'},
30804        'operator': {'key': 'operator', 'type': 'str'},
30805        'values': {'key': 'values', 'type': '[str]'},
30806    }
30807
30808    def __init__(
30809        self,
30810        *,
30811        operand: Union[str, "RunQueryFilterOperand"],
30812        operator: Union[str, "RunQueryFilterOperator"],
30813        values: List[str],
30814        **kwargs
30815    ):
30816        super(RunQueryFilter, self).__init__(**kwargs)
30817        self.operand = operand
30818        self.operator = operator
30819        self.values = values
30820
30821
30822class RunQueryOrderBy(msrest.serialization.Model):
30823    """An object to provide order by options for listing runs.
30824
30825    All required parameters must be populated in order to send to Azure.
30826
30827    :param order_by: Required. Parameter name to be used for order by. The allowed parameters to
30828     order by for pipeline runs are PipelineName, RunStart, RunEnd and Status; for activity runs are
30829     ActivityName, ActivityRunStart, ActivityRunEnd and Status; for trigger runs are TriggerName,
30830     TriggerRunTimestamp and Status. Possible values include: "RunStart", "RunEnd", "PipelineName",
30831     "Status", "ActivityName", "ActivityRunStart", "ActivityRunEnd", "TriggerName",
30832     "TriggerRunTimestamp".
30833    :type order_by: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.RunQueryOrderByField
30834    :param order: Required. Sorting order of the parameter. Possible values include: "ASC", "DESC".
30835    :type order: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.RunQueryOrder
30836    """
30837
30838    _validation = {
30839        'order_by': {'required': True},
30840        'order': {'required': True},
30841    }
30842
30843    _attribute_map = {
30844        'order_by': {'key': 'orderBy', 'type': 'str'},
30845        'order': {'key': 'order', 'type': 'str'},
30846    }
30847
30848    def __init__(
30849        self,
30850        *,
30851        order_by: Union[str, "RunQueryOrderByField"],
30852        order: Union[str, "RunQueryOrder"],
30853        **kwargs
30854    ):
30855        super(RunQueryOrderBy, self).__init__(**kwargs)
30856        self.order_by = order_by
30857        self.order = order
30858
30859
30860class SalesforceLinkedService(LinkedService):
30861    """Linked service for Salesforce.
30862
30863    All required parameters must be populated in order to send to Azure.
30864
30865    :param additional_properties: Unmatched properties from the message are deserialized to this
30866     collection.
30867    :type additional_properties: dict[str, any]
30868    :param type: Required. Type of linked service.Constant filled by server.
30869    :type type: str
30870    :param connect_via: The integration runtime reference.
30871    :type connect_via:
30872     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
30873    :param description: Linked service description.
30874    :type description: str
30875    :param parameters: Parameters for linked service.
30876    :type parameters: dict[str,
30877     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
30878    :param annotations: List of tags that can be used for describing the linked service.
30879    :type annotations: list[any]
30880    :param environment_url: The URL of Salesforce instance. Default is
30881     'https://login.salesforce.com'. To copy data from sandbox, specify
30882     'https://test.salesforce.com'. To copy data from custom domain, specify, for example,
30883     'https://[domain].my.salesforce.com'. Type: string (or Expression with resultType string).
30884    :type environment_url: any
30885    :param username: The username for Basic authentication of the Salesforce instance. Type: string
30886     (or Expression with resultType string).
30887    :type username: any
30888    :param password: The password for Basic authentication of the Salesforce instance.
30889    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
30890    :param security_token: The security token is optional to remotely access Salesforce instance.
30891    :type security_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
30892    :param api_version: The Salesforce API version used in ADF. Type: string (or Expression with
30893     resultType string).
30894    :type api_version: any
30895    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
30896     encrypted using the integration runtime credential manager. Type: string (or Expression with
30897     resultType string).
30898    :type encrypted_credential: any
30899    """
30900
30901    _validation = {
30902        'type': {'required': True},
30903    }
30904
30905    _attribute_map = {
30906        'additional_properties': {'key': '', 'type': '{object}'},
30907        'type': {'key': 'type', 'type': 'str'},
30908        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
30909        'description': {'key': 'description', 'type': 'str'},
30910        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
30911        'annotations': {'key': 'annotations', 'type': '[object]'},
30912        'environment_url': {'key': 'typeProperties.environmentUrl', 'type': 'object'},
30913        'username': {'key': 'typeProperties.username', 'type': 'object'},
30914        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
30915        'security_token': {'key': 'typeProperties.securityToken', 'type': 'SecretBase'},
30916        'api_version': {'key': 'typeProperties.apiVersion', 'type': 'object'},
30917        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
30918    }
30919
30920    def __init__(
30921        self,
30922        *,
30923        additional_properties: Optional[Dict[str, Any]] = None,
30924        connect_via: Optional["IntegrationRuntimeReference"] = None,
30925        description: Optional[str] = None,
30926        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
30927        annotations: Optional[List[Any]] = None,
30928        environment_url: Optional[Any] = None,
30929        username: Optional[Any] = None,
30930        password: Optional["SecretBase"] = None,
30931        security_token: Optional["SecretBase"] = None,
30932        api_version: Optional[Any] = None,
30933        encrypted_credential: Optional[Any] = None,
30934        **kwargs
30935    ):
30936        super(SalesforceLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
30937        self.type = 'Salesforce'  # type: str
30938        self.environment_url = environment_url
30939        self.username = username
30940        self.password = password
30941        self.security_token = security_token
30942        self.api_version = api_version
30943        self.encrypted_credential = encrypted_credential
30944
30945
30946class SalesforceMarketingCloudLinkedService(LinkedService):
30947    """Salesforce Marketing Cloud linked service.
30948
30949    All required parameters must be populated in order to send to Azure.
30950
30951    :param additional_properties: Unmatched properties from the message are deserialized to this
30952     collection.
30953    :type additional_properties: dict[str, any]
30954    :param type: Required. Type of linked service.Constant filled by server.
30955    :type type: str
30956    :param connect_via: The integration runtime reference.
30957    :type connect_via:
30958     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
30959    :param description: Linked service description.
30960    :type description: str
30961    :param parameters: Parameters for linked service.
30962    :type parameters: dict[str,
30963     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
30964    :param annotations: List of tags that can be used for describing the linked service.
30965    :type annotations: list[any]
30966    :param connection_properties: Properties used to connect to Salesforce Marketing Cloud. It is
30967     mutually exclusive with any other properties in the linked service. Type: object.
30968    :type connection_properties: any
30969    :param client_id: Required. The client ID associated with the Salesforce Marketing Cloud
30970     application. Type: string (or Expression with resultType string).
30971    :type client_id: any
30972    :param client_secret: The client secret associated with the Salesforce Marketing Cloud
30973     application. Type: string (or Expression with resultType string).
30974    :type client_secret: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
30975    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
30976     HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean).
30977    :type use_encrypted_endpoints: any
30978    :param use_host_verification: Specifies whether to require the host name in the server's
30979     certificate to match the host name of the server when connecting over SSL. The default value is
30980     true. Type: boolean (or Expression with resultType boolean).
30981    :type use_host_verification: any
30982    :param use_peer_verification: Specifies whether to verify the identity of the server when
30983     connecting over SSL. The default value is true. Type: boolean (or Expression with resultType
30984     boolean).
30985    :type use_peer_verification: any
30986    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
30987     encrypted using the integration runtime credential manager. Type: string (or Expression with
30988     resultType string).
30989    :type encrypted_credential: any
30990    """
30991
30992    _validation = {
30993        'type': {'required': True},
30994        'client_id': {'required': True},
30995    }
30996
30997    _attribute_map = {
30998        'additional_properties': {'key': '', 'type': '{object}'},
30999        'type': {'key': 'type', 'type': 'str'},
31000        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
31001        'description': {'key': 'description', 'type': 'str'},
31002        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
31003        'annotations': {'key': 'annotations', 'type': '[object]'},
31004        'connection_properties': {'key': 'typeProperties.connectionProperties', 'type': 'object'},
31005        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
31006        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
31007        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
31008        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
31009        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
31010        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
31011    }
31012
31013    def __init__(
31014        self,
31015        *,
31016        client_id: Any,
31017        additional_properties: Optional[Dict[str, Any]] = None,
31018        connect_via: Optional["IntegrationRuntimeReference"] = None,
31019        description: Optional[str] = None,
31020        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
31021        annotations: Optional[List[Any]] = None,
31022        connection_properties: Optional[Any] = None,
31023        client_secret: Optional["SecretBase"] = None,
31024        use_encrypted_endpoints: Optional[Any] = None,
31025        use_host_verification: Optional[Any] = None,
31026        use_peer_verification: Optional[Any] = None,
31027        encrypted_credential: Optional[Any] = None,
31028        **kwargs
31029    ):
31030        super(SalesforceMarketingCloudLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
31031        self.type = 'SalesforceMarketingCloud'  # type: str
31032        self.connection_properties = connection_properties
31033        self.client_id = client_id
31034        self.client_secret = client_secret
31035        self.use_encrypted_endpoints = use_encrypted_endpoints
31036        self.use_host_verification = use_host_verification
31037        self.use_peer_verification = use_peer_verification
31038        self.encrypted_credential = encrypted_credential
31039
31040
31041class SalesforceMarketingCloudObjectDataset(Dataset):
31042    """Salesforce Marketing Cloud dataset.
31043
31044    All required parameters must be populated in order to send to Azure.
31045
31046    :param additional_properties: Unmatched properties from the message are deserialized to this
31047     collection.
31048    :type additional_properties: dict[str, any]
31049    :param type: Required. Type of dataset.Constant filled by server.
31050    :type type: str
31051    :param description: Dataset description.
31052    :type description: str
31053    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
31054     with resultType array), itemType: DatasetDataElement.
31055    :type structure: any
31056    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
31057     Expression with resultType array), itemType: DatasetSchemaDataElement.
31058    :type schema: any
31059    :param linked_service_name: Required. Linked service reference.
31060    :type linked_service_name:
31061     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
31062    :param parameters: Parameters for dataset.
31063    :type parameters: dict[str,
31064     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
31065    :param annotations: List of tags that can be used for describing the Dataset.
31066    :type annotations: list[any]
31067    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
31068     root level.
31069    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
31070    :param table_name: The table name. Type: string (or Expression with resultType string).
31071    :type table_name: any
31072    """
31073
31074    _validation = {
31075        'type': {'required': True},
31076        'linked_service_name': {'required': True},
31077    }
31078
31079    _attribute_map = {
31080        'additional_properties': {'key': '', 'type': '{object}'},
31081        'type': {'key': 'type', 'type': 'str'},
31082        'description': {'key': 'description', 'type': 'str'},
31083        'structure': {'key': 'structure', 'type': 'object'},
31084        'schema': {'key': 'schema', 'type': 'object'},
31085        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
31086        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
31087        'annotations': {'key': 'annotations', 'type': '[object]'},
31088        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
31089        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
31090    }
31091
31092    def __init__(
31093        self,
31094        *,
31095        linked_service_name: "LinkedServiceReference",
31096        additional_properties: Optional[Dict[str, Any]] = None,
31097        description: Optional[str] = None,
31098        structure: Optional[Any] = None,
31099        schema: Optional[Any] = None,
31100        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
31101        annotations: Optional[List[Any]] = None,
31102        folder: Optional["DatasetFolder"] = None,
31103        table_name: Optional[Any] = None,
31104        **kwargs
31105    ):
31106        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)
31107        self.type = 'SalesforceMarketingCloudObject'  # type: str
31108        self.table_name = table_name
31109
31110
31111class SalesforceMarketingCloudSource(TabularSource):
31112    """A copy activity Salesforce Marketing Cloud source.
31113
31114    All required parameters must be populated in order to send to Azure.
31115
31116    :param additional_properties: Unmatched properties from the message are deserialized to this
31117     collection.
31118    :type additional_properties: dict[str, any]
31119    :param type: Required. Copy source type.Constant filled by server.
31120    :type type: str
31121    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
31122     integer).
31123    :type source_retry_count: any
31124    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
31125     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31126    :type source_retry_wait: any
31127    :param max_concurrent_connections: The maximum concurrent connection count for the source data
31128     store. Type: integer (or Expression with resultType integer).
31129    :type max_concurrent_connections: any
31130    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
31131     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31132    :type query_timeout: any
31133    :param additional_columns: Specifies the additional columns to be added to source data. Type:
31134     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
31135    :type additional_columns: any
31136    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
31137     string).
31138    :type query: any
31139    """
31140
31141    _validation = {
31142        'type': {'required': True},
31143    }
31144
31145    _attribute_map = {
31146        'additional_properties': {'key': '', 'type': '{object}'},
31147        'type': {'key': 'type', 'type': 'str'},
31148        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
31149        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
31150        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
31151        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
31152        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
31153        'query': {'key': 'query', 'type': 'object'},
31154    }
31155
31156    def __init__(
31157        self,
31158        *,
31159        additional_properties: Optional[Dict[str, Any]] = None,
31160        source_retry_count: Optional[Any] = None,
31161        source_retry_wait: Optional[Any] = None,
31162        max_concurrent_connections: Optional[Any] = None,
31163        query_timeout: Optional[Any] = None,
31164        additional_columns: Optional[Any] = None,
31165        query: Optional[Any] = None,
31166        **kwargs
31167    ):
31168        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)
31169        self.type = 'SalesforceMarketingCloudSource'  # type: str
31170        self.query = query
31171
31172
31173class SalesforceObjectDataset(Dataset):
31174    """The Salesforce object dataset.
31175
31176    All required parameters must be populated in order to send to Azure.
31177
31178    :param additional_properties: Unmatched properties from the message are deserialized to this
31179     collection.
31180    :type additional_properties: dict[str, any]
31181    :param type: Required. Type of dataset.Constant filled by server.
31182    :type type: str
31183    :param description: Dataset description.
31184    :type description: str
31185    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
31186     with resultType array), itemType: DatasetDataElement.
31187    :type structure: any
31188    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
31189     Expression with resultType array), itemType: DatasetSchemaDataElement.
31190    :type schema: any
31191    :param linked_service_name: Required. Linked service reference.
31192    :type linked_service_name:
31193     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
31194    :param parameters: Parameters for dataset.
31195    :type parameters: dict[str,
31196     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
31197    :param annotations: List of tags that can be used for describing the Dataset.
31198    :type annotations: list[any]
31199    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
31200     root level.
31201    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
31202    :param object_api_name: The Salesforce object API name. Type: string (or Expression with
31203     resultType string).
31204    :type object_api_name: any
31205    """
31206
31207    _validation = {
31208        'type': {'required': True},
31209        'linked_service_name': {'required': True},
31210    }
31211
31212    _attribute_map = {
31213        'additional_properties': {'key': '', 'type': '{object}'},
31214        'type': {'key': 'type', 'type': 'str'},
31215        'description': {'key': 'description', 'type': 'str'},
31216        'structure': {'key': 'structure', 'type': 'object'},
31217        'schema': {'key': 'schema', 'type': 'object'},
31218        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
31219        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
31220        'annotations': {'key': 'annotations', 'type': '[object]'},
31221        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
31222        'object_api_name': {'key': 'typeProperties.objectApiName', 'type': 'object'},
31223    }
31224
31225    def __init__(
31226        self,
31227        *,
31228        linked_service_name: "LinkedServiceReference",
31229        additional_properties: Optional[Dict[str, Any]] = None,
31230        description: Optional[str] = None,
31231        structure: Optional[Any] = None,
31232        schema: Optional[Any] = None,
31233        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
31234        annotations: Optional[List[Any]] = None,
31235        folder: Optional["DatasetFolder"] = None,
31236        object_api_name: Optional[Any] = None,
31237        **kwargs
31238    ):
31239        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)
31240        self.type = 'SalesforceObject'  # type: str
31241        self.object_api_name = object_api_name
31242
31243
31244class SalesforceServiceCloudLinkedService(LinkedService):
31245    """Linked service for Salesforce Service Cloud.
31246
31247    All required parameters must be populated in order to send to Azure.
31248
31249    :param additional_properties: Unmatched properties from the message are deserialized to this
31250     collection.
31251    :type additional_properties: dict[str, any]
31252    :param type: Required. Type of linked service.Constant filled by server.
31253    :type type: str
31254    :param connect_via: The integration runtime reference.
31255    :type connect_via:
31256     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
31257    :param description: Linked service description.
31258    :type description: str
31259    :param parameters: Parameters for linked service.
31260    :type parameters: dict[str,
31261     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
31262    :param annotations: List of tags that can be used for describing the linked service.
31263    :type annotations: list[any]
31264    :param environment_url: The URL of Salesforce Service Cloud instance. Default is
31265     'https://login.salesforce.com'. To copy data from sandbox, specify
31266     'https://test.salesforce.com'. To copy data from custom domain, specify, for example,
31267     'https://[domain].my.salesforce.com'. Type: string (or Expression with resultType string).
31268    :type environment_url: any
31269    :param username: The username for Basic authentication of the Salesforce instance. Type: string
31270     (or Expression with resultType string).
31271    :type username: any
31272    :param password: The password for Basic authentication of the Salesforce instance.
31273    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
31274    :param security_token: The security token is optional to remotely access Salesforce instance.
31275    :type security_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
31276    :param api_version: The Salesforce API version used in ADF. Type: string (or Expression with
31277     resultType string).
31278    :type api_version: any
31279    :param extended_properties: Extended properties appended to the connection string. Type: string
31280     (or Expression with resultType string).
31281    :type extended_properties: any
31282    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
31283     encrypted using the integration runtime credential manager. Type: string (or Expression with
31284     resultType string).
31285    :type encrypted_credential: any
31286    """
31287
31288    _validation = {
31289        'type': {'required': True},
31290    }
31291
31292    _attribute_map = {
31293        'additional_properties': {'key': '', 'type': '{object}'},
31294        'type': {'key': 'type', 'type': 'str'},
31295        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
31296        'description': {'key': 'description', 'type': 'str'},
31297        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
31298        'annotations': {'key': 'annotations', 'type': '[object]'},
31299        'environment_url': {'key': 'typeProperties.environmentUrl', 'type': 'object'},
31300        'username': {'key': 'typeProperties.username', 'type': 'object'},
31301        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
31302        'security_token': {'key': 'typeProperties.securityToken', 'type': 'SecretBase'},
31303        'api_version': {'key': 'typeProperties.apiVersion', 'type': 'object'},
31304        'extended_properties': {'key': 'typeProperties.extendedProperties', 'type': 'object'},
31305        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
31306    }
31307
31308    def __init__(
31309        self,
31310        *,
31311        additional_properties: Optional[Dict[str, Any]] = None,
31312        connect_via: Optional["IntegrationRuntimeReference"] = None,
31313        description: Optional[str] = None,
31314        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
31315        annotations: Optional[List[Any]] = None,
31316        environment_url: Optional[Any] = None,
31317        username: Optional[Any] = None,
31318        password: Optional["SecretBase"] = None,
31319        security_token: Optional["SecretBase"] = None,
31320        api_version: Optional[Any] = None,
31321        extended_properties: Optional[Any] = None,
31322        encrypted_credential: Optional[Any] = None,
31323        **kwargs
31324    ):
31325        super(SalesforceServiceCloudLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
31326        self.type = 'SalesforceServiceCloud'  # type: str
31327        self.environment_url = environment_url
31328        self.username = username
31329        self.password = password
31330        self.security_token = security_token
31331        self.api_version = api_version
31332        self.extended_properties = extended_properties
31333        self.encrypted_credential = encrypted_credential
31334
31335
31336class SalesforceServiceCloudObjectDataset(Dataset):
31337    """The Salesforce Service Cloud object dataset.
31338
31339    All required parameters must be populated in order to send to Azure.
31340
31341    :param additional_properties: Unmatched properties from the message are deserialized to this
31342     collection.
31343    :type additional_properties: dict[str, any]
31344    :param type: Required. Type of dataset.Constant filled by server.
31345    :type type: str
31346    :param description: Dataset description.
31347    :type description: str
31348    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
31349     with resultType array), itemType: DatasetDataElement.
31350    :type structure: any
31351    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
31352     Expression with resultType array), itemType: DatasetSchemaDataElement.
31353    :type schema: any
31354    :param linked_service_name: Required. Linked service reference.
31355    :type linked_service_name:
31356     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
31357    :param parameters: Parameters for dataset.
31358    :type parameters: dict[str,
31359     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
31360    :param annotations: List of tags that can be used for describing the Dataset.
31361    :type annotations: list[any]
31362    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
31363     root level.
31364    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
31365    :param object_api_name: The Salesforce Service Cloud object API name. Type: string (or
31366     Expression with resultType string).
31367    :type object_api_name: any
31368    """
31369
31370    _validation = {
31371        'type': {'required': True},
31372        'linked_service_name': {'required': True},
31373    }
31374
31375    _attribute_map = {
31376        'additional_properties': {'key': '', 'type': '{object}'},
31377        'type': {'key': 'type', 'type': 'str'},
31378        'description': {'key': 'description', 'type': 'str'},
31379        'structure': {'key': 'structure', 'type': 'object'},
31380        'schema': {'key': 'schema', 'type': 'object'},
31381        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
31382        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
31383        'annotations': {'key': 'annotations', 'type': '[object]'},
31384        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
31385        'object_api_name': {'key': 'typeProperties.objectApiName', 'type': 'object'},
31386    }
31387
31388    def __init__(
31389        self,
31390        *,
31391        linked_service_name: "LinkedServiceReference",
31392        additional_properties: Optional[Dict[str, Any]] = None,
31393        description: Optional[str] = None,
31394        structure: Optional[Any] = None,
31395        schema: Optional[Any] = None,
31396        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
31397        annotations: Optional[List[Any]] = None,
31398        folder: Optional["DatasetFolder"] = None,
31399        object_api_name: Optional[Any] = None,
31400        **kwargs
31401    ):
31402        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)
31403        self.type = 'SalesforceServiceCloudObject'  # type: str
31404        self.object_api_name = object_api_name
31405
31406
31407class SalesforceServiceCloudSink(CopySink):
31408    """A copy activity Salesforce Service Cloud sink.
31409
31410    All required parameters must be populated in order to send to Azure.
31411
31412    :param additional_properties: Unmatched properties from the message are deserialized to this
31413     collection.
31414    :type additional_properties: dict[str, any]
31415    :param type: Required. Copy sink type.Constant filled by server.
31416    :type type: str
31417    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
31418     integer), minimum: 0.
31419    :type write_batch_size: any
31420    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
31421     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31422    :type write_batch_timeout: any
31423    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
31424     integer).
31425    :type sink_retry_count: any
31426    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
31427     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31428    :type sink_retry_wait: any
31429    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
31430     store. Type: integer (or Expression with resultType integer).
31431    :type max_concurrent_connections: any
31432    :param write_behavior: The write behavior for the operation. Default is Insert. Possible values
31433     include: "Insert", "Upsert".
31434    :type write_behavior: str or
31435     ~azure.synapse.artifacts.v2021_06_01_preview.models.SalesforceSinkWriteBehavior
31436    :param external_id_field_name: The name of the external ID field for upsert operation. Default
31437     value is 'Id' column. Type: string (or Expression with resultType string).
31438    :type external_id_field_name: any
31439    :param ignore_null_values: The flag indicating whether or not to ignore null values from input
31440     dataset (except key fields) during write operation. Default value is false. If set it to true,
31441     it means ADF will leave the data in the destination object unchanged when doing upsert/update
31442     operation and insert defined default value when doing insert operation, versus ADF will update
31443     the data in the destination object to NULL when doing upsert/update operation and insert NULL
31444     value when doing insert operation. Type: boolean (or Expression with resultType boolean).
31445    :type ignore_null_values: any
31446    """
31447
31448    _validation = {
31449        'type': {'required': True},
31450    }
31451
31452    _attribute_map = {
31453        'additional_properties': {'key': '', 'type': '{object}'},
31454        'type': {'key': 'type', 'type': 'str'},
31455        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
31456        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
31457        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
31458        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
31459        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
31460        'write_behavior': {'key': 'writeBehavior', 'type': 'str'},
31461        'external_id_field_name': {'key': 'externalIdFieldName', 'type': 'object'},
31462        'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'},
31463    }
31464
31465    def __init__(
31466        self,
31467        *,
31468        additional_properties: Optional[Dict[str, Any]] = None,
31469        write_batch_size: Optional[Any] = None,
31470        write_batch_timeout: Optional[Any] = None,
31471        sink_retry_count: Optional[Any] = None,
31472        sink_retry_wait: Optional[Any] = None,
31473        max_concurrent_connections: Optional[Any] = None,
31474        write_behavior: Optional[Union[str, "SalesforceSinkWriteBehavior"]] = None,
31475        external_id_field_name: Optional[Any] = None,
31476        ignore_null_values: Optional[Any] = None,
31477        **kwargs
31478    ):
31479        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)
31480        self.type = 'SalesforceServiceCloudSink'  # type: str
31481        self.write_behavior = write_behavior
31482        self.external_id_field_name = external_id_field_name
31483        self.ignore_null_values = ignore_null_values
31484
31485
31486class SalesforceServiceCloudSource(CopySource):
31487    """A copy activity Salesforce Service Cloud source.
31488
31489    All required parameters must be populated in order to send to Azure.
31490
31491    :param additional_properties: Unmatched properties from the message are deserialized to this
31492     collection.
31493    :type additional_properties: dict[str, any]
31494    :param type: Required. Copy source type.Constant filled by server.
31495    :type type: str
31496    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
31497     integer).
31498    :type source_retry_count: any
31499    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
31500     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31501    :type source_retry_wait: any
31502    :param max_concurrent_connections: The maximum concurrent connection count for the source data
31503     store. Type: integer (or Expression with resultType integer).
31504    :type max_concurrent_connections: any
31505    :param query: Database query. Type: string (or Expression with resultType string).
31506    :type query: any
31507    :param read_behavior: The read behavior for the operation. Default is Query. Possible values
31508     include: "Query", "QueryAll".
31509    :type read_behavior: str or
31510     ~azure.synapse.artifacts.v2021_06_01_preview.models.SalesforceSourceReadBehavior
31511    :param additional_columns: Specifies the additional columns to be added to source data. Type:
31512     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
31513    :type additional_columns: any
31514    """
31515
31516    _validation = {
31517        'type': {'required': True},
31518    }
31519
31520    _attribute_map = {
31521        'additional_properties': {'key': '', 'type': '{object}'},
31522        'type': {'key': 'type', 'type': 'str'},
31523        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
31524        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
31525        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
31526        'query': {'key': 'query', 'type': 'object'},
31527        'read_behavior': {'key': 'readBehavior', 'type': 'str'},
31528        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
31529    }
31530
31531    def __init__(
31532        self,
31533        *,
31534        additional_properties: Optional[Dict[str, Any]] = None,
31535        source_retry_count: Optional[Any] = None,
31536        source_retry_wait: Optional[Any] = None,
31537        max_concurrent_connections: Optional[Any] = None,
31538        query: Optional[Any] = None,
31539        read_behavior: Optional[Union[str, "SalesforceSourceReadBehavior"]] = None,
31540        additional_columns: Optional[Any] = None,
31541        **kwargs
31542    ):
31543        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)
31544        self.type = 'SalesforceServiceCloudSource'  # type: str
31545        self.query = query
31546        self.read_behavior = read_behavior
31547        self.additional_columns = additional_columns
31548
31549
31550class SalesforceSink(CopySink):
31551    """A copy activity Salesforce sink.
31552
31553    All required parameters must be populated in order to send to Azure.
31554
31555    :param additional_properties: Unmatched properties from the message are deserialized to this
31556     collection.
31557    :type additional_properties: dict[str, any]
31558    :param type: Required. Copy sink type.Constant filled by server.
31559    :type type: str
31560    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
31561     integer), minimum: 0.
31562    :type write_batch_size: any
31563    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
31564     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31565    :type write_batch_timeout: any
31566    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
31567     integer).
31568    :type sink_retry_count: any
31569    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
31570     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31571    :type sink_retry_wait: any
31572    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
31573     store. Type: integer (or Expression with resultType integer).
31574    :type max_concurrent_connections: any
31575    :param write_behavior: The write behavior for the operation. Default is Insert. Possible values
31576     include: "Insert", "Upsert".
31577    :type write_behavior: str or
31578     ~azure.synapse.artifacts.v2021_06_01_preview.models.SalesforceSinkWriteBehavior
31579    :param external_id_field_name: The name of the external ID field for upsert operation. Default
31580     value is 'Id' column. Type: string (or Expression with resultType string).
31581    :type external_id_field_name: any
31582    :param ignore_null_values: The flag indicating whether or not to ignore null values from input
31583     dataset (except key fields) during write operation. Default value is false. If set it to true,
31584     it means ADF will leave the data in the destination object unchanged when doing upsert/update
31585     operation and insert defined default value when doing insert operation, versus ADF will update
31586     the data in the destination object to NULL when doing upsert/update operation and insert NULL
31587     value when doing insert operation. Type: boolean (or Expression with resultType boolean).
31588    :type ignore_null_values: any
31589    """
31590
31591    _validation = {
31592        'type': {'required': True},
31593    }
31594
31595    _attribute_map = {
31596        'additional_properties': {'key': '', 'type': '{object}'},
31597        'type': {'key': 'type', 'type': 'str'},
31598        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
31599        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
31600        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
31601        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
31602        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
31603        'write_behavior': {'key': 'writeBehavior', 'type': 'str'},
31604        'external_id_field_name': {'key': 'externalIdFieldName', 'type': 'object'},
31605        'ignore_null_values': {'key': 'ignoreNullValues', 'type': 'object'},
31606    }
31607
31608    def __init__(
31609        self,
31610        *,
31611        additional_properties: Optional[Dict[str, Any]] = None,
31612        write_batch_size: Optional[Any] = None,
31613        write_batch_timeout: Optional[Any] = None,
31614        sink_retry_count: Optional[Any] = None,
31615        sink_retry_wait: Optional[Any] = None,
31616        max_concurrent_connections: Optional[Any] = None,
31617        write_behavior: Optional[Union[str, "SalesforceSinkWriteBehavior"]] = None,
31618        external_id_field_name: Optional[Any] = None,
31619        ignore_null_values: Optional[Any] = None,
31620        **kwargs
31621    ):
31622        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)
31623        self.type = 'SalesforceSink'  # type: str
31624        self.write_behavior = write_behavior
31625        self.external_id_field_name = external_id_field_name
31626        self.ignore_null_values = ignore_null_values
31627
31628
31629class SalesforceSource(TabularSource):
31630    """A copy activity Salesforce source.
31631
31632    All required parameters must be populated in order to send to Azure.
31633
31634    :param additional_properties: Unmatched properties from the message are deserialized to this
31635     collection.
31636    :type additional_properties: dict[str, any]
31637    :param type: Required. Copy source type.Constant filled by server.
31638    :type type: str
31639    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
31640     integer).
31641    :type source_retry_count: any
31642    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
31643     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31644    :type source_retry_wait: any
31645    :param max_concurrent_connections: The maximum concurrent connection count for the source data
31646     store. Type: integer (or Expression with resultType integer).
31647    :type max_concurrent_connections: any
31648    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
31649     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31650    :type query_timeout: any
31651    :param additional_columns: Specifies the additional columns to be added to source data. Type:
31652     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
31653    :type additional_columns: any
31654    :param query: Database query. Type: string (or Expression with resultType string).
31655    :type query: any
31656    :param read_behavior: The read behavior for the operation. Default is Query. Possible values
31657     include: "Query", "QueryAll".
31658    :type read_behavior: str or
31659     ~azure.synapse.artifacts.v2021_06_01_preview.models.SalesforceSourceReadBehavior
31660    """
31661
31662    _validation = {
31663        'type': {'required': True},
31664    }
31665
31666    _attribute_map = {
31667        'additional_properties': {'key': '', 'type': '{object}'},
31668        'type': {'key': 'type', 'type': 'str'},
31669        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
31670        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
31671        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
31672        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
31673        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
31674        'query': {'key': 'query', 'type': 'object'},
31675        'read_behavior': {'key': 'readBehavior', 'type': 'str'},
31676    }
31677
31678    def __init__(
31679        self,
31680        *,
31681        additional_properties: Optional[Dict[str, Any]] = None,
31682        source_retry_count: Optional[Any] = None,
31683        source_retry_wait: Optional[Any] = None,
31684        max_concurrent_connections: Optional[Any] = None,
31685        query_timeout: Optional[Any] = None,
31686        additional_columns: Optional[Any] = None,
31687        query: Optional[Any] = None,
31688        read_behavior: Optional[Union[str, "SalesforceSourceReadBehavior"]] = None,
31689        **kwargs
31690    ):
31691        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)
31692        self.type = 'SalesforceSource'  # type: str
31693        self.query = query
31694        self.read_behavior = read_behavior
31695
31696
31697class SapBwCubeDataset(Dataset):
31698    """The SAP BW cube dataset.
31699
31700    All required parameters must be populated in order to send to Azure.
31701
31702    :param additional_properties: Unmatched properties from the message are deserialized to this
31703     collection.
31704    :type additional_properties: dict[str, any]
31705    :param type: Required. Type of dataset.Constant filled by server.
31706    :type type: str
31707    :param description: Dataset description.
31708    :type description: str
31709    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
31710     with resultType array), itemType: DatasetDataElement.
31711    :type structure: any
31712    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
31713     Expression with resultType array), itemType: DatasetSchemaDataElement.
31714    :type schema: any
31715    :param linked_service_name: Required. Linked service reference.
31716    :type linked_service_name:
31717     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
31718    :param parameters: Parameters for dataset.
31719    :type parameters: dict[str,
31720     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
31721    :param annotations: List of tags that can be used for describing the Dataset.
31722    :type annotations: list[any]
31723    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
31724     root level.
31725    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
31726    """
31727
31728    _validation = {
31729        'type': {'required': True},
31730        'linked_service_name': {'required': True},
31731    }
31732
31733    _attribute_map = {
31734        'additional_properties': {'key': '', 'type': '{object}'},
31735        'type': {'key': 'type', 'type': 'str'},
31736        'description': {'key': 'description', 'type': 'str'},
31737        'structure': {'key': 'structure', 'type': 'object'},
31738        'schema': {'key': 'schema', 'type': 'object'},
31739        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
31740        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
31741        'annotations': {'key': 'annotations', 'type': '[object]'},
31742        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
31743    }
31744
31745    def __init__(
31746        self,
31747        *,
31748        linked_service_name: "LinkedServiceReference",
31749        additional_properties: Optional[Dict[str, Any]] = None,
31750        description: Optional[str] = None,
31751        structure: Optional[Any] = None,
31752        schema: Optional[Any] = None,
31753        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
31754        annotations: Optional[List[Any]] = None,
31755        folder: Optional["DatasetFolder"] = None,
31756        **kwargs
31757    ):
31758        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)
31759        self.type = 'SapBwCube'  # type: str
31760
31761
31762class SapBWLinkedService(LinkedService):
31763    """SAP Business Warehouse Linked Service.
31764
31765    All required parameters must be populated in order to send to Azure.
31766
31767    :param additional_properties: Unmatched properties from the message are deserialized to this
31768     collection.
31769    :type additional_properties: dict[str, any]
31770    :param type: Required. Type of linked service.Constant filled by server.
31771    :type type: str
31772    :param connect_via: The integration runtime reference.
31773    :type connect_via:
31774     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
31775    :param description: Linked service description.
31776    :type description: str
31777    :param parameters: Parameters for linked service.
31778    :type parameters: dict[str,
31779     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
31780    :param annotations: List of tags that can be used for describing the linked service.
31781    :type annotations: list[any]
31782    :param server: Required. Host name of the SAP BW instance. Type: string (or Expression with
31783     resultType string).
31784    :type server: any
31785    :param system_number: Required. System number of the BW system. (Usually a two-digit decimal
31786     number represented as a string.) Type: string (or Expression with resultType string).
31787    :type system_number: any
31788    :param client_id: Required. Client ID of the client on the BW system. (Usually a three-digit
31789     decimal number represented as a string) Type: string (or Expression with resultType string).
31790    :type client_id: any
31791    :param user_name: Username to access the SAP BW server. Type: string (or Expression with
31792     resultType string).
31793    :type user_name: any
31794    :param password: Password to access the SAP BW server.
31795    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
31796    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
31797     encrypted using the integration runtime credential manager. Type: string (or Expression with
31798     resultType string).
31799    :type encrypted_credential: any
31800    """
31801
31802    _validation = {
31803        'type': {'required': True},
31804        'server': {'required': True},
31805        'system_number': {'required': True},
31806        'client_id': {'required': True},
31807    }
31808
31809    _attribute_map = {
31810        'additional_properties': {'key': '', 'type': '{object}'},
31811        'type': {'key': 'type', 'type': 'str'},
31812        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
31813        'description': {'key': 'description', 'type': 'str'},
31814        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
31815        'annotations': {'key': 'annotations', 'type': '[object]'},
31816        'server': {'key': 'typeProperties.server', 'type': 'object'},
31817        'system_number': {'key': 'typeProperties.systemNumber', 'type': 'object'},
31818        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
31819        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
31820        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
31821        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
31822    }
31823
31824    def __init__(
31825        self,
31826        *,
31827        server: Any,
31828        system_number: Any,
31829        client_id: Any,
31830        additional_properties: Optional[Dict[str, Any]] = None,
31831        connect_via: Optional["IntegrationRuntimeReference"] = None,
31832        description: Optional[str] = None,
31833        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
31834        annotations: Optional[List[Any]] = None,
31835        user_name: Optional[Any] = None,
31836        password: Optional["SecretBase"] = None,
31837        encrypted_credential: Optional[Any] = None,
31838        **kwargs
31839    ):
31840        super(SapBWLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
31841        self.type = 'SapBW'  # type: str
31842        self.server = server
31843        self.system_number = system_number
31844        self.client_id = client_id
31845        self.user_name = user_name
31846        self.password = password
31847        self.encrypted_credential = encrypted_credential
31848
31849
31850class SapBwSource(TabularSource):
31851    """A copy activity source for SapBW server via MDX.
31852
31853    All required parameters must be populated in order to send to Azure.
31854
31855    :param additional_properties: Unmatched properties from the message are deserialized to this
31856     collection.
31857    :type additional_properties: dict[str, any]
31858    :param type: Required. Copy source type.Constant filled by server.
31859    :type type: str
31860    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
31861     integer).
31862    :type source_retry_count: any
31863    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
31864     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31865    :type source_retry_wait: any
31866    :param max_concurrent_connections: The maximum concurrent connection count for the source data
31867     store. Type: integer (or Expression with resultType integer).
31868    :type max_concurrent_connections: any
31869    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
31870     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
31871    :type query_timeout: any
31872    :param additional_columns: Specifies the additional columns to be added to source data. Type:
31873     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
31874    :type additional_columns: any
31875    :param query: MDX query. Type: string (or Expression with resultType string).
31876    :type query: any
31877    """
31878
31879    _validation = {
31880        'type': {'required': True},
31881    }
31882
31883    _attribute_map = {
31884        'additional_properties': {'key': '', 'type': '{object}'},
31885        'type': {'key': 'type', 'type': 'str'},
31886        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
31887        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
31888        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
31889        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
31890        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
31891        'query': {'key': 'query', 'type': 'object'},
31892    }
31893
31894    def __init__(
31895        self,
31896        *,
31897        additional_properties: Optional[Dict[str, Any]] = None,
31898        source_retry_count: Optional[Any] = None,
31899        source_retry_wait: Optional[Any] = None,
31900        max_concurrent_connections: Optional[Any] = None,
31901        query_timeout: Optional[Any] = None,
31902        additional_columns: Optional[Any] = None,
31903        query: Optional[Any] = None,
31904        **kwargs
31905    ):
31906        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)
31907        self.type = 'SapBwSource'  # type: str
31908        self.query = query
31909
31910
31911class SapCloudForCustomerLinkedService(LinkedService):
31912    """Linked service for SAP Cloud for Customer.
31913
31914    All required parameters must be populated in order to send to Azure.
31915
31916    :param additional_properties: Unmatched properties from the message are deserialized to this
31917     collection.
31918    :type additional_properties: dict[str, any]
31919    :param type: Required. Type of linked service.Constant filled by server.
31920    :type type: str
31921    :param connect_via: The integration runtime reference.
31922    :type connect_via:
31923     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
31924    :param description: Linked service description.
31925    :type description: str
31926    :param parameters: Parameters for linked service.
31927    :type parameters: dict[str,
31928     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
31929    :param annotations: List of tags that can be used for describing the linked service.
31930    :type annotations: list[any]
31931    :param url: Required. The URL of SAP Cloud for Customer OData API. For example,
31932     '[https://[tenantname].crm.ondemand.com/sap/c4c/odata/v1]'. Type: string (or Expression with
31933     resultType string).
31934    :type url: any
31935    :param username: The username for Basic authentication. Type: string (or Expression with
31936     resultType string).
31937    :type username: any
31938    :param password: The password for Basic authentication.
31939    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
31940    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
31941     encrypted using the integration runtime credential manager. Either encryptedCredential or
31942     username/password must be provided. Type: string (or Expression with resultType string).
31943    :type encrypted_credential: any
31944    """
31945
31946    _validation = {
31947        'type': {'required': True},
31948        'url': {'required': True},
31949    }
31950
31951    _attribute_map = {
31952        'additional_properties': {'key': '', 'type': '{object}'},
31953        'type': {'key': 'type', 'type': 'str'},
31954        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
31955        'description': {'key': 'description', 'type': 'str'},
31956        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
31957        'annotations': {'key': 'annotations', 'type': '[object]'},
31958        'url': {'key': 'typeProperties.url', 'type': 'object'},
31959        'username': {'key': 'typeProperties.username', 'type': 'object'},
31960        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
31961        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
31962    }
31963
31964    def __init__(
31965        self,
31966        *,
31967        url: Any,
31968        additional_properties: Optional[Dict[str, Any]] = None,
31969        connect_via: Optional["IntegrationRuntimeReference"] = None,
31970        description: Optional[str] = None,
31971        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
31972        annotations: Optional[List[Any]] = None,
31973        username: Optional[Any] = None,
31974        password: Optional["SecretBase"] = None,
31975        encrypted_credential: Optional[Any] = None,
31976        **kwargs
31977    ):
31978        super(SapCloudForCustomerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
31979        self.type = 'SapCloudForCustomer'  # type: str
31980        self.url = url
31981        self.username = username
31982        self.password = password
31983        self.encrypted_credential = encrypted_credential
31984
31985
31986class SapCloudForCustomerResourceDataset(Dataset):
31987    """The path of the SAP Cloud for Customer OData entity.
31988
31989    All required parameters must be populated in order to send to Azure.
31990
31991    :param additional_properties: Unmatched properties from the message are deserialized to this
31992     collection.
31993    :type additional_properties: dict[str, any]
31994    :param type: Required. Type of dataset.Constant filled by server.
31995    :type type: str
31996    :param description: Dataset description.
31997    :type description: str
31998    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
31999     with resultType array), itemType: DatasetDataElement.
32000    :type structure: any
32001    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
32002     Expression with resultType array), itemType: DatasetSchemaDataElement.
32003    :type schema: any
32004    :param linked_service_name: Required. Linked service reference.
32005    :type linked_service_name:
32006     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
32007    :param parameters: Parameters for dataset.
32008    :type parameters: dict[str,
32009     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
32010    :param annotations: List of tags that can be used for describing the Dataset.
32011    :type annotations: list[any]
32012    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
32013     root level.
32014    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
32015    :param path: Required. The path of the SAP Cloud for Customer OData entity. Type: string (or
32016     Expression with resultType string).
32017    :type path: any
32018    """
32019
32020    _validation = {
32021        'type': {'required': True},
32022        'linked_service_name': {'required': True},
32023        'path': {'required': True},
32024    }
32025
32026    _attribute_map = {
32027        'additional_properties': {'key': '', 'type': '{object}'},
32028        'type': {'key': 'type', 'type': 'str'},
32029        'description': {'key': 'description', 'type': 'str'},
32030        'structure': {'key': 'structure', 'type': 'object'},
32031        'schema': {'key': 'schema', 'type': 'object'},
32032        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
32033        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
32034        'annotations': {'key': 'annotations', 'type': '[object]'},
32035        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
32036        'path': {'key': 'typeProperties.path', 'type': 'object'},
32037    }
32038
32039    def __init__(
32040        self,
32041        *,
32042        linked_service_name: "LinkedServiceReference",
32043        path: Any,
32044        additional_properties: Optional[Dict[str, Any]] = None,
32045        description: Optional[str] = None,
32046        structure: Optional[Any] = None,
32047        schema: Optional[Any] = None,
32048        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
32049        annotations: Optional[List[Any]] = None,
32050        folder: Optional["DatasetFolder"] = None,
32051        **kwargs
32052    ):
32053        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)
32054        self.type = 'SapCloudForCustomerResource'  # type: str
32055        self.path = path
32056
32057
32058class SapCloudForCustomerSink(CopySink):
32059    """A copy activity SAP Cloud for Customer sink.
32060
32061    All required parameters must be populated in order to send to Azure.
32062
32063    :param additional_properties: Unmatched properties from the message are deserialized to this
32064     collection.
32065    :type additional_properties: dict[str, any]
32066    :param type: Required. Copy sink type.Constant filled by server.
32067    :type type: str
32068    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
32069     integer), minimum: 0.
32070    :type write_batch_size: any
32071    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
32072     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32073    :type write_batch_timeout: any
32074    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
32075     integer).
32076    :type sink_retry_count: any
32077    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
32078     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32079    :type sink_retry_wait: any
32080    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
32081     store. Type: integer (or Expression with resultType integer).
32082    :type max_concurrent_connections: any
32083    :param write_behavior: The write behavior for the operation. Default is 'Insert'. Possible
32084     values include: "Insert", "Update".
32085    :type write_behavior: str or
32086     ~azure.synapse.artifacts.v2021_06_01_preview.models.SapCloudForCustomerSinkWriteBehavior
32087    :param http_request_timeout: The timeout (TimeSpan) to get an HTTP response. It is the timeout
32088     to get a response, not the timeout to read response data. Default value: 00:05:00. Type: string
32089     (or Expression with resultType string), pattern:
32090     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32091    :type http_request_timeout: any
32092    """
32093
32094    _validation = {
32095        'type': {'required': True},
32096    }
32097
32098    _attribute_map = {
32099        'additional_properties': {'key': '', 'type': '{object}'},
32100        'type': {'key': 'type', 'type': 'str'},
32101        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
32102        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
32103        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
32104        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
32105        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
32106        'write_behavior': {'key': 'writeBehavior', 'type': 'str'},
32107        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
32108    }
32109
32110    def __init__(
32111        self,
32112        *,
32113        additional_properties: Optional[Dict[str, Any]] = None,
32114        write_batch_size: Optional[Any] = None,
32115        write_batch_timeout: Optional[Any] = None,
32116        sink_retry_count: Optional[Any] = None,
32117        sink_retry_wait: Optional[Any] = None,
32118        max_concurrent_connections: Optional[Any] = None,
32119        write_behavior: Optional[Union[str, "SapCloudForCustomerSinkWriteBehavior"]] = None,
32120        http_request_timeout: Optional[Any] = None,
32121        **kwargs
32122    ):
32123        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)
32124        self.type = 'SapCloudForCustomerSink'  # type: str
32125        self.write_behavior = write_behavior
32126        self.http_request_timeout = http_request_timeout
32127
32128
32129class SapCloudForCustomerSource(TabularSource):
32130    """A copy activity source for SAP Cloud for Customer source.
32131
32132    All required parameters must be populated in order to send to Azure.
32133
32134    :param additional_properties: Unmatched properties from the message are deserialized to this
32135     collection.
32136    :type additional_properties: dict[str, any]
32137    :param type: Required. Copy source type.Constant filled by server.
32138    :type type: str
32139    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
32140     integer).
32141    :type source_retry_count: any
32142    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
32143     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32144    :type source_retry_wait: any
32145    :param max_concurrent_connections: The maximum concurrent connection count for the source data
32146     store. Type: integer (or Expression with resultType integer).
32147    :type max_concurrent_connections: any
32148    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
32149     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32150    :type query_timeout: any
32151    :param additional_columns: Specifies the additional columns to be added to source data. Type:
32152     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
32153    :type additional_columns: any
32154    :param query: SAP Cloud for Customer OData query. For example, "$top=1". Type: string (or
32155     Expression with resultType string).
32156    :type query: any
32157    :param http_request_timeout: The timeout (TimeSpan) to get an HTTP response. It is the timeout
32158     to get a response, not the timeout to read response data. Default value: 00:05:00. Type: string
32159     (or Expression with resultType string), pattern:
32160     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32161    :type http_request_timeout: any
32162    """
32163
32164    _validation = {
32165        'type': {'required': True},
32166    }
32167
32168    _attribute_map = {
32169        'additional_properties': {'key': '', 'type': '{object}'},
32170        'type': {'key': 'type', 'type': 'str'},
32171        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
32172        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
32173        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
32174        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
32175        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
32176        'query': {'key': 'query', 'type': 'object'},
32177        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
32178    }
32179
32180    def __init__(
32181        self,
32182        *,
32183        additional_properties: Optional[Dict[str, Any]] = None,
32184        source_retry_count: Optional[Any] = None,
32185        source_retry_wait: Optional[Any] = None,
32186        max_concurrent_connections: Optional[Any] = None,
32187        query_timeout: Optional[Any] = None,
32188        additional_columns: Optional[Any] = None,
32189        query: Optional[Any] = None,
32190        http_request_timeout: Optional[Any] = None,
32191        **kwargs
32192    ):
32193        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)
32194        self.type = 'SapCloudForCustomerSource'  # type: str
32195        self.query = query
32196        self.http_request_timeout = http_request_timeout
32197
32198
32199class SapEccLinkedService(LinkedService):
32200    """Linked service for SAP ERP Central Component(SAP ECC).
32201
32202    All required parameters must be populated in order to send to Azure.
32203
32204    :param additional_properties: Unmatched properties from the message are deserialized to this
32205     collection.
32206    :type additional_properties: dict[str, any]
32207    :param type: Required. Type of linked service.Constant filled by server.
32208    :type type: str
32209    :param connect_via: The integration runtime reference.
32210    :type connect_via:
32211     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
32212    :param description: Linked service description.
32213    :type description: str
32214    :param parameters: Parameters for linked service.
32215    :type parameters: dict[str,
32216     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
32217    :param annotations: List of tags that can be used for describing the linked service.
32218    :type annotations: list[any]
32219    :param url: Required. The URL of SAP ECC OData API. For example,
32220     '[https://hostname:port/sap/opu/odata/sap/servicename/]'. Type: string (or Expression with
32221     resultType string).
32222    :type url: str
32223    :param username: The username for Basic authentication. Type: string (or Expression with
32224     resultType string).
32225    :type username: str
32226    :param password: The password for Basic authentication.
32227    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
32228    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
32229     encrypted using the integration runtime credential manager. Either encryptedCredential or
32230     username/password must be provided. Type: string (or Expression with resultType string).
32231    :type encrypted_credential: str
32232    """
32233
32234    _validation = {
32235        'type': {'required': True},
32236        'url': {'required': True},
32237    }
32238
32239    _attribute_map = {
32240        'additional_properties': {'key': '', 'type': '{object}'},
32241        'type': {'key': 'type', 'type': 'str'},
32242        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
32243        'description': {'key': 'description', 'type': 'str'},
32244        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
32245        'annotations': {'key': 'annotations', 'type': '[object]'},
32246        'url': {'key': 'typeProperties.url', 'type': 'str'},
32247        'username': {'key': 'typeProperties.username', 'type': 'str'},
32248        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
32249        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'},
32250    }
32251
32252    def __init__(
32253        self,
32254        *,
32255        url: str,
32256        additional_properties: Optional[Dict[str, Any]] = None,
32257        connect_via: Optional["IntegrationRuntimeReference"] = None,
32258        description: Optional[str] = None,
32259        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
32260        annotations: Optional[List[Any]] = None,
32261        username: Optional[str] = None,
32262        password: Optional["SecretBase"] = None,
32263        encrypted_credential: Optional[str] = None,
32264        **kwargs
32265    ):
32266        super(SapEccLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
32267        self.type = 'SapEcc'  # type: str
32268        self.url = url
32269        self.username = username
32270        self.password = password
32271        self.encrypted_credential = encrypted_credential
32272
32273
32274class SapEccResourceDataset(Dataset):
32275    """The path of the SAP ECC OData entity.
32276
32277    All required parameters must be populated in order to send to Azure.
32278
32279    :param additional_properties: Unmatched properties from the message are deserialized to this
32280     collection.
32281    :type additional_properties: dict[str, any]
32282    :param type: Required. Type of dataset.Constant filled by server.
32283    :type type: str
32284    :param description: Dataset description.
32285    :type description: str
32286    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
32287     with resultType array), itemType: DatasetDataElement.
32288    :type structure: any
32289    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
32290     Expression with resultType array), itemType: DatasetSchemaDataElement.
32291    :type schema: any
32292    :param linked_service_name: Required. Linked service reference.
32293    :type linked_service_name:
32294     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
32295    :param parameters: Parameters for dataset.
32296    :type parameters: dict[str,
32297     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
32298    :param annotations: List of tags that can be used for describing the Dataset.
32299    :type annotations: list[any]
32300    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
32301     root level.
32302    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
32303    :param path: Required. The path of the SAP ECC OData entity. Type: string (or Expression with
32304     resultType string).
32305    :type path: any
32306    """
32307
32308    _validation = {
32309        'type': {'required': True},
32310        'linked_service_name': {'required': True},
32311        'path': {'required': True},
32312    }
32313
32314    _attribute_map = {
32315        'additional_properties': {'key': '', 'type': '{object}'},
32316        'type': {'key': 'type', 'type': 'str'},
32317        'description': {'key': 'description', 'type': 'str'},
32318        'structure': {'key': 'structure', 'type': 'object'},
32319        'schema': {'key': 'schema', 'type': 'object'},
32320        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
32321        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
32322        'annotations': {'key': 'annotations', 'type': '[object]'},
32323        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
32324        'path': {'key': 'typeProperties.path', 'type': 'object'},
32325    }
32326
32327    def __init__(
32328        self,
32329        *,
32330        linked_service_name: "LinkedServiceReference",
32331        path: Any,
32332        additional_properties: Optional[Dict[str, Any]] = None,
32333        description: Optional[str] = None,
32334        structure: Optional[Any] = None,
32335        schema: Optional[Any] = None,
32336        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
32337        annotations: Optional[List[Any]] = None,
32338        folder: Optional["DatasetFolder"] = None,
32339        **kwargs
32340    ):
32341        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)
32342        self.type = 'SapEccResource'  # type: str
32343        self.path = path
32344
32345
32346class SapEccSource(TabularSource):
32347    """A copy activity source for SAP ECC source.
32348
32349    All required parameters must be populated in order to send to Azure.
32350
32351    :param additional_properties: Unmatched properties from the message are deserialized to this
32352     collection.
32353    :type additional_properties: dict[str, any]
32354    :param type: Required. Copy source type.Constant filled by server.
32355    :type type: str
32356    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
32357     integer).
32358    :type source_retry_count: any
32359    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
32360     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32361    :type source_retry_wait: any
32362    :param max_concurrent_connections: The maximum concurrent connection count for the source data
32363     store. Type: integer (or Expression with resultType integer).
32364    :type max_concurrent_connections: any
32365    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
32366     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32367    :type query_timeout: any
32368    :param additional_columns: Specifies the additional columns to be added to source data. Type:
32369     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
32370    :type additional_columns: any
32371    :param query: SAP ECC OData query. For example, "$top=1". Type: string (or Expression with
32372     resultType string).
32373    :type query: any
32374    :param http_request_timeout: The timeout (TimeSpan) to get an HTTP response. It is the timeout
32375     to get a response, not the timeout to read response data. Default value: 00:05:00. Type: string
32376     (or Expression with resultType string), pattern:
32377     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32378    :type http_request_timeout: any
32379    """
32380
32381    _validation = {
32382        'type': {'required': True},
32383    }
32384
32385    _attribute_map = {
32386        'additional_properties': {'key': '', 'type': '{object}'},
32387        'type': {'key': 'type', 'type': 'str'},
32388        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
32389        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
32390        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
32391        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
32392        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
32393        'query': {'key': 'query', 'type': 'object'},
32394        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
32395    }
32396
32397    def __init__(
32398        self,
32399        *,
32400        additional_properties: Optional[Dict[str, Any]] = None,
32401        source_retry_count: Optional[Any] = None,
32402        source_retry_wait: Optional[Any] = None,
32403        max_concurrent_connections: Optional[Any] = None,
32404        query_timeout: Optional[Any] = None,
32405        additional_columns: Optional[Any] = None,
32406        query: Optional[Any] = None,
32407        http_request_timeout: Optional[Any] = None,
32408        **kwargs
32409    ):
32410        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)
32411        self.type = 'SapEccSource'  # type: str
32412        self.query = query
32413        self.http_request_timeout = http_request_timeout
32414
32415
32416class SapHanaLinkedService(LinkedService):
32417    """SAP HANA Linked Service.
32418
32419    All required parameters must be populated in order to send to Azure.
32420
32421    :param additional_properties: Unmatched properties from the message are deserialized to this
32422     collection.
32423    :type additional_properties: dict[str, any]
32424    :param type: Required. Type of linked service.Constant filled by server.
32425    :type type: str
32426    :param connect_via: The integration runtime reference.
32427    :type connect_via:
32428     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
32429    :param description: Linked service description.
32430    :type description: str
32431    :param parameters: Parameters for linked service.
32432    :type parameters: dict[str,
32433     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
32434    :param annotations: List of tags that can be used for describing the linked service.
32435    :type annotations: list[any]
32436    :param connection_string: SAP HANA ODBC connection string. Type: string, SecureString or
32437     AzureKeyVaultSecretReference.
32438    :type connection_string: any
32439    :param server: Required. Host name of the SAP HANA server. Type: string (or Expression with
32440     resultType string).
32441    :type server: any
32442    :param authentication_type: The authentication type to be used to connect to the SAP HANA
32443     server. Possible values include: "Basic", "Windows".
32444    :type authentication_type: str or
32445     ~azure.synapse.artifacts.v2021_06_01_preview.models.SapHanaAuthenticationType
32446    :param user_name: Username to access the SAP HANA server. Type: string (or Expression with
32447     resultType string).
32448    :type user_name: any
32449    :param password: Password to access the SAP HANA server.
32450    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
32451    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
32452     encrypted using the integration runtime credential manager. Type: string (or Expression with
32453     resultType string).
32454    :type encrypted_credential: any
32455    """
32456
32457    _validation = {
32458        'type': {'required': True},
32459        'server': {'required': True},
32460    }
32461
32462    _attribute_map = {
32463        'additional_properties': {'key': '', 'type': '{object}'},
32464        'type': {'key': 'type', 'type': 'str'},
32465        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
32466        'description': {'key': 'description', 'type': 'str'},
32467        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
32468        'annotations': {'key': 'annotations', 'type': '[object]'},
32469        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
32470        'server': {'key': 'typeProperties.server', 'type': 'object'},
32471        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
32472        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
32473        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
32474        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
32475    }
32476
32477    def __init__(
32478        self,
32479        *,
32480        server: Any,
32481        additional_properties: Optional[Dict[str, Any]] = None,
32482        connect_via: Optional["IntegrationRuntimeReference"] = None,
32483        description: Optional[str] = None,
32484        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
32485        annotations: Optional[List[Any]] = None,
32486        connection_string: Optional[Any] = None,
32487        authentication_type: Optional[Union[str, "SapHanaAuthenticationType"]] = None,
32488        user_name: Optional[Any] = None,
32489        password: Optional["SecretBase"] = None,
32490        encrypted_credential: Optional[Any] = None,
32491        **kwargs
32492    ):
32493        super(SapHanaLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
32494        self.type = 'SapHana'  # type: str
32495        self.connection_string = connection_string
32496        self.server = server
32497        self.authentication_type = authentication_type
32498        self.user_name = user_name
32499        self.password = password
32500        self.encrypted_credential = encrypted_credential
32501
32502
32503class SapHanaPartitionSettings(msrest.serialization.Model):
32504    """The settings that will be leveraged for SAP HANA source partitioning.
32505
32506    :param partition_column_name: The name of the column that will be used for proceeding range
32507     partitioning. Type: string (or Expression with resultType string).
32508    :type partition_column_name: any
32509    """
32510
32511    _attribute_map = {
32512        'partition_column_name': {'key': 'partitionColumnName', 'type': 'object'},
32513    }
32514
32515    def __init__(
32516        self,
32517        *,
32518        partition_column_name: Optional[Any] = None,
32519        **kwargs
32520    ):
32521        super(SapHanaPartitionSettings, self).__init__(**kwargs)
32522        self.partition_column_name = partition_column_name
32523
32524
32525class SapHanaSource(TabularSource):
32526    """A copy activity source for SAP HANA source.
32527
32528    All required parameters must be populated in order to send to Azure.
32529
32530    :param additional_properties: Unmatched properties from the message are deserialized to this
32531     collection.
32532    :type additional_properties: dict[str, any]
32533    :param type: Required. Copy source type.Constant filled by server.
32534    :type type: str
32535    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
32536     integer).
32537    :type source_retry_count: any
32538    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
32539     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32540    :type source_retry_wait: any
32541    :param max_concurrent_connections: The maximum concurrent connection count for the source data
32542     store. Type: integer (or Expression with resultType integer).
32543    :type max_concurrent_connections: any
32544    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
32545     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32546    :type query_timeout: any
32547    :param additional_columns: Specifies the additional columns to be added to source data. Type:
32548     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
32549    :type additional_columns: any
32550    :param query: SAP HANA Sql query. Type: string (or Expression with resultType string).
32551    :type query: any
32552    :param packet_size: The packet size of data read from SAP HANA. Type: integer(or Expression
32553     with resultType integer).
32554    :type packet_size: any
32555    :param partition_option: The partition mechanism that will be used for SAP HANA read in
32556     parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "SapHanaDynamicRange".
32557    :type partition_option: str or
32558     ~azure.synapse.artifacts.v2021_06_01_preview.models.SapHanaPartitionOption
32559    :param partition_settings: The settings that will be leveraged for SAP HANA source
32560     partitioning.
32561    :type partition_settings:
32562     ~azure.synapse.artifacts.v2021_06_01_preview.models.SapHanaPartitionSettings
32563    """
32564
32565    _validation = {
32566        'type': {'required': True},
32567    }
32568
32569    _attribute_map = {
32570        'additional_properties': {'key': '', 'type': '{object}'},
32571        'type': {'key': 'type', 'type': 'str'},
32572        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
32573        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
32574        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
32575        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
32576        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
32577        'query': {'key': 'query', 'type': 'object'},
32578        'packet_size': {'key': 'packetSize', 'type': 'object'},
32579        'partition_option': {'key': 'partitionOption', 'type': 'str'},
32580        'partition_settings': {'key': 'partitionSettings', 'type': 'SapHanaPartitionSettings'},
32581    }
32582
32583    def __init__(
32584        self,
32585        *,
32586        additional_properties: Optional[Dict[str, Any]] = None,
32587        source_retry_count: Optional[Any] = None,
32588        source_retry_wait: Optional[Any] = None,
32589        max_concurrent_connections: Optional[Any] = None,
32590        query_timeout: Optional[Any] = None,
32591        additional_columns: Optional[Any] = None,
32592        query: Optional[Any] = None,
32593        packet_size: Optional[Any] = None,
32594        partition_option: Optional[Union[str, "SapHanaPartitionOption"]] = None,
32595        partition_settings: Optional["SapHanaPartitionSettings"] = None,
32596        **kwargs
32597    ):
32598        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)
32599        self.type = 'SapHanaSource'  # type: str
32600        self.query = query
32601        self.packet_size = packet_size
32602        self.partition_option = partition_option
32603        self.partition_settings = partition_settings
32604
32605
32606class SapHanaTableDataset(Dataset):
32607    """SAP HANA Table properties.
32608
32609    All required parameters must be populated in order to send to Azure.
32610
32611    :param additional_properties: Unmatched properties from the message are deserialized to this
32612     collection.
32613    :type additional_properties: dict[str, any]
32614    :param type: Required. Type of dataset.Constant filled by server.
32615    :type type: str
32616    :param description: Dataset description.
32617    :type description: str
32618    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
32619     with resultType array), itemType: DatasetDataElement.
32620    :type structure: any
32621    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
32622     Expression with resultType array), itemType: DatasetSchemaDataElement.
32623    :type schema: any
32624    :param linked_service_name: Required. Linked service reference.
32625    :type linked_service_name:
32626     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
32627    :param parameters: Parameters for dataset.
32628    :type parameters: dict[str,
32629     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
32630    :param annotations: List of tags that can be used for describing the Dataset.
32631    :type annotations: list[any]
32632    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
32633     root level.
32634    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
32635    :param schema_type_properties_schema: The schema name of SAP HANA. Type: string (or Expression
32636     with resultType string).
32637    :type schema_type_properties_schema: any
32638    :param table: The table name of SAP HANA. Type: string (or Expression with resultType string).
32639    :type table: any
32640    """
32641
32642    _validation = {
32643        'type': {'required': True},
32644        'linked_service_name': {'required': True},
32645    }
32646
32647    _attribute_map = {
32648        'additional_properties': {'key': '', 'type': '{object}'},
32649        'type': {'key': 'type', 'type': 'str'},
32650        'description': {'key': 'description', 'type': 'str'},
32651        'structure': {'key': 'structure', 'type': 'object'},
32652        'schema': {'key': 'schema', 'type': 'object'},
32653        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
32654        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
32655        'annotations': {'key': 'annotations', 'type': '[object]'},
32656        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
32657        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
32658        'table': {'key': 'typeProperties.table', 'type': 'object'},
32659    }
32660
32661    def __init__(
32662        self,
32663        *,
32664        linked_service_name: "LinkedServiceReference",
32665        additional_properties: Optional[Dict[str, Any]] = None,
32666        description: Optional[str] = None,
32667        structure: Optional[Any] = None,
32668        schema: Optional[Any] = None,
32669        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
32670        annotations: Optional[List[Any]] = None,
32671        folder: Optional["DatasetFolder"] = None,
32672        schema_type_properties_schema: Optional[Any] = None,
32673        table: Optional[Any] = None,
32674        **kwargs
32675    ):
32676        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)
32677        self.type = 'SapHanaTable'  # type: str
32678        self.schema_type_properties_schema = schema_type_properties_schema
32679        self.table = table
32680
32681
32682class SapOpenHubLinkedService(LinkedService):
32683    """SAP Business Warehouse Open Hub Destination Linked Service.
32684
32685    All required parameters must be populated in order to send to Azure.
32686
32687    :param additional_properties: Unmatched properties from the message are deserialized to this
32688     collection.
32689    :type additional_properties: dict[str, any]
32690    :param type: Required. Type of linked service.Constant filled by server.
32691    :type type: str
32692    :param connect_via: The integration runtime reference.
32693    :type connect_via:
32694     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
32695    :param description: Linked service description.
32696    :type description: str
32697    :param parameters: Parameters for linked service.
32698    :type parameters: dict[str,
32699     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
32700    :param annotations: List of tags that can be used for describing the linked service.
32701    :type annotations: list[any]
32702    :param server: Required. Host name of the SAP BW instance where the open hub destination is
32703     located. Type: string (or Expression with resultType string).
32704    :type server: any
32705    :param system_number: Required. System number of the BW system where the open hub destination
32706     is located. (Usually a two-digit decimal number represented as a string.) Type: string (or
32707     Expression with resultType string).
32708    :type system_number: any
32709    :param client_id: Required. Client ID of the client on the BW system where the open hub
32710     destination is located. (Usually a three-digit decimal number represented as a string) Type:
32711     string (or Expression with resultType string).
32712    :type client_id: any
32713    :param language: Language of the BW system where the open hub destination is located. The
32714     default value is EN. Type: string (or Expression with resultType string).
32715    :type language: any
32716    :param system_id: SystemID of the SAP system where the table is located. Type: string (or
32717     Expression with resultType string).
32718    :type system_id: any
32719    :param user_name: Username to access the SAP BW server where the open hub destination is
32720     located. Type: string (or Expression with resultType string).
32721    :type user_name: any
32722    :param password: Password to access the SAP BW server where the open hub destination is
32723     located.
32724    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
32725    :param message_server: The hostname of the SAP Message Server. Type: string (or Expression with
32726     resultType string).
32727    :type message_server: any
32728    :param message_server_service: The service name or port number of the Message Server. Type:
32729     string (or Expression with resultType string).
32730    :type message_server_service: any
32731    :param logon_group: The Logon Group for the SAP System. Type: string (or Expression with
32732     resultType string).
32733    :type logon_group: any
32734    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
32735     encrypted using the integration runtime credential manager. Type: string (or Expression with
32736     resultType string).
32737    :type encrypted_credential: any
32738    """
32739
32740    _validation = {
32741        'type': {'required': True},
32742        'server': {'required': True},
32743        'system_number': {'required': True},
32744        'client_id': {'required': True},
32745    }
32746
32747    _attribute_map = {
32748        'additional_properties': {'key': '', 'type': '{object}'},
32749        'type': {'key': 'type', 'type': 'str'},
32750        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
32751        'description': {'key': 'description', 'type': 'str'},
32752        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
32753        'annotations': {'key': 'annotations', 'type': '[object]'},
32754        'server': {'key': 'typeProperties.server', 'type': 'object'},
32755        'system_number': {'key': 'typeProperties.systemNumber', 'type': 'object'},
32756        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
32757        'language': {'key': 'typeProperties.language', 'type': 'object'},
32758        'system_id': {'key': 'typeProperties.systemId', 'type': 'object'},
32759        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
32760        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
32761        'message_server': {'key': 'typeProperties.messageServer', 'type': 'object'},
32762        'message_server_service': {'key': 'typeProperties.messageServerService', 'type': 'object'},
32763        'logon_group': {'key': 'typeProperties.logonGroup', 'type': 'object'},
32764        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
32765    }
32766
32767    def __init__(
32768        self,
32769        *,
32770        server: Any,
32771        system_number: Any,
32772        client_id: Any,
32773        additional_properties: Optional[Dict[str, Any]] = None,
32774        connect_via: Optional["IntegrationRuntimeReference"] = None,
32775        description: Optional[str] = None,
32776        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
32777        annotations: Optional[List[Any]] = None,
32778        language: Optional[Any] = None,
32779        system_id: Optional[Any] = None,
32780        user_name: Optional[Any] = None,
32781        password: Optional["SecretBase"] = None,
32782        message_server: Optional[Any] = None,
32783        message_server_service: Optional[Any] = None,
32784        logon_group: Optional[Any] = None,
32785        encrypted_credential: Optional[Any] = None,
32786        **kwargs
32787    ):
32788        super(SapOpenHubLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
32789        self.type = 'SapOpenHub'  # type: str
32790        self.server = server
32791        self.system_number = system_number
32792        self.client_id = client_id
32793        self.language = language
32794        self.system_id = system_id
32795        self.user_name = user_name
32796        self.password = password
32797        self.message_server = message_server
32798        self.message_server_service = message_server_service
32799        self.logon_group = logon_group
32800        self.encrypted_credential = encrypted_credential
32801
32802
32803class SapOpenHubSource(TabularSource):
32804    """A copy activity source for SAP Business Warehouse Open Hub Destination source.
32805
32806    All required parameters must be populated in order to send to Azure.
32807
32808    :param additional_properties: Unmatched properties from the message are deserialized to this
32809     collection.
32810    :type additional_properties: dict[str, any]
32811    :param type: Required. Copy source type.Constant filled by server.
32812    :type type: str
32813    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
32814     integer).
32815    :type source_retry_count: any
32816    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
32817     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32818    :type source_retry_wait: any
32819    :param max_concurrent_connections: The maximum concurrent connection count for the source data
32820     store. Type: integer (or Expression with resultType integer).
32821    :type max_concurrent_connections: any
32822    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
32823     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
32824    :type query_timeout: any
32825    :param additional_columns: Specifies the additional columns to be added to source data. Type:
32826     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
32827    :type additional_columns: any
32828    :param exclude_last_request: Whether to exclude the records of the last request. The default
32829     value is true. Type: boolean (or Expression with resultType boolean).
32830    :type exclude_last_request: any
32831    :param base_request_id: The ID of request for delta loading. Once it is set, only data with
32832     requestId larger than the value of this property will be retrieved. The default value is 0.
32833     Type: integer (or Expression with resultType integer ).
32834    :type base_request_id: any
32835    :param custom_rfc_read_table_function_module: Specifies the custom RFC function module that
32836     will be used to read data from SAP Table. Type: string (or Expression with resultType string).
32837    :type custom_rfc_read_table_function_module: any
32838    :param sap_data_column_delimiter: The single character that will be used as delimiter passed to
32839     SAP RFC as well as splitting the output data retrieved. Type: string (or Expression with
32840     resultType string).
32841    :type sap_data_column_delimiter: any
32842    """
32843
32844    _validation = {
32845        'type': {'required': True},
32846    }
32847
32848    _attribute_map = {
32849        'additional_properties': {'key': '', 'type': '{object}'},
32850        'type': {'key': 'type', 'type': 'str'},
32851        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
32852        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
32853        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
32854        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
32855        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
32856        'exclude_last_request': {'key': 'excludeLastRequest', 'type': 'object'},
32857        'base_request_id': {'key': 'baseRequestId', 'type': 'object'},
32858        'custom_rfc_read_table_function_module': {'key': 'customRfcReadTableFunctionModule', 'type': 'object'},
32859        'sap_data_column_delimiter': {'key': 'sapDataColumnDelimiter', 'type': 'object'},
32860    }
32861
32862    def __init__(
32863        self,
32864        *,
32865        additional_properties: Optional[Dict[str, Any]] = None,
32866        source_retry_count: Optional[Any] = None,
32867        source_retry_wait: Optional[Any] = None,
32868        max_concurrent_connections: Optional[Any] = None,
32869        query_timeout: Optional[Any] = None,
32870        additional_columns: Optional[Any] = None,
32871        exclude_last_request: Optional[Any] = None,
32872        base_request_id: Optional[Any] = None,
32873        custom_rfc_read_table_function_module: Optional[Any] = None,
32874        sap_data_column_delimiter: Optional[Any] = None,
32875        **kwargs
32876    ):
32877        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)
32878        self.type = 'SapOpenHubSource'  # type: str
32879        self.exclude_last_request = exclude_last_request
32880        self.base_request_id = base_request_id
32881        self.custom_rfc_read_table_function_module = custom_rfc_read_table_function_module
32882        self.sap_data_column_delimiter = sap_data_column_delimiter
32883
32884
32885class SapOpenHubTableDataset(Dataset):
32886    """Sap Business Warehouse Open Hub Destination Table properties.
32887
32888    All required parameters must be populated in order to send to Azure.
32889
32890    :param additional_properties: Unmatched properties from the message are deserialized to this
32891     collection.
32892    :type additional_properties: dict[str, any]
32893    :param type: Required. Type of dataset.Constant filled by server.
32894    :type type: str
32895    :param description: Dataset description.
32896    :type description: str
32897    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
32898     with resultType array), itemType: DatasetDataElement.
32899    :type structure: any
32900    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
32901     Expression with resultType array), itemType: DatasetSchemaDataElement.
32902    :type schema: any
32903    :param linked_service_name: Required. Linked service reference.
32904    :type linked_service_name:
32905     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
32906    :param parameters: Parameters for dataset.
32907    :type parameters: dict[str,
32908     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
32909    :param annotations: List of tags that can be used for describing the Dataset.
32910    :type annotations: list[any]
32911    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
32912     root level.
32913    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
32914    :param open_hub_destination_name: Required. The name of the Open Hub Destination with
32915     destination type as Database Table. Type: string (or Expression with resultType string).
32916    :type open_hub_destination_name: any
32917    :param exclude_last_request: Whether to exclude the records of the last request. The default
32918     value is true. Type: boolean (or Expression with resultType boolean).
32919    :type exclude_last_request: any
32920    :param base_request_id: The ID of request for delta loading. Once it is set, only data with
32921     requestId larger than the value of this property will be retrieved. The default value is 0.
32922     Type: integer (or Expression with resultType integer ).
32923    :type base_request_id: any
32924    """
32925
32926    _validation = {
32927        'type': {'required': True},
32928        'linked_service_name': {'required': True},
32929        'open_hub_destination_name': {'required': True},
32930    }
32931
32932    _attribute_map = {
32933        'additional_properties': {'key': '', 'type': '{object}'},
32934        'type': {'key': 'type', 'type': 'str'},
32935        'description': {'key': 'description', 'type': 'str'},
32936        'structure': {'key': 'structure', 'type': 'object'},
32937        'schema': {'key': 'schema', 'type': 'object'},
32938        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
32939        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
32940        'annotations': {'key': 'annotations', 'type': '[object]'},
32941        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
32942        'open_hub_destination_name': {'key': 'typeProperties.openHubDestinationName', 'type': 'object'},
32943        'exclude_last_request': {'key': 'typeProperties.excludeLastRequest', 'type': 'object'},
32944        'base_request_id': {'key': 'typeProperties.baseRequestId', 'type': 'object'},
32945    }
32946
32947    def __init__(
32948        self,
32949        *,
32950        linked_service_name: "LinkedServiceReference",
32951        open_hub_destination_name: Any,
32952        additional_properties: Optional[Dict[str, Any]] = None,
32953        description: Optional[str] = None,
32954        structure: Optional[Any] = None,
32955        schema: Optional[Any] = None,
32956        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
32957        annotations: Optional[List[Any]] = None,
32958        folder: Optional["DatasetFolder"] = None,
32959        exclude_last_request: Optional[Any] = None,
32960        base_request_id: Optional[Any] = None,
32961        **kwargs
32962    ):
32963        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)
32964        self.type = 'SapOpenHubTable'  # type: str
32965        self.open_hub_destination_name = open_hub_destination_name
32966        self.exclude_last_request = exclude_last_request
32967        self.base_request_id = base_request_id
32968
32969
32970class SapTableLinkedService(LinkedService):
32971    """SAP Table Linked Service.
32972
32973    All required parameters must be populated in order to send to Azure.
32974
32975    :param additional_properties: Unmatched properties from the message are deserialized to this
32976     collection.
32977    :type additional_properties: dict[str, any]
32978    :param type: Required. Type of linked service.Constant filled by server.
32979    :type type: str
32980    :param connect_via: The integration runtime reference.
32981    :type connect_via:
32982     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
32983    :param description: Linked service description.
32984    :type description: str
32985    :param parameters: Parameters for linked service.
32986    :type parameters: dict[str,
32987     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
32988    :param annotations: List of tags that can be used for describing the linked service.
32989    :type annotations: list[any]
32990    :param server: Host name of the SAP instance where the table is located. Type: string (or
32991     Expression with resultType string).
32992    :type server: any
32993    :param system_number: System number of the SAP system where the table is located. (Usually a
32994     two-digit decimal number represented as a string.) Type: string (or Expression with resultType
32995     string).
32996    :type system_number: any
32997    :param client_id: Client ID of the client on the SAP system where the table is located.
32998     (Usually a three-digit decimal number represented as a string) Type: string (or Expression with
32999     resultType string).
33000    :type client_id: any
33001    :param language: Language of the SAP system where the table is located. The default value is
33002     EN. Type: string (or Expression with resultType string).
33003    :type language: any
33004    :param system_id: SystemID of the SAP system where the table is located. Type: string (or
33005     Expression with resultType string).
33006    :type system_id: any
33007    :param user_name: Username to access the SAP server where the table is located. Type: string
33008     (or Expression with resultType string).
33009    :type user_name: any
33010    :param password: Password to access the SAP server where the table is located.
33011    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
33012    :param message_server: The hostname of the SAP Message Server. Type: string (or Expression with
33013     resultType string).
33014    :type message_server: any
33015    :param message_server_service: The service name or port number of the Message Server. Type:
33016     string (or Expression with resultType string).
33017    :type message_server_service: any
33018    :param snc_mode: SNC activation indicator to access the SAP server where the table is located.
33019     Must be either 0 (off) or 1 (on). Type: string (or Expression with resultType string).
33020    :type snc_mode: any
33021    :param snc_my_name: Initiator's SNC name to access the SAP server where the table is located.
33022     Type: string (or Expression with resultType string).
33023    :type snc_my_name: any
33024    :param snc_partner_name: Communication partner's SNC name to access the SAP server where the
33025     table is located. Type: string (or Expression with resultType string).
33026    :type snc_partner_name: any
33027    :param snc_library_path: External security product's library to access the SAP server where the
33028     table is located. Type: string (or Expression with resultType string).
33029    :type snc_library_path: any
33030    :param snc_qop: SNC Quality of Protection. Allowed value include: 1, 2, 3, 8, 9. Type: string
33031     (or Expression with resultType string).
33032    :type snc_qop: any
33033    :param logon_group: The Logon Group for the SAP System. Type: string (or Expression with
33034     resultType string).
33035    :type logon_group: any
33036    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
33037     encrypted using the integration runtime credential manager. Type: string (or Expression with
33038     resultType string).
33039    :type encrypted_credential: any
33040    """
33041
33042    _validation = {
33043        'type': {'required': True},
33044    }
33045
33046    _attribute_map = {
33047        'additional_properties': {'key': '', 'type': '{object}'},
33048        'type': {'key': 'type', 'type': 'str'},
33049        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
33050        'description': {'key': 'description', 'type': 'str'},
33051        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
33052        'annotations': {'key': 'annotations', 'type': '[object]'},
33053        'server': {'key': 'typeProperties.server', 'type': 'object'},
33054        'system_number': {'key': 'typeProperties.systemNumber', 'type': 'object'},
33055        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
33056        'language': {'key': 'typeProperties.language', 'type': 'object'},
33057        'system_id': {'key': 'typeProperties.systemId', 'type': 'object'},
33058        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
33059        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
33060        'message_server': {'key': 'typeProperties.messageServer', 'type': 'object'},
33061        'message_server_service': {'key': 'typeProperties.messageServerService', 'type': 'object'},
33062        'snc_mode': {'key': 'typeProperties.sncMode', 'type': 'object'},
33063        'snc_my_name': {'key': 'typeProperties.sncMyName', 'type': 'object'},
33064        'snc_partner_name': {'key': 'typeProperties.sncPartnerName', 'type': 'object'},
33065        'snc_library_path': {'key': 'typeProperties.sncLibraryPath', 'type': 'object'},
33066        'snc_qop': {'key': 'typeProperties.sncQop', 'type': 'object'},
33067        'logon_group': {'key': 'typeProperties.logonGroup', 'type': 'object'},
33068        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
33069    }
33070
33071    def __init__(
33072        self,
33073        *,
33074        additional_properties: Optional[Dict[str, Any]] = None,
33075        connect_via: Optional["IntegrationRuntimeReference"] = None,
33076        description: Optional[str] = None,
33077        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
33078        annotations: Optional[List[Any]] = None,
33079        server: Optional[Any] = None,
33080        system_number: Optional[Any] = None,
33081        client_id: Optional[Any] = None,
33082        language: Optional[Any] = None,
33083        system_id: Optional[Any] = None,
33084        user_name: Optional[Any] = None,
33085        password: Optional["SecretBase"] = None,
33086        message_server: Optional[Any] = None,
33087        message_server_service: Optional[Any] = None,
33088        snc_mode: Optional[Any] = None,
33089        snc_my_name: Optional[Any] = None,
33090        snc_partner_name: Optional[Any] = None,
33091        snc_library_path: Optional[Any] = None,
33092        snc_qop: Optional[Any] = None,
33093        logon_group: Optional[Any] = None,
33094        encrypted_credential: Optional[Any] = None,
33095        **kwargs
33096    ):
33097        super(SapTableLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
33098        self.type = 'SapTable'  # type: str
33099        self.server = server
33100        self.system_number = system_number
33101        self.client_id = client_id
33102        self.language = language
33103        self.system_id = system_id
33104        self.user_name = user_name
33105        self.password = password
33106        self.message_server = message_server
33107        self.message_server_service = message_server_service
33108        self.snc_mode = snc_mode
33109        self.snc_my_name = snc_my_name
33110        self.snc_partner_name = snc_partner_name
33111        self.snc_library_path = snc_library_path
33112        self.snc_qop = snc_qop
33113        self.logon_group = logon_group
33114        self.encrypted_credential = encrypted_credential
33115
33116
33117class SapTablePartitionSettings(msrest.serialization.Model):
33118    """The settings that will be leveraged for SAP table source partitioning.
33119
33120    :param partition_column_name: The name of the column that will be used for proceeding range
33121     partitioning. Type: string (or Expression with resultType string).
33122    :type partition_column_name: any
33123    :param partition_upper_bound: The maximum value of column specified in partitionColumnName that
33124     will be used for proceeding range partitioning. Type: string (or Expression with resultType
33125     string).
33126    :type partition_upper_bound: any
33127    :param partition_lower_bound: The minimum value of column specified in partitionColumnName that
33128     will be used for proceeding range partitioning. Type: string (or Expression with resultType
33129     string).
33130    :type partition_lower_bound: any
33131    :param max_partitions_number: The maximum value of partitions the table will be split into.
33132     Type: integer (or Expression with resultType string).
33133    :type max_partitions_number: any
33134    """
33135
33136    _attribute_map = {
33137        'partition_column_name': {'key': 'partitionColumnName', 'type': 'object'},
33138        'partition_upper_bound': {'key': 'partitionUpperBound', 'type': 'object'},
33139        'partition_lower_bound': {'key': 'partitionLowerBound', 'type': 'object'},
33140        'max_partitions_number': {'key': 'maxPartitionsNumber', 'type': 'object'},
33141    }
33142
33143    def __init__(
33144        self,
33145        *,
33146        partition_column_name: Optional[Any] = None,
33147        partition_upper_bound: Optional[Any] = None,
33148        partition_lower_bound: Optional[Any] = None,
33149        max_partitions_number: Optional[Any] = None,
33150        **kwargs
33151    ):
33152        super(SapTablePartitionSettings, self).__init__(**kwargs)
33153        self.partition_column_name = partition_column_name
33154        self.partition_upper_bound = partition_upper_bound
33155        self.partition_lower_bound = partition_lower_bound
33156        self.max_partitions_number = max_partitions_number
33157
33158
33159class SapTableResourceDataset(Dataset):
33160    """SAP Table Resource properties.
33161
33162    All required parameters must be populated in order to send to Azure.
33163
33164    :param additional_properties: Unmatched properties from the message are deserialized to this
33165     collection.
33166    :type additional_properties: dict[str, any]
33167    :param type: Required. Type of dataset.Constant filled by server.
33168    :type type: str
33169    :param description: Dataset description.
33170    :type description: str
33171    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
33172     with resultType array), itemType: DatasetDataElement.
33173    :type structure: any
33174    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
33175     Expression with resultType array), itemType: DatasetSchemaDataElement.
33176    :type schema: any
33177    :param linked_service_name: Required. Linked service reference.
33178    :type linked_service_name:
33179     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
33180    :param parameters: Parameters for dataset.
33181    :type parameters: dict[str,
33182     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
33183    :param annotations: List of tags that can be used for describing the Dataset.
33184    :type annotations: list[any]
33185    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
33186     root level.
33187    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
33188    :param table_name: Required. The name of the SAP Table. Type: string (or Expression with
33189     resultType string).
33190    :type table_name: any
33191    """
33192
33193    _validation = {
33194        'type': {'required': True},
33195        'linked_service_name': {'required': True},
33196        'table_name': {'required': True},
33197    }
33198
33199    _attribute_map = {
33200        'additional_properties': {'key': '', 'type': '{object}'},
33201        'type': {'key': 'type', 'type': 'str'},
33202        'description': {'key': 'description', 'type': 'str'},
33203        'structure': {'key': 'structure', 'type': 'object'},
33204        'schema': {'key': 'schema', 'type': 'object'},
33205        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
33206        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
33207        'annotations': {'key': 'annotations', 'type': '[object]'},
33208        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
33209        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
33210    }
33211
33212    def __init__(
33213        self,
33214        *,
33215        linked_service_name: "LinkedServiceReference",
33216        table_name: Any,
33217        additional_properties: Optional[Dict[str, Any]] = None,
33218        description: Optional[str] = None,
33219        structure: Optional[Any] = None,
33220        schema: Optional[Any] = None,
33221        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
33222        annotations: Optional[List[Any]] = None,
33223        folder: Optional["DatasetFolder"] = None,
33224        **kwargs
33225    ):
33226        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)
33227        self.type = 'SapTableResource'  # type: str
33228        self.table_name = table_name
33229
33230
33231class SapTableSource(TabularSource):
33232    """A copy activity source for SAP Table source.
33233
33234    All required parameters must be populated in order to send to Azure.
33235
33236    :param additional_properties: Unmatched properties from the message are deserialized to this
33237     collection.
33238    :type additional_properties: dict[str, any]
33239    :param type: Required. Copy source type.Constant filled by server.
33240    :type type: str
33241    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
33242     integer).
33243    :type source_retry_count: any
33244    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
33245     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
33246    :type source_retry_wait: any
33247    :param max_concurrent_connections: The maximum concurrent connection count for the source data
33248     store. Type: integer (or Expression with resultType integer).
33249    :type max_concurrent_connections: any
33250    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
33251     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
33252    :type query_timeout: any
33253    :param additional_columns: Specifies the additional columns to be added to source data. Type:
33254     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
33255    :type additional_columns: any
33256    :param row_count: The number of rows to be retrieved. Type: integer(or Expression with
33257     resultType integer).
33258    :type row_count: any
33259    :param row_skips: The number of rows that will be skipped. Type: integer (or Expression with
33260     resultType integer).
33261    :type row_skips: any
33262    :param rfc_table_fields: The fields of the SAP table that will be retrieved. For example,
33263     column0, column1. Type: string (or Expression with resultType string).
33264    :type rfc_table_fields: any
33265    :param rfc_table_options: The options for the filtering of the SAP Table. For example, COLUMN0
33266     EQ SOME VALUE. Type: string (or Expression with resultType string).
33267    :type rfc_table_options: any
33268    :param batch_size: Specifies the maximum number of rows that will be retrieved at a time when
33269     retrieving data from SAP Table. Type: integer (or Expression with resultType integer).
33270    :type batch_size: any
33271    :param custom_rfc_read_table_function_module: Specifies the custom RFC function module that
33272     will be used to read data from SAP Table. Type: string (or Expression with resultType string).
33273    :type custom_rfc_read_table_function_module: any
33274    :param sap_data_column_delimiter: The single character that will be used as delimiter passed to
33275     SAP RFC as well as splitting the output data retrieved. Type: string (or Expression with
33276     resultType string).
33277    :type sap_data_column_delimiter: any
33278    :param partition_option: The partition mechanism that will be used for SAP table read in
33279     parallel. Possible values include: "None", "PartitionOnInt", "PartitionOnCalendarYear",
33280     "PartitionOnCalendarMonth", "PartitionOnCalendarDate", "PartitionOnTime".
33281    :type partition_option: str or
33282     ~azure.synapse.artifacts.v2021_06_01_preview.models.SapTablePartitionOption
33283    :param partition_settings: The settings that will be leveraged for SAP table source
33284     partitioning.
33285    :type partition_settings:
33286     ~azure.synapse.artifacts.v2021_06_01_preview.models.SapTablePartitionSettings
33287    """
33288
33289    _validation = {
33290        'type': {'required': True},
33291    }
33292
33293    _attribute_map = {
33294        'additional_properties': {'key': '', 'type': '{object}'},
33295        'type': {'key': 'type', 'type': 'str'},
33296        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
33297        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
33298        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
33299        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
33300        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
33301        'row_count': {'key': 'rowCount', 'type': 'object'},
33302        'row_skips': {'key': 'rowSkips', 'type': 'object'},
33303        'rfc_table_fields': {'key': 'rfcTableFields', 'type': 'object'},
33304        'rfc_table_options': {'key': 'rfcTableOptions', 'type': 'object'},
33305        'batch_size': {'key': 'batchSize', 'type': 'object'},
33306        'custom_rfc_read_table_function_module': {'key': 'customRfcReadTableFunctionModule', 'type': 'object'},
33307        'sap_data_column_delimiter': {'key': 'sapDataColumnDelimiter', 'type': 'object'},
33308        'partition_option': {'key': 'partitionOption', 'type': 'str'},
33309        'partition_settings': {'key': 'partitionSettings', 'type': 'SapTablePartitionSettings'},
33310    }
33311
33312    def __init__(
33313        self,
33314        *,
33315        additional_properties: Optional[Dict[str, Any]] = None,
33316        source_retry_count: Optional[Any] = None,
33317        source_retry_wait: Optional[Any] = None,
33318        max_concurrent_connections: Optional[Any] = None,
33319        query_timeout: Optional[Any] = None,
33320        additional_columns: Optional[Any] = None,
33321        row_count: Optional[Any] = None,
33322        row_skips: Optional[Any] = None,
33323        rfc_table_fields: Optional[Any] = None,
33324        rfc_table_options: Optional[Any] = None,
33325        batch_size: Optional[Any] = None,
33326        custom_rfc_read_table_function_module: Optional[Any] = None,
33327        sap_data_column_delimiter: Optional[Any] = None,
33328        partition_option: Optional[Union[str, "SapTablePartitionOption"]] = None,
33329        partition_settings: Optional["SapTablePartitionSettings"] = None,
33330        **kwargs
33331    ):
33332        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)
33333        self.type = 'SapTableSource'  # type: str
33334        self.row_count = row_count
33335        self.row_skips = row_skips
33336        self.rfc_table_fields = rfc_table_fields
33337        self.rfc_table_options = rfc_table_options
33338        self.batch_size = batch_size
33339        self.custom_rfc_read_table_function_module = custom_rfc_read_table_function_module
33340        self.sap_data_column_delimiter = sap_data_column_delimiter
33341        self.partition_option = partition_option
33342        self.partition_settings = partition_settings
33343
33344
33345class ScheduleTrigger(MultiplePipelineTrigger):
33346    """Trigger that creates pipeline runs periodically, on schedule.
33347
33348    Variables are only populated by the server, and will be ignored when sending a request.
33349
33350    All required parameters must be populated in order to send to Azure.
33351
33352    :param additional_properties: Unmatched properties from the message are deserialized to this
33353     collection.
33354    :type additional_properties: dict[str, any]
33355    :param type: Required. Trigger type.Constant filled by server.
33356    :type type: str
33357    :param description: Trigger description.
33358    :type description: str
33359    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
33360     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
33361    :vartype runtime_state: str or
33362     ~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerRuntimeState
33363    :param annotations: List of tags that can be used for describing the trigger.
33364    :type annotations: list[any]
33365    :param pipelines: Pipelines that need to be started.
33366    :type pipelines:
33367     list[~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerPipelineReference]
33368    :param recurrence: Required. Recurrence schedule configuration.
33369    :type recurrence: ~azure.synapse.artifacts.v2021_06_01_preview.models.ScheduleTriggerRecurrence
33370    """
33371
33372    _validation = {
33373        'type': {'required': True},
33374        'runtime_state': {'readonly': True},
33375        'recurrence': {'required': True},
33376    }
33377
33378    _attribute_map = {
33379        'additional_properties': {'key': '', 'type': '{object}'},
33380        'type': {'key': 'type', 'type': 'str'},
33381        'description': {'key': 'description', 'type': 'str'},
33382        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
33383        'annotations': {'key': 'annotations', 'type': '[object]'},
33384        'pipelines': {'key': 'pipelines', 'type': '[TriggerPipelineReference]'},
33385        'recurrence': {'key': 'typeProperties.recurrence', 'type': 'ScheduleTriggerRecurrence'},
33386    }
33387
33388    def __init__(
33389        self,
33390        *,
33391        recurrence: "ScheduleTriggerRecurrence",
33392        additional_properties: Optional[Dict[str, Any]] = None,
33393        description: Optional[str] = None,
33394        annotations: Optional[List[Any]] = None,
33395        pipelines: Optional[List["TriggerPipelineReference"]] = None,
33396        **kwargs
33397    ):
33398        super(ScheduleTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, pipelines=pipelines, **kwargs)
33399        self.type = 'ScheduleTrigger'  # type: str
33400        self.recurrence = recurrence
33401
33402
33403class ScheduleTriggerRecurrence(msrest.serialization.Model):
33404    """The workflow trigger recurrence.
33405
33406    :param additional_properties: Unmatched properties from the message are deserialized to this
33407     collection.
33408    :type additional_properties: dict[str, any]
33409    :param frequency: The frequency. Possible values include: "NotSpecified", "Minute", "Hour",
33410     "Day", "Week", "Month", "Year".
33411    :type frequency: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.RecurrenceFrequency
33412    :param interval: The interval.
33413    :type interval: int
33414    :param start_time: The start time.
33415    :type start_time: ~datetime.datetime
33416    :param end_time: The end time.
33417    :type end_time: ~datetime.datetime
33418    :param time_zone: The time zone.
33419    :type time_zone: str
33420    :param schedule: The recurrence schedule.
33421    :type schedule: ~azure.synapse.artifacts.v2021_06_01_preview.models.RecurrenceSchedule
33422    """
33423
33424    _attribute_map = {
33425        'additional_properties': {'key': '', 'type': '{object}'},
33426        'frequency': {'key': 'frequency', 'type': 'str'},
33427        'interval': {'key': 'interval', 'type': 'int'},
33428        'start_time': {'key': 'startTime', 'type': 'iso-8601'},
33429        'end_time': {'key': 'endTime', 'type': 'iso-8601'},
33430        'time_zone': {'key': 'timeZone', 'type': 'str'},
33431        'schedule': {'key': 'schedule', 'type': 'RecurrenceSchedule'},
33432    }
33433
33434    def __init__(
33435        self,
33436        *,
33437        additional_properties: Optional[Dict[str, Any]] = None,
33438        frequency: Optional[Union[str, "RecurrenceFrequency"]] = None,
33439        interval: Optional[int] = None,
33440        start_time: Optional[datetime.datetime] = None,
33441        end_time: Optional[datetime.datetime] = None,
33442        time_zone: Optional[str] = None,
33443        schedule: Optional["RecurrenceSchedule"] = None,
33444        **kwargs
33445    ):
33446        super(ScheduleTriggerRecurrence, self).__init__(**kwargs)
33447        self.additional_properties = additional_properties
33448        self.frequency = frequency
33449        self.interval = interval
33450        self.start_time = start_time
33451        self.end_time = end_time
33452        self.time_zone = time_zone
33453        self.schedule = schedule
33454
33455
33456class ScriptAction(msrest.serialization.Model):
33457    """Custom script action to run on HDI ondemand cluster once it's up.
33458
33459    All required parameters must be populated in order to send to Azure.
33460
33461    :param name: Required. The user provided name of the script action.
33462    :type name: str
33463    :param uri: Required. The URI for the script action.
33464    :type uri: str
33465    :param roles: Required. The node types on which the script action should be executed. Possible
33466     values include: "Headnode", "Workernode", "Zookeeper".
33467    :type roles: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.HdiNodeTypes
33468    :param parameters: The parameters for the script action.
33469    :type parameters: str
33470    """
33471
33472    _validation = {
33473        'name': {'required': True},
33474        'uri': {'required': True},
33475        'roles': {'required': True},
33476    }
33477
33478    _attribute_map = {
33479        'name': {'key': 'name', 'type': 'str'},
33480        'uri': {'key': 'uri', 'type': 'str'},
33481        'roles': {'key': 'roles', 'type': 'str'},
33482        'parameters': {'key': 'parameters', 'type': 'str'},
33483    }
33484
33485    def __init__(
33486        self,
33487        *,
33488        name: str,
33489        uri: str,
33490        roles: Union[str, "HdiNodeTypes"],
33491        parameters: Optional[str] = None,
33492        **kwargs
33493    ):
33494        super(ScriptAction, self).__init__(**kwargs)
33495        self.name = name
33496        self.uri = uri
33497        self.roles = roles
33498        self.parameters = parameters
33499
33500
33501class SecureString(SecretBase):
33502    """Azure Synapse secure string definition. The string value will be masked with asterisks '*' during Get or List API calls.
33503
33504    All required parameters must be populated in order to send to Azure.
33505
33506    :param type: Required. Type of the secret.Constant filled by server.
33507    :type type: str
33508    :param value: Required. Value of secure string.
33509    :type value: str
33510    """
33511
33512    _validation = {
33513        'type': {'required': True},
33514        'value': {'required': True},
33515    }
33516
33517    _attribute_map = {
33518        'type': {'key': 'type', 'type': 'str'},
33519        'value': {'key': 'value', 'type': 'str'},
33520    }
33521
33522    def __init__(
33523        self,
33524        *,
33525        value: str,
33526        **kwargs
33527    ):
33528        super(SecureString, self).__init__(**kwargs)
33529        self.type = 'SecureString'  # type: str
33530        self.value = value
33531
33532
33533class SelfDependencyTumblingWindowTriggerReference(DependencyReference):
33534    """Self referenced tumbling window trigger dependency.
33535
33536    All required parameters must be populated in order to send to Azure.
33537
33538    :param type: Required. The type of dependency reference.Constant filled by server.
33539    :type type: str
33540    :param offset: Required. Timespan applied to the start time of a tumbling window when
33541     evaluating dependency.
33542    :type offset: str
33543    :param size: The size of the window when evaluating the dependency. If undefined the frequency
33544     of the tumbling window will be used.
33545    :type size: str
33546    """
33547
33548    _validation = {
33549        'type': {'required': True},
33550        'offset': {'required': True, 'max_length': 15, 'min_length': 8, 'pattern': r'-((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))'},
33551        'size': {'max_length': 15, 'min_length': 8, 'pattern': r'((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))'},
33552    }
33553
33554    _attribute_map = {
33555        'type': {'key': 'type', 'type': 'str'},
33556        'offset': {'key': 'offset', 'type': 'str'},
33557        'size': {'key': 'size', 'type': 'str'},
33558    }
33559
33560    def __init__(
33561        self,
33562        *,
33563        offset: str,
33564        size: Optional[str] = None,
33565        **kwargs
33566    ):
33567        super(SelfDependencyTumblingWindowTriggerReference, self).__init__(**kwargs)
33568        self.type = 'SelfDependencyTumblingWindowTriggerReference'  # type: str
33569        self.offset = offset
33570        self.size = size
33571
33572
33573class SelfHostedIntegrationRuntime(IntegrationRuntime):
33574    """Self-hosted integration runtime.
33575
33576    All required parameters must be populated in order to send to Azure.
33577
33578    :param additional_properties: Unmatched properties from the message are deserialized to this
33579     collection.
33580    :type additional_properties: dict[str, any]
33581    :param type: Required. Type of integration runtime.Constant filled by server.  Possible values
33582     include: "Managed", "SelfHosted".
33583    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeType
33584    :param description: Integration runtime description.
33585    :type description: str
33586    :param linked_info: Linked integration runtime type from data factory.
33587    :type linked_info:
33588     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedIntegrationRuntimeType
33589    """
33590
33591    _validation = {
33592        'type': {'required': True},
33593    }
33594
33595    _attribute_map = {
33596        'additional_properties': {'key': '', 'type': '{object}'},
33597        'type': {'key': 'type', 'type': 'str'},
33598        'description': {'key': 'description', 'type': 'str'},
33599        'linked_info': {'key': 'typeProperties.linkedInfo', 'type': 'LinkedIntegrationRuntimeType'},
33600    }
33601
33602    def __init__(
33603        self,
33604        *,
33605        additional_properties: Optional[Dict[str, Any]] = None,
33606        description: Optional[str] = None,
33607        linked_info: Optional["LinkedIntegrationRuntimeType"] = None,
33608        **kwargs
33609    ):
33610        super(SelfHostedIntegrationRuntime, self).__init__(additional_properties=additional_properties, description=description, **kwargs)
33611        self.type = 'SelfHosted'  # type: str
33612        self.linked_info = linked_info
33613
33614
33615class ServiceNowLinkedService(LinkedService):
33616    """ServiceNow server linked service.
33617
33618    All required parameters must be populated in order to send to Azure.
33619
33620    :param additional_properties: Unmatched properties from the message are deserialized to this
33621     collection.
33622    :type additional_properties: dict[str, any]
33623    :param type: Required. Type of linked service.Constant filled by server.
33624    :type type: str
33625    :param connect_via: The integration runtime reference.
33626    :type connect_via:
33627     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
33628    :param description: Linked service description.
33629    :type description: str
33630    :param parameters: Parameters for linked service.
33631    :type parameters: dict[str,
33632     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
33633    :param annotations: List of tags that can be used for describing the linked service.
33634    :type annotations: list[any]
33635    :param endpoint: Required. The endpoint of the ServiceNow server. (i.e.
33636     :code:`<instance>`.service-now.com).
33637    :type endpoint: any
33638    :param authentication_type: Required. The authentication type to use. Possible values include:
33639     "Basic", "OAuth2".
33640    :type authentication_type: str or
33641     ~azure.synapse.artifacts.v2021_06_01_preview.models.ServiceNowAuthenticationType
33642    :param username: The user name used to connect to the ServiceNow server for Basic and OAuth2
33643     authentication.
33644    :type username: any
33645    :param password: The password corresponding to the user name for Basic and OAuth2
33646     authentication.
33647    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
33648    :param client_id: The client id for OAuth2 authentication.
33649    :type client_id: any
33650    :param client_secret: The client secret for OAuth2 authentication.
33651    :type client_secret: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
33652    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
33653     HTTPS. The default value is true.
33654    :type use_encrypted_endpoints: any
33655    :param use_host_verification: Specifies whether to require the host name in the server's
33656     certificate to match the host name of the server when connecting over SSL. The default value is
33657     true.
33658    :type use_host_verification: any
33659    :param use_peer_verification: Specifies whether to verify the identity of the server when
33660     connecting over SSL. The default value is true.
33661    :type use_peer_verification: any
33662    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
33663     encrypted using the integration runtime credential manager. Type: string (or Expression with
33664     resultType string).
33665    :type encrypted_credential: any
33666    """
33667
33668    _validation = {
33669        'type': {'required': True},
33670        'endpoint': {'required': True},
33671        'authentication_type': {'required': True},
33672    }
33673
33674    _attribute_map = {
33675        'additional_properties': {'key': '', 'type': '{object}'},
33676        'type': {'key': 'type', 'type': 'str'},
33677        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
33678        'description': {'key': 'description', 'type': 'str'},
33679        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
33680        'annotations': {'key': 'annotations', 'type': '[object]'},
33681        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
33682        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
33683        'username': {'key': 'typeProperties.username', 'type': 'object'},
33684        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
33685        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
33686        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
33687        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
33688        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
33689        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
33690        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
33691    }
33692
33693    def __init__(
33694        self,
33695        *,
33696        endpoint: Any,
33697        authentication_type: Union[str, "ServiceNowAuthenticationType"],
33698        additional_properties: Optional[Dict[str, Any]] = None,
33699        connect_via: Optional["IntegrationRuntimeReference"] = None,
33700        description: Optional[str] = None,
33701        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
33702        annotations: Optional[List[Any]] = None,
33703        username: Optional[Any] = None,
33704        password: Optional["SecretBase"] = None,
33705        client_id: Optional[Any] = None,
33706        client_secret: Optional["SecretBase"] = None,
33707        use_encrypted_endpoints: Optional[Any] = None,
33708        use_host_verification: Optional[Any] = None,
33709        use_peer_verification: Optional[Any] = None,
33710        encrypted_credential: Optional[Any] = None,
33711        **kwargs
33712    ):
33713        super(ServiceNowLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
33714        self.type = 'ServiceNow'  # type: str
33715        self.endpoint = endpoint
33716        self.authentication_type = authentication_type
33717        self.username = username
33718        self.password = password
33719        self.client_id = client_id
33720        self.client_secret = client_secret
33721        self.use_encrypted_endpoints = use_encrypted_endpoints
33722        self.use_host_verification = use_host_verification
33723        self.use_peer_verification = use_peer_verification
33724        self.encrypted_credential = encrypted_credential
33725
33726
33727class ServiceNowObjectDataset(Dataset):
33728    """ServiceNow server dataset.
33729
33730    All required parameters must be populated in order to send to Azure.
33731
33732    :param additional_properties: Unmatched properties from the message are deserialized to this
33733     collection.
33734    :type additional_properties: dict[str, any]
33735    :param type: Required. Type of dataset.Constant filled by server.
33736    :type type: str
33737    :param description: Dataset description.
33738    :type description: str
33739    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
33740     with resultType array), itemType: DatasetDataElement.
33741    :type structure: any
33742    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
33743     Expression with resultType array), itemType: DatasetSchemaDataElement.
33744    :type schema: any
33745    :param linked_service_name: Required. Linked service reference.
33746    :type linked_service_name:
33747     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
33748    :param parameters: Parameters for dataset.
33749    :type parameters: dict[str,
33750     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
33751    :param annotations: List of tags that can be used for describing the Dataset.
33752    :type annotations: list[any]
33753    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
33754     root level.
33755    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
33756    :param table_name: The table name. Type: string (or Expression with resultType string).
33757    :type table_name: any
33758    """
33759
33760    _validation = {
33761        'type': {'required': True},
33762        'linked_service_name': {'required': True},
33763    }
33764
33765    _attribute_map = {
33766        'additional_properties': {'key': '', 'type': '{object}'},
33767        'type': {'key': 'type', 'type': 'str'},
33768        'description': {'key': 'description', 'type': 'str'},
33769        'structure': {'key': 'structure', 'type': 'object'},
33770        'schema': {'key': 'schema', 'type': 'object'},
33771        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
33772        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
33773        'annotations': {'key': 'annotations', 'type': '[object]'},
33774        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
33775        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
33776    }
33777
33778    def __init__(
33779        self,
33780        *,
33781        linked_service_name: "LinkedServiceReference",
33782        additional_properties: Optional[Dict[str, Any]] = None,
33783        description: Optional[str] = None,
33784        structure: Optional[Any] = None,
33785        schema: Optional[Any] = None,
33786        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
33787        annotations: Optional[List[Any]] = None,
33788        folder: Optional["DatasetFolder"] = None,
33789        table_name: Optional[Any] = None,
33790        **kwargs
33791    ):
33792        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)
33793        self.type = 'ServiceNowObject'  # type: str
33794        self.table_name = table_name
33795
33796
33797class ServiceNowSource(TabularSource):
33798    """A copy activity ServiceNow server source.
33799
33800    All required parameters must be populated in order to send to Azure.
33801
33802    :param additional_properties: Unmatched properties from the message are deserialized to this
33803     collection.
33804    :type additional_properties: dict[str, any]
33805    :param type: Required. Copy source type.Constant filled by server.
33806    :type type: str
33807    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
33808     integer).
33809    :type source_retry_count: any
33810    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
33811     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
33812    :type source_retry_wait: any
33813    :param max_concurrent_connections: The maximum concurrent connection count for the source data
33814     store. Type: integer (or Expression with resultType integer).
33815    :type max_concurrent_connections: any
33816    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
33817     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
33818    :type query_timeout: any
33819    :param additional_columns: Specifies the additional columns to be added to source data. Type:
33820     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
33821    :type additional_columns: any
33822    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
33823     string).
33824    :type query: any
33825    """
33826
33827    _validation = {
33828        'type': {'required': True},
33829    }
33830
33831    _attribute_map = {
33832        'additional_properties': {'key': '', 'type': '{object}'},
33833        'type': {'key': 'type', 'type': 'str'},
33834        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
33835        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
33836        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
33837        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
33838        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
33839        'query': {'key': 'query', 'type': 'object'},
33840    }
33841
33842    def __init__(
33843        self,
33844        *,
33845        additional_properties: Optional[Dict[str, Any]] = None,
33846        source_retry_count: Optional[Any] = None,
33847        source_retry_wait: Optional[Any] = None,
33848        max_concurrent_connections: Optional[Any] = None,
33849        query_timeout: Optional[Any] = None,
33850        additional_columns: Optional[Any] = None,
33851        query: Optional[Any] = None,
33852        **kwargs
33853    ):
33854        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)
33855        self.type = 'ServiceNowSource'  # type: str
33856        self.query = query
33857
33858
33859class SetVariableActivity(ControlActivity):
33860    """Set value for a Variable.
33861
33862    All required parameters must be populated in order to send to Azure.
33863
33864    :param additional_properties: Unmatched properties from the message are deserialized to this
33865     collection.
33866    :type additional_properties: dict[str, any]
33867    :param name: Required. Activity name.
33868    :type name: str
33869    :param type: Required. Type of activity.Constant filled by server.
33870    :type type: str
33871    :param description: Activity description.
33872    :type description: str
33873    :param depends_on: Activity depends on condition.
33874    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
33875    :param user_properties: Activity user properties.
33876    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
33877    :param variable_name: Name of the variable whose value needs to be set.
33878    :type variable_name: str
33879    :param value: Value to be set. Could be a static value or Expression.
33880    :type value: any
33881    """
33882
33883    _validation = {
33884        'name': {'required': True},
33885        'type': {'required': True},
33886    }
33887
33888    _attribute_map = {
33889        'additional_properties': {'key': '', 'type': '{object}'},
33890        'name': {'key': 'name', 'type': 'str'},
33891        'type': {'key': 'type', 'type': 'str'},
33892        'description': {'key': 'description', 'type': 'str'},
33893        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
33894        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
33895        'variable_name': {'key': 'typeProperties.variableName', 'type': 'str'},
33896        'value': {'key': 'typeProperties.value', 'type': 'object'},
33897    }
33898
33899    def __init__(
33900        self,
33901        *,
33902        name: str,
33903        additional_properties: Optional[Dict[str, Any]] = None,
33904        description: Optional[str] = None,
33905        depends_on: Optional[List["ActivityDependency"]] = None,
33906        user_properties: Optional[List["UserProperty"]] = None,
33907        variable_name: Optional[str] = None,
33908        value: Optional[Any] = None,
33909        **kwargs
33910    ):
33911        super(SetVariableActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
33912        self.type = 'SetVariable'  # type: str
33913        self.variable_name = variable_name
33914        self.value = value
33915
33916
33917class SftpLocation(DatasetLocation):
33918    """The location of SFTP dataset.
33919
33920    All required parameters must be populated in order to send to Azure.
33921
33922    :param additional_properties: Unmatched properties from the message are deserialized to this
33923     collection.
33924    :type additional_properties: dict[str, any]
33925    :param type: Required. Type of dataset storage location.Constant filled by server.
33926    :type type: str
33927    :param folder_path: Specify the folder path of dataset. Type: string (or Expression with
33928     resultType string).
33929    :type folder_path: any
33930    :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType
33931     string).
33932    :type file_name: any
33933    """
33934
33935    _validation = {
33936        'type': {'required': True},
33937    }
33938
33939    _attribute_map = {
33940        'additional_properties': {'key': '', 'type': '{object}'},
33941        'type': {'key': 'type', 'type': 'str'},
33942        'folder_path': {'key': 'folderPath', 'type': 'object'},
33943        'file_name': {'key': 'fileName', 'type': 'object'},
33944    }
33945
33946    def __init__(
33947        self,
33948        *,
33949        additional_properties: Optional[Dict[str, Any]] = None,
33950        folder_path: Optional[Any] = None,
33951        file_name: Optional[Any] = None,
33952        **kwargs
33953    ):
33954        super(SftpLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs)
33955        self.type = 'SftpLocation'  # type: str
33956
33957
33958class SftpReadSettings(StoreReadSettings):
33959    """Sftp read settings.
33960
33961    All required parameters must be populated in order to send to Azure.
33962
33963    :param additional_properties: Unmatched properties from the message are deserialized to this
33964     collection.
33965    :type additional_properties: dict[str, any]
33966    :param type: Required. The read setting type.Constant filled by server.
33967    :type type: str
33968    :param max_concurrent_connections: The maximum concurrent connection count for the source data
33969     store. Type: integer (or Expression with resultType integer).
33970    :type max_concurrent_connections: any
33971    :param recursive: If true, files under the folder path will be read recursively. Default is
33972     true. Type: boolean (or Expression with resultType boolean).
33973    :type recursive: any
33974    :param wildcard_folder_path: Sftp wildcardFolderPath. Type: string (or Expression with
33975     resultType string).
33976    :type wildcard_folder_path: any
33977    :param wildcard_file_name: Sftp wildcardFileName. Type: string (or Expression with resultType
33978     string).
33979    :type wildcard_file_name: any
33980    :param enable_partition_discovery: Indicates whether to enable partition discovery.
33981    :type enable_partition_discovery: bool
33982    :param partition_root_path: Specify the root path where partition discovery starts from. Type:
33983     string (or Expression with resultType string).
33984    :type partition_root_path: any
33985    :param file_list_path: Point to a text file that lists each file (relative path to the path
33986     configured in the dataset) that you want to copy. Type: string (or Expression with resultType
33987     string).
33988    :type file_list_path: any
33989    :param delete_files_after_completion: Indicates whether the source files need to be deleted
33990     after copy completion. Default is false. Type: boolean (or Expression with resultType boolean).
33991    :type delete_files_after_completion: any
33992    :param modified_datetime_start: The start of file's modified datetime. Type: string (or
33993     Expression with resultType string).
33994    :type modified_datetime_start: any
33995    :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression
33996     with resultType string).
33997    :type modified_datetime_end: any
33998    """
33999
34000    _validation = {
34001        'type': {'required': True},
34002    }
34003
34004    _attribute_map = {
34005        'additional_properties': {'key': '', 'type': '{object}'},
34006        'type': {'key': 'type', 'type': 'str'},
34007        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
34008        'recursive': {'key': 'recursive', 'type': 'object'},
34009        'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'},
34010        'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'},
34011        'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'},
34012        'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'},
34013        'file_list_path': {'key': 'fileListPath', 'type': 'object'},
34014        'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'},
34015        'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'},
34016        'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'},
34017    }
34018
34019    def __init__(
34020        self,
34021        *,
34022        additional_properties: Optional[Dict[str, Any]] = None,
34023        max_concurrent_connections: Optional[Any] = None,
34024        recursive: Optional[Any] = None,
34025        wildcard_folder_path: Optional[Any] = None,
34026        wildcard_file_name: Optional[Any] = None,
34027        enable_partition_discovery: Optional[bool] = None,
34028        partition_root_path: Optional[Any] = None,
34029        file_list_path: Optional[Any] = None,
34030        delete_files_after_completion: Optional[Any] = None,
34031        modified_datetime_start: Optional[Any] = None,
34032        modified_datetime_end: Optional[Any] = None,
34033        **kwargs
34034    ):
34035        super(SftpReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs)
34036        self.type = 'SftpReadSettings'  # type: str
34037        self.recursive = recursive
34038        self.wildcard_folder_path = wildcard_folder_path
34039        self.wildcard_file_name = wildcard_file_name
34040        self.enable_partition_discovery = enable_partition_discovery
34041        self.partition_root_path = partition_root_path
34042        self.file_list_path = file_list_path
34043        self.delete_files_after_completion = delete_files_after_completion
34044        self.modified_datetime_start = modified_datetime_start
34045        self.modified_datetime_end = modified_datetime_end
34046
34047
34048class SftpServerLinkedService(LinkedService):
34049    """A linked service for an SSH File Transfer Protocol (SFTP) server.
34050
34051    All required parameters must be populated in order to send to Azure.
34052
34053    :param additional_properties: Unmatched properties from the message are deserialized to this
34054     collection.
34055    :type additional_properties: dict[str, any]
34056    :param type: Required. Type of linked service.Constant filled by server.
34057    :type type: str
34058    :param connect_via: The integration runtime reference.
34059    :type connect_via:
34060     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
34061    :param description: Linked service description.
34062    :type description: str
34063    :param parameters: Parameters for linked service.
34064    :type parameters: dict[str,
34065     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
34066    :param annotations: List of tags that can be used for describing the linked service.
34067    :type annotations: list[any]
34068    :param host: Required. The SFTP server host name. Type: string (or Expression with resultType
34069     string).
34070    :type host: any
34071    :param port: The TCP port number that the SFTP server uses to listen for client connections.
34072     Default value is 22. Type: integer (or Expression with resultType integer), minimum: 0.
34073    :type port: any
34074    :param authentication_type: The authentication type to be used to connect to the FTP server.
34075     Possible values include: "Basic", "SshPublicKey".
34076    :type authentication_type: str or
34077     ~azure.synapse.artifacts.v2021_06_01_preview.models.SftpAuthenticationType
34078    :param user_name: The username used to log on to the SFTP server. Type: string (or Expression
34079     with resultType string).
34080    :type user_name: any
34081    :param password: Password to logon the SFTP server for Basic authentication.
34082    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
34083    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
34084     encrypted using the integration runtime credential manager. Type: string (or Expression with
34085     resultType string).
34086    :type encrypted_credential: any
34087    :param private_key_path: The SSH private key file path for SshPublicKey authentication. Only
34088     valid for on-premises copy. For on-premises copy with SshPublicKey authentication, either
34089     PrivateKeyPath or PrivateKeyContent should be specified. SSH private key should be OpenSSH
34090     format. Type: string (or Expression with resultType string).
34091    :type private_key_path: any
34092    :param private_key_content: Base64 encoded SSH private key content for SshPublicKey
34093     authentication. For on-premises copy with SshPublicKey authentication, either PrivateKeyPath or
34094     PrivateKeyContent should be specified. SSH private key should be OpenSSH format.
34095    :type private_key_content: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
34096    :param pass_phrase: The password to decrypt the SSH private key if the SSH private key is
34097     encrypted.
34098    :type pass_phrase: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
34099    :param skip_host_key_validation: If true, skip the SSH host key validation. Default value is
34100     false. Type: boolean (or Expression with resultType boolean).
34101    :type skip_host_key_validation: any
34102    :param host_key_fingerprint: The host key finger-print of the SFTP server. When
34103     SkipHostKeyValidation is false, HostKeyFingerprint should be specified. Type: string (or
34104     Expression with resultType string).
34105    :type host_key_fingerprint: any
34106    """
34107
34108    _validation = {
34109        'type': {'required': True},
34110        'host': {'required': True},
34111    }
34112
34113    _attribute_map = {
34114        'additional_properties': {'key': '', 'type': '{object}'},
34115        'type': {'key': 'type', 'type': 'str'},
34116        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
34117        'description': {'key': 'description', 'type': 'str'},
34118        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
34119        'annotations': {'key': 'annotations', 'type': '[object]'},
34120        'host': {'key': 'typeProperties.host', 'type': 'object'},
34121        'port': {'key': 'typeProperties.port', 'type': 'object'},
34122        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
34123        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
34124        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
34125        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
34126        'private_key_path': {'key': 'typeProperties.privateKeyPath', 'type': 'object'},
34127        'private_key_content': {'key': 'typeProperties.privateKeyContent', 'type': 'SecretBase'},
34128        'pass_phrase': {'key': 'typeProperties.passPhrase', 'type': 'SecretBase'},
34129        'skip_host_key_validation': {'key': 'typeProperties.skipHostKeyValidation', 'type': 'object'},
34130        'host_key_fingerprint': {'key': 'typeProperties.hostKeyFingerprint', 'type': 'object'},
34131    }
34132
34133    def __init__(
34134        self,
34135        *,
34136        host: Any,
34137        additional_properties: Optional[Dict[str, Any]] = None,
34138        connect_via: Optional["IntegrationRuntimeReference"] = None,
34139        description: Optional[str] = None,
34140        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
34141        annotations: Optional[List[Any]] = None,
34142        port: Optional[Any] = None,
34143        authentication_type: Optional[Union[str, "SftpAuthenticationType"]] = None,
34144        user_name: Optional[Any] = None,
34145        password: Optional["SecretBase"] = None,
34146        encrypted_credential: Optional[Any] = None,
34147        private_key_path: Optional[Any] = None,
34148        private_key_content: Optional["SecretBase"] = None,
34149        pass_phrase: Optional["SecretBase"] = None,
34150        skip_host_key_validation: Optional[Any] = None,
34151        host_key_fingerprint: Optional[Any] = None,
34152        **kwargs
34153    ):
34154        super(SftpServerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
34155        self.type = 'Sftp'  # type: str
34156        self.host = host
34157        self.port = port
34158        self.authentication_type = authentication_type
34159        self.user_name = user_name
34160        self.password = password
34161        self.encrypted_credential = encrypted_credential
34162        self.private_key_path = private_key_path
34163        self.private_key_content = private_key_content
34164        self.pass_phrase = pass_phrase
34165        self.skip_host_key_validation = skip_host_key_validation
34166        self.host_key_fingerprint = host_key_fingerprint
34167
34168
34169class SftpWriteSettings(StoreWriteSettings):
34170    """Sftp write settings.
34171
34172    All required parameters must be populated in order to send to Azure.
34173
34174    :param additional_properties: Unmatched properties from the message are deserialized to this
34175     collection.
34176    :type additional_properties: dict[str, any]
34177    :param type: Required. The write setting type.Constant filled by server.
34178    :type type: str
34179    :param max_concurrent_connections: The maximum concurrent connection count for the source data
34180     store. Type: integer (or Expression with resultType integer).
34181    :type max_concurrent_connections: any
34182    :param copy_behavior: The type of copy behavior for copy sink.
34183    :type copy_behavior: any
34184    :param operation_timeout: Specifies the timeout for writing each chunk to SFTP server. Default
34185     value: 01:00:00 (one hour). Type: string (or Expression with resultType string).
34186    :type operation_timeout: any
34187    :param use_temp_file_rename: Upload to temporary file(s) and rename. Disable this option if
34188     your SFTP server doesn't support rename operation. Type: boolean (or Expression with resultType
34189     boolean).
34190    :type use_temp_file_rename: any
34191    """
34192
34193    _validation = {
34194        'type': {'required': True},
34195    }
34196
34197    _attribute_map = {
34198        'additional_properties': {'key': '', 'type': '{object}'},
34199        'type': {'key': 'type', 'type': 'str'},
34200        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
34201        'copy_behavior': {'key': 'copyBehavior', 'type': 'object'},
34202        'operation_timeout': {'key': 'operationTimeout', 'type': 'object'},
34203        'use_temp_file_rename': {'key': 'useTempFileRename', 'type': 'object'},
34204    }
34205
34206    def __init__(
34207        self,
34208        *,
34209        additional_properties: Optional[Dict[str, Any]] = None,
34210        max_concurrent_connections: Optional[Any] = None,
34211        copy_behavior: Optional[Any] = None,
34212        operation_timeout: Optional[Any] = None,
34213        use_temp_file_rename: Optional[Any] = None,
34214        **kwargs
34215    ):
34216        super(SftpWriteSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, copy_behavior=copy_behavior, **kwargs)
34217        self.type = 'SftpWriteSettings'  # type: str
34218        self.operation_timeout = operation_timeout
34219        self.use_temp_file_rename = use_temp_file_rename
34220
34221
34222class SharePointOnlineListLinkedService(LinkedService):
34223    """SharePoint Online List linked service.
34224
34225    All required parameters must be populated in order to send to Azure.
34226
34227    :param additional_properties: Unmatched properties from the message are deserialized to this
34228     collection.
34229    :type additional_properties: dict[str, any]
34230    :param type: Required. Type of linked service.Constant filled by server.
34231    :type type: str
34232    :param connect_via: The integration runtime reference.
34233    :type connect_via:
34234     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
34235    :param description: Linked service description.
34236    :type description: str
34237    :param parameters: Parameters for linked service.
34238    :type parameters: dict[str,
34239     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
34240    :param annotations: List of tags that can be used for describing the linked service.
34241    :type annotations: list[any]
34242    :param site_url: Required. The URL of the SharePoint Online site. For example,
34243     https://contoso.sharepoint.com/sites/siteName. Type: string (or Expression with resultType
34244     string).
34245    :type site_url: any
34246    :param tenant_id: Required. The tenant ID under which your application resides. You can find it
34247     from Azure portal Active Directory overview page. Type: string (or Expression with resultType
34248     string).
34249    :type tenant_id: any
34250    :param service_principal_id: Required. The application (client) ID of your application
34251     registered in Azure Active Directory. Make sure to grant SharePoint site permission to this
34252     application. Type: string (or Expression with resultType string).
34253    :type service_principal_id: any
34254    :param service_principal_key: Required. The client secret of your application registered in
34255     Azure Active Directory. Type: string (or Expression with resultType string).
34256    :type service_principal_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
34257    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
34258     encrypted using the integration runtime credential manager. Type: string (or Expression with
34259     resultType string).
34260    :type encrypted_credential: any
34261    """
34262
34263    _validation = {
34264        'type': {'required': True},
34265        'site_url': {'required': True},
34266        'tenant_id': {'required': True},
34267        'service_principal_id': {'required': True},
34268        'service_principal_key': {'required': True},
34269    }
34270
34271    _attribute_map = {
34272        'additional_properties': {'key': '', 'type': '{object}'},
34273        'type': {'key': 'type', 'type': 'str'},
34274        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
34275        'description': {'key': 'description', 'type': 'str'},
34276        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
34277        'annotations': {'key': 'annotations', 'type': '[object]'},
34278        'site_url': {'key': 'typeProperties.siteUrl', 'type': 'object'},
34279        'tenant_id': {'key': 'typeProperties.tenantId', 'type': 'object'},
34280        'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'},
34281        'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'},
34282        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
34283    }
34284
34285    def __init__(
34286        self,
34287        *,
34288        site_url: Any,
34289        tenant_id: Any,
34290        service_principal_id: Any,
34291        service_principal_key: "SecretBase",
34292        additional_properties: Optional[Dict[str, Any]] = None,
34293        connect_via: Optional["IntegrationRuntimeReference"] = None,
34294        description: Optional[str] = None,
34295        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
34296        annotations: Optional[List[Any]] = None,
34297        encrypted_credential: Optional[Any] = None,
34298        **kwargs
34299    ):
34300        super(SharePointOnlineListLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
34301        self.type = 'SharePointOnlineList'  # type: str
34302        self.site_url = site_url
34303        self.tenant_id = tenant_id
34304        self.service_principal_id = service_principal_id
34305        self.service_principal_key = service_principal_key
34306        self.encrypted_credential = encrypted_credential
34307
34308
34309class SharePointOnlineListResourceDataset(Dataset):
34310    """The sharepoint online list resource dataset.
34311
34312    All required parameters must be populated in order to send to Azure.
34313
34314    :param additional_properties: Unmatched properties from the message are deserialized to this
34315     collection.
34316    :type additional_properties: dict[str, any]
34317    :param type: Required. Type of dataset.Constant filled by server.
34318    :type type: str
34319    :param description: Dataset description.
34320    :type description: str
34321    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
34322     with resultType array), itemType: DatasetDataElement.
34323    :type structure: any
34324    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
34325     Expression with resultType array), itemType: DatasetSchemaDataElement.
34326    :type schema: any
34327    :param linked_service_name: Required. Linked service reference.
34328    :type linked_service_name:
34329     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
34330    :param parameters: Parameters for dataset.
34331    :type parameters: dict[str,
34332     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
34333    :param annotations: List of tags that can be used for describing the Dataset.
34334    :type annotations: list[any]
34335    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
34336     root level.
34337    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
34338    :param list_name: The name of the SharePoint Online list. Type: string (or Expression with
34339     resultType string).
34340    :type list_name: any
34341    """
34342
34343    _validation = {
34344        'type': {'required': True},
34345        'linked_service_name': {'required': True},
34346    }
34347
34348    _attribute_map = {
34349        'additional_properties': {'key': '', 'type': '{object}'},
34350        'type': {'key': 'type', 'type': 'str'},
34351        'description': {'key': 'description', 'type': 'str'},
34352        'structure': {'key': 'structure', 'type': 'object'},
34353        'schema': {'key': 'schema', 'type': 'object'},
34354        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
34355        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
34356        'annotations': {'key': 'annotations', 'type': '[object]'},
34357        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
34358        'list_name': {'key': 'typeProperties.listName', 'type': 'object'},
34359    }
34360
34361    def __init__(
34362        self,
34363        *,
34364        linked_service_name: "LinkedServiceReference",
34365        additional_properties: Optional[Dict[str, Any]] = None,
34366        description: Optional[str] = None,
34367        structure: Optional[Any] = None,
34368        schema: Optional[Any] = None,
34369        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
34370        annotations: Optional[List[Any]] = None,
34371        folder: Optional["DatasetFolder"] = None,
34372        list_name: Optional[Any] = None,
34373        **kwargs
34374    ):
34375        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)
34376        self.type = 'SharePointOnlineListResource'  # type: str
34377        self.list_name = list_name
34378
34379
34380class SharePointOnlineListSource(CopySource):
34381    """A copy activity source for sharePoint online list source.
34382
34383    All required parameters must be populated in order to send to Azure.
34384
34385    :param additional_properties: Unmatched properties from the message are deserialized to this
34386     collection.
34387    :type additional_properties: dict[str, any]
34388    :param type: Required. Copy source type.Constant filled by server.
34389    :type type: str
34390    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
34391     integer).
34392    :type source_retry_count: any
34393    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
34394     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
34395    :type source_retry_wait: any
34396    :param max_concurrent_connections: The maximum concurrent connection count for the source data
34397     store. Type: integer (or Expression with resultType integer).
34398    :type max_concurrent_connections: any
34399    :param query: The OData query to filter the data in SharePoint Online list. For example,
34400     "$top=1". Type: string (or Expression with resultType string).
34401    :type query: any
34402    :param http_request_timeout: The wait time to get a response from SharePoint Online. Default
34403     value is 5 minutes (00:05:00). Type: string (or Expression with resultType string), pattern:
34404     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
34405    :type http_request_timeout: any
34406    """
34407
34408    _validation = {
34409        'type': {'required': True},
34410    }
34411
34412    _attribute_map = {
34413        'additional_properties': {'key': '', 'type': '{object}'},
34414        'type': {'key': 'type', 'type': 'str'},
34415        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
34416        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
34417        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
34418        'query': {'key': 'query', 'type': 'object'},
34419        'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'},
34420    }
34421
34422    def __init__(
34423        self,
34424        *,
34425        additional_properties: Optional[Dict[str, Any]] = None,
34426        source_retry_count: Optional[Any] = None,
34427        source_retry_wait: Optional[Any] = None,
34428        max_concurrent_connections: Optional[Any] = None,
34429        query: Optional[Any] = None,
34430        http_request_timeout: Optional[Any] = None,
34431        **kwargs
34432    ):
34433        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)
34434        self.type = 'SharePointOnlineListSource'  # type: str
34435        self.query = query
34436        self.http_request_timeout = http_request_timeout
34437
34438
34439class ShopifyLinkedService(LinkedService):
34440    """Shopify Service linked service.
34441
34442    All required parameters must be populated in order to send to Azure.
34443
34444    :param additional_properties: Unmatched properties from the message are deserialized to this
34445     collection.
34446    :type additional_properties: dict[str, any]
34447    :param type: Required. Type of linked service.Constant filled by server.
34448    :type type: str
34449    :param connect_via: The integration runtime reference.
34450    :type connect_via:
34451     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
34452    :param description: Linked service description.
34453    :type description: str
34454    :param parameters: Parameters for linked service.
34455    :type parameters: dict[str,
34456     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
34457    :param annotations: List of tags that can be used for describing the linked service.
34458    :type annotations: list[any]
34459    :param host: Required. The endpoint of the Shopify server. (i.e. mystore.myshopify.com).
34460    :type host: any
34461    :param access_token: The API access token that can be used to access Shopify’s data. The token
34462     won't expire if it is offline mode.
34463    :type access_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
34464    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
34465     HTTPS. The default value is true.
34466    :type use_encrypted_endpoints: any
34467    :param use_host_verification: Specifies whether to require the host name in the server's
34468     certificate to match the host name of the server when connecting over SSL. The default value is
34469     true.
34470    :type use_host_verification: any
34471    :param use_peer_verification: Specifies whether to verify the identity of the server when
34472     connecting over SSL. The default value is true.
34473    :type use_peer_verification: any
34474    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
34475     encrypted using the integration runtime credential manager. Type: string (or Expression with
34476     resultType string).
34477    :type encrypted_credential: any
34478    """
34479
34480    _validation = {
34481        'type': {'required': True},
34482        'host': {'required': True},
34483    }
34484
34485    _attribute_map = {
34486        'additional_properties': {'key': '', 'type': '{object}'},
34487        'type': {'key': 'type', 'type': 'str'},
34488        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
34489        'description': {'key': 'description', 'type': 'str'},
34490        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
34491        'annotations': {'key': 'annotations', 'type': '[object]'},
34492        'host': {'key': 'typeProperties.host', 'type': 'object'},
34493        'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'},
34494        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
34495        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
34496        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
34497        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
34498    }
34499
34500    def __init__(
34501        self,
34502        *,
34503        host: Any,
34504        additional_properties: Optional[Dict[str, Any]] = None,
34505        connect_via: Optional["IntegrationRuntimeReference"] = None,
34506        description: Optional[str] = None,
34507        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
34508        annotations: Optional[List[Any]] = None,
34509        access_token: Optional["SecretBase"] = None,
34510        use_encrypted_endpoints: Optional[Any] = None,
34511        use_host_verification: Optional[Any] = None,
34512        use_peer_verification: Optional[Any] = None,
34513        encrypted_credential: Optional[Any] = None,
34514        **kwargs
34515    ):
34516        super(ShopifyLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
34517        self.type = 'Shopify'  # type: str
34518        self.host = host
34519        self.access_token = access_token
34520        self.use_encrypted_endpoints = use_encrypted_endpoints
34521        self.use_host_verification = use_host_verification
34522        self.use_peer_verification = use_peer_verification
34523        self.encrypted_credential = encrypted_credential
34524
34525
34526class ShopifyObjectDataset(Dataset):
34527    """Shopify Service dataset.
34528
34529    All required parameters must be populated in order to send to Azure.
34530
34531    :param additional_properties: Unmatched properties from the message are deserialized to this
34532     collection.
34533    :type additional_properties: dict[str, any]
34534    :param type: Required. Type of dataset.Constant filled by server.
34535    :type type: str
34536    :param description: Dataset description.
34537    :type description: str
34538    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
34539     with resultType array), itemType: DatasetDataElement.
34540    :type structure: any
34541    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
34542     Expression with resultType array), itemType: DatasetSchemaDataElement.
34543    :type schema: any
34544    :param linked_service_name: Required. Linked service reference.
34545    :type linked_service_name:
34546     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
34547    :param parameters: Parameters for dataset.
34548    :type parameters: dict[str,
34549     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
34550    :param annotations: List of tags that can be used for describing the Dataset.
34551    :type annotations: list[any]
34552    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
34553     root level.
34554    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
34555    :param table_name: The table name. Type: string (or Expression with resultType string).
34556    :type table_name: any
34557    """
34558
34559    _validation = {
34560        'type': {'required': True},
34561        'linked_service_name': {'required': True},
34562    }
34563
34564    _attribute_map = {
34565        'additional_properties': {'key': '', 'type': '{object}'},
34566        'type': {'key': 'type', 'type': 'str'},
34567        'description': {'key': 'description', 'type': 'str'},
34568        'structure': {'key': 'structure', 'type': 'object'},
34569        'schema': {'key': 'schema', 'type': 'object'},
34570        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
34571        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
34572        'annotations': {'key': 'annotations', 'type': '[object]'},
34573        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
34574        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
34575    }
34576
34577    def __init__(
34578        self,
34579        *,
34580        linked_service_name: "LinkedServiceReference",
34581        additional_properties: Optional[Dict[str, Any]] = None,
34582        description: Optional[str] = None,
34583        structure: Optional[Any] = None,
34584        schema: Optional[Any] = None,
34585        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
34586        annotations: Optional[List[Any]] = None,
34587        folder: Optional["DatasetFolder"] = None,
34588        table_name: Optional[Any] = None,
34589        **kwargs
34590    ):
34591        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)
34592        self.type = 'ShopifyObject'  # type: str
34593        self.table_name = table_name
34594
34595
34596class ShopifySource(TabularSource):
34597    """A copy activity Shopify Service source.
34598
34599    All required parameters must be populated in order to send to Azure.
34600
34601    :param additional_properties: Unmatched properties from the message are deserialized to this
34602     collection.
34603    :type additional_properties: dict[str, any]
34604    :param type: Required. Copy source type.Constant filled by server.
34605    :type type: str
34606    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
34607     integer).
34608    :type source_retry_count: any
34609    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
34610     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
34611    :type source_retry_wait: any
34612    :param max_concurrent_connections: The maximum concurrent connection count for the source data
34613     store. Type: integer (or Expression with resultType integer).
34614    :type max_concurrent_connections: any
34615    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
34616     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
34617    :type query_timeout: any
34618    :param additional_columns: Specifies the additional columns to be added to source data. Type:
34619     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
34620    :type additional_columns: any
34621    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
34622     string).
34623    :type query: any
34624    """
34625
34626    _validation = {
34627        'type': {'required': True},
34628    }
34629
34630    _attribute_map = {
34631        'additional_properties': {'key': '', 'type': '{object}'},
34632        'type': {'key': 'type', 'type': 'str'},
34633        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
34634        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
34635        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
34636        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
34637        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
34638        'query': {'key': 'query', 'type': 'object'},
34639    }
34640
34641    def __init__(
34642        self,
34643        *,
34644        additional_properties: Optional[Dict[str, Any]] = None,
34645        source_retry_count: Optional[Any] = None,
34646        source_retry_wait: Optional[Any] = None,
34647        max_concurrent_connections: Optional[Any] = None,
34648        query_timeout: Optional[Any] = None,
34649        additional_columns: Optional[Any] = None,
34650        query: Optional[Any] = None,
34651        **kwargs
34652    ):
34653        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)
34654        self.type = 'ShopifySource'  # type: str
34655        self.query = query
34656
34657
34658class SkipErrorFile(msrest.serialization.Model):
34659    """Skip error file.
34660
34661    :param file_missing: Skip if file is deleted by other client during copy. Default is true.
34662     Type: boolean (or Expression with resultType boolean).
34663    :type file_missing: any
34664    :param data_inconsistency: Skip if source/sink file changed by other concurrent write. Default
34665     is false. Type: boolean (or Expression with resultType boolean).
34666    :type data_inconsistency: any
34667    """
34668
34669    _attribute_map = {
34670        'file_missing': {'key': 'fileMissing', 'type': 'object'},
34671        'data_inconsistency': {'key': 'dataInconsistency', 'type': 'object'},
34672    }
34673
34674    def __init__(
34675        self,
34676        *,
34677        file_missing: Optional[Any] = None,
34678        data_inconsistency: Optional[Any] = None,
34679        **kwargs
34680    ):
34681        super(SkipErrorFile, self).__init__(**kwargs)
34682        self.file_missing = file_missing
34683        self.data_inconsistency = data_inconsistency
34684
34685
34686class Sku(msrest.serialization.Model):
34687    """SQL pool SKU.
34688
34689    :param tier: The service tier.
34690    :type tier: str
34691    :param name: The SKU name.
34692    :type name: str
34693    :param capacity: If the SKU supports scale out/in then the capacity integer should be included.
34694     If scale out/in is not possible for the resource this may be omitted.
34695    :type capacity: int
34696    """
34697
34698    _attribute_map = {
34699        'tier': {'key': 'tier', 'type': 'str'},
34700        'name': {'key': 'name', 'type': 'str'},
34701        'capacity': {'key': 'capacity', 'type': 'int'},
34702    }
34703
34704    def __init__(
34705        self,
34706        *,
34707        tier: Optional[str] = None,
34708        name: Optional[str] = None,
34709        capacity: Optional[int] = None,
34710        **kwargs
34711    ):
34712        super(Sku, self).__init__(**kwargs)
34713        self.tier = tier
34714        self.name = name
34715        self.capacity = capacity
34716
34717
34718class SnowflakeDataset(Dataset):
34719    """The snowflake dataset.
34720
34721    All required parameters must be populated in order to send to Azure.
34722
34723    :param additional_properties: Unmatched properties from the message are deserialized to this
34724     collection.
34725    :type additional_properties: dict[str, any]
34726    :param type: Required. Type of dataset.Constant filled by server.
34727    :type type: str
34728    :param description: Dataset description.
34729    :type description: str
34730    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
34731     with resultType array), itemType: DatasetDataElement.
34732    :type structure: any
34733    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
34734     Expression with resultType array), itemType: DatasetSchemaDataElement.
34735    :type schema: any
34736    :param linked_service_name: Required. Linked service reference.
34737    :type linked_service_name:
34738     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
34739    :param parameters: Parameters for dataset.
34740    :type parameters: dict[str,
34741     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
34742    :param annotations: List of tags that can be used for describing the Dataset.
34743    :type annotations: list[any]
34744    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
34745     root level.
34746    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
34747    :param schema_type_properties_schema: The schema name of the Snowflake database. Type: string
34748     (or Expression with resultType string).
34749    :type schema_type_properties_schema: any
34750    :param table: The table name of the Snowflake database. Type: string (or Expression with
34751     resultType string).
34752    :type table: any
34753    """
34754
34755    _validation = {
34756        'type': {'required': True},
34757        'linked_service_name': {'required': True},
34758    }
34759
34760    _attribute_map = {
34761        'additional_properties': {'key': '', 'type': '{object}'},
34762        'type': {'key': 'type', 'type': 'str'},
34763        'description': {'key': 'description', 'type': 'str'},
34764        'structure': {'key': 'structure', 'type': 'object'},
34765        'schema': {'key': 'schema', 'type': 'object'},
34766        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
34767        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
34768        'annotations': {'key': 'annotations', 'type': '[object]'},
34769        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
34770        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
34771        'table': {'key': 'typeProperties.table', 'type': 'object'},
34772    }
34773
34774    def __init__(
34775        self,
34776        *,
34777        linked_service_name: "LinkedServiceReference",
34778        additional_properties: Optional[Dict[str, Any]] = None,
34779        description: Optional[str] = None,
34780        structure: Optional[Any] = None,
34781        schema: Optional[Any] = None,
34782        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
34783        annotations: Optional[List[Any]] = None,
34784        folder: Optional["DatasetFolder"] = None,
34785        schema_type_properties_schema: Optional[Any] = None,
34786        table: Optional[Any] = None,
34787        **kwargs
34788    ):
34789        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)
34790        self.type = 'SnowflakeTable'  # type: str
34791        self.schema_type_properties_schema = schema_type_properties_schema
34792        self.table = table
34793
34794
34795class SnowflakeExportCopyCommand(ExportSettings):
34796    """Snowflake export command settings.
34797
34798    All required parameters must be populated in order to send to Azure.
34799
34800    :param additional_properties: Unmatched properties from the message are deserialized to this
34801     collection.
34802    :type additional_properties: dict[str, any]
34803    :param type: Required. The export setting type.Constant filled by server.
34804    :type type: str
34805    :param additional_copy_options: Additional copy options directly passed to snowflake Copy
34806     Command. Type: key value pairs (value should be string type) (or Expression with resultType
34807     object). Example: "additionalCopyOptions": { "DATE_FORMAT": "MM/DD/YYYY", "TIME_FORMAT":
34808     "'HH24:MI:SS.FF'" }.
34809    :type additional_copy_options: dict[str, any]
34810    :param additional_format_options: Additional format options directly passed to snowflake Copy
34811     Command. Type: key value pairs (value should be string type) (or Expression with resultType
34812     object). Example: "additionalFormatOptions": { "OVERWRITE": "TRUE", "MAX_FILE_SIZE": "'FALSE'"
34813     }.
34814    :type additional_format_options: dict[str, any]
34815    """
34816
34817    _validation = {
34818        'type': {'required': True},
34819    }
34820
34821    _attribute_map = {
34822        'additional_properties': {'key': '', 'type': '{object}'},
34823        'type': {'key': 'type', 'type': 'str'},
34824        'additional_copy_options': {'key': 'additionalCopyOptions', 'type': '{object}'},
34825        'additional_format_options': {'key': 'additionalFormatOptions', 'type': '{object}'},
34826    }
34827
34828    def __init__(
34829        self,
34830        *,
34831        additional_properties: Optional[Dict[str, Any]] = None,
34832        additional_copy_options: Optional[Dict[str, Any]] = None,
34833        additional_format_options: Optional[Dict[str, Any]] = None,
34834        **kwargs
34835    ):
34836        super(SnowflakeExportCopyCommand, self).__init__(additional_properties=additional_properties, **kwargs)
34837        self.type = 'SnowflakeExportCopyCommand'  # type: str
34838        self.additional_copy_options = additional_copy_options
34839        self.additional_format_options = additional_format_options
34840
34841
34842class SnowflakeImportCopyCommand(ImportSettings):
34843    """Snowflake import command settings.
34844
34845    All required parameters must be populated in order to send to Azure.
34846
34847    :param additional_properties: Unmatched properties from the message are deserialized to this
34848     collection.
34849    :type additional_properties: dict[str, any]
34850    :param type: Required. The import setting type.Constant filled by server.
34851    :type type: str
34852    :param additional_copy_options: Additional copy options directly passed to snowflake Copy
34853     Command. Type: key value pairs (value should be string type) (or Expression with resultType
34854     object). Example: "additionalCopyOptions": { "DATE_FORMAT": "MM/DD/YYYY", "TIME_FORMAT":
34855     "'HH24:MI:SS.FF'" }.
34856    :type additional_copy_options: dict[str, any]
34857    :param additional_format_options: Additional format options directly passed to snowflake Copy
34858     Command. Type: key value pairs (value should be string type) (or Expression with resultType
34859     object). Example: "additionalFormatOptions": { "FORCE": "TRUE", "LOAD_UNCERTAIN_FILES":
34860     "'FALSE'" }.
34861    :type additional_format_options: dict[str, any]
34862    """
34863
34864    _validation = {
34865        'type': {'required': True},
34866    }
34867
34868    _attribute_map = {
34869        'additional_properties': {'key': '', 'type': '{object}'},
34870        'type': {'key': 'type', 'type': 'str'},
34871        'additional_copy_options': {'key': 'additionalCopyOptions', 'type': '{object}'},
34872        'additional_format_options': {'key': 'additionalFormatOptions', 'type': '{object}'},
34873    }
34874
34875    def __init__(
34876        self,
34877        *,
34878        additional_properties: Optional[Dict[str, Any]] = None,
34879        additional_copy_options: Optional[Dict[str, Any]] = None,
34880        additional_format_options: Optional[Dict[str, Any]] = None,
34881        **kwargs
34882    ):
34883        super(SnowflakeImportCopyCommand, self).__init__(additional_properties=additional_properties, **kwargs)
34884        self.type = 'SnowflakeImportCopyCommand'  # type: str
34885        self.additional_copy_options = additional_copy_options
34886        self.additional_format_options = additional_format_options
34887
34888
34889class SnowflakeLinkedService(LinkedService):
34890    """Snowflake linked service.
34891
34892    All required parameters must be populated in order to send to Azure.
34893
34894    :param additional_properties: Unmatched properties from the message are deserialized to this
34895     collection.
34896    :type additional_properties: dict[str, any]
34897    :param type: Required. Type of linked service.Constant filled by server.
34898    :type type: str
34899    :param connect_via: The integration runtime reference.
34900    :type connect_via:
34901     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
34902    :param description: Linked service description.
34903    :type description: str
34904    :param parameters: Parameters for linked service.
34905    :type parameters: dict[str,
34906     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
34907    :param annotations: List of tags that can be used for describing the linked service.
34908    :type annotations: list[any]
34909    :param connection_string: Required. The connection string of snowflake. Type: string,
34910     SecureString.
34911    :type connection_string: any
34912    :param password: The Azure key vault secret reference of password in connection string.
34913    :type password:
34914     ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
34915    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
34916     encrypted using the integration runtime credential manager. Type: string (or Expression with
34917     resultType string).
34918    :type encrypted_credential: any
34919    """
34920
34921    _validation = {
34922        'type': {'required': True},
34923        'connection_string': {'required': True},
34924    }
34925
34926    _attribute_map = {
34927        'additional_properties': {'key': '', 'type': '{object}'},
34928        'type': {'key': 'type', 'type': 'str'},
34929        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
34930        'description': {'key': 'description', 'type': 'str'},
34931        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
34932        'annotations': {'key': 'annotations', 'type': '[object]'},
34933        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
34934        'password': {'key': 'typeProperties.password', 'type': 'AzureKeyVaultSecretReference'},
34935        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
34936    }
34937
34938    def __init__(
34939        self,
34940        *,
34941        connection_string: Any,
34942        additional_properties: Optional[Dict[str, Any]] = None,
34943        connect_via: Optional["IntegrationRuntimeReference"] = None,
34944        description: Optional[str] = None,
34945        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
34946        annotations: Optional[List[Any]] = None,
34947        password: Optional["AzureKeyVaultSecretReference"] = None,
34948        encrypted_credential: Optional[Any] = None,
34949        **kwargs
34950    ):
34951        super(SnowflakeLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
34952        self.type = 'Snowflake'  # type: str
34953        self.connection_string = connection_string
34954        self.password = password
34955        self.encrypted_credential = encrypted_credential
34956
34957
34958class SnowflakeSink(CopySink):
34959    """A copy activity snowflake sink.
34960
34961    All required parameters must be populated in order to send to Azure.
34962
34963    :param additional_properties: Unmatched properties from the message are deserialized to this
34964     collection.
34965    :type additional_properties: dict[str, any]
34966    :param type: Required. Copy sink type.Constant filled by server.
34967    :type type: str
34968    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
34969     integer), minimum: 0.
34970    :type write_batch_size: any
34971    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
34972     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
34973    :type write_batch_timeout: any
34974    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
34975     integer).
34976    :type sink_retry_count: any
34977    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
34978     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
34979    :type sink_retry_wait: any
34980    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
34981     store. Type: integer (or Expression with resultType integer).
34982    :type max_concurrent_connections: any
34983    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
34984     string).
34985    :type pre_copy_script: any
34986    :param import_settings: Snowflake import settings.
34987    :type import_settings:
34988     ~azure.synapse.artifacts.v2021_06_01_preview.models.SnowflakeImportCopyCommand
34989    """
34990
34991    _validation = {
34992        'type': {'required': True},
34993    }
34994
34995    _attribute_map = {
34996        'additional_properties': {'key': '', 'type': '{object}'},
34997        'type': {'key': 'type', 'type': 'str'},
34998        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
34999        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
35000        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
35001        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
35002        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
35003        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
35004        'import_settings': {'key': 'importSettings', 'type': 'SnowflakeImportCopyCommand'},
35005    }
35006
35007    def __init__(
35008        self,
35009        *,
35010        additional_properties: Optional[Dict[str, Any]] = None,
35011        write_batch_size: Optional[Any] = None,
35012        write_batch_timeout: Optional[Any] = None,
35013        sink_retry_count: Optional[Any] = None,
35014        sink_retry_wait: Optional[Any] = None,
35015        max_concurrent_connections: Optional[Any] = None,
35016        pre_copy_script: Optional[Any] = None,
35017        import_settings: Optional["SnowflakeImportCopyCommand"] = None,
35018        **kwargs
35019    ):
35020        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)
35021        self.type = 'SnowflakeSink'  # type: str
35022        self.pre_copy_script = pre_copy_script
35023        self.import_settings = import_settings
35024
35025
35026class SnowflakeSource(CopySource):
35027    """A copy activity snowflake source.
35028
35029    All required parameters must be populated in order to send to Azure.
35030
35031    :param additional_properties: Unmatched properties from the message are deserialized to this
35032     collection.
35033    :type additional_properties: dict[str, any]
35034    :param type: Required. Copy source type.Constant filled by server.
35035    :type type: str
35036    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
35037     integer).
35038    :type source_retry_count: any
35039    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
35040     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
35041    :type source_retry_wait: any
35042    :param max_concurrent_connections: The maximum concurrent connection count for the source data
35043     store. Type: integer (or Expression with resultType integer).
35044    :type max_concurrent_connections: any
35045    :param query: Snowflake Sql query. Type: string (or Expression with resultType string).
35046    :type query: any
35047    :param export_settings: Snowflake export settings.
35048    :type export_settings:
35049     ~azure.synapse.artifacts.v2021_06_01_preview.models.SnowflakeExportCopyCommand
35050    """
35051
35052    _validation = {
35053        'type': {'required': True},
35054    }
35055
35056    _attribute_map = {
35057        'additional_properties': {'key': '', 'type': '{object}'},
35058        'type': {'key': 'type', 'type': 'str'},
35059        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
35060        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
35061        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
35062        'query': {'key': 'query', 'type': 'object'},
35063        'export_settings': {'key': 'exportSettings', 'type': 'SnowflakeExportCopyCommand'},
35064    }
35065
35066    def __init__(
35067        self,
35068        *,
35069        additional_properties: Optional[Dict[str, Any]] = None,
35070        source_retry_count: Optional[Any] = None,
35071        source_retry_wait: Optional[Any] = None,
35072        max_concurrent_connections: Optional[Any] = None,
35073        query: Optional[Any] = None,
35074        export_settings: Optional["SnowflakeExportCopyCommand"] = None,
35075        **kwargs
35076    ):
35077        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)
35078        self.type = 'SnowflakeSource'  # type: str
35079        self.query = query
35080        self.export_settings = export_settings
35081
35082
35083class SparkBatchJob(msrest.serialization.Model):
35084    """SparkBatchJob.
35085
35086    All required parameters must be populated in order to send to Azure.
35087
35088    :param livy_info:
35089    :type livy_info: ~azure.synapse.artifacts.v2021_06_01_preview.models.SparkBatchJobState
35090    :param name: The batch name.
35091    :type name: str
35092    :param workspace_name: The workspace name.
35093    :type workspace_name: str
35094    :param spark_pool_name: The Spark pool name.
35095    :type spark_pool_name: str
35096    :param submitter_name: The submitter name.
35097    :type submitter_name: str
35098    :param submitter_id: The submitter identifier.
35099    :type submitter_id: str
35100    :param artifact_id: The artifact identifier.
35101    :type artifact_id: str
35102    :param job_type: The job type. Possible values include: "SparkBatch", "SparkSession".
35103    :type job_type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.SparkJobType
35104    :param result: The Spark batch job result. Possible values include: "Uncertain", "Succeeded",
35105     "Failed", "Cancelled".
35106    :type result: str or
35107     ~azure.synapse.artifacts.v2021_06_01_preview.models.SparkBatchJobResultType
35108    :param scheduler: The scheduler information.
35109    :type scheduler: ~azure.synapse.artifacts.v2021_06_01_preview.models.SparkScheduler
35110    :param plugin: The plugin information.
35111    :type plugin: ~azure.synapse.artifacts.v2021_06_01_preview.models.SparkServicePlugin
35112    :param errors: The error information.
35113    :type errors: list[~azure.synapse.artifacts.v2021_06_01_preview.models.SparkServiceError]
35114    :param tags: A set of tags. The tags.
35115    :type tags: dict[str, str]
35116    :param id: Required. The session Id.
35117    :type id: int
35118    :param app_id: The application id of this session.
35119    :type app_id: str
35120    :param app_info: The detailed application info.
35121    :type app_info: dict[str, str]
35122    :param state: The batch state.
35123    :type state: str
35124    :param log_lines: The log lines.
35125    :type log_lines: list[str]
35126    """
35127
35128    _validation = {
35129        'id': {'required': True},
35130    }
35131
35132    _attribute_map = {
35133        'livy_info': {'key': 'livyInfo', 'type': 'SparkBatchJobState'},
35134        'name': {'key': 'name', 'type': 'str'},
35135        'workspace_name': {'key': 'workspaceName', 'type': 'str'},
35136        'spark_pool_name': {'key': 'sparkPoolName', 'type': 'str'},
35137        'submitter_name': {'key': 'submitterName', 'type': 'str'},
35138        'submitter_id': {'key': 'submitterId', 'type': 'str'},
35139        'artifact_id': {'key': 'artifactId', 'type': 'str'},
35140        'job_type': {'key': 'jobType', 'type': 'str'},
35141        'result': {'key': 'result', 'type': 'str'},
35142        'scheduler': {'key': 'schedulerInfo', 'type': 'SparkScheduler'},
35143        'plugin': {'key': 'pluginInfo', 'type': 'SparkServicePlugin'},
35144        'errors': {'key': 'errorInfo', 'type': '[SparkServiceError]'},
35145        'tags': {'key': 'tags', 'type': '{str}'},
35146        'id': {'key': 'id', 'type': 'int'},
35147        'app_id': {'key': 'appId', 'type': 'str'},
35148        'app_info': {'key': 'appInfo', 'type': '{str}'},
35149        'state': {'key': 'state', 'type': 'str'},
35150        'log_lines': {'key': 'log', 'type': '[str]'},
35151    }
35152
35153    def __init__(
35154        self,
35155        *,
35156        id: int,
35157        livy_info: Optional["SparkBatchJobState"] = None,
35158        name: Optional[str] = None,
35159        workspace_name: Optional[str] = None,
35160        spark_pool_name: Optional[str] = None,
35161        submitter_name: Optional[str] = None,
35162        submitter_id: Optional[str] = None,
35163        artifact_id: Optional[str] = None,
35164        job_type: Optional[Union[str, "SparkJobType"]] = None,
35165        result: Optional[Union[str, "SparkBatchJobResultType"]] = None,
35166        scheduler: Optional["SparkScheduler"] = None,
35167        plugin: Optional["SparkServicePlugin"] = None,
35168        errors: Optional[List["SparkServiceError"]] = None,
35169        tags: Optional[Dict[str, str]] = None,
35170        app_id: Optional[str] = None,
35171        app_info: Optional[Dict[str, str]] = None,
35172        state: Optional[str] = None,
35173        log_lines: Optional[List[str]] = None,
35174        **kwargs
35175    ):
35176        super(SparkBatchJob, self).__init__(**kwargs)
35177        self.livy_info = livy_info
35178        self.name = name
35179        self.workspace_name = workspace_name
35180        self.spark_pool_name = spark_pool_name
35181        self.submitter_name = submitter_name
35182        self.submitter_id = submitter_id
35183        self.artifact_id = artifact_id
35184        self.job_type = job_type
35185        self.result = result
35186        self.scheduler = scheduler
35187        self.plugin = plugin
35188        self.errors = errors
35189        self.tags = tags
35190        self.id = id
35191        self.app_id = app_id
35192        self.app_info = app_info
35193        self.state = state
35194        self.log_lines = log_lines
35195
35196
35197class SparkBatchJobState(msrest.serialization.Model):
35198    """SparkBatchJobState.
35199
35200    :param not_started_at: the time that at which "not_started" livy state was first seen.
35201    :type not_started_at: ~datetime.datetime
35202    :param starting_at: the time that at which "starting" livy state was first seen.
35203    :type starting_at: ~datetime.datetime
35204    :param running_at: the time that at which "running" livy state was first seen.
35205    :type running_at: ~datetime.datetime
35206    :param dead_at: time that at which "dead" livy state was first seen.
35207    :type dead_at: ~datetime.datetime
35208    :param success_at: the time that at which "success" livy state was first seen.
35209    :type success_at: ~datetime.datetime
35210    :param terminated_at: the time that at which "killed" livy state was first seen.
35211    :type terminated_at: ~datetime.datetime
35212    :param recovering_at: the time that at which "recovering" livy state was first seen.
35213    :type recovering_at: ~datetime.datetime
35214    :param current_state: the Spark job state.
35215    :type current_state: str
35216    :param job_creation_request:
35217    :type job_creation_request: ~azure.synapse.artifacts.v2021_06_01_preview.models.SparkRequest
35218    """
35219
35220    _attribute_map = {
35221        'not_started_at': {'key': 'notStartedAt', 'type': 'iso-8601'},
35222        'starting_at': {'key': 'startingAt', 'type': 'iso-8601'},
35223        'running_at': {'key': 'runningAt', 'type': 'iso-8601'},
35224        'dead_at': {'key': 'deadAt', 'type': 'iso-8601'},
35225        'success_at': {'key': 'successAt', 'type': 'iso-8601'},
35226        'terminated_at': {'key': 'killedAt', 'type': 'iso-8601'},
35227        'recovering_at': {'key': 'recoveringAt', 'type': 'iso-8601'},
35228        'current_state': {'key': 'currentState', 'type': 'str'},
35229        'job_creation_request': {'key': 'jobCreationRequest', 'type': 'SparkRequest'},
35230    }
35231
35232    def __init__(
35233        self,
35234        *,
35235        not_started_at: Optional[datetime.datetime] = None,
35236        starting_at: Optional[datetime.datetime] = None,
35237        running_at: Optional[datetime.datetime] = None,
35238        dead_at: Optional[datetime.datetime] = None,
35239        success_at: Optional[datetime.datetime] = None,
35240        terminated_at: Optional[datetime.datetime] = None,
35241        recovering_at: Optional[datetime.datetime] = None,
35242        current_state: Optional[str] = None,
35243        job_creation_request: Optional["SparkRequest"] = None,
35244        **kwargs
35245    ):
35246        super(SparkBatchJobState, self).__init__(**kwargs)
35247        self.not_started_at = not_started_at
35248        self.starting_at = starting_at
35249        self.running_at = running_at
35250        self.dead_at = dead_at
35251        self.success_at = success_at
35252        self.terminated_at = terminated_at
35253        self.recovering_at = recovering_at
35254        self.current_state = current_state
35255        self.job_creation_request = job_creation_request
35256
35257
35258class SparkConfiguration(msrest.serialization.Model):
35259    """SparkConfiguration Artifact information.
35260
35261    All required parameters must be populated in order to send to Azure.
35262
35263    :param description: Description about the SparkConfiguration.
35264    :type description: str
35265    :param configs: Required. SparkConfiguration configs.
35266    :type configs: dict[str, str]
35267    :param annotations: Annotations for SparkConfiguration.
35268    :type annotations: list[str]
35269    :param notes: additional Notes.
35270    :type notes: str
35271    :param created_by: The identity that created the resource.
35272    :type created_by: str
35273    :param created: The timestamp of resource creation.
35274    :type created: ~datetime.datetime
35275    """
35276
35277    _validation = {
35278        'configs': {'required': True},
35279    }
35280
35281    _attribute_map = {
35282        'description': {'key': 'description', 'type': 'str'},
35283        'configs': {'key': 'configs', 'type': '{str}'},
35284        'annotations': {'key': 'annotations', 'type': '[str]'},
35285        'notes': {'key': 'notes', 'type': 'str'},
35286        'created_by': {'key': 'createdBy', 'type': 'str'},
35287        'created': {'key': 'created', 'type': 'iso-8601'},
35288    }
35289
35290    def __init__(
35291        self,
35292        *,
35293        configs: Dict[str, str],
35294        description: Optional[str] = None,
35295        annotations: Optional[List[str]] = None,
35296        notes: Optional[str] = None,
35297        created_by: Optional[str] = None,
35298        created: Optional[datetime.datetime] = None,
35299        **kwargs
35300    ):
35301        super(SparkConfiguration, self).__init__(**kwargs)
35302        self.description = description
35303        self.configs = configs
35304        self.annotations = annotations
35305        self.notes = notes
35306        self.created_by = created_by
35307        self.created = created
35308
35309
35310class SparkConfigurationListResponse(msrest.serialization.Model):
35311    """A list of sparkconfiguration resources.
35312
35313    All required parameters must be populated in order to send to Azure.
35314
35315    :param value: Required. List of sparkconfigurations.
35316    :type value:
35317     list[~azure.synapse.artifacts.v2021_06_01_preview.models.SparkConfigurationResource]
35318    :param next_link: The link to the next page of results, if any remaining results exist.
35319    :type next_link: str
35320    """
35321
35322    _validation = {
35323        'value': {'required': True},
35324    }
35325
35326    _attribute_map = {
35327        'value': {'key': 'value', 'type': '[SparkConfigurationResource]'},
35328        'next_link': {'key': 'nextLink', 'type': 'str'},
35329    }
35330
35331    def __init__(
35332        self,
35333        *,
35334        value: List["SparkConfigurationResource"],
35335        next_link: Optional[str] = None,
35336        **kwargs
35337    ):
35338        super(SparkConfigurationListResponse, self).__init__(**kwargs)
35339        self.value = value
35340        self.next_link = next_link
35341
35342
35343class SparkConfigurationResource(SubResource):
35344    """Spark Configuration resource type.
35345
35346    Variables are only populated by the server, and will be ignored when sending a request.
35347
35348    All required parameters must be populated in order to send to Azure.
35349
35350    :ivar id: Fully qualified resource ID for the resource. Ex -
35351     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
35352    :vartype id: str
35353    :ivar name: The name of the resource.
35354    :vartype name: str
35355    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
35356     "Microsoft.Storage/storageAccounts".
35357    :vartype type: str
35358    :ivar etag: Resource Etag.
35359    :vartype etag: str
35360    :param properties: Required. Properties of Spark Configuration.
35361    :type properties: ~azure.synapse.artifacts.v2021_06_01_preview.models.SparkConfiguration
35362    """
35363
35364    _validation = {
35365        'id': {'readonly': True},
35366        'name': {'readonly': True},
35367        'type': {'readonly': True},
35368        'etag': {'readonly': True},
35369        'properties': {'required': True},
35370    }
35371
35372    _attribute_map = {
35373        'id': {'key': 'id', 'type': 'str'},
35374        'name': {'key': 'name', 'type': 'str'},
35375        'type': {'key': 'type', 'type': 'str'},
35376        'etag': {'key': 'etag', 'type': 'str'},
35377        'properties': {'key': 'properties', 'type': 'SparkConfiguration'},
35378    }
35379
35380    def __init__(
35381        self,
35382        *,
35383        properties: "SparkConfiguration",
35384        **kwargs
35385    ):
35386        super(SparkConfigurationResource, self).__init__(**kwargs)
35387        self.properties = properties
35388
35389
35390class SparkJobDefinition(msrest.serialization.Model):
35391    """Spark job definition.
35392
35393    All required parameters must be populated in order to send to Azure.
35394
35395    :param additional_properties: Unmatched properties from the message are deserialized to this
35396     collection.
35397    :type additional_properties: dict[str, any]
35398    :param description: The description of the Spark job definition.
35399    :type description: str
35400    :param target_big_data_pool: Required. Big data pool reference.
35401    :type target_big_data_pool:
35402     ~azure.synapse.artifacts.v2021_06_01_preview.models.BigDataPoolReference
35403    :param required_spark_version: The required Spark version of the application.
35404    :type required_spark_version: str
35405    :param language: The language of the Spark application.
35406    :type language: str
35407    :param job_properties: Required. The properties of the Spark job.
35408    :type job_properties: ~azure.synapse.artifacts.v2021_06_01_preview.models.SparkJobProperties
35409    """
35410
35411    _validation = {
35412        'target_big_data_pool': {'required': True},
35413        'job_properties': {'required': True},
35414    }
35415
35416    _attribute_map = {
35417        'additional_properties': {'key': '', 'type': '{object}'},
35418        'description': {'key': 'description', 'type': 'str'},
35419        'target_big_data_pool': {'key': 'targetBigDataPool', 'type': 'BigDataPoolReference'},
35420        'required_spark_version': {'key': 'requiredSparkVersion', 'type': 'str'},
35421        'language': {'key': 'language', 'type': 'str'},
35422        'job_properties': {'key': 'jobProperties', 'type': 'SparkJobProperties'},
35423    }
35424
35425    def __init__(
35426        self,
35427        *,
35428        target_big_data_pool: "BigDataPoolReference",
35429        job_properties: "SparkJobProperties",
35430        additional_properties: Optional[Dict[str, Any]] = None,
35431        description: Optional[str] = None,
35432        required_spark_version: Optional[str] = None,
35433        language: Optional[str] = None,
35434        **kwargs
35435    ):
35436        super(SparkJobDefinition, self).__init__(**kwargs)
35437        self.additional_properties = additional_properties
35438        self.description = description
35439        self.target_big_data_pool = target_big_data_pool
35440        self.required_spark_version = required_spark_version
35441        self.language = language
35442        self.job_properties = job_properties
35443
35444
35445class SparkJobDefinitionResource(SubResource):
35446    """Spark job definition resource type.
35447
35448    Variables are only populated by the server, and will be ignored when sending a request.
35449
35450    All required parameters must be populated in order to send to Azure.
35451
35452    :ivar id: Fully qualified resource ID for the resource. Ex -
35453     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
35454    :vartype id: str
35455    :ivar name: The name of the resource.
35456    :vartype name: str
35457    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
35458     "Microsoft.Storage/storageAccounts".
35459    :vartype type: str
35460    :ivar etag: Resource Etag.
35461    :vartype etag: str
35462    :param properties: Required. Properties of spark job definition.
35463    :type properties: ~azure.synapse.artifacts.v2021_06_01_preview.models.SparkJobDefinition
35464    """
35465
35466    _validation = {
35467        'id': {'readonly': True},
35468        'name': {'readonly': True},
35469        'type': {'readonly': True},
35470        'etag': {'readonly': True},
35471        'properties': {'required': True},
35472    }
35473
35474    _attribute_map = {
35475        'id': {'key': 'id', 'type': 'str'},
35476        'name': {'key': 'name', 'type': 'str'},
35477        'type': {'key': 'type', 'type': 'str'},
35478        'etag': {'key': 'etag', 'type': 'str'},
35479        'properties': {'key': 'properties', 'type': 'SparkJobDefinition'},
35480    }
35481
35482    def __init__(
35483        self,
35484        *,
35485        properties: "SparkJobDefinition",
35486        **kwargs
35487    ):
35488        super(SparkJobDefinitionResource, self).__init__(**kwargs)
35489        self.properties = properties
35490
35491
35492class SparkJobDefinitionsListResponse(msrest.serialization.Model):
35493    """A list of spark job definitions resources.
35494
35495    All required parameters must be populated in order to send to Azure.
35496
35497    :param value: Required. List of spark job definitions.
35498    :type value:
35499     list[~azure.synapse.artifacts.v2021_06_01_preview.models.SparkJobDefinitionResource]
35500    :param next_link: The link to the next page of results, if any remaining results exist.
35501    :type next_link: str
35502    """
35503
35504    _validation = {
35505        'value': {'required': True},
35506    }
35507
35508    _attribute_map = {
35509        'value': {'key': 'value', 'type': '[SparkJobDefinitionResource]'},
35510        'next_link': {'key': 'nextLink', 'type': 'str'},
35511    }
35512
35513    def __init__(
35514        self,
35515        *,
35516        value: List["SparkJobDefinitionResource"],
35517        next_link: Optional[str] = None,
35518        **kwargs
35519    ):
35520        super(SparkJobDefinitionsListResponse, self).__init__(**kwargs)
35521        self.value = value
35522        self.next_link = next_link
35523
35524
35525class SparkJobProperties(msrest.serialization.Model):
35526    """The properties of the Spark job.
35527
35528    All required parameters must be populated in order to send to Azure.
35529
35530    :param additional_properties: Unmatched properties from the message are deserialized to this
35531     collection.
35532    :type additional_properties: dict[str, any]
35533    :param name: The name of the job.
35534    :type name: str
35535    :param file: Required. File containing the application to execute.
35536    :type file: str
35537    :param class_name: Main class for Java/Scala application.
35538    :type class_name: str
35539    :param conf: Spark configuration properties.
35540    :type conf: any
35541    :param args: Command line arguments for the application.
35542    :type args: list[str]
35543    :param jars: Jars to be used in this job.
35544    :type jars: list[str]
35545    :param files: files to be used in this job.
35546    :type files: list[str]
35547    :param archives: Archives to be used in this job.
35548    :type archives: list[str]
35549    :param driver_memory: Required. Amount of memory to use for the driver process.
35550    :type driver_memory: str
35551    :param driver_cores: Required. Number of cores to use for the driver.
35552    :type driver_cores: int
35553    :param executor_memory: Required. Amount of memory to use per executor process.
35554    :type executor_memory: str
35555    :param executor_cores: Required. Number of cores to use for each executor.
35556    :type executor_cores: int
35557    :param num_executors: Required. Number of executors to launch for this job.
35558    :type num_executors: int
35559    """
35560
35561    _validation = {
35562        'file': {'required': True},
35563        'driver_memory': {'required': True},
35564        'driver_cores': {'required': True},
35565        'executor_memory': {'required': True},
35566        'executor_cores': {'required': True},
35567        'num_executors': {'required': True},
35568    }
35569
35570    _attribute_map = {
35571        'additional_properties': {'key': '', 'type': '{object}'},
35572        'name': {'key': 'name', 'type': 'str'},
35573        'file': {'key': 'file', 'type': 'str'},
35574        'class_name': {'key': 'className', 'type': 'str'},
35575        'conf': {'key': 'conf', 'type': 'object'},
35576        'args': {'key': 'args', 'type': '[str]'},
35577        'jars': {'key': 'jars', 'type': '[str]'},
35578        'files': {'key': 'files', 'type': '[str]'},
35579        'archives': {'key': 'archives', 'type': '[str]'},
35580        'driver_memory': {'key': 'driverMemory', 'type': 'str'},
35581        'driver_cores': {'key': 'driverCores', 'type': 'int'},
35582        'executor_memory': {'key': 'executorMemory', 'type': 'str'},
35583        'executor_cores': {'key': 'executorCores', 'type': 'int'},
35584        'num_executors': {'key': 'numExecutors', 'type': 'int'},
35585    }
35586
35587    def __init__(
35588        self,
35589        *,
35590        file: str,
35591        driver_memory: str,
35592        driver_cores: int,
35593        executor_memory: str,
35594        executor_cores: int,
35595        num_executors: int,
35596        additional_properties: Optional[Dict[str, Any]] = None,
35597        name: Optional[str] = None,
35598        class_name: Optional[str] = None,
35599        conf: Optional[Any] = None,
35600        args: Optional[List[str]] = None,
35601        jars: Optional[List[str]] = None,
35602        files: Optional[List[str]] = None,
35603        archives: Optional[List[str]] = None,
35604        **kwargs
35605    ):
35606        super(SparkJobProperties, self).__init__(**kwargs)
35607        self.additional_properties = additional_properties
35608        self.name = name
35609        self.file = file
35610        self.class_name = class_name
35611        self.conf = conf
35612        self.args = args
35613        self.jars = jars
35614        self.files = files
35615        self.archives = archives
35616        self.driver_memory = driver_memory
35617        self.driver_cores = driver_cores
35618        self.executor_memory = executor_memory
35619        self.executor_cores = executor_cores
35620        self.num_executors = num_executors
35621
35622
35623class SparkLinkedService(LinkedService):
35624    """Spark Server linked service.
35625
35626    All required parameters must be populated in order to send to Azure.
35627
35628    :param additional_properties: Unmatched properties from the message are deserialized to this
35629     collection.
35630    :type additional_properties: dict[str, any]
35631    :param type: Required. Type of linked service.Constant filled by server.
35632    :type type: str
35633    :param connect_via: The integration runtime reference.
35634    :type connect_via:
35635     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
35636    :param description: Linked service description.
35637    :type description: str
35638    :param parameters: Parameters for linked service.
35639    :type parameters: dict[str,
35640     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
35641    :param annotations: List of tags that can be used for describing the linked service.
35642    :type annotations: list[any]
35643    :param host: Required. IP address or host name of the Spark server.
35644    :type host: any
35645    :param port: Required. The TCP port that the Spark server uses to listen for client
35646     connections.
35647    :type port: any
35648    :param server_type: The type of Spark server. Possible values include: "SharkServer",
35649     "SharkServer2", "SparkThriftServer".
35650    :type server_type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.SparkServerType
35651    :param thrift_transport_protocol: The transport protocol to use in the Thrift layer. Possible
35652     values include: "Binary", "SASL", "HTTP ".
35653    :type thrift_transport_protocol: str or
35654     ~azure.synapse.artifacts.v2021_06_01_preview.models.SparkThriftTransportProtocol
35655    :param authentication_type: Required. The authentication method used to access the Spark
35656     server. Possible values include: "Anonymous", "Username", "UsernameAndPassword",
35657     "WindowsAzureHDInsightService".
35658    :type authentication_type: str or
35659     ~azure.synapse.artifacts.v2021_06_01_preview.models.SparkAuthenticationType
35660    :param username: The user name that you use to access Spark Server.
35661    :type username: any
35662    :param password: The password corresponding to the user name that you provided in the Username
35663     field.
35664    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
35665    :param http_path: The partial URL corresponding to the Spark server.
35666    :type http_path: any
35667    :param enable_ssl: Specifies whether the connections to the server are encrypted using SSL. The
35668     default value is false.
35669    :type enable_ssl: any
35670    :param trusted_cert_path: The full path of the .pem file containing trusted CA certificates for
35671     verifying the server when connecting over SSL. This property can only be set when using SSL on
35672     self-hosted IR. The default value is the cacerts.pem file installed with the IR.
35673    :type trusted_cert_path: any
35674    :param use_system_trust_store: Specifies whether to use a CA certificate from the system trust
35675     store or from a specified PEM file. The default value is false.
35676    :type use_system_trust_store: any
35677    :param allow_host_name_cn_mismatch: Specifies whether to require a CA-issued SSL certificate
35678     name to match the host name of the server when connecting over SSL. The default value is false.
35679    :type allow_host_name_cn_mismatch: any
35680    :param allow_self_signed_server_cert: Specifies whether to allow self-signed certificates from
35681     the server. The default value is false.
35682    :type allow_self_signed_server_cert: any
35683    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
35684     encrypted using the integration runtime credential manager. Type: string (or Expression with
35685     resultType string).
35686    :type encrypted_credential: any
35687    """
35688
35689    _validation = {
35690        'type': {'required': True},
35691        'host': {'required': True},
35692        'port': {'required': True},
35693        'authentication_type': {'required': True},
35694    }
35695
35696    _attribute_map = {
35697        'additional_properties': {'key': '', 'type': '{object}'},
35698        'type': {'key': 'type', 'type': 'str'},
35699        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
35700        'description': {'key': 'description', 'type': 'str'},
35701        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
35702        'annotations': {'key': 'annotations', 'type': '[object]'},
35703        'host': {'key': 'typeProperties.host', 'type': 'object'},
35704        'port': {'key': 'typeProperties.port', 'type': 'object'},
35705        'server_type': {'key': 'typeProperties.serverType', 'type': 'str'},
35706        'thrift_transport_protocol': {'key': 'typeProperties.thriftTransportProtocol', 'type': 'str'},
35707        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
35708        'username': {'key': 'typeProperties.username', 'type': 'object'},
35709        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
35710        'http_path': {'key': 'typeProperties.httpPath', 'type': 'object'},
35711        'enable_ssl': {'key': 'typeProperties.enableSsl', 'type': 'object'},
35712        'trusted_cert_path': {'key': 'typeProperties.trustedCertPath', 'type': 'object'},
35713        'use_system_trust_store': {'key': 'typeProperties.useSystemTrustStore', 'type': 'object'},
35714        'allow_host_name_cn_mismatch': {'key': 'typeProperties.allowHostNameCNMismatch', 'type': 'object'},
35715        'allow_self_signed_server_cert': {'key': 'typeProperties.allowSelfSignedServerCert', 'type': 'object'},
35716        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
35717    }
35718
35719    def __init__(
35720        self,
35721        *,
35722        host: Any,
35723        port: Any,
35724        authentication_type: Union[str, "SparkAuthenticationType"],
35725        additional_properties: Optional[Dict[str, Any]] = None,
35726        connect_via: Optional["IntegrationRuntimeReference"] = None,
35727        description: Optional[str] = None,
35728        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
35729        annotations: Optional[List[Any]] = None,
35730        server_type: Optional[Union[str, "SparkServerType"]] = None,
35731        thrift_transport_protocol: Optional[Union[str, "SparkThriftTransportProtocol"]] = None,
35732        username: Optional[Any] = None,
35733        password: Optional["SecretBase"] = None,
35734        http_path: Optional[Any] = None,
35735        enable_ssl: Optional[Any] = None,
35736        trusted_cert_path: Optional[Any] = None,
35737        use_system_trust_store: Optional[Any] = None,
35738        allow_host_name_cn_mismatch: Optional[Any] = None,
35739        allow_self_signed_server_cert: Optional[Any] = None,
35740        encrypted_credential: Optional[Any] = None,
35741        **kwargs
35742    ):
35743        super(SparkLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
35744        self.type = 'Spark'  # type: str
35745        self.host = host
35746        self.port = port
35747        self.server_type = server_type
35748        self.thrift_transport_protocol = thrift_transport_protocol
35749        self.authentication_type = authentication_type
35750        self.username = username
35751        self.password = password
35752        self.http_path = http_path
35753        self.enable_ssl = enable_ssl
35754        self.trusted_cert_path = trusted_cert_path
35755        self.use_system_trust_store = use_system_trust_store
35756        self.allow_host_name_cn_mismatch = allow_host_name_cn_mismatch
35757        self.allow_self_signed_server_cert = allow_self_signed_server_cert
35758        self.encrypted_credential = encrypted_credential
35759
35760
35761class SparkObjectDataset(Dataset):
35762    """Spark Server dataset.
35763
35764    All required parameters must be populated in order to send to Azure.
35765
35766    :param additional_properties: Unmatched properties from the message are deserialized to this
35767     collection.
35768    :type additional_properties: dict[str, any]
35769    :param type: Required. Type of dataset.Constant filled by server.
35770    :type type: str
35771    :param description: Dataset description.
35772    :type description: str
35773    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
35774     with resultType array), itemType: DatasetDataElement.
35775    :type structure: any
35776    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
35777     Expression with resultType array), itemType: DatasetSchemaDataElement.
35778    :type schema: any
35779    :param linked_service_name: Required. Linked service reference.
35780    :type linked_service_name:
35781     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
35782    :param parameters: Parameters for dataset.
35783    :type parameters: dict[str,
35784     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
35785    :param annotations: List of tags that can be used for describing the Dataset.
35786    :type annotations: list[any]
35787    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
35788     root level.
35789    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
35790    :param table_name: This property will be retired. Please consider using schema + table
35791     properties instead.
35792    :type table_name: any
35793    :param table: The table name of the Spark. Type: string (or Expression with resultType string).
35794    :type table: any
35795    :param schema_type_properties_schema: The schema name of the Spark. Type: string (or Expression
35796     with resultType string).
35797    :type schema_type_properties_schema: any
35798    """
35799
35800    _validation = {
35801        'type': {'required': True},
35802        'linked_service_name': {'required': True},
35803    }
35804
35805    _attribute_map = {
35806        'additional_properties': {'key': '', 'type': '{object}'},
35807        'type': {'key': 'type', 'type': 'str'},
35808        'description': {'key': 'description', 'type': 'str'},
35809        'structure': {'key': 'structure', 'type': 'object'},
35810        'schema': {'key': 'schema', 'type': 'object'},
35811        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
35812        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
35813        'annotations': {'key': 'annotations', 'type': '[object]'},
35814        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
35815        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
35816        'table': {'key': 'typeProperties.table', 'type': 'object'},
35817        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
35818    }
35819
35820    def __init__(
35821        self,
35822        *,
35823        linked_service_name: "LinkedServiceReference",
35824        additional_properties: Optional[Dict[str, Any]] = None,
35825        description: Optional[str] = None,
35826        structure: Optional[Any] = None,
35827        schema: Optional[Any] = None,
35828        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
35829        annotations: Optional[List[Any]] = None,
35830        folder: Optional["DatasetFolder"] = None,
35831        table_name: Optional[Any] = None,
35832        table: Optional[Any] = None,
35833        schema_type_properties_schema: Optional[Any] = None,
35834        **kwargs
35835    ):
35836        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)
35837        self.type = 'SparkObject'  # type: str
35838        self.table_name = table_name
35839        self.table = table
35840        self.schema_type_properties_schema = schema_type_properties_schema
35841
35842
35843class SparkRequest(msrest.serialization.Model):
35844    """SparkRequest.
35845
35846    :param name:
35847    :type name: str
35848    :param file:
35849    :type file: str
35850    :param class_name:
35851    :type class_name: str
35852    :param arguments:
35853    :type arguments: list[str]
35854    :param jars:
35855    :type jars: list[str]
35856    :param python_files:
35857    :type python_files: list[str]
35858    :param files:
35859    :type files: list[str]
35860    :param archives:
35861    :type archives: list[str]
35862    :param configuration: Dictionary of :code:`<string>`.
35863    :type configuration: dict[str, str]
35864    :param driver_memory:
35865    :type driver_memory: str
35866    :param driver_cores:
35867    :type driver_cores: int
35868    :param executor_memory:
35869    :type executor_memory: str
35870    :param executor_cores:
35871    :type executor_cores: int
35872    :param executor_count:
35873    :type executor_count: int
35874    """
35875
35876    _attribute_map = {
35877        'name': {'key': 'name', 'type': 'str'},
35878        'file': {'key': 'file', 'type': 'str'},
35879        'class_name': {'key': 'className', 'type': 'str'},
35880        'arguments': {'key': 'args', 'type': '[str]'},
35881        'jars': {'key': 'jars', 'type': '[str]'},
35882        'python_files': {'key': 'pyFiles', 'type': '[str]'},
35883        'files': {'key': 'files', 'type': '[str]'},
35884        'archives': {'key': 'archives', 'type': '[str]'},
35885        'configuration': {'key': 'conf', 'type': '{str}'},
35886        'driver_memory': {'key': 'driverMemory', 'type': 'str'},
35887        'driver_cores': {'key': 'driverCores', 'type': 'int'},
35888        'executor_memory': {'key': 'executorMemory', 'type': 'str'},
35889        'executor_cores': {'key': 'executorCores', 'type': 'int'},
35890        'executor_count': {'key': 'numExecutors', 'type': 'int'},
35891    }
35892
35893    def __init__(
35894        self,
35895        *,
35896        name: Optional[str] = None,
35897        file: Optional[str] = None,
35898        class_name: Optional[str] = None,
35899        arguments: Optional[List[str]] = None,
35900        jars: Optional[List[str]] = None,
35901        python_files: Optional[List[str]] = None,
35902        files: Optional[List[str]] = None,
35903        archives: Optional[List[str]] = None,
35904        configuration: Optional[Dict[str, str]] = None,
35905        driver_memory: Optional[str] = None,
35906        driver_cores: Optional[int] = None,
35907        executor_memory: Optional[str] = None,
35908        executor_cores: Optional[int] = None,
35909        executor_count: Optional[int] = None,
35910        **kwargs
35911    ):
35912        super(SparkRequest, self).__init__(**kwargs)
35913        self.name = name
35914        self.file = file
35915        self.class_name = class_name
35916        self.arguments = arguments
35917        self.jars = jars
35918        self.python_files = python_files
35919        self.files = files
35920        self.archives = archives
35921        self.configuration = configuration
35922        self.driver_memory = driver_memory
35923        self.driver_cores = driver_cores
35924        self.executor_memory = executor_memory
35925        self.executor_cores = executor_cores
35926        self.executor_count = executor_count
35927
35928
35929class SparkScheduler(msrest.serialization.Model):
35930    """SparkScheduler.
35931
35932    :param submitted_at:
35933    :type submitted_at: ~datetime.datetime
35934    :param scheduled_at:
35935    :type scheduled_at: ~datetime.datetime
35936    :param ended_at:
35937    :type ended_at: ~datetime.datetime
35938    :param cancellation_requested_at:
35939    :type cancellation_requested_at: ~datetime.datetime
35940    :param current_state:  Possible values include: "Queued", "Scheduled", "Ended".
35941    :type current_state: str or
35942     ~azure.synapse.artifacts.v2021_06_01_preview.models.SchedulerCurrentState
35943    """
35944
35945    _attribute_map = {
35946        'submitted_at': {'key': 'submittedAt', 'type': 'iso-8601'},
35947        'scheduled_at': {'key': 'scheduledAt', 'type': 'iso-8601'},
35948        'ended_at': {'key': 'endedAt', 'type': 'iso-8601'},
35949        'cancellation_requested_at': {'key': 'cancellationRequestedAt', 'type': 'iso-8601'},
35950        'current_state': {'key': 'currentState', 'type': 'str'},
35951    }
35952
35953    def __init__(
35954        self,
35955        *,
35956        submitted_at: Optional[datetime.datetime] = None,
35957        scheduled_at: Optional[datetime.datetime] = None,
35958        ended_at: Optional[datetime.datetime] = None,
35959        cancellation_requested_at: Optional[datetime.datetime] = None,
35960        current_state: Optional[Union[str, "SchedulerCurrentState"]] = None,
35961        **kwargs
35962    ):
35963        super(SparkScheduler, self).__init__(**kwargs)
35964        self.submitted_at = submitted_at
35965        self.scheduled_at = scheduled_at
35966        self.ended_at = ended_at
35967        self.cancellation_requested_at = cancellation_requested_at
35968        self.current_state = current_state
35969
35970
35971class SparkServiceError(msrest.serialization.Model):
35972    """SparkServiceError.
35973
35974    :param message:
35975    :type message: str
35976    :param error_code:
35977    :type error_code: str
35978    :param source:  Possible values include: "System", "User", "Unknown", "Dependency".
35979    :type source: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.SparkErrorSource
35980    """
35981
35982    _attribute_map = {
35983        'message': {'key': 'message', 'type': 'str'},
35984        'error_code': {'key': 'errorCode', 'type': 'str'},
35985        'source': {'key': 'source', 'type': 'str'},
35986    }
35987
35988    def __init__(
35989        self,
35990        *,
35991        message: Optional[str] = None,
35992        error_code: Optional[str] = None,
35993        source: Optional[Union[str, "SparkErrorSource"]] = None,
35994        **kwargs
35995    ):
35996        super(SparkServiceError, self).__init__(**kwargs)
35997        self.message = message
35998        self.error_code = error_code
35999        self.source = source
36000
36001
36002class SparkServicePlugin(msrest.serialization.Model):
36003    """SparkServicePlugin.
36004
36005    :param preparation_started_at:
36006    :type preparation_started_at: ~datetime.datetime
36007    :param resource_acquisition_started_at:
36008    :type resource_acquisition_started_at: ~datetime.datetime
36009    :param submission_started_at:
36010    :type submission_started_at: ~datetime.datetime
36011    :param monitoring_started_at:
36012    :type monitoring_started_at: ~datetime.datetime
36013    :param cleanup_started_at:
36014    :type cleanup_started_at: ~datetime.datetime
36015    :param current_state:  Possible values include: "Preparation", "ResourceAcquisition", "Queued",
36016     "Submission", "Monitoring", "Cleanup", "Ended".
36017    :type current_state: str or
36018     ~azure.synapse.artifacts.v2021_06_01_preview.models.PluginCurrentState
36019    """
36020
36021    _attribute_map = {
36022        'preparation_started_at': {'key': 'preparationStartedAt', 'type': 'iso-8601'},
36023        'resource_acquisition_started_at': {'key': 'resourceAcquisitionStartedAt', 'type': 'iso-8601'},
36024        'submission_started_at': {'key': 'submissionStartedAt', 'type': 'iso-8601'},
36025        'monitoring_started_at': {'key': 'monitoringStartedAt', 'type': 'iso-8601'},
36026        'cleanup_started_at': {'key': 'cleanupStartedAt', 'type': 'iso-8601'},
36027        'current_state': {'key': 'currentState', 'type': 'str'},
36028    }
36029
36030    def __init__(
36031        self,
36032        *,
36033        preparation_started_at: Optional[datetime.datetime] = None,
36034        resource_acquisition_started_at: Optional[datetime.datetime] = None,
36035        submission_started_at: Optional[datetime.datetime] = None,
36036        monitoring_started_at: Optional[datetime.datetime] = None,
36037        cleanup_started_at: Optional[datetime.datetime] = None,
36038        current_state: Optional[Union[str, "PluginCurrentState"]] = None,
36039        **kwargs
36040    ):
36041        super(SparkServicePlugin, self).__init__(**kwargs)
36042        self.preparation_started_at = preparation_started_at
36043        self.resource_acquisition_started_at = resource_acquisition_started_at
36044        self.submission_started_at = submission_started_at
36045        self.monitoring_started_at = monitoring_started_at
36046        self.cleanup_started_at = cleanup_started_at
36047        self.current_state = current_state
36048
36049
36050class SparkSource(TabularSource):
36051    """A copy activity Spark Server source.
36052
36053    All required parameters must be populated in order to send to Azure.
36054
36055    :param additional_properties: Unmatched properties from the message are deserialized to this
36056     collection.
36057    :type additional_properties: dict[str, any]
36058    :param type: Required. Copy source type.Constant filled by server.
36059    :type type: str
36060    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
36061     integer).
36062    :type source_retry_count: any
36063    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
36064     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36065    :type source_retry_wait: any
36066    :param max_concurrent_connections: The maximum concurrent connection count for the source data
36067     store. Type: integer (or Expression with resultType integer).
36068    :type max_concurrent_connections: any
36069    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
36070     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36071    :type query_timeout: any
36072    :param additional_columns: Specifies the additional columns to be added to source data. Type:
36073     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
36074    :type additional_columns: any
36075    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
36076     string).
36077    :type query: any
36078    """
36079
36080    _validation = {
36081        'type': {'required': True},
36082    }
36083
36084    _attribute_map = {
36085        'additional_properties': {'key': '', 'type': '{object}'},
36086        'type': {'key': 'type', 'type': 'str'},
36087        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
36088        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
36089        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
36090        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
36091        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
36092        'query': {'key': 'query', 'type': 'object'},
36093    }
36094
36095    def __init__(
36096        self,
36097        *,
36098        additional_properties: Optional[Dict[str, Any]] = None,
36099        source_retry_count: Optional[Any] = None,
36100        source_retry_wait: Optional[Any] = None,
36101        max_concurrent_connections: Optional[Any] = None,
36102        query_timeout: Optional[Any] = None,
36103        additional_columns: Optional[Any] = None,
36104        query: Optional[Any] = None,
36105        **kwargs
36106    ):
36107        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)
36108        self.type = 'SparkSource'  # type: str
36109        self.query = query
36110
36111
36112class SqlConnection(msrest.serialization.Model):
36113    """The connection used to execute the SQL script.
36114
36115    All required parameters must be populated in order to send to Azure.
36116
36117    :param additional_properties: Unmatched properties from the message are deserialized to this
36118     collection.
36119    :type additional_properties: dict[str, any]
36120    :param type: Required. The type of the connection. Possible values include: "SqlOnDemand",
36121     "SqlPool".
36122    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.SqlConnectionType
36123    :param name: Required. The identifier of the connection.
36124    :type name: str
36125    """
36126
36127    _validation = {
36128        'type': {'required': True},
36129        'name': {'required': True},
36130    }
36131
36132    _attribute_map = {
36133        'additional_properties': {'key': '', 'type': '{object}'},
36134        'type': {'key': 'type', 'type': 'str'},
36135        'name': {'key': 'name', 'type': 'str'},
36136    }
36137
36138    def __init__(
36139        self,
36140        *,
36141        type: Union[str, "SqlConnectionType"],
36142        name: str,
36143        additional_properties: Optional[Dict[str, Any]] = None,
36144        **kwargs
36145    ):
36146        super(SqlConnection, self).__init__(**kwargs)
36147        self.additional_properties = additional_properties
36148        self.type = type
36149        self.name = name
36150
36151
36152class SqlDWSink(CopySink):
36153    """A copy activity SQL Data Warehouse sink.
36154
36155    All required parameters must be populated in order to send to Azure.
36156
36157    :param additional_properties: Unmatched properties from the message are deserialized to this
36158     collection.
36159    :type additional_properties: dict[str, any]
36160    :param type: Required. Copy sink type.Constant filled by server.
36161    :type type: str
36162    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
36163     integer), minimum: 0.
36164    :type write_batch_size: any
36165    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
36166     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36167    :type write_batch_timeout: any
36168    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
36169     integer).
36170    :type sink_retry_count: any
36171    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
36172     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36173    :type sink_retry_wait: any
36174    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
36175     store. Type: integer (or Expression with resultType integer).
36176    :type max_concurrent_connections: any
36177    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
36178     string).
36179    :type pre_copy_script: any
36180    :param allow_poly_base: Indicates to use PolyBase to copy data into SQL Data Warehouse when
36181     applicable. Type: boolean (or Expression with resultType boolean).
36182    :type allow_poly_base: any
36183    :param poly_base_settings: Specifies PolyBase-related settings when allowPolyBase is true.
36184    :type poly_base_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.PolybaseSettings
36185    :param allow_copy_command: Indicates to use Copy Command to copy data into SQL Data Warehouse.
36186     Type: boolean (or Expression with resultType boolean).
36187    :type allow_copy_command: any
36188    :param copy_command_settings: Specifies Copy Command related settings when allowCopyCommand is
36189     true.
36190    :type copy_command_settings:
36191     ~azure.synapse.artifacts.v2021_06_01_preview.models.DWCopyCommandSettings
36192    :param table_option: The option to handle sink table, such as autoCreate. For now only
36193     'autoCreate' value is supported. Type: string (or Expression with resultType string).
36194    :type table_option: any
36195    """
36196
36197    _validation = {
36198        'type': {'required': True},
36199    }
36200
36201    _attribute_map = {
36202        'additional_properties': {'key': '', 'type': '{object}'},
36203        'type': {'key': 'type', 'type': 'str'},
36204        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
36205        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
36206        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
36207        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
36208        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
36209        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
36210        'allow_poly_base': {'key': 'allowPolyBase', 'type': 'object'},
36211        'poly_base_settings': {'key': 'polyBaseSettings', 'type': 'PolybaseSettings'},
36212        'allow_copy_command': {'key': 'allowCopyCommand', 'type': 'object'},
36213        'copy_command_settings': {'key': 'copyCommandSettings', 'type': 'DWCopyCommandSettings'},
36214        'table_option': {'key': 'tableOption', 'type': 'object'},
36215    }
36216
36217    def __init__(
36218        self,
36219        *,
36220        additional_properties: Optional[Dict[str, Any]] = None,
36221        write_batch_size: Optional[Any] = None,
36222        write_batch_timeout: Optional[Any] = None,
36223        sink_retry_count: Optional[Any] = None,
36224        sink_retry_wait: Optional[Any] = None,
36225        max_concurrent_connections: Optional[Any] = None,
36226        pre_copy_script: Optional[Any] = None,
36227        allow_poly_base: Optional[Any] = None,
36228        poly_base_settings: Optional["PolybaseSettings"] = None,
36229        allow_copy_command: Optional[Any] = None,
36230        copy_command_settings: Optional["DWCopyCommandSettings"] = None,
36231        table_option: Optional[Any] = None,
36232        **kwargs
36233    ):
36234        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)
36235        self.type = 'SqlDWSink'  # type: str
36236        self.pre_copy_script = pre_copy_script
36237        self.allow_poly_base = allow_poly_base
36238        self.poly_base_settings = poly_base_settings
36239        self.allow_copy_command = allow_copy_command
36240        self.copy_command_settings = copy_command_settings
36241        self.table_option = table_option
36242
36243
36244class SqlDWSource(TabularSource):
36245    """A copy activity SQL Data Warehouse source.
36246
36247    All required parameters must be populated in order to send to Azure.
36248
36249    :param additional_properties: Unmatched properties from the message are deserialized to this
36250     collection.
36251    :type additional_properties: dict[str, any]
36252    :param type: Required. Copy source type.Constant filled by server.
36253    :type type: str
36254    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
36255     integer).
36256    :type source_retry_count: any
36257    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
36258     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36259    :type source_retry_wait: any
36260    :param max_concurrent_connections: The maximum concurrent connection count for the source data
36261     store. Type: integer (or Expression with resultType integer).
36262    :type max_concurrent_connections: any
36263    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
36264     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36265    :type query_timeout: any
36266    :param additional_columns: Specifies the additional columns to be added to source data. Type:
36267     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
36268    :type additional_columns: any
36269    :param sql_reader_query: SQL Data Warehouse reader query. Type: string (or Expression with
36270     resultType string).
36271    :type sql_reader_query: any
36272    :param sql_reader_stored_procedure_name: Name of the stored procedure for a SQL Data Warehouse
36273     source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression
36274     with resultType string).
36275    :type sql_reader_stored_procedure_name: any
36276    :param stored_procedure_parameters: Value and type setting for stored procedure parameters.
36277     Example: "{Parameter1: {value: "1", type: "int"}}". Type: object (or Expression with resultType
36278     object), itemType: StoredProcedureParameter.
36279    :type stored_procedure_parameters: any
36280    :param partition_option: The partition mechanism that will be used for Sql read in parallel.
36281     Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange".
36282    :type partition_option: any
36283    :param partition_settings: The settings that will be leveraged for Sql source partitioning.
36284    :type partition_settings:
36285     ~azure.synapse.artifacts.v2021_06_01_preview.models.SqlPartitionSettings
36286    """
36287
36288    _validation = {
36289        'type': {'required': True},
36290    }
36291
36292    _attribute_map = {
36293        'additional_properties': {'key': '', 'type': '{object}'},
36294        'type': {'key': 'type', 'type': 'str'},
36295        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
36296        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
36297        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
36298        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
36299        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
36300        'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'},
36301        'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'},
36302        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': 'object'},
36303        'partition_option': {'key': 'partitionOption', 'type': 'object'},
36304        'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'},
36305    }
36306
36307    def __init__(
36308        self,
36309        *,
36310        additional_properties: Optional[Dict[str, Any]] = None,
36311        source_retry_count: Optional[Any] = None,
36312        source_retry_wait: Optional[Any] = None,
36313        max_concurrent_connections: Optional[Any] = None,
36314        query_timeout: Optional[Any] = None,
36315        additional_columns: Optional[Any] = None,
36316        sql_reader_query: Optional[Any] = None,
36317        sql_reader_stored_procedure_name: Optional[Any] = None,
36318        stored_procedure_parameters: Optional[Any] = None,
36319        partition_option: Optional[Any] = None,
36320        partition_settings: Optional["SqlPartitionSettings"] = None,
36321        **kwargs
36322    ):
36323        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)
36324        self.type = 'SqlDWSource'  # type: str
36325        self.sql_reader_query = sql_reader_query
36326        self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name
36327        self.stored_procedure_parameters = stored_procedure_parameters
36328        self.partition_option = partition_option
36329        self.partition_settings = partition_settings
36330
36331
36332class SqlMISink(CopySink):
36333    """A copy activity Azure SQL Managed Instance sink.
36334
36335    All required parameters must be populated in order to send to Azure.
36336
36337    :param additional_properties: Unmatched properties from the message are deserialized to this
36338     collection.
36339    :type additional_properties: dict[str, any]
36340    :param type: Required. Copy sink type.Constant filled by server.
36341    :type type: str
36342    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
36343     integer), minimum: 0.
36344    :type write_batch_size: any
36345    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
36346     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36347    :type write_batch_timeout: any
36348    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
36349     integer).
36350    :type sink_retry_count: any
36351    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
36352     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36353    :type sink_retry_wait: any
36354    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
36355     store. Type: integer (or Expression with resultType integer).
36356    :type max_concurrent_connections: any
36357    :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or
36358     Expression with resultType string).
36359    :type sql_writer_stored_procedure_name: any
36360    :param sql_writer_table_type: SQL writer table type. Type: string (or Expression with
36361     resultType string).
36362    :type sql_writer_table_type: any
36363    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
36364     string).
36365    :type pre_copy_script: any
36366    :param stored_procedure_parameters: SQL stored procedure parameters.
36367    :type stored_procedure_parameters: dict[str,
36368     ~azure.synapse.artifacts.v2021_06_01_preview.models.StoredProcedureParameter]
36369    :param stored_procedure_table_type_parameter_name: The stored procedure parameter name of the
36370     table type. Type: string (or Expression with resultType string).
36371    :type stored_procedure_table_type_parameter_name: any
36372    :param table_option: The option to handle sink table, such as autoCreate. For now only
36373     'autoCreate' value is supported. Type: string (or Expression with resultType string).
36374    :type table_option: any
36375    """
36376
36377    _validation = {
36378        'type': {'required': True},
36379    }
36380
36381    _attribute_map = {
36382        'additional_properties': {'key': '', 'type': '{object}'},
36383        'type': {'key': 'type', 'type': 'str'},
36384        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
36385        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
36386        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
36387        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
36388        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
36389        'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'},
36390        'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'},
36391        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
36392        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
36393        'stored_procedure_table_type_parameter_name': {'key': 'storedProcedureTableTypeParameterName', 'type': 'object'},
36394        'table_option': {'key': 'tableOption', 'type': 'object'},
36395    }
36396
36397    def __init__(
36398        self,
36399        *,
36400        additional_properties: Optional[Dict[str, Any]] = None,
36401        write_batch_size: Optional[Any] = None,
36402        write_batch_timeout: Optional[Any] = None,
36403        sink_retry_count: Optional[Any] = None,
36404        sink_retry_wait: Optional[Any] = None,
36405        max_concurrent_connections: Optional[Any] = None,
36406        sql_writer_stored_procedure_name: Optional[Any] = None,
36407        sql_writer_table_type: Optional[Any] = None,
36408        pre_copy_script: Optional[Any] = None,
36409        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
36410        stored_procedure_table_type_parameter_name: Optional[Any] = None,
36411        table_option: Optional[Any] = None,
36412        **kwargs
36413    ):
36414        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)
36415        self.type = 'SqlMISink'  # type: str
36416        self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name
36417        self.sql_writer_table_type = sql_writer_table_type
36418        self.pre_copy_script = pre_copy_script
36419        self.stored_procedure_parameters = stored_procedure_parameters
36420        self.stored_procedure_table_type_parameter_name = stored_procedure_table_type_parameter_name
36421        self.table_option = table_option
36422
36423
36424class SqlMISource(TabularSource):
36425    """A copy activity Azure SQL Managed Instance source.
36426
36427    All required parameters must be populated in order to send to Azure.
36428
36429    :param additional_properties: Unmatched properties from the message are deserialized to this
36430     collection.
36431    :type additional_properties: dict[str, any]
36432    :param type: Required. Copy source type.Constant filled by server.
36433    :type type: str
36434    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
36435     integer).
36436    :type source_retry_count: any
36437    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
36438     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36439    :type source_retry_wait: any
36440    :param max_concurrent_connections: The maximum concurrent connection count for the source data
36441     store. Type: integer (or Expression with resultType integer).
36442    :type max_concurrent_connections: any
36443    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
36444     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
36445    :type query_timeout: any
36446    :param additional_columns: Specifies the additional columns to be added to source data. Type:
36447     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
36448    :type additional_columns: any
36449    :param sql_reader_query: SQL reader query. Type: string (or Expression with resultType string).
36450    :type sql_reader_query: any
36451    :param sql_reader_stored_procedure_name: Name of the stored procedure for a Azure SQL Managed
36452     Instance source. This cannot be used at the same time as SqlReaderQuery. Type: string (or
36453     Expression with resultType string).
36454    :type sql_reader_stored_procedure_name: any
36455    :param stored_procedure_parameters: Value and type setting for stored procedure parameters.
36456     Example: "{Parameter1: {value: "1", type: "int"}}".
36457    :type stored_procedure_parameters: dict[str,
36458     ~azure.synapse.artifacts.v2021_06_01_preview.models.StoredProcedureParameter]
36459    :param produce_additional_types: Which additional types to produce.
36460    :type produce_additional_types: any
36461    :param partition_option: The partition mechanism that will be used for Sql read in parallel.
36462     Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange".
36463    :type partition_option: any
36464    :param partition_settings: The settings that will be leveraged for Sql source partitioning.
36465    :type partition_settings:
36466     ~azure.synapse.artifacts.v2021_06_01_preview.models.SqlPartitionSettings
36467    """
36468
36469    _validation = {
36470        'type': {'required': True},
36471    }
36472
36473    _attribute_map = {
36474        'additional_properties': {'key': '', 'type': '{object}'},
36475        'type': {'key': 'type', 'type': 'str'},
36476        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
36477        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
36478        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
36479        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
36480        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
36481        'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'},
36482        'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'},
36483        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
36484        'produce_additional_types': {'key': 'produceAdditionalTypes', 'type': 'object'},
36485        'partition_option': {'key': 'partitionOption', 'type': 'object'},
36486        'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'},
36487    }
36488
36489    def __init__(
36490        self,
36491        *,
36492        additional_properties: Optional[Dict[str, Any]] = None,
36493        source_retry_count: Optional[Any] = None,
36494        source_retry_wait: Optional[Any] = None,
36495        max_concurrent_connections: Optional[Any] = None,
36496        query_timeout: Optional[Any] = None,
36497        additional_columns: Optional[Any] = None,
36498        sql_reader_query: Optional[Any] = None,
36499        sql_reader_stored_procedure_name: Optional[Any] = None,
36500        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
36501        produce_additional_types: Optional[Any] = None,
36502        partition_option: Optional[Any] = None,
36503        partition_settings: Optional["SqlPartitionSettings"] = None,
36504        **kwargs
36505    ):
36506        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)
36507        self.type = 'SqlMISource'  # type: str
36508        self.sql_reader_query = sql_reader_query
36509        self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name
36510        self.stored_procedure_parameters = stored_procedure_parameters
36511        self.produce_additional_types = produce_additional_types
36512        self.partition_option = partition_option
36513        self.partition_settings = partition_settings
36514
36515
36516class SqlPartitionSettings(msrest.serialization.Model):
36517    """The settings that will be leveraged for Sql source partitioning.
36518
36519    :param partition_column_name: The name of the column in integer or datetime type that will be
36520     used for proceeding partitioning. If not specified, the primary key of the table is
36521     auto-detected and used as the partition column. Type: string (or Expression with resultType
36522     string).
36523    :type partition_column_name: any
36524    :param partition_upper_bound: The maximum value of the partition column for partition range
36525     splitting. This value is used to decide the partition stride, not for filtering the rows in
36526     table. All rows in the table or query result will be partitioned and copied. Type: string (or
36527     Expression with resultType string).
36528    :type partition_upper_bound: any
36529    :param partition_lower_bound: The minimum value of the partition column for partition range
36530     splitting. This value is used to decide the partition stride, not for filtering the rows in
36531     table. All rows in the table or query result will be partitioned and copied. Type: string (or
36532     Expression with resultType string).
36533    :type partition_lower_bound: any
36534    """
36535
36536    _attribute_map = {
36537        'partition_column_name': {'key': 'partitionColumnName', 'type': 'object'},
36538        'partition_upper_bound': {'key': 'partitionUpperBound', 'type': 'object'},
36539        'partition_lower_bound': {'key': 'partitionLowerBound', 'type': 'object'},
36540    }
36541
36542    def __init__(
36543        self,
36544        *,
36545        partition_column_name: Optional[Any] = None,
36546        partition_upper_bound: Optional[Any] = None,
36547        partition_lower_bound: Optional[Any] = None,
36548        **kwargs
36549    ):
36550        super(SqlPartitionSettings, self).__init__(**kwargs)
36551        self.partition_column_name = partition_column_name
36552        self.partition_upper_bound = partition_upper_bound
36553        self.partition_lower_bound = partition_lower_bound
36554
36555
36556class SqlPool(TrackedResource):
36557    """A SQL Analytics pool.
36558
36559    Variables are only populated by the server, and will be ignored when sending a request.
36560
36561    All required parameters must be populated in order to send to Azure.
36562
36563    :ivar id: Fully qualified resource ID for the resource. Ex -
36564     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
36565    :vartype id: str
36566    :ivar name: The name of the resource.
36567    :vartype name: str
36568    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
36569     "Microsoft.Storage/storageAccounts".
36570    :vartype type: str
36571    :param tags: A set of tags. Resource tags.
36572    :type tags: dict[str, str]
36573    :param location: Required. The geo-location where the resource lives.
36574    :type location: str
36575    :param sku: SQL pool SKU.
36576    :type sku: ~azure.synapse.artifacts.v2021_06_01_preview.models.Sku
36577    :param max_size_bytes: Maximum size in bytes.
36578    :type max_size_bytes: long
36579    :param collation: Collation mode.
36580    :type collation: str
36581    :param source_database_id: Source database to create from.
36582    :type source_database_id: str
36583    :param recoverable_database_id: Backup database to restore from.
36584    :type recoverable_database_id: str
36585    :param provisioning_state: Resource state.
36586    :type provisioning_state: str
36587    :param status: Resource status.
36588    :type status: str
36589    :param restore_point_in_time: Snapshot time to restore.
36590    :type restore_point_in_time: str
36591    :param create_mode: What is this?.
36592    :type create_mode: str
36593    :param creation_date: Date the SQL pool was created.
36594    :type creation_date: ~datetime.datetime
36595    """
36596
36597    _validation = {
36598        'id': {'readonly': True},
36599        'name': {'readonly': True},
36600        'type': {'readonly': True},
36601        'location': {'required': True},
36602    }
36603
36604    _attribute_map = {
36605        'id': {'key': 'id', 'type': 'str'},
36606        'name': {'key': 'name', 'type': 'str'},
36607        'type': {'key': 'type', 'type': 'str'},
36608        'tags': {'key': 'tags', 'type': '{str}'},
36609        'location': {'key': 'location', 'type': 'str'},
36610        'sku': {'key': 'sku', 'type': 'Sku'},
36611        'max_size_bytes': {'key': 'properties.maxSizeBytes', 'type': 'long'},
36612        'collation': {'key': 'properties.collation', 'type': 'str'},
36613        'source_database_id': {'key': 'properties.sourceDatabaseId', 'type': 'str'},
36614        'recoverable_database_id': {'key': 'properties.recoverableDatabaseId', 'type': 'str'},
36615        'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
36616        'status': {'key': 'properties.status', 'type': 'str'},
36617        'restore_point_in_time': {'key': 'properties.restorePointInTime', 'type': 'str'},
36618        'create_mode': {'key': 'properties.createMode', 'type': 'str'},
36619        'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'},
36620    }
36621
36622    def __init__(
36623        self,
36624        *,
36625        location: str,
36626        tags: Optional[Dict[str, str]] = None,
36627        sku: Optional["Sku"] = None,
36628        max_size_bytes: Optional[int] = None,
36629        collation: Optional[str] = None,
36630        source_database_id: Optional[str] = None,
36631        recoverable_database_id: Optional[str] = None,
36632        provisioning_state: Optional[str] = None,
36633        status: Optional[str] = None,
36634        restore_point_in_time: Optional[str] = None,
36635        create_mode: Optional[str] = None,
36636        creation_date: Optional[datetime.datetime] = None,
36637        **kwargs
36638    ):
36639        super(SqlPool, self).__init__(tags=tags, location=location, **kwargs)
36640        self.sku = sku
36641        self.max_size_bytes = max_size_bytes
36642        self.collation = collation
36643        self.source_database_id = source_database_id
36644        self.recoverable_database_id = recoverable_database_id
36645        self.provisioning_state = provisioning_state
36646        self.status = status
36647        self.restore_point_in_time = restore_point_in_time
36648        self.create_mode = create_mode
36649        self.creation_date = creation_date
36650
36651
36652class SqlPoolInfoListResult(msrest.serialization.Model):
36653    """List of SQL pools.
36654
36655    :param next_link: Link to the next page of results.
36656    :type next_link: str
36657    :param value: List of SQL pools.
36658    :type value: list[~azure.synapse.artifacts.v2021_06_01_preview.models.SqlPool]
36659    """
36660
36661    _attribute_map = {
36662        'next_link': {'key': 'nextLink', 'type': 'str'},
36663        'value': {'key': 'value', 'type': '[SqlPool]'},
36664    }
36665
36666    def __init__(
36667        self,
36668        *,
36669        next_link: Optional[str] = None,
36670        value: Optional[List["SqlPool"]] = None,
36671        **kwargs
36672    ):
36673        super(SqlPoolInfoListResult, self).__init__(**kwargs)
36674        self.next_link = next_link
36675        self.value = value
36676
36677
36678class SqlPoolReference(msrest.serialization.Model):
36679    """SQL pool reference type.
36680
36681    All required parameters must be populated in order to send to Azure.
36682
36683    :param type: Required. SQL pool reference type. Possible values include: "SqlPoolReference".
36684    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.SqlPoolReferenceType
36685    :param reference_name: Required. Reference SQL pool name.
36686    :type reference_name: str
36687    """
36688
36689    _validation = {
36690        'type': {'required': True},
36691        'reference_name': {'required': True},
36692    }
36693
36694    _attribute_map = {
36695        'type': {'key': 'type', 'type': 'str'},
36696        'reference_name': {'key': 'referenceName', 'type': 'str'},
36697    }
36698
36699    def __init__(
36700        self,
36701        *,
36702        type: Union[str, "SqlPoolReferenceType"],
36703        reference_name: str,
36704        **kwargs
36705    ):
36706        super(SqlPoolReference, self).__init__(**kwargs)
36707        self.type = type
36708        self.reference_name = reference_name
36709
36710
36711class SqlPoolStoredProcedureActivity(Activity):
36712    """Execute SQL pool stored procedure activity.
36713
36714    All required parameters must be populated in order to send to Azure.
36715
36716    :param additional_properties: Unmatched properties from the message are deserialized to this
36717     collection.
36718    :type additional_properties: dict[str, any]
36719    :param name: Required. Activity name.
36720    :type name: str
36721    :param type: Required. Type of activity.Constant filled by server.
36722    :type type: str
36723    :param description: Activity description.
36724    :type description: str
36725    :param depends_on: Activity depends on condition.
36726    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
36727    :param user_properties: Activity user properties.
36728    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
36729    :param sql_pool: Required. SQL pool stored procedure reference.
36730    :type sql_pool: ~azure.synapse.artifacts.v2021_06_01_preview.models.SqlPoolReference
36731    :param stored_procedure_name: Required. Stored procedure name. Type: string (or Expression with
36732     resultType string).
36733    :type stored_procedure_name: any
36734    :param stored_procedure_parameters: Value and type setting for stored procedure parameters.
36735     Example: "{Parameter1: {value: "1", type: "int"}}".
36736    :type stored_procedure_parameters: dict[str,
36737     ~azure.synapse.artifacts.v2021_06_01_preview.models.StoredProcedureParameter]
36738    """
36739
36740    _validation = {
36741        'name': {'required': True},
36742        'type': {'required': True},
36743        'sql_pool': {'required': True},
36744        'stored_procedure_name': {'required': True},
36745    }
36746
36747    _attribute_map = {
36748        'additional_properties': {'key': '', 'type': '{object}'},
36749        'name': {'key': 'name', 'type': 'str'},
36750        'type': {'key': 'type', 'type': 'str'},
36751        'description': {'key': 'description', 'type': 'str'},
36752        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
36753        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
36754        'sql_pool': {'key': 'sqlPool', 'type': 'SqlPoolReference'},
36755        'stored_procedure_name': {'key': 'typeProperties.storedProcedureName', 'type': 'object'},
36756        'stored_procedure_parameters': {'key': 'typeProperties.storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
36757    }
36758
36759    def __init__(
36760        self,
36761        *,
36762        name: str,
36763        sql_pool: "SqlPoolReference",
36764        stored_procedure_name: Any,
36765        additional_properties: Optional[Dict[str, Any]] = None,
36766        description: Optional[str] = None,
36767        depends_on: Optional[List["ActivityDependency"]] = None,
36768        user_properties: Optional[List["UserProperty"]] = None,
36769        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
36770        **kwargs
36771    ):
36772        super(SqlPoolStoredProcedureActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
36773        self.type = 'SqlPoolStoredProcedure'  # type: str
36774        self.sql_pool = sql_pool
36775        self.stored_procedure_name = stored_procedure_name
36776        self.stored_procedure_parameters = stored_procedure_parameters
36777
36778
36779class SqlScript(msrest.serialization.Model):
36780    """SQL script.
36781
36782    All required parameters must be populated in order to send to Azure.
36783
36784    :param additional_properties: Unmatched properties from the message are deserialized to this
36785     collection.
36786    :type additional_properties: dict[str, any]
36787    :param description: The description of the SQL script.
36788    :type description: str
36789    :param type: The type of the SQL script. Possible values include: "SqlQuery".
36790    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.SqlScriptType
36791    :param content: Required. The content of the SQL script.
36792    :type content: ~azure.synapse.artifacts.v2021_06_01_preview.models.SqlScriptContent
36793    """
36794
36795    _validation = {
36796        'content': {'required': True},
36797    }
36798
36799    _attribute_map = {
36800        'additional_properties': {'key': '', 'type': '{object}'},
36801        'description': {'key': 'description', 'type': 'str'},
36802        'type': {'key': 'type', 'type': 'str'},
36803        'content': {'key': 'content', 'type': 'SqlScriptContent'},
36804    }
36805
36806    def __init__(
36807        self,
36808        *,
36809        content: "SqlScriptContent",
36810        additional_properties: Optional[Dict[str, Any]] = None,
36811        description: Optional[str] = None,
36812        type: Optional[Union[str, "SqlScriptType"]] = None,
36813        **kwargs
36814    ):
36815        super(SqlScript, self).__init__(**kwargs)
36816        self.additional_properties = additional_properties
36817        self.description = description
36818        self.type = type
36819        self.content = content
36820
36821
36822class SqlScriptContent(msrest.serialization.Model):
36823    """The content of the SQL script.
36824
36825    All required parameters must be populated in order to send to Azure.
36826
36827    :param additional_properties: Unmatched properties from the message are deserialized to this
36828     collection.
36829    :type additional_properties: dict[str, any]
36830    :param query: Required. SQL query to execute.
36831    :type query: str
36832    :param current_connection: Required. The connection used to execute the SQL script.
36833    :type current_connection: ~azure.synapse.artifacts.v2021_06_01_preview.models.SqlConnection
36834    :param metadata: The metadata of the SQL script.
36835    :type metadata: ~azure.synapse.artifacts.v2021_06_01_preview.models.SqlScriptMetadata
36836    """
36837
36838    _validation = {
36839        'query': {'required': True},
36840        'current_connection': {'required': True},
36841    }
36842
36843    _attribute_map = {
36844        'additional_properties': {'key': '', 'type': '{object}'},
36845        'query': {'key': 'query', 'type': 'str'},
36846        'current_connection': {'key': 'currentConnection', 'type': 'SqlConnection'},
36847        'metadata': {'key': 'metadata', 'type': 'SqlScriptMetadata'},
36848    }
36849
36850    def __init__(
36851        self,
36852        *,
36853        query: str,
36854        current_connection: "SqlConnection",
36855        additional_properties: Optional[Dict[str, Any]] = None,
36856        metadata: Optional["SqlScriptMetadata"] = None,
36857        **kwargs
36858    ):
36859        super(SqlScriptContent, self).__init__(**kwargs)
36860        self.additional_properties = additional_properties
36861        self.query = query
36862        self.current_connection = current_connection
36863        self.metadata = metadata
36864
36865
36866class SqlScriptMetadata(msrest.serialization.Model):
36867    """The metadata of the SQL script.
36868
36869    :param additional_properties: Unmatched properties from the message are deserialized to this
36870     collection.
36871    :type additional_properties: dict[str, any]
36872    :param language: The language of the SQL script.
36873    :type language: str
36874    """
36875
36876    _attribute_map = {
36877        'additional_properties': {'key': '', 'type': '{object}'},
36878        'language': {'key': 'language', 'type': 'str'},
36879    }
36880
36881    def __init__(
36882        self,
36883        *,
36884        additional_properties: Optional[Dict[str, Any]] = None,
36885        language: Optional[str] = None,
36886        **kwargs
36887    ):
36888        super(SqlScriptMetadata, self).__init__(**kwargs)
36889        self.additional_properties = additional_properties
36890        self.language = language
36891
36892
36893class SqlScriptResource(msrest.serialization.Model):
36894    """Sql Script resource type.
36895
36896    Variables are only populated by the server, and will be ignored when sending a request.
36897
36898    All required parameters must be populated in order to send to Azure.
36899
36900    :ivar id: Fully qualified resource Id for the resource. Ex -
36901     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
36902    :vartype id: str
36903    :param name: Required. The name of the resource.
36904    :type name: str
36905    :ivar type: The type of the resource. Ex- Microsoft.Compute/virtualMachines or
36906     Microsoft.Storage/storageAccounts.
36907    :vartype type: str
36908    :ivar etag: Resource Etag.
36909    :vartype etag: str
36910    :param properties: Required. Properties of sql script.
36911    :type properties: ~azure.synapse.artifacts.v2021_06_01_preview.models.SqlScript
36912    """
36913
36914    _validation = {
36915        'id': {'readonly': True},
36916        'name': {'required': True},
36917        'type': {'readonly': True},
36918        'etag': {'readonly': True},
36919        'properties': {'required': True},
36920    }
36921
36922    _attribute_map = {
36923        'id': {'key': 'id', 'type': 'str'},
36924        'name': {'key': 'name', 'type': 'str'},
36925        'type': {'key': 'type', 'type': 'str'},
36926        'etag': {'key': 'etag', 'type': 'str'},
36927        'properties': {'key': 'properties', 'type': 'SqlScript'},
36928    }
36929
36930    def __init__(
36931        self,
36932        *,
36933        name: str,
36934        properties: "SqlScript",
36935        **kwargs
36936    ):
36937        super(SqlScriptResource, self).__init__(**kwargs)
36938        self.id = None
36939        self.name = name
36940        self.type = None
36941        self.etag = None
36942        self.properties = properties
36943
36944
36945class SqlScriptsListResponse(msrest.serialization.Model):
36946    """A list of sql scripts resources.
36947
36948    All required parameters must be populated in order to send to Azure.
36949
36950    :param value: Required. List of sql scripts.
36951    :type value: list[~azure.synapse.artifacts.v2021_06_01_preview.models.SqlScriptResource]
36952    :param next_link: The link to the next page of results, if any remaining results exist.
36953    :type next_link: str
36954    """
36955
36956    _validation = {
36957        'value': {'required': True},
36958    }
36959
36960    _attribute_map = {
36961        'value': {'key': 'value', 'type': '[SqlScriptResource]'},
36962        'next_link': {'key': 'nextLink', 'type': 'str'},
36963    }
36964
36965    def __init__(
36966        self,
36967        *,
36968        value: List["SqlScriptResource"],
36969        next_link: Optional[str] = None,
36970        **kwargs
36971    ):
36972        super(SqlScriptsListResponse, self).__init__(**kwargs)
36973        self.value = value
36974        self.next_link = next_link
36975
36976
36977class SqlServerLinkedService(LinkedService):
36978    """SQL Server linked service.
36979
36980    All required parameters must be populated in order to send to Azure.
36981
36982    :param additional_properties: Unmatched properties from the message are deserialized to this
36983     collection.
36984    :type additional_properties: dict[str, any]
36985    :param type: Required. Type of linked service.Constant filled by server.
36986    :type type: str
36987    :param connect_via: The integration runtime reference.
36988    :type connect_via:
36989     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
36990    :param description: Linked service description.
36991    :type description: str
36992    :param parameters: Parameters for linked service.
36993    :type parameters: dict[str,
36994     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
36995    :param annotations: List of tags that can be used for describing the linked service.
36996    :type annotations: list[any]
36997    :param connection_string: Required. The connection string. Type: string, SecureString or
36998     AzureKeyVaultSecretReference.
36999    :type connection_string: any
37000    :param user_name: The on-premises Windows authentication user name. Type: string (or Expression
37001     with resultType string).
37002    :type user_name: any
37003    :param password: The on-premises Windows authentication password.
37004    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
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        'connection_string': {'required': True},
37014    }
37015
37016    _attribute_map = {
37017        'additional_properties': {'key': '', 'type': '{object}'},
37018        'type': {'key': 'type', 'type': 'str'},
37019        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
37020        'description': {'key': 'description', 'type': 'str'},
37021        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
37022        'annotations': {'key': 'annotations', 'type': '[object]'},
37023        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
37024        'user_name': {'key': 'typeProperties.userName', 'type': 'object'},
37025        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
37026        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
37027    }
37028
37029    def __init__(
37030        self,
37031        *,
37032        connection_string: Any,
37033        additional_properties: Optional[Dict[str, Any]] = None,
37034        connect_via: Optional["IntegrationRuntimeReference"] = None,
37035        description: Optional[str] = None,
37036        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
37037        annotations: Optional[List[Any]] = None,
37038        user_name: Optional[Any] = None,
37039        password: Optional["SecretBase"] = None,
37040        encrypted_credential: Optional[Any] = None,
37041        **kwargs
37042    ):
37043        super(SqlServerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
37044        self.type = 'SqlServer'  # type: str
37045        self.connection_string = connection_string
37046        self.user_name = user_name
37047        self.password = password
37048        self.encrypted_credential = encrypted_credential
37049
37050
37051class SqlServerSink(CopySink):
37052    """A copy activity SQL server sink.
37053
37054    All required parameters must be populated in order to send to Azure.
37055
37056    :param additional_properties: Unmatched properties from the message are deserialized to this
37057     collection.
37058    :type additional_properties: dict[str, any]
37059    :param type: Required. Copy sink type.Constant filled by server.
37060    :type type: str
37061    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
37062     integer), minimum: 0.
37063    :type write_batch_size: any
37064    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
37065     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37066    :type write_batch_timeout: any
37067    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
37068     integer).
37069    :type sink_retry_count: any
37070    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
37071     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37072    :type sink_retry_wait: any
37073    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
37074     store. Type: integer (or Expression with resultType integer).
37075    :type max_concurrent_connections: any
37076    :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or
37077     Expression with resultType string).
37078    :type sql_writer_stored_procedure_name: any
37079    :param sql_writer_table_type: SQL writer table type. Type: string (or Expression with
37080     resultType string).
37081    :type sql_writer_table_type: any
37082    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
37083     string).
37084    :type pre_copy_script: any
37085    :param stored_procedure_parameters: SQL stored procedure parameters.
37086    :type stored_procedure_parameters: dict[str,
37087     ~azure.synapse.artifacts.v2021_06_01_preview.models.StoredProcedureParameter]
37088    :param stored_procedure_table_type_parameter_name: The stored procedure parameter name of the
37089     table type. Type: string (or Expression with resultType string).
37090    :type stored_procedure_table_type_parameter_name: any
37091    :param table_option: The option to handle sink table, such as autoCreate. For now only
37092     'autoCreate' value is supported. Type: string (or Expression with resultType string).
37093    :type table_option: any
37094    """
37095
37096    _validation = {
37097        'type': {'required': True},
37098    }
37099
37100    _attribute_map = {
37101        'additional_properties': {'key': '', 'type': '{object}'},
37102        'type': {'key': 'type', 'type': 'str'},
37103        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
37104        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
37105        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
37106        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
37107        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
37108        'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'},
37109        'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'},
37110        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
37111        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
37112        'stored_procedure_table_type_parameter_name': {'key': 'storedProcedureTableTypeParameterName', 'type': 'object'},
37113        'table_option': {'key': 'tableOption', 'type': 'object'},
37114    }
37115
37116    def __init__(
37117        self,
37118        *,
37119        additional_properties: Optional[Dict[str, Any]] = None,
37120        write_batch_size: Optional[Any] = None,
37121        write_batch_timeout: Optional[Any] = None,
37122        sink_retry_count: Optional[Any] = None,
37123        sink_retry_wait: Optional[Any] = None,
37124        max_concurrent_connections: Optional[Any] = None,
37125        sql_writer_stored_procedure_name: Optional[Any] = None,
37126        sql_writer_table_type: Optional[Any] = None,
37127        pre_copy_script: Optional[Any] = None,
37128        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
37129        stored_procedure_table_type_parameter_name: Optional[Any] = None,
37130        table_option: Optional[Any] = None,
37131        **kwargs
37132    ):
37133        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)
37134        self.type = 'SqlServerSink'  # type: str
37135        self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name
37136        self.sql_writer_table_type = sql_writer_table_type
37137        self.pre_copy_script = pre_copy_script
37138        self.stored_procedure_parameters = stored_procedure_parameters
37139        self.stored_procedure_table_type_parameter_name = stored_procedure_table_type_parameter_name
37140        self.table_option = table_option
37141
37142
37143class SqlServerSource(TabularSource):
37144    """A copy activity SQL server source.
37145
37146    All required parameters must be populated in order to send to Azure.
37147
37148    :param additional_properties: Unmatched properties from the message are deserialized to this
37149     collection.
37150    :type additional_properties: dict[str, any]
37151    :param type: Required. Copy source type.Constant filled by server.
37152    :type type: str
37153    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
37154     integer).
37155    :type source_retry_count: any
37156    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
37157     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37158    :type source_retry_wait: any
37159    :param max_concurrent_connections: The maximum concurrent connection count for the source data
37160     store. Type: integer (or Expression with resultType integer).
37161    :type max_concurrent_connections: any
37162    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
37163     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37164    :type query_timeout: any
37165    :param additional_columns: Specifies the additional columns to be added to source data. Type:
37166     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
37167    :type additional_columns: any
37168    :param sql_reader_query: SQL reader query. Type: string (or Expression with resultType string).
37169    :type sql_reader_query: any
37170    :param sql_reader_stored_procedure_name: Name of the stored procedure for a SQL Database
37171     source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression
37172     with resultType string).
37173    :type sql_reader_stored_procedure_name: any
37174    :param stored_procedure_parameters: Value and type setting for stored procedure parameters.
37175     Example: "{Parameter1: {value: "1", type: "int"}}".
37176    :type stored_procedure_parameters: dict[str,
37177     ~azure.synapse.artifacts.v2021_06_01_preview.models.StoredProcedureParameter]
37178    :param produce_additional_types: Which additional types to produce.
37179    :type produce_additional_types: any
37180    :param partition_option: The partition mechanism that will be used for Sql read in parallel.
37181     Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange".
37182    :type partition_option: any
37183    :param partition_settings: The settings that will be leveraged for Sql source partitioning.
37184    :type partition_settings:
37185     ~azure.synapse.artifacts.v2021_06_01_preview.models.SqlPartitionSettings
37186    """
37187
37188    _validation = {
37189        'type': {'required': True},
37190    }
37191
37192    _attribute_map = {
37193        'additional_properties': {'key': '', 'type': '{object}'},
37194        'type': {'key': 'type', 'type': 'str'},
37195        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
37196        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
37197        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
37198        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
37199        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
37200        'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'},
37201        'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'},
37202        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
37203        'produce_additional_types': {'key': 'produceAdditionalTypes', 'type': 'object'},
37204        'partition_option': {'key': 'partitionOption', 'type': 'object'},
37205        'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'},
37206    }
37207
37208    def __init__(
37209        self,
37210        *,
37211        additional_properties: Optional[Dict[str, Any]] = None,
37212        source_retry_count: Optional[Any] = None,
37213        source_retry_wait: Optional[Any] = None,
37214        max_concurrent_connections: Optional[Any] = None,
37215        query_timeout: Optional[Any] = None,
37216        additional_columns: Optional[Any] = None,
37217        sql_reader_query: Optional[Any] = None,
37218        sql_reader_stored_procedure_name: Optional[Any] = None,
37219        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
37220        produce_additional_types: Optional[Any] = None,
37221        partition_option: Optional[Any] = None,
37222        partition_settings: Optional["SqlPartitionSettings"] = None,
37223        **kwargs
37224    ):
37225        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)
37226        self.type = 'SqlServerSource'  # type: str
37227        self.sql_reader_query = sql_reader_query
37228        self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name
37229        self.stored_procedure_parameters = stored_procedure_parameters
37230        self.produce_additional_types = produce_additional_types
37231        self.partition_option = partition_option
37232        self.partition_settings = partition_settings
37233
37234
37235class SqlServerStoredProcedureActivity(ExecutionActivity):
37236    """SQL stored procedure activity type.
37237
37238    All required parameters must be populated in order to send to Azure.
37239
37240    :param additional_properties: Unmatched properties from the message are deserialized to this
37241     collection.
37242    :type additional_properties: dict[str, any]
37243    :param name: Required. Activity name.
37244    :type name: str
37245    :param type: Required. Type of activity.Constant filled by server.
37246    :type type: str
37247    :param description: Activity description.
37248    :type description: str
37249    :param depends_on: Activity depends on condition.
37250    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
37251    :param user_properties: Activity user properties.
37252    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
37253    :param linked_service_name: Linked service reference.
37254    :type linked_service_name:
37255     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
37256    :param policy: Activity policy.
37257    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
37258    :param stored_procedure_name: Required. Stored procedure name. Type: string (or Expression with
37259     resultType string).
37260    :type stored_procedure_name: any
37261    :param stored_procedure_parameters: Value and type setting for stored procedure parameters.
37262     Example: "{Parameter1: {value: "1", type: "int"}}".
37263    :type stored_procedure_parameters: dict[str,
37264     ~azure.synapse.artifacts.v2021_06_01_preview.models.StoredProcedureParameter]
37265    """
37266
37267    _validation = {
37268        'name': {'required': True},
37269        'type': {'required': True},
37270        'stored_procedure_name': {'required': True},
37271    }
37272
37273    _attribute_map = {
37274        'additional_properties': {'key': '', 'type': '{object}'},
37275        'name': {'key': 'name', 'type': 'str'},
37276        'type': {'key': 'type', 'type': 'str'},
37277        'description': {'key': 'description', 'type': 'str'},
37278        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
37279        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
37280        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
37281        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
37282        'stored_procedure_name': {'key': 'typeProperties.storedProcedureName', 'type': 'object'},
37283        'stored_procedure_parameters': {'key': 'typeProperties.storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
37284    }
37285
37286    def __init__(
37287        self,
37288        *,
37289        name: str,
37290        stored_procedure_name: Any,
37291        additional_properties: Optional[Dict[str, Any]] = None,
37292        description: Optional[str] = None,
37293        depends_on: Optional[List["ActivityDependency"]] = None,
37294        user_properties: Optional[List["UserProperty"]] = None,
37295        linked_service_name: Optional["LinkedServiceReference"] = None,
37296        policy: Optional["ActivityPolicy"] = None,
37297        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
37298        **kwargs
37299    ):
37300        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)
37301        self.type = 'SqlServerStoredProcedure'  # type: str
37302        self.stored_procedure_name = stored_procedure_name
37303        self.stored_procedure_parameters = stored_procedure_parameters
37304
37305
37306class SqlServerTableDataset(Dataset):
37307    """The on-premises SQL Server dataset.
37308
37309    All required parameters must be populated in order to send to Azure.
37310
37311    :param additional_properties: Unmatched properties from the message are deserialized to this
37312     collection.
37313    :type additional_properties: dict[str, any]
37314    :param type: Required. Type of dataset.Constant filled by server.
37315    :type type: str
37316    :param description: Dataset description.
37317    :type description: str
37318    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
37319     with resultType array), itemType: DatasetDataElement.
37320    :type structure: any
37321    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
37322     Expression with resultType array), itemType: DatasetSchemaDataElement.
37323    :type schema: any
37324    :param linked_service_name: Required. Linked service reference.
37325    :type linked_service_name:
37326     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
37327    :param parameters: Parameters for dataset.
37328    :type parameters: dict[str,
37329     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
37330    :param annotations: List of tags that can be used for describing the Dataset.
37331    :type annotations: list[any]
37332    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
37333     root level.
37334    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
37335    :param table_name: This property will be retired. Please consider using schema + table
37336     properties instead.
37337    :type table_name: any
37338    :param schema_type_properties_schema: The schema name of the SQL Server dataset. Type: string
37339     (or Expression with resultType string).
37340    :type schema_type_properties_schema: any
37341    :param table: The table name of the SQL Server dataset. Type: string (or Expression with
37342     resultType string).
37343    :type table: any
37344    """
37345
37346    _validation = {
37347        'type': {'required': True},
37348        'linked_service_name': {'required': True},
37349    }
37350
37351    _attribute_map = {
37352        'additional_properties': {'key': '', 'type': '{object}'},
37353        'type': {'key': 'type', 'type': 'str'},
37354        'description': {'key': 'description', 'type': 'str'},
37355        'structure': {'key': 'structure', 'type': 'object'},
37356        'schema': {'key': 'schema', 'type': 'object'},
37357        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
37358        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
37359        'annotations': {'key': 'annotations', 'type': '[object]'},
37360        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
37361        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
37362        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
37363        'table': {'key': 'typeProperties.table', 'type': 'object'},
37364    }
37365
37366    def __init__(
37367        self,
37368        *,
37369        linked_service_name: "LinkedServiceReference",
37370        additional_properties: Optional[Dict[str, Any]] = None,
37371        description: Optional[str] = None,
37372        structure: Optional[Any] = None,
37373        schema: Optional[Any] = None,
37374        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
37375        annotations: Optional[List[Any]] = None,
37376        folder: Optional["DatasetFolder"] = None,
37377        table_name: Optional[Any] = None,
37378        schema_type_properties_schema: Optional[Any] = None,
37379        table: Optional[Any] = None,
37380        **kwargs
37381    ):
37382        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)
37383        self.type = 'SqlServerTable'  # type: str
37384        self.table_name = table_name
37385        self.schema_type_properties_schema = schema_type_properties_schema
37386        self.table = table
37387
37388
37389class SqlSink(CopySink):
37390    """A copy activity SQL sink.
37391
37392    All required parameters must be populated in order to send to Azure.
37393
37394    :param additional_properties: Unmatched properties from the message are deserialized to this
37395     collection.
37396    :type additional_properties: dict[str, any]
37397    :param type: Required. Copy sink type.Constant filled by server.
37398    :type type: str
37399    :param write_batch_size: Write batch size. Type: integer (or Expression with resultType
37400     integer), minimum: 0.
37401    :type write_batch_size: any
37402    :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType
37403     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37404    :type write_batch_timeout: any
37405    :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType
37406     integer).
37407    :type sink_retry_count: any
37408    :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string),
37409     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37410    :type sink_retry_wait: any
37411    :param max_concurrent_connections: The maximum concurrent connection count for the sink data
37412     store. Type: integer (or Expression with resultType integer).
37413    :type max_concurrent_connections: any
37414    :param sql_writer_stored_procedure_name: SQL writer stored procedure name. Type: string (or
37415     Expression with resultType string).
37416    :type sql_writer_stored_procedure_name: any
37417    :param sql_writer_table_type: SQL writer table type. Type: string (or Expression with
37418     resultType string).
37419    :type sql_writer_table_type: any
37420    :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType
37421     string).
37422    :type pre_copy_script: any
37423    :param stored_procedure_parameters: SQL stored procedure parameters.
37424    :type stored_procedure_parameters: dict[str,
37425     ~azure.synapse.artifacts.v2021_06_01_preview.models.StoredProcedureParameter]
37426    :param stored_procedure_table_type_parameter_name: The stored procedure parameter name of the
37427     table type. Type: string (or Expression with resultType string).
37428    :type stored_procedure_table_type_parameter_name: any
37429    :param table_option: The option to handle sink table, such as autoCreate. For now only
37430     'autoCreate' value is supported. Type: string (or Expression with resultType string).
37431    :type table_option: any
37432    """
37433
37434    _validation = {
37435        'type': {'required': True},
37436    }
37437
37438    _attribute_map = {
37439        'additional_properties': {'key': '', 'type': '{object}'},
37440        'type': {'key': 'type', 'type': 'str'},
37441        'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'},
37442        'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'},
37443        'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'},
37444        'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'},
37445        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
37446        'sql_writer_stored_procedure_name': {'key': 'sqlWriterStoredProcedureName', 'type': 'object'},
37447        'sql_writer_table_type': {'key': 'sqlWriterTableType', 'type': 'object'},
37448        'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'},
37449        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
37450        'stored_procedure_table_type_parameter_name': {'key': 'storedProcedureTableTypeParameterName', 'type': 'object'},
37451        'table_option': {'key': 'tableOption', 'type': 'object'},
37452    }
37453
37454    def __init__(
37455        self,
37456        *,
37457        additional_properties: Optional[Dict[str, Any]] = None,
37458        write_batch_size: Optional[Any] = None,
37459        write_batch_timeout: Optional[Any] = None,
37460        sink_retry_count: Optional[Any] = None,
37461        sink_retry_wait: Optional[Any] = None,
37462        max_concurrent_connections: Optional[Any] = None,
37463        sql_writer_stored_procedure_name: Optional[Any] = None,
37464        sql_writer_table_type: Optional[Any] = None,
37465        pre_copy_script: Optional[Any] = None,
37466        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
37467        stored_procedure_table_type_parameter_name: Optional[Any] = None,
37468        table_option: Optional[Any] = None,
37469        **kwargs
37470    ):
37471        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)
37472        self.type = 'SqlSink'  # type: str
37473        self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name
37474        self.sql_writer_table_type = sql_writer_table_type
37475        self.pre_copy_script = pre_copy_script
37476        self.stored_procedure_parameters = stored_procedure_parameters
37477        self.stored_procedure_table_type_parameter_name = stored_procedure_table_type_parameter_name
37478        self.table_option = table_option
37479
37480
37481class SqlSource(TabularSource):
37482    """A copy activity SQL source.
37483
37484    All required parameters must be populated in order to send to Azure.
37485
37486    :param additional_properties: Unmatched properties from the message are deserialized to this
37487     collection.
37488    :type additional_properties: dict[str, any]
37489    :param type: Required. Copy source type.Constant filled by server.
37490    :type type: str
37491    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
37492     integer).
37493    :type source_retry_count: any
37494    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
37495     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37496    :type source_retry_wait: any
37497    :param max_concurrent_connections: The maximum concurrent connection count for the source data
37498     store. Type: integer (or Expression with resultType integer).
37499    :type max_concurrent_connections: any
37500    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
37501     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37502    :type query_timeout: any
37503    :param additional_columns: Specifies the additional columns to be added to source data. Type:
37504     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
37505    :type additional_columns: any
37506    :param sql_reader_query: SQL reader query. Type: string (or Expression with resultType string).
37507    :type sql_reader_query: any
37508    :param sql_reader_stored_procedure_name: Name of the stored procedure for a SQL Database
37509     source. This cannot be used at the same time as SqlReaderQuery. Type: string (or Expression
37510     with resultType string).
37511    :type sql_reader_stored_procedure_name: any
37512    :param stored_procedure_parameters: Value and type setting for stored procedure parameters.
37513     Example: "{Parameter1: {value: "1", type: "int"}}".
37514    :type stored_procedure_parameters: dict[str,
37515     ~azure.synapse.artifacts.v2021_06_01_preview.models.StoredProcedureParameter]
37516    :param isolation_level: Specifies the transaction locking behavior for the SQL source. Allowed
37517     values: ReadCommitted/ReadUncommitted/RepeatableRead/Serializable/Snapshot. The default value
37518     is ReadCommitted. Type: string (or Expression with resultType string).
37519    :type isolation_level: any
37520    :param partition_option: The partition mechanism that will be used for Sql read in parallel.
37521     Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange".
37522    :type partition_option: any
37523    :param partition_settings: The settings that will be leveraged for Sql source partitioning.
37524    :type partition_settings:
37525     ~azure.synapse.artifacts.v2021_06_01_preview.models.SqlPartitionSettings
37526    """
37527
37528    _validation = {
37529        'type': {'required': True},
37530    }
37531
37532    _attribute_map = {
37533        'additional_properties': {'key': '', 'type': '{object}'},
37534        'type': {'key': 'type', 'type': 'str'},
37535        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
37536        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
37537        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
37538        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
37539        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
37540        'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'},
37541        'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'},
37542        'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'},
37543        'isolation_level': {'key': 'isolationLevel', 'type': 'object'},
37544        'partition_option': {'key': 'partitionOption', 'type': 'object'},
37545        'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'},
37546    }
37547
37548    def __init__(
37549        self,
37550        *,
37551        additional_properties: Optional[Dict[str, Any]] = None,
37552        source_retry_count: Optional[Any] = None,
37553        source_retry_wait: Optional[Any] = None,
37554        max_concurrent_connections: Optional[Any] = None,
37555        query_timeout: Optional[Any] = None,
37556        additional_columns: Optional[Any] = None,
37557        sql_reader_query: Optional[Any] = None,
37558        sql_reader_stored_procedure_name: Optional[Any] = None,
37559        stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None,
37560        isolation_level: Optional[Any] = None,
37561        partition_option: Optional[Any] = None,
37562        partition_settings: Optional["SqlPartitionSettings"] = None,
37563        **kwargs
37564    ):
37565        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)
37566        self.type = 'SqlSource'  # type: str
37567        self.sql_reader_query = sql_reader_query
37568        self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name
37569        self.stored_procedure_parameters = stored_procedure_parameters
37570        self.isolation_level = isolation_level
37571        self.partition_option = partition_option
37572        self.partition_settings = partition_settings
37573
37574
37575class SquareLinkedService(LinkedService):
37576    """Square Service linked service.
37577
37578    All required parameters must be populated in order to send to Azure.
37579
37580    :param additional_properties: Unmatched properties from the message are deserialized to this
37581     collection.
37582    :type additional_properties: dict[str, any]
37583    :param type: Required. Type of linked service.Constant filled by server.
37584    :type type: str
37585    :param connect_via: The integration runtime reference.
37586    :type connect_via:
37587     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
37588    :param description: Linked service description.
37589    :type description: str
37590    :param parameters: Parameters for linked service.
37591    :type parameters: dict[str,
37592     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
37593    :param annotations: List of tags that can be used for describing the linked service.
37594    :type annotations: list[any]
37595    :param connection_properties: Properties used to connect to Square. It is mutually exclusive
37596     with any other properties in the linked service. Type: object.
37597    :type connection_properties: any
37598    :param host: Required. The URL of the Square instance. (i.e. mystore.mysquare.com).
37599    :type host: any
37600    :param client_id: Required. The client ID associated with your Square application.
37601    :type client_id: any
37602    :param client_secret: The client secret associated with your Square application.
37603    :type client_secret: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
37604    :param redirect_uri: Required. The redirect URL assigned in the Square application dashboard.
37605     (i.e. http://localhost:2500).
37606    :type redirect_uri: any
37607    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
37608     HTTPS. The default value is true.
37609    :type use_encrypted_endpoints: any
37610    :param use_host_verification: Specifies whether to require the host name in the server's
37611     certificate to match the host name of the server when connecting over SSL. The default value is
37612     true.
37613    :type use_host_verification: any
37614    :param use_peer_verification: Specifies whether to verify the identity of the server when
37615     connecting over SSL. The default value is true.
37616    :type use_peer_verification: any
37617    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
37618     encrypted using the integration runtime credential manager. Type: string (or Expression with
37619     resultType string).
37620    :type encrypted_credential: any
37621    """
37622
37623    _validation = {
37624        'type': {'required': True},
37625        'host': {'required': True},
37626        'client_id': {'required': True},
37627        'redirect_uri': {'required': True},
37628    }
37629
37630    _attribute_map = {
37631        'additional_properties': {'key': '', 'type': '{object}'},
37632        'type': {'key': 'type', 'type': 'str'},
37633        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
37634        'description': {'key': 'description', 'type': 'str'},
37635        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
37636        'annotations': {'key': 'annotations', 'type': '[object]'},
37637        'connection_properties': {'key': 'typeProperties.connectionProperties', 'type': 'object'},
37638        'host': {'key': 'typeProperties.host', 'type': 'object'},
37639        'client_id': {'key': 'typeProperties.clientId', 'type': 'object'},
37640        'client_secret': {'key': 'typeProperties.clientSecret', 'type': 'SecretBase'},
37641        'redirect_uri': {'key': 'typeProperties.redirectUri', 'type': 'object'},
37642        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
37643        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
37644        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
37645        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
37646    }
37647
37648    def __init__(
37649        self,
37650        *,
37651        host: Any,
37652        client_id: Any,
37653        redirect_uri: Any,
37654        additional_properties: Optional[Dict[str, Any]] = None,
37655        connect_via: Optional["IntegrationRuntimeReference"] = None,
37656        description: Optional[str] = None,
37657        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
37658        annotations: Optional[List[Any]] = None,
37659        connection_properties: Optional[Any] = None,
37660        client_secret: Optional["SecretBase"] = None,
37661        use_encrypted_endpoints: Optional[Any] = None,
37662        use_host_verification: Optional[Any] = None,
37663        use_peer_verification: Optional[Any] = None,
37664        encrypted_credential: Optional[Any] = None,
37665        **kwargs
37666    ):
37667        super(SquareLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
37668        self.type = 'Square'  # type: str
37669        self.connection_properties = connection_properties
37670        self.host = host
37671        self.client_id = client_id
37672        self.client_secret = client_secret
37673        self.redirect_uri = redirect_uri
37674        self.use_encrypted_endpoints = use_encrypted_endpoints
37675        self.use_host_verification = use_host_verification
37676        self.use_peer_verification = use_peer_verification
37677        self.encrypted_credential = encrypted_credential
37678
37679
37680class SquareObjectDataset(Dataset):
37681    """Square Service dataset.
37682
37683    All required parameters must be populated in order to send to Azure.
37684
37685    :param additional_properties: Unmatched properties from the message are deserialized to this
37686     collection.
37687    :type additional_properties: dict[str, any]
37688    :param type: Required. Type of dataset.Constant filled by server.
37689    :type type: str
37690    :param description: Dataset description.
37691    :type description: str
37692    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
37693     with resultType array), itemType: DatasetDataElement.
37694    :type structure: any
37695    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
37696     Expression with resultType array), itemType: DatasetSchemaDataElement.
37697    :type schema: any
37698    :param linked_service_name: Required. Linked service reference.
37699    :type linked_service_name:
37700     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
37701    :param parameters: Parameters for dataset.
37702    :type parameters: dict[str,
37703     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
37704    :param annotations: List of tags that can be used for describing the Dataset.
37705    :type annotations: list[any]
37706    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
37707     root level.
37708    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
37709    :param table_name: The table name. Type: string (or Expression with resultType string).
37710    :type table_name: any
37711    """
37712
37713    _validation = {
37714        'type': {'required': True},
37715        'linked_service_name': {'required': True},
37716    }
37717
37718    _attribute_map = {
37719        'additional_properties': {'key': '', 'type': '{object}'},
37720        'type': {'key': 'type', 'type': 'str'},
37721        'description': {'key': 'description', 'type': 'str'},
37722        'structure': {'key': 'structure', 'type': 'object'},
37723        'schema': {'key': 'schema', 'type': 'object'},
37724        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
37725        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
37726        'annotations': {'key': 'annotations', 'type': '[object]'},
37727        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
37728        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
37729    }
37730
37731    def __init__(
37732        self,
37733        *,
37734        linked_service_name: "LinkedServiceReference",
37735        additional_properties: Optional[Dict[str, Any]] = None,
37736        description: Optional[str] = None,
37737        structure: Optional[Any] = None,
37738        schema: Optional[Any] = None,
37739        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
37740        annotations: Optional[List[Any]] = None,
37741        folder: Optional["DatasetFolder"] = None,
37742        table_name: Optional[Any] = None,
37743        **kwargs
37744    ):
37745        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)
37746        self.type = 'SquareObject'  # type: str
37747        self.table_name = table_name
37748
37749
37750class SquareSource(TabularSource):
37751    """A copy activity Square Service source.
37752
37753    All required parameters must be populated in order to send to Azure.
37754
37755    :param additional_properties: Unmatched properties from the message are deserialized to this
37756     collection.
37757    :type additional_properties: dict[str, any]
37758    :param type: Required. Copy source type.Constant filled by server.
37759    :type type: str
37760    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
37761     integer).
37762    :type source_retry_count: any
37763    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
37764     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37765    :type source_retry_wait: any
37766    :param max_concurrent_connections: The maximum concurrent connection count for the source data
37767     store. Type: integer (or Expression with resultType integer).
37768    :type max_concurrent_connections: any
37769    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
37770     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37771    :type query_timeout: any
37772    :param additional_columns: Specifies the additional columns to be added to source data. Type:
37773     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
37774    :type additional_columns: any
37775    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
37776     string).
37777    :type query: any
37778    """
37779
37780    _validation = {
37781        'type': {'required': True},
37782    }
37783
37784    _attribute_map = {
37785        'additional_properties': {'key': '', 'type': '{object}'},
37786        'type': {'key': 'type', 'type': 'str'},
37787        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
37788        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
37789        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
37790        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
37791        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
37792        'query': {'key': 'query', 'type': 'object'},
37793    }
37794
37795    def __init__(
37796        self,
37797        *,
37798        additional_properties: Optional[Dict[str, Any]] = None,
37799        source_retry_count: Optional[Any] = None,
37800        source_retry_wait: Optional[Any] = None,
37801        max_concurrent_connections: Optional[Any] = None,
37802        query_timeout: Optional[Any] = None,
37803        additional_columns: Optional[Any] = None,
37804        query: Optional[Any] = None,
37805        **kwargs
37806    ):
37807        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)
37808        self.type = 'SquareSource'  # type: str
37809        self.query = query
37810
37811
37812class SSISAccessCredential(msrest.serialization.Model):
37813    """SSIS access credential.
37814
37815    All required parameters must be populated in order to send to Azure.
37816
37817    :param domain: Required. Domain for windows authentication.
37818    :type domain: any
37819    :param user_name: Required. UseName for windows authentication.
37820    :type user_name: any
37821    :param password: Required. Password for windows authentication.
37822    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
37823    """
37824
37825    _validation = {
37826        'domain': {'required': True},
37827        'user_name': {'required': True},
37828        'password': {'required': True},
37829    }
37830
37831    _attribute_map = {
37832        'domain': {'key': 'domain', 'type': 'object'},
37833        'user_name': {'key': 'userName', 'type': 'object'},
37834        'password': {'key': 'password', 'type': 'SecretBase'},
37835    }
37836
37837    def __init__(
37838        self,
37839        *,
37840        domain: Any,
37841        user_name: Any,
37842        password: "SecretBase",
37843        **kwargs
37844    ):
37845        super(SSISAccessCredential, self).__init__(**kwargs)
37846        self.domain = domain
37847        self.user_name = user_name
37848        self.password = password
37849
37850
37851class SSISChildPackage(msrest.serialization.Model):
37852    """SSIS embedded child package.
37853
37854    All required parameters must be populated in order to send to Azure.
37855
37856    :param package_path: Required. Path for embedded child package. Type: string (or Expression
37857     with resultType string).
37858    :type package_path: any
37859    :param package_name: Name for embedded child package.
37860    :type package_name: str
37861    :param package_content: Required. Content for embedded child package. Type: string (or
37862     Expression with resultType string).
37863    :type package_content: any
37864    :param package_last_modified_date: Last modified date for embedded child package.
37865    :type package_last_modified_date: str
37866    """
37867
37868    _validation = {
37869        'package_path': {'required': True},
37870        'package_content': {'required': True},
37871    }
37872
37873    _attribute_map = {
37874        'package_path': {'key': 'packagePath', 'type': 'object'},
37875        'package_name': {'key': 'packageName', 'type': 'str'},
37876        'package_content': {'key': 'packageContent', 'type': 'object'},
37877        'package_last_modified_date': {'key': 'packageLastModifiedDate', 'type': 'str'},
37878    }
37879
37880    def __init__(
37881        self,
37882        *,
37883        package_path: Any,
37884        package_content: Any,
37885        package_name: Optional[str] = None,
37886        package_last_modified_date: Optional[str] = None,
37887        **kwargs
37888    ):
37889        super(SSISChildPackage, self).__init__(**kwargs)
37890        self.package_path = package_path
37891        self.package_name = package_name
37892        self.package_content = package_content
37893        self.package_last_modified_date = package_last_modified_date
37894
37895
37896class SSISExecutionCredential(msrest.serialization.Model):
37897    """SSIS package execution credential.
37898
37899    All required parameters must be populated in order to send to Azure.
37900
37901    :param domain: Required. Domain for windows authentication.
37902    :type domain: any
37903    :param user_name: Required. UseName for windows authentication.
37904    :type user_name: any
37905    :param password: Required. Password for windows authentication.
37906    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecureString
37907    """
37908
37909    _validation = {
37910        'domain': {'required': True},
37911        'user_name': {'required': True},
37912        'password': {'required': True},
37913    }
37914
37915    _attribute_map = {
37916        'domain': {'key': 'domain', 'type': 'object'},
37917        'user_name': {'key': 'userName', 'type': 'object'},
37918        'password': {'key': 'password', 'type': 'SecureString'},
37919    }
37920
37921    def __init__(
37922        self,
37923        *,
37924        domain: Any,
37925        user_name: Any,
37926        password: "SecureString",
37927        **kwargs
37928    ):
37929        super(SSISExecutionCredential, self).__init__(**kwargs)
37930        self.domain = domain
37931        self.user_name = user_name
37932        self.password = password
37933
37934
37935class SSISExecutionParameter(msrest.serialization.Model):
37936    """SSIS execution parameter.
37937
37938    All required parameters must be populated in order to send to Azure.
37939
37940    :param value: Required. SSIS package execution parameter value. Type: string (or Expression
37941     with resultType string).
37942    :type value: any
37943    """
37944
37945    _validation = {
37946        'value': {'required': True},
37947    }
37948
37949    _attribute_map = {
37950        'value': {'key': 'value', 'type': 'object'},
37951    }
37952
37953    def __init__(
37954        self,
37955        *,
37956        value: Any,
37957        **kwargs
37958    ):
37959        super(SSISExecutionParameter, self).__init__(**kwargs)
37960        self.value = value
37961
37962
37963class SSISLogLocation(msrest.serialization.Model):
37964    """SSIS package execution log location.
37965
37966    All required parameters must be populated in order to send to Azure.
37967
37968    :param log_path: Required. The SSIS package execution log path. Type: string (or Expression
37969     with resultType string).
37970    :type log_path: any
37971    :param type: Required. The type of SSIS log location. Possible values include: "File".
37972    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.SsisLogLocationType
37973    :param access_credential: The package execution log access credential.
37974    :type access_credential:
37975     ~azure.synapse.artifacts.v2021_06_01_preview.models.SSISAccessCredential
37976    :param log_refresh_interval: Specifies the interval to refresh log. The default interval is 5
37977     minutes. Type: string (or Expression with resultType string), pattern:
37978     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
37979    :type log_refresh_interval: any
37980    """
37981
37982    _validation = {
37983        'log_path': {'required': True},
37984        'type': {'required': True},
37985    }
37986
37987    _attribute_map = {
37988        'log_path': {'key': 'logPath', 'type': 'object'},
37989        'type': {'key': 'type', 'type': 'str'},
37990        'access_credential': {'key': 'typeProperties.accessCredential', 'type': 'SSISAccessCredential'},
37991        'log_refresh_interval': {'key': 'typeProperties.logRefreshInterval', 'type': 'object'},
37992    }
37993
37994    def __init__(
37995        self,
37996        *,
37997        log_path: Any,
37998        type: Union[str, "SsisLogLocationType"],
37999        access_credential: Optional["SSISAccessCredential"] = None,
38000        log_refresh_interval: Optional[Any] = None,
38001        **kwargs
38002    ):
38003        super(SSISLogLocation, self).__init__(**kwargs)
38004        self.log_path = log_path
38005        self.type = type
38006        self.access_credential = access_credential
38007        self.log_refresh_interval = log_refresh_interval
38008
38009
38010class SsisObjectMetadataStatusResponse(msrest.serialization.Model):
38011    """The status of the operation.
38012
38013    :param status: The status of the operation.
38014    :type status: str
38015    :param name: The operation name.
38016    :type name: str
38017    :param properties: The operation properties.
38018    :type properties: str
38019    :param error: The operation error message.
38020    :type error: str
38021    """
38022
38023    _attribute_map = {
38024        'status': {'key': 'status', 'type': 'str'},
38025        'name': {'key': 'name', 'type': 'str'},
38026        'properties': {'key': 'properties', 'type': 'str'},
38027        'error': {'key': 'error', 'type': 'str'},
38028    }
38029
38030    def __init__(
38031        self,
38032        *,
38033        status: Optional[str] = None,
38034        name: Optional[str] = None,
38035        properties: Optional[str] = None,
38036        error: Optional[str] = None,
38037        **kwargs
38038    ):
38039        super(SsisObjectMetadataStatusResponse, self).__init__(**kwargs)
38040        self.status = status
38041        self.name = name
38042        self.properties = properties
38043        self.error = error
38044
38045
38046class SSISPackageLocation(msrest.serialization.Model):
38047    """SSIS package location.
38048
38049    :param package_path: The SSIS package path. Type: string (or Expression with resultType
38050     string).
38051    :type package_path: any
38052    :param type: The type of SSIS package location. Possible values include: "SSISDB", "File",
38053     "InlinePackage", "PackageStore".
38054    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.SsisPackageLocationType
38055    :param package_password: Password of the package.
38056    :type package_password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
38057    :param access_credential: The package access credential.
38058    :type access_credential:
38059     ~azure.synapse.artifacts.v2021_06_01_preview.models.SSISAccessCredential
38060    :param configuration_path: The configuration file of the package execution. Type: string (or
38061     Expression with resultType string).
38062    :type configuration_path: any
38063    :param configuration_access_credential: The configuration file access credential.
38064    :type configuration_access_credential:
38065     ~azure.synapse.artifacts.v2021_06_01_preview.models.SSISAccessCredential
38066    :param package_name: The package name.
38067    :type package_name: str
38068    :param package_content: The embedded package content. Type: string (or Expression with
38069     resultType string).
38070    :type package_content: any
38071    :param package_last_modified_date: The embedded package last modified date.
38072    :type package_last_modified_date: str
38073    :param child_packages: The embedded child package list.
38074    :type child_packages:
38075     list[~azure.synapse.artifacts.v2021_06_01_preview.models.SSISChildPackage]
38076    """
38077
38078    _attribute_map = {
38079        'package_path': {'key': 'packagePath', 'type': 'object'},
38080        'type': {'key': 'type', 'type': 'str'},
38081        'package_password': {'key': 'typeProperties.packagePassword', 'type': 'SecretBase'},
38082        'access_credential': {'key': 'typeProperties.accessCredential', 'type': 'SSISAccessCredential'},
38083        'configuration_path': {'key': 'typeProperties.configurationPath', 'type': 'object'},
38084        'configuration_access_credential': {'key': 'typeProperties.configurationAccessCredential', 'type': 'SSISAccessCredential'},
38085        'package_name': {'key': 'typeProperties.packageName', 'type': 'str'},
38086        'package_content': {'key': 'typeProperties.packageContent', 'type': 'object'},
38087        'package_last_modified_date': {'key': 'typeProperties.packageLastModifiedDate', 'type': 'str'},
38088        'child_packages': {'key': 'typeProperties.childPackages', 'type': '[SSISChildPackage]'},
38089    }
38090
38091    def __init__(
38092        self,
38093        *,
38094        package_path: Optional[Any] = None,
38095        type: Optional[Union[str, "SsisPackageLocationType"]] = None,
38096        package_password: Optional["SecretBase"] = None,
38097        access_credential: Optional["SSISAccessCredential"] = None,
38098        configuration_path: Optional[Any] = None,
38099        configuration_access_credential: Optional["SSISAccessCredential"] = None,
38100        package_name: Optional[str] = None,
38101        package_content: Optional[Any] = None,
38102        package_last_modified_date: Optional[str] = None,
38103        child_packages: Optional[List["SSISChildPackage"]] = None,
38104        **kwargs
38105    ):
38106        super(SSISPackageLocation, self).__init__(**kwargs)
38107        self.package_path = package_path
38108        self.type = type
38109        self.package_password = package_password
38110        self.access_credential = access_credential
38111        self.configuration_path = configuration_path
38112        self.configuration_access_credential = configuration_access_credential
38113        self.package_name = package_name
38114        self.package_content = package_content
38115        self.package_last_modified_date = package_last_modified_date
38116        self.child_packages = child_packages
38117
38118
38119class SSISPropertyOverride(msrest.serialization.Model):
38120    """SSIS property override.
38121
38122    All required parameters must be populated in order to send to Azure.
38123
38124    :param value: Required. SSIS package property override value. Type: string (or Expression with
38125     resultType string).
38126    :type value: any
38127    :param is_sensitive: Whether SSIS package property override value is sensitive data. Value will
38128     be encrypted in SSISDB if it is true.
38129    :type is_sensitive: bool
38130    """
38131
38132    _validation = {
38133        'value': {'required': True},
38134    }
38135
38136    _attribute_map = {
38137        'value': {'key': 'value', 'type': 'object'},
38138        'is_sensitive': {'key': 'isSensitive', 'type': 'bool'},
38139    }
38140
38141    def __init__(
38142        self,
38143        *,
38144        value: Any,
38145        is_sensitive: Optional[bool] = None,
38146        **kwargs
38147    ):
38148        super(SSISPropertyOverride, self).__init__(**kwargs)
38149        self.value = value
38150        self.is_sensitive = is_sensitive
38151
38152
38153class StagingSettings(msrest.serialization.Model):
38154    """Staging settings.
38155
38156    All required parameters must be populated in order to send to Azure.
38157
38158    :param additional_properties: Unmatched properties from the message are deserialized to this
38159     collection.
38160    :type additional_properties: dict[str, any]
38161    :param linked_service_name: Required. Staging linked service reference.
38162    :type linked_service_name:
38163     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
38164    :param path: The path to storage for storing the interim data. Type: string (or Expression with
38165     resultType string).
38166    :type path: any
38167    :param enable_compression: Specifies whether to use compression when copying data via an
38168     interim staging. Default value is false. Type: boolean (or Expression with resultType boolean).
38169    :type enable_compression: any
38170    """
38171
38172    _validation = {
38173        'linked_service_name': {'required': True},
38174    }
38175
38176    _attribute_map = {
38177        'additional_properties': {'key': '', 'type': '{object}'},
38178        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
38179        'path': {'key': 'path', 'type': 'object'},
38180        'enable_compression': {'key': 'enableCompression', 'type': 'object'},
38181    }
38182
38183    def __init__(
38184        self,
38185        *,
38186        linked_service_name: "LinkedServiceReference",
38187        additional_properties: Optional[Dict[str, Any]] = None,
38188        path: Optional[Any] = None,
38189        enable_compression: Optional[Any] = None,
38190        **kwargs
38191    ):
38192        super(StagingSettings, self).__init__(**kwargs)
38193        self.additional_properties = additional_properties
38194        self.linked_service_name = linked_service_name
38195        self.path = path
38196        self.enable_compression = enable_compression
38197
38198
38199class StartDataFlowDebugSessionRequest(msrest.serialization.Model):
38200    """Request body structure for starting data flow debug session.
38201
38202    :param session_id: The ID of data flow debug session.
38203    :type session_id: str
38204    :param data_flow: Data flow instance.
38205    :type data_flow: ~azure.synapse.artifacts.v2021_06_01_preview.models.DataFlowResource
38206    :param datasets: List of datasets.
38207    :type datasets: list[~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetResource]
38208    :param linked_services: List of linked services.
38209    :type linked_services:
38210     list[~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceResource]
38211    :param staging: Staging info for debug session.
38212    :type staging: any
38213    :param debug_settings: Data flow debug settings.
38214    :type debug_settings: any
38215    :param incremental_debug: The type of new Databricks cluster.
38216    :type incremental_debug: bool
38217    """
38218
38219    _attribute_map = {
38220        'session_id': {'key': 'sessionId', 'type': 'str'},
38221        'data_flow': {'key': 'dataFlow', 'type': 'DataFlowResource'},
38222        'datasets': {'key': 'datasets', 'type': '[DatasetResource]'},
38223        'linked_services': {'key': 'linkedServices', 'type': '[LinkedServiceResource]'},
38224        'staging': {'key': 'staging', 'type': 'object'},
38225        'debug_settings': {'key': 'debugSettings', 'type': 'object'},
38226        'incremental_debug': {'key': 'incrementalDebug', 'type': 'bool'},
38227    }
38228
38229    def __init__(
38230        self,
38231        *,
38232        session_id: Optional[str] = None,
38233        data_flow: Optional["DataFlowResource"] = None,
38234        datasets: Optional[List["DatasetResource"]] = None,
38235        linked_services: Optional[List["LinkedServiceResource"]] = None,
38236        staging: Optional[Any] = None,
38237        debug_settings: Optional[Any] = None,
38238        incremental_debug: Optional[bool] = None,
38239        **kwargs
38240    ):
38241        super(StartDataFlowDebugSessionRequest, self).__init__(**kwargs)
38242        self.session_id = session_id
38243        self.data_flow = data_flow
38244        self.datasets = datasets
38245        self.linked_services = linked_services
38246        self.staging = staging
38247        self.debug_settings = debug_settings
38248        self.incremental_debug = incremental_debug
38249
38250
38251class StartDataFlowDebugSessionResponse(msrest.serialization.Model):
38252    """Response body structure for starting data flow debug session.
38253
38254    :param job_version: The ID of data flow debug job version.
38255    :type job_version: str
38256    """
38257
38258    _attribute_map = {
38259        'job_version': {'key': 'jobVersion', 'type': 'str'},
38260    }
38261
38262    def __init__(
38263        self,
38264        *,
38265        job_version: Optional[str] = None,
38266        **kwargs
38267    ):
38268        super(StartDataFlowDebugSessionResponse, self).__init__(**kwargs)
38269        self.job_version = job_version
38270
38271
38272class StoredProcedureParameter(msrest.serialization.Model):
38273    """SQL stored procedure parameter.
38274
38275    :param value: Stored procedure parameter value. Type: string (or Expression with resultType
38276     string).
38277    :type value: any
38278    :param type: Stored procedure parameter type. Possible values include: "String", "Int",
38279     "Int64", "Decimal", "Guid", "Boolean", "Date".
38280    :type type: str or
38281     ~azure.synapse.artifacts.v2021_06_01_preview.models.StoredProcedureParameterType
38282    """
38283
38284    _attribute_map = {
38285        'value': {'key': 'value', 'type': 'object'},
38286        'type': {'key': 'type', 'type': 'str'},
38287    }
38288
38289    def __init__(
38290        self,
38291        *,
38292        value: Optional[Any] = None,
38293        type: Optional[Union[str, "StoredProcedureParameterType"]] = None,
38294        **kwargs
38295    ):
38296        super(StoredProcedureParameter, self).__init__(**kwargs)
38297        self.value = value
38298        self.type = type
38299
38300
38301class SwitchActivity(ControlActivity):
38302    """This activity evaluates an expression and executes activities under the cases property that correspond to the expression evaluation expected in the equals property.
38303
38304    All required parameters must be populated in order to send to Azure.
38305
38306    :param additional_properties: Unmatched properties from the message are deserialized to this
38307     collection.
38308    :type additional_properties: dict[str, any]
38309    :param name: Required. Activity name.
38310    :type name: str
38311    :param type: Required. Type of activity.Constant filled by server.
38312    :type type: str
38313    :param description: Activity description.
38314    :type description: str
38315    :param depends_on: Activity depends on condition.
38316    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
38317    :param user_properties: Activity user properties.
38318    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
38319    :param on: Required. An expression that would evaluate to a string or integer. This is used to
38320     determine the block of activities in cases that will be executed.
38321    :type on: ~azure.synapse.artifacts.v2021_06_01_preview.models.Expression
38322    :param cases: List of cases that correspond to expected values of the 'on' property. This is an
38323     optional property and if not provided, the activity will execute activities provided in
38324     defaultActivities.
38325    :type cases: list[~azure.synapse.artifacts.v2021_06_01_preview.models.SwitchCase]
38326    :param default_activities: List of activities to execute if no case condition is satisfied.
38327     This is an optional property and if not provided, the activity will exit without any action.
38328    :type default_activities: list[~azure.synapse.artifacts.v2021_06_01_preview.models.Activity]
38329    """
38330
38331    _validation = {
38332        'name': {'required': True},
38333        'type': {'required': True},
38334        'on': {'required': True},
38335    }
38336
38337    _attribute_map = {
38338        'additional_properties': {'key': '', 'type': '{object}'},
38339        'name': {'key': 'name', 'type': 'str'},
38340        'type': {'key': 'type', 'type': 'str'},
38341        'description': {'key': 'description', 'type': 'str'},
38342        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
38343        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
38344        'on': {'key': 'typeProperties.on', 'type': 'Expression'},
38345        'cases': {'key': 'typeProperties.cases', 'type': '[SwitchCase]'},
38346        'default_activities': {'key': 'typeProperties.defaultActivities', 'type': '[Activity]'},
38347    }
38348
38349    def __init__(
38350        self,
38351        *,
38352        name: str,
38353        on: "Expression",
38354        additional_properties: Optional[Dict[str, Any]] = None,
38355        description: Optional[str] = None,
38356        depends_on: Optional[List["ActivityDependency"]] = None,
38357        user_properties: Optional[List["UserProperty"]] = None,
38358        cases: Optional[List["SwitchCase"]] = None,
38359        default_activities: Optional[List["Activity"]] = None,
38360        **kwargs
38361    ):
38362        super(SwitchActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
38363        self.type = 'Switch'  # type: str
38364        self.on = on
38365        self.cases = cases
38366        self.default_activities = default_activities
38367
38368
38369class SwitchCase(msrest.serialization.Model):
38370    """Switch cases with have a value and corresponding activities.
38371
38372    :param value: Expected value that satisfies the expression result of the 'on' property.
38373    :type value: str
38374    :param activities: List of activities to execute for satisfied case condition.
38375    :type activities: list[~azure.synapse.artifacts.v2021_06_01_preview.models.Activity]
38376    """
38377
38378    _attribute_map = {
38379        'value': {'key': 'value', 'type': 'str'},
38380        'activities': {'key': 'activities', 'type': '[Activity]'},
38381    }
38382
38383    def __init__(
38384        self,
38385        *,
38386        value: Optional[str] = None,
38387        activities: Optional[List["Activity"]] = None,
38388        **kwargs
38389    ):
38390        super(SwitchCase, self).__init__(**kwargs)
38391        self.value = value
38392        self.activities = activities
38393
38394
38395class SybaseLinkedService(LinkedService):
38396    """Linked service for Sybase data source.
38397
38398    All required parameters must be populated in order to send to Azure.
38399
38400    :param additional_properties: Unmatched properties from the message are deserialized to this
38401     collection.
38402    :type additional_properties: dict[str, any]
38403    :param type: Required. Type of linked service.Constant filled by server.
38404    :type type: str
38405    :param connect_via: The integration runtime reference.
38406    :type connect_via:
38407     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
38408    :param description: Linked service description.
38409    :type description: str
38410    :param parameters: Parameters for linked service.
38411    :type parameters: dict[str,
38412     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
38413    :param annotations: List of tags that can be used for describing the linked service.
38414    :type annotations: list[any]
38415    :param server: Required. Server name for connection. Type: string (or Expression with
38416     resultType string).
38417    :type server: any
38418    :param database: Required. Database name for connection. Type: string (or Expression with
38419     resultType string).
38420    :type database: any
38421    :param schema: Schema name for connection. Type: string (or Expression with resultType string).
38422    :type schema: any
38423    :param authentication_type: AuthenticationType to be used for connection. Possible values
38424     include: "Basic", "Windows".
38425    :type authentication_type: str or
38426     ~azure.synapse.artifacts.v2021_06_01_preview.models.SybaseAuthenticationType
38427    :param username: Username for authentication. Type: string (or Expression with resultType
38428     string).
38429    :type username: any
38430    :param password: Password for authentication.
38431    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
38432    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
38433     encrypted using the integration runtime credential manager. Type: string (or Expression with
38434     resultType string).
38435    :type encrypted_credential: any
38436    """
38437
38438    _validation = {
38439        'type': {'required': True},
38440        'server': {'required': True},
38441        'database': {'required': True},
38442    }
38443
38444    _attribute_map = {
38445        'additional_properties': {'key': '', 'type': '{object}'},
38446        'type': {'key': 'type', 'type': 'str'},
38447        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
38448        'description': {'key': 'description', 'type': 'str'},
38449        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
38450        'annotations': {'key': 'annotations', 'type': '[object]'},
38451        'server': {'key': 'typeProperties.server', 'type': 'object'},
38452        'database': {'key': 'typeProperties.database', 'type': 'object'},
38453        'schema': {'key': 'typeProperties.schema', 'type': 'object'},
38454        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
38455        'username': {'key': 'typeProperties.username', 'type': 'object'},
38456        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
38457        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
38458    }
38459
38460    def __init__(
38461        self,
38462        *,
38463        server: Any,
38464        database: Any,
38465        additional_properties: Optional[Dict[str, Any]] = None,
38466        connect_via: Optional["IntegrationRuntimeReference"] = None,
38467        description: Optional[str] = None,
38468        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
38469        annotations: Optional[List[Any]] = None,
38470        schema: Optional[Any] = None,
38471        authentication_type: Optional[Union[str, "SybaseAuthenticationType"]] = None,
38472        username: Optional[Any] = None,
38473        password: Optional["SecretBase"] = None,
38474        encrypted_credential: Optional[Any] = None,
38475        **kwargs
38476    ):
38477        super(SybaseLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
38478        self.type = 'Sybase'  # type: str
38479        self.server = server
38480        self.database = database
38481        self.schema = schema
38482        self.authentication_type = authentication_type
38483        self.username = username
38484        self.password = password
38485        self.encrypted_credential = encrypted_credential
38486
38487
38488class SybaseSource(TabularSource):
38489    """A copy activity source for Sybase databases.
38490
38491    All required parameters must be populated in order to send to Azure.
38492
38493    :param additional_properties: Unmatched properties from the message are deserialized to this
38494     collection.
38495    :type additional_properties: dict[str, any]
38496    :param type: Required. Copy source type.Constant filled by server.
38497    :type type: str
38498    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
38499     integer).
38500    :type source_retry_count: any
38501    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
38502     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
38503    :type source_retry_wait: any
38504    :param max_concurrent_connections: The maximum concurrent connection count for the source data
38505     store. Type: integer (or Expression with resultType integer).
38506    :type max_concurrent_connections: any
38507    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
38508     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
38509    :type query_timeout: any
38510    :param additional_columns: Specifies the additional columns to be added to source data. Type:
38511     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
38512    :type additional_columns: any
38513    :param query: Database query. Type: string (or Expression with resultType string).
38514    :type query: any
38515    """
38516
38517    _validation = {
38518        'type': {'required': True},
38519    }
38520
38521    _attribute_map = {
38522        'additional_properties': {'key': '', 'type': '{object}'},
38523        'type': {'key': 'type', 'type': 'str'},
38524        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
38525        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
38526        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
38527        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
38528        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
38529        'query': {'key': 'query', 'type': 'object'},
38530    }
38531
38532    def __init__(
38533        self,
38534        *,
38535        additional_properties: Optional[Dict[str, Any]] = None,
38536        source_retry_count: Optional[Any] = None,
38537        source_retry_wait: Optional[Any] = None,
38538        max_concurrent_connections: Optional[Any] = None,
38539        query_timeout: Optional[Any] = None,
38540        additional_columns: Optional[Any] = None,
38541        query: Optional[Any] = None,
38542        **kwargs
38543    ):
38544        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)
38545        self.type = 'SybaseSource'  # type: str
38546        self.query = query
38547
38548
38549class SybaseTableDataset(Dataset):
38550    """The Sybase table dataset.
38551
38552    All required parameters must be populated in order to send to Azure.
38553
38554    :param additional_properties: Unmatched properties from the message are deserialized to this
38555     collection.
38556    :type additional_properties: dict[str, any]
38557    :param type: Required. Type of dataset.Constant filled by server.
38558    :type type: str
38559    :param description: Dataset description.
38560    :type description: str
38561    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
38562     with resultType array), itemType: DatasetDataElement.
38563    :type structure: any
38564    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
38565     Expression with resultType array), itemType: DatasetSchemaDataElement.
38566    :type schema: any
38567    :param linked_service_name: Required. Linked service reference.
38568    :type linked_service_name:
38569     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
38570    :param parameters: Parameters for dataset.
38571    :type parameters: dict[str,
38572     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
38573    :param annotations: List of tags that can be used for describing the Dataset.
38574    :type annotations: list[any]
38575    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
38576     root level.
38577    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
38578    :param table_name: The Sybase table name. Type: string (or Expression with resultType string).
38579    :type table_name: any
38580    """
38581
38582    _validation = {
38583        'type': {'required': True},
38584        'linked_service_name': {'required': True},
38585    }
38586
38587    _attribute_map = {
38588        'additional_properties': {'key': '', 'type': '{object}'},
38589        'type': {'key': 'type', 'type': 'str'},
38590        'description': {'key': 'description', 'type': 'str'},
38591        'structure': {'key': 'structure', 'type': 'object'},
38592        'schema': {'key': 'schema', 'type': 'object'},
38593        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
38594        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
38595        'annotations': {'key': 'annotations', 'type': '[object]'},
38596        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
38597        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
38598    }
38599
38600    def __init__(
38601        self,
38602        *,
38603        linked_service_name: "LinkedServiceReference",
38604        additional_properties: Optional[Dict[str, Any]] = None,
38605        description: Optional[str] = None,
38606        structure: Optional[Any] = None,
38607        schema: Optional[Any] = None,
38608        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
38609        annotations: Optional[List[Any]] = None,
38610        folder: Optional["DatasetFolder"] = None,
38611        table_name: Optional[Any] = None,
38612        **kwargs
38613    ):
38614        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)
38615        self.type = 'SybaseTable'  # type: str
38616        self.table_name = table_name
38617
38618
38619class SynapseNotebookActivity(ExecutionActivity):
38620    """Execute Synapse notebook activity.
38621
38622    All required parameters must be populated in order to send to Azure.
38623
38624    :param additional_properties: Unmatched properties from the message are deserialized to this
38625     collection.
38626    :type additional_properties: dict[str, any]
38627    :param name: Required. Activity name.
38628    :type name: str
38629    :param type: Required. Type of activity.Constant filled by server.
38630    :type type: str
38631    :param description: Activity description.
38632    :type description: str
38633    :param depends_on: Activity depends on condition.
38634    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
38635    :param user_properties: Activity user properties.
38636    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
38637    :param linked_service_name: Linked service reference.
38638    :type linked_service_name:
38639     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
38640    :param policy: Activity policy.
38641    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
38642    :param notebook: Required. Synapse notebook reference.
38643    :type notebook: ~azure.synapse.artifacts.v2021_06_01_preview.models.SynapseNotebookReference
38644    :param parameters: Notebook parameters.
38645    :type parameters: dict[str, any]
38646    """
38647
38648    _validation = {
38649        'name': {'required': True},
38650        'type': {'required': True},
38651        'notebook': {'required': True},
38652    }
38653
38654    _attribute_map = {
38655        'additional_properties': {'key': '', 'type': '{object}'},
38656        'name': {'key': 'name', 'type': 'str'},
38657        'type': {'key': 'type', 'type': 'str'},
38658        'description': {'key': 'description', 'type': 'str'},
38659        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
38660        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
38661        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
38662        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
38663        'notebook': {'key': 'typeProperties.notebook', 'type': 'SynapseNotebookReference'},
38664        'parameters': {'key': 'typeProperties.parameters', 'type': '{object}'},
38665    }
38666
38667    def __init__(
38668        self,
38669        *,
38670        name: str,
38671        notebook: "SynapseNotebookReference",
38672        additional_properties: Optional[Dict[str, Any]] = None,
38673        description: Optional[str] = None,
38674        depends_on: Optional[List["ActivityDependency"]] = None,
38675        user_properties: Optional[List["UserProperty"]] = None,
38676        linked_service_name: Optional["LinkedServiceReference"] = None,
38677        policy: Optional["ActivityPolicy"] = None,
38678        parameters: Optional[Dict[str, Any]] = None,
38679        **kwargs
38680    ):
38681        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)
38682        self.type = 'SynapseNotebook'  # type: str
38683        self.notebook = notebook
38684        self.parameters = parameters
38685
38686
38687class SynapseNotebookReference(msrest.serialization.Model):
38688    """Synapse notebook reference type.
38689
38690    All required parameters must be populated in order to send to Azure.
38691
38692    :param type: Required. Synapse notebook reference type. Possible values include:
38693     "NotebookReference".
38694    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.NotebookReferenceType
38695    :param reference_name: Required. Reference notebook name.
38696    :type reference_name: str
38697    """
38698
38699    _validation = {
38700        'type': {'required': True},
38701        'reference_name': {'required': True},
38702    }
38703
38704    _attribute_map = {
38705        'type': {'key': 'type', 'type': 'str'},
38706        'reference_name': {'key': 'referenceName', 'type': 'str'},
38707    }
38708
38709    def __init__(
38710        self,
38711        *,
38712        type: Union[str, "NotebookReferenceType"],
38713        reference_name: str,
38714        **kwargs
38715    ):
38716        super(SynapseNotebookReference, self).__init__(**kwargs)
38717        self.type = type
38718        self.reference_name = reference_name
38719
38720
38721class SynapseSparkJobDefinitionActivity(ExecutionActivity):
38722    """Execute spark job activity.
38723
38724    All required parameters must be populated in order to send to Azure.
38725
38726    :param additional_properties: Unmatched properties from the message are deserialized to this
38727     collection.
38728    :type additional_properties: dict[str, any]
38729    :param name: Required. Activity name.
38730    :type name: str
38731    :param type: Required. Type of activity.Constant filled by server.
38732    :type type: str
38733    :param description: Activity description.
38734    :type description: str
38735    :param depends_on: Activity depends on condition.
38736    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
38737    :param user_properties: Activity user properties.
38738    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
38739    :param linked_service_name: Linked service reference.
38740    :type linked_service_name:
38741     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
38742    :param policy: Activity policy.
38743    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
38744    :param spark_job: Required. Synapse spark job reference.
38745    :type spark_job: ~azure.synapse.artifacts.v2021_06_01_preview.models.SynapseSparkJobReference
38746    :param arguments: User specified arguments to SynapseSparkJobDefinitionActivity.
38747    :type arguments: list[any]
38748    """
38749
38750    _validation = {
38751        'name': {'required': True},
38752        'type': {'required': True},
38753        'spark_job': {'required': True},
38754    }
38755
38756    _attribute_map = {
38757        'additional_properties': {'key': '', 'type': '{object}'},
38758        'name': {'key': 'name', 'type': 'str'},
38759        'type': {'key': 'type', 'type': 'str'},
38760        'description': {'key': 'description', 'type': 'str'},
38761        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
38762        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
38763        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
38764        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
38765        'spark_job': {'key': 'typeProperties.sparkJob', 'type': 'SynapseSparkJobReference'},
38766        'arguments': {'key': 'typeProperties.args', 'type': '[object]'},
38767    }
38768
38769    def __init__(
38770        self,
38771        *,
38772        name: str,
38773        spark_job: "SynapseSparkJobReference",
38774        additional_properties: Optional[Dict[str, Any]] = None,
38775        description: Optional[str] = None,
38776        depends_on: Optional[List["ActivityDependency"]] = None,
38777        user_properties: Optional[List["UserProperty"]] = None,
38778        linked_service_name: Optional["LinkedServiceReference"] = None,
38779        policy: Optional["ActivityPolicy"] = None,
38780        arguments: Optional[List[Any]] = None,
38781        **kwargs
38782    ):
38783        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)
38784        self.type = 'SparkJob'  # type: str
38785        self.spark_job = spark_job
38786        self.arguments = arguments
38787
38788
38789class SynapseSparkJobReference(msrest.serialization.Model):
38790    """Synapse spark job reference type.
38791
38792    All required parameters must be populated in order to send to Azure.
38793
38794    :param type: Required. Synapse spark job reference type. Possible values include:
38795     "SparkJobDefinitionReference".
38796    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.SparkJobReferenceType
38797    :param reference_name: Required. Reference spark job name.
38798    :type reference_name: str
38799    """
38800
38801    _validation = {
38802        'type': {'required': True},
38803        'reference_name': {'required': True},
38804    }
38805
38806    _attribute_map = {
38807        'type': {'key': 'type', 'type': 'str'},
38808        'reference_name': {'key': 'referenceName', 'type': 'str'},
38809    }
38810
38811    def __init__(
38812        self,
38813        *,
38814        type: Union[str, "SparkJobReferenceType"],
38815        reference_name: str,
38816        **kwargs
38817    ):
38818        super(SynapseSparkJobReference, self).__init__(**kwargs)
38819        self.type = type
38820        self.reference_name = reference_name
38821
38822
38823class TabularTranslator(CopyTranslator):
38824    """A copy activity tabular translator.
38825
38826    All required parameters must be populated in order to send to Azure.
38827
38828    :param additional_properties: Unmatched properties from the message are deserialized to this
38829     collection.
38830    :type additional_properties: dict[str, any]
38831    :param type: Required. Copy translator type.Constant filled by server.
38832    :type type: str
38833    :param column_mappings: Column mappings. Example: "UserId: MyUserId, Group: MyGroup, Name:
38834     MyName" Type: string (or Expression with resultType string). This property will be retired.
38835     Please use mappings property.
38836    :type column_mappings: any
38837    :param schema_mapping: The schema mapping to map between tabular data and hierarchical data.
38838     Example: {"Column1": "$.Column1", "Column2": "$.Column2.Property1", "Column3":
38839     "$.Column2.Property2"}. Type: object (or Expression with resultType object). This property will
38840     be retired. Please use mappings property.
38841    :type schema_mapping: any
38842    :param collection_reference: The JSON Path of the Nested Array that is going to do cross-apply.
38843     Type: object (or Expression with resultType object).
38844    :type collection_reference: any
38845    :param map_complex_values_to_string: Whether to map complex (array and object) values to simple
38846     strings in json format. Type: boolean (or Expression with resultType boolean).
38847    :type map_complex_values_to_string: any
38848    :param mappings: Column mappings with logical types. Tabular->tabular example:
38849     [{"source":{"name":"CustomerName","type":"String"},"sink":{"name":"ClientName","type":"String"}},{"source":{"name":"CustomerAddress","type":"String"},"sink":{"name":"ClientAddress","type":"String"}}].
38850     Hierarchical->tabular example:
38851     [{"source":{"path":"$.CustomerName","type":"String"},"sink":{"name":"ClientName","type":"String"}},{"source":{"path":"$.CustomerAddress","type":"String"},"sink":{"name":"ClientAddress","type":"String"}}].
38852     Type: object (or Expression with resultType object).
38853    :type mappings: any
38854    :param type_conversion: Whether to enable the advanced type conversion feature in the Copy
38855     activity. Type: boolean (or Expression with resultType boolean).
38856    :type type_conversion: any
38857    :param type_conversion_settings: Type conversion settings.
38858    :type type_conversion_settings:
38859     ~azure.synapse.artifacts.v2021_06_01_preview.models.TypeConversionSettings
38860    """
38861
38862    _validation = {
38863        'type': {'required': True},
38864    }
38865
38866    _attribute_map = {
38867        'additional_properties': {'key': '', 'type': '{object}'},
38868        'type': {'key': 'type', 'type': 'str'},
38869        'column_mappings': {'key': 'columnMappings', 'type': 'object'},
38870        'schema_mapping': {'key': 'schemaMapping', 'type': 'object'},
38871        'collection_reference': {'key': 'collectionReference', 'type': 'object'},
38872        'map_complex_values_to_string': {'key': 'mapComplexValuesToString', 'type': 'object'},
38873        'mappings': {'key': 'mappings', 'type': 'object'},
38874        'type_conversion': {'key': 'typeConversion', 'type': 'object'},
38875        'type_conversion_settings': {'key': 'typeConversionSettings', 'type': 'TypeConversionSettings'},
38876    }
38877
38878    def __init__(
38879        self,
38880        *,
38881        additional_properties: Optional[Dict[str, Any]] = None,
38882        column_mappings: Optional[Any] = None,
38883        schema_mapping: Optional[Any] = None,
38884        collection_reference: Optional[Any] = None,
38885        map_complex_values_to_string: Optional[Any] = None,
38886        mappings: Optional[Any] = None,
38887        type_conversion: Optional[Any] = None,
38888        type_conversion_settings: Optional["TypeConversionSettings"] = None,
38889        **kwargs
38890    ):
38891        super(TabularTranslator, self).__init__(additional_properties=additional_properties, **kwargs)
38892        self.type = 'TabularTranslator'  # type: str
38893        self.column_mappings = column_mappings
38894        self.schema_mapping = schema_mapping
38895        self.collection_reference = collection_reference
38896        self.map_complex_values_to_string = map_complex_values_to_string
38897        self.mappings = mappings
38898        self.type_conversion = type_conversion
38899        self.type_conversion_settings = type_conversion_settings
38900
38901
38902class TarGZipReadSettings(CompressionReadSettings):
38903    """The TarGZip compression read settings.
38904
38905    All required parameters must be populated in order to send to Azure.
38906
38907    :param additional_properties: Unmatched properties from the message are deserialized to this
38908     collection.
38909    :type additional_properties: dict[str, any]
38910    :param type: Required. The Compression setting type.Constant filled by server.
38911    :type type: str
38912    :param preserve_compression_file_name_as_folder: Preserve the compression file name as folder
38913     path. Type: boolean (or Expression with resultType boolean).
38914    :type preserve_compression_file_name_as_folder: any
38915    """
38916
38917    _validation = {
38918        'type': {'required': True},
38919    }
38920
38921    _attribute_map = {
38922        'additional_properties': {'key': '', 'type': '{object}'},
38923        'type': {'key': 'type', 'type': 'str'},
38924        'preserve_compression_file_name_as_folder': {'key': 'preserveCompressionFileNameAsFolder', 'type': 'object'},
38925    }
38926
38927    def __init__(
38928        self,
38929        *,
38930        additional_properties: Optional[Dict[str, Any]] = None,
38931        preserve_compression_file_name_as_folder: Optional[Any] = None,
38932        **kwargs
38933    ):
38934        super(TarGZipReadSettings, self).__init__(additional_properties=additional_properties, **kwargs)
38935        self.type = 'TarGZipReadSettings'  # type: str
38936        self.preserve_compression_file_name_as_folder = preserve_compression_file_name_as_folder
38937
38938
38939class TarReadSettings(CompressionReadSettings):
38940    """The Tar compression read settings.
38941
38942    All required parameters must be populated in order to send to Azure.
38943
38944    :param additional_properties: Unmatched properties from the message are deserialized to this
38945     collection.
38946    :type additional_properties: dict[str, any]
38947    :param type: Required. The Compression setting type.Constant filled by server.
38948    :type type: str
38949    :param preserve_compression_file_name_as_folder: Preserve the compression file name as folder
38950     path. Type: boolean (or Expression with resultType boolean).
38951    :type preserve_compression_file_name_as_folder: any
38952    """
38953
38954    _validation = {
38955        'type': {'required': True},
38956    }
38957
38958    _attribute_map = {
38959        'additional_properties': {'key': '', 'type': '{object}'},
38960        'type': {'key': 'type', 'type': 'str'},
38961        'preserve_compression_file_name_as_folder': {'key': 'preserveCompressionFileNameAsFolder', 'type': 'object'},
38962    }
38963
38964    def __init__(
38965        self,
38966        *,
38967        additional_properties: Optional[Dict[str, Any]] = None,
38968        preserve_compression_file_name_as_folder: Optional[Any] = None,
38969        **kwargs
38970    ):
38971        super(TarReadSettings, self).__init__(additional_properties=additional_properties, **kwargs)
38972        self.type = 'TarReadSettings'  # type: str
38973        self.preserve_compression_file_name_as_folder = preserve_compression_file_name_as_folder
38974
38975
38976class TeradataLinkedService(LinkedService):
38977    """Linked service for Teradata data source.
38978
38979    All required parameters must be populated in order to send to Azure.
38980
38981    :param additional_properties: Unmatched properties from the message are deserialized to this
38982     collection.
38983    :type additional_properties: dict[str, any]
38984    :param type: Required. Type of linked service.Constant filled by server.
38985    :type type: str
38986    :param connect_via: The integration runtime reference.
38987    :type connect_via:
38988     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
38989    :param description: Linked service description.
38990    :type description: str
38991    :param parameters: Parameters for linked service.
38992    :type parameters: dict[str,
38993     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
38994    :param annotations: List of tags that can be used for describing the linked service.
38995    :type annotations: list[any]
38996    :param connection_string: Teradata ODBC connection string. Type: string, SecureString or
38997     AzureKeyVaultSecretReference.
38998    :type connection_string: any
38999    :param server: Server name for connection. Type: string (or Expression with resultType string).
39000    :type server: any
39001    :param authentication_type: AuthenticationType to be used for connection. Possible values
39002     include: "Basic", "Windows".
39003    :type authentication_type: str or
39004     ~azure.synapse.artifacts.v2021_06_01_preview.models.TeradataAuthenticationType
39005    :param username: Username for authentication. Type: string (or Expression with resultType
39006     string).
39007    :type username: any
39008    :param password: Password for authentication.
39009    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
39010    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
39011     encrypted using the integration runtime credential manager. Type: string (or Expression with
39012     resultType string).
39013    :type encrypted_credential: any
39014    """
39015
39016    _validation = {
39017        'type': {'required': True},
39018    }
39019
39020    _attribute_map = {
39021        'additional_properties': {'key': '', 'type': '{object}'},
39022        'type': {'key': 'type', 'type': 'str'},
39023        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
39024        'description': {'key': 'description', 'type': 'str'},
39025        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
39026        'annotations': {'key': 'annotations', 'type': '[object]'},
39027        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
39028        'server': {'key': 'typeProperties.server', 'type': 'object'},
39029        'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'},
39030        'username': {'key': 'typeProperties.username', 'type': 'object'},
39031        'password': {'key': 'typeProperties.password', 'type': 'SecretBase'},
39032        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
39033    }
39034
39035    def __init__(
39036        self,
39037        *,
39038        additional_properties: Optional[Dict[str, Any]] = None,
39039        connect_via: Optional["IntegrationRuntimeReference"] = None,
39040        description: Optional[str] = None,
39041        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
39042        annotations: Optional[List[Any]] = None,
39043        connection_string: Optional[Any] = None,
39044        server: Optional[Any] = None,
39045        authentication_type: Optional[Union[str, "TeradataAuthenticationType"]] = None,
39046        username: Optional[Any] = None,
39047        password: Optional["SecretBase"] = None,
39048        encrypted_credential: Optional[Any] = None,
39049        **kwargs
39050    ):
39051        super(TeradataLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
39052        self.type = 'Teradata'  # type: str
39053        self.connection_string = connection_string
39054        self.server = server
39055        self.authentication_type = authentication_type
39056        self.username = username
39057        self.password = password
39058        self.encrypted_credential = encrypted_credential
39059
39060
39061class TeradataPartitionSettings(msrest.serialization.Model):
39062    """The settings that will be leveraged for teradata source partitioning.
39063
39064    :param partition_column_name: The name of the column that will be used for proceeding range or
39065     hash partitioning. Type: string (or Expression with resultType string).
39066    :type partition_column_name: any
39067    :param partition_upper_bound: The maximum value of column specified in partitionColumnName that
39068     will be used for proceeding range partitioning. Type: string (or Expression with resultType
39069     string).
39070    :type partition_upper_bound: any
39071    :param partition_lower_bound: The minimum value of column specified in partitionColumnName that
39072     will be used for proceeding range partitioning. Type: string (or Expression with resultType
39073     string).
39074    :type partition_lower_bound: any
39075    """
39076
39077    _attribute_map = {
39078        'partition_column_name': {'key': 'partitionColumnName', 'type': 'object'},
39079        'partition_upper_bound': {'key': 'partitionUpperBound', 'type': 'object'},
39080        'partition_lower_bound': {'key': 'partitionLowerBound', 'type': 'object'},
39081    }
39082
39083    def __init__(
39084        self,
39085        *,
39086        partition_column_name: Optional[Any] = None,
39087        partition_upper_bound: Optional[Any] = None,
39088        partition_lower_bound: Optional[Any] = None,
39089        **kwargs
39090    ):
39091        super(TeradataPartitionSettings, self).__init__(**kwargs)
39092        self.partition_column_name = partition_column_name
39093        self.partition_upper_bound = partition_upper_bound
39094        self.partition_lower_bound = partition_lower_bound
39095
39096
39097class TeradataSource(TabularSource):
39098    """A copy activity Teradata source.
39099
39100    All required parameters must be populated in order to send to Azure.
39101
39102    :param additional_properties: Unmatched properties from the message are deserialized to this
39103     collection.
39104    :type additional_properties: dict[str, any]
39105    :param type: Required. Copy source type.Constant filled by server.
39106    :type type: str
39107    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
39108     integer).
39109    :type source_retry_count: any
39110    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
39111     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
39112    :type source_retry_wait: any
39113    :param max_concurrent_connections: The maximum concurrent connection count for the source data
39114     store. Type: integer (or Expression with resultType integer).
39115    :type max_concurrent_connections: any
39116    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
39117     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
39118    :type query_timeout: any
39119    :param additional_columns: Specifies the additional columns to be added to source data. Type:
39120     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
39121    :type additional_columns: any
39122    :param query: Teradata query. Type: string (or Expression with resultType string).
39123    :type query: any
39124    :param partition_option: The partition mechanism that will be used for teradata read in
39125     parallel. Possible values include: "None", "Hash", "DynamicRange".
39126    :type partition_option: str or
39127     ~azure.synapse.artifacts.v2021_06_01_preview.models.TeradataPartitionOption
39128    :param partition_settings: The settings that will be leveraged for teradata source
39129     partitioning.
39130    :type partition_settings:
39131     ~azure.synapse.artifacts.v2021_06_01_preview.models.TeradataPartitionSettings
39132    """
39133
39134    _validation = {
39135        'type': {'required': True},
39136    }
39137
39138    _attribute_map = {
39139        'additional_properties': {'key': '', 'type': '{object}'},
39140        'type': {'key': 'type', 'type': 'str'},
39141        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
39142        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
39143        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
39144        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
39145        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
39146        'query': {'key': 'query', 'type': 'object'},
39147        'partition_option': {'key': 'partitionOption', 'type': 'str'},
39148        'partition_settings': {'key': 'partitionSettings', 'type': 'TeradataPartitionSettings'},
39149    }
39150
39151    def __init__(
39152        self,
39153        *,
39154        additional_properties: Optional[Dict[str, Any]] = None,
39155        source_retry_count: Optional[Any] = None,
39156        source_retry_wait: Optional[Any] = None,
39157        max_concurrent_connections: Optional[Any] = None,
39158        query_timeout: Optional[Any] = None,
39159        additional_columns: Optional[Any] = None,
39160        query: Optional[Any] = None,
39161        partition_option: Optional[Union[str, "TeradataPartitionOption"]] = None,
39162        partition_settings: Optional["TeradataPartitionSettings"] = None,
39163        **kwargs
39164    ):
39165        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)
39166        self.type = 'TeradataSource'  # type: str
39167        self.query = query
39168        self.partition_option = partition_option
39169        self.partition_settings = partition_settings
39170
39171
39172class TeradataTableDataset(Dataset):
39173    """The Teradata database dataset.
39174
39175    All required parameters must be populated in order to send to Azure.
39176
39177    :param additional_properties: Unmatched properties from the message are deserialized to this
39178     collection.
39179    :type additional_properties: dict[str, any]
39180    :param type: Required. Type of dataset.Constant filled by server.
39181    :type type: str
39182    :param description: Dataset description.
39183    :type description: str
39184    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
39185     with resultType array), itemType: DatasetDataElement.
39186    :type structure: any
39187    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
39188     Expression with resultType array), itemType: DatasetSchemaDataElement.
39189    :type schema: any
39190    :param linked_service_name: Required. Linked service reference.
39191    :type linked_service_name:
39192     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
39193    :param parameters: Parameters for dataset.
39194    :type parameters: dict[str,
39195     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
39196    :param annotations: List of tags that can be used for describing the Dataset.
39197    :type annotations: list[any]
39198    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
39199     root level.
39200    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
39201    :param database: The database name of Teradata. Type: string (or Expression with resultType
39202     string).
39203    :type database: any
39204    :param table: The table name of Teradata. Type: string (or Expression with resultType string).
39205    :type table: any
39206    """
39207
39208    _validation = {
39209        'type': {'required': True},
39210        'linked_service_name': {'required': True},
39211    }
39212
39213    _attribute_map = {
39214        'additional_properties': {'key': '', 'type': '{object}'},
39215        'type': {'key': 'type', 'type': 'str'},
39216        'description': {'key': 'description', 'type': 'str'},
39217        'structure': {'key': 'structure', 'type': 'object'},
39218        'schema': {'key': 'schema', 'type': 'object'},
39219        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
39220        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
39221        'annotations': {'key': 'annotations', 'type': '[object]'},
39222        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
39223        'database': {'key': 'typeProperties.database', 'type': 'object'},
39224        'table': {'key': 'typeProperties.table', 'type': 'object'},
39225    }
39226
39227    def __init__(
39228        self,
39229        *,
39230        linked_service_name: "LinkedServiceReference",
39231        additional_properties: Optional[Dict[str, Any]] = None,
39232        description: Optional[str] = None,
39233        structure: Optional[Any] = None,
39234        schema: Optional[Any] = None,
39235        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
39236        annotations: Optional[List[Any]] = None,
39237        folder: Optional["DatasetFolder"] = None,
39238        database: Optional[Any] = None,
39239        table: Optional[Any] = None,
39240        **kwargs
39241    ):
39242        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)
39243        self.type = 'TeradataTable'  # type: str
39244        self.database = database
39245        self.table = table
39246
39247
39248class TextFormat(DatasetStorageFormat):
39249    """The data stored in text format.
39250
39251    All required parameters must be populated in order to send to Azure.
39252
39253    :param additional_properties: Unmatched properties from the message are deserialized to this
39254     collection.
39255    :type additional_properties: dict[str, any]
39256    :param type: Required. Type of dataset storage format.Constant filled by server.
39257    :type type: str
39258    :param serializer: Serializer. Type: string (or Expression with resultType string).
39259    :type serializer: any
39260    :param deserializer: Deserializer. Type: string (or Expression with resultType string).
39261    :type deserializer: any
39262    :param column_delimiter: The column delimiter. Type: string (or Expression with resultType
39263     string).
39264    :type column_delimiter: any
39265    :param row_delimiter: The row delimiter. Type: string (or Expression with resultType string).
39266    :type row_delimiter: any
39267    :param escape_char: The escape character. Type: string (or Expression with resultType string).
39268    :type escape_char: any
39269    :param quote_char: The quote character. Type: string (or Expression with resultType string).
39270    :type quote_char: any
39271    :param null_value: The null value string. Type: string (or Expression with resultType string).
39272    :type null_value: any
39273    :param encoding_name: The code page name of the preferred encoding. If miss, the default value
39274     is ΓÇ£utf-8ΓÇ¥, unless BOM denotes another Unicode encoding. Refer to the ΓÇ£NameΓÇ¥ column of
39275     the table in the following link to set supported values:
39276     https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with
39277     resultType string).
39278    :type encoding_name: any
39279    :param treat_empty_as_null: Treat empty column values in the text file as null. The default
39280     value is true. Type: boolean (or Expression with resultType boolean).
39281    :type treat_empty_as_null: any
39282    :param skip_line_count: The number of lines/rows to be skipped when parsing text files. The
39283     default value is 0. Type: integer (or Expression with resultType integer).
39284    :type skip_line_count: any
39285    :param first_row_as_header: When used as input, treat the first row of data as headers. When
39286     used as output,write the headers into the output as the first row of data. The default value is
39287     false. Type: boolean (or Expression with resultType boolean).
39288    :type first_row_as_header: any
39289    """
39290
39291    _validation = {
39292        'type': {'required': True},
39293    }
39294
39295    _attribute_map = {
39296        'additional_properties': {'key': '', 'type': '{object}'},
39297        'type': {'key': 'type', 'type': 'str'},
39298        'serializer': {'key': 'serializer', 'type': 'object'},
39299        'deserializer': {'key': 'deserializer', 'type': 'object'},
39300        'column_delimiter': {'key': 'columnDelimiter', 'type': 'object'},
39301        'row_delimiter': {'key': 'rowDelimiter', 'type': 'object'},
39302        'escape_char': {'key': 'escapeChar', 'type': 'object'},
39303        'quote_char': {'key': 'quoteChar', 'type': 'object'},
39304        'null_value': {'key': 'nullValue', 'type': 'object'},
39305        'encoding_name': {'key': 'encodingName', 'type': 'object'},
39306        'treat_empty_as_null': {'key': 'treatEmptyAsNull', 'type': 'object'},
39307        'skip_line_count': {'key': 'skipLineCount', 'type': 'object'},
39308        'first_row_as_header': {'key': 'firstRowAsHeader', 'type': 'object'},
39309    }
39310
39311    def __init__(
39312        self,
39313        *,
39314        additional_properties: Optional[Dict[str, Any]] = None,
39315        serializer: Optional[Any] = None,
39316        deserializer: Optional[Any] = None,
39317        column_delimiter: Optional[Any] = None,
39318        row_delimiter: Optional[Any] = None,
39319        escape_char: Optional[Any] = None,
39320        quote_char: Optional[Any] = None,
39321        null_value: Optional[Any] = None,
39322        encoding_name: Optional[Any] = None,
39323        treat_empty_as_null: Optional[Any] = None,
39324        skip_line_count: Optional[Any] = None,
39325        first_row_as_header: Optional[Any] = None,
39326        **kwargs
39327    ):
39328        super(TextFormat, self).__init__(additional_properties=additional_properties, serializer=serializer, deserializer=deserializer, **kwargs)
39329        self.type = 'TextFormat'  # type: str
39330        self.column_delimiter = column_delimiter
39331        self.row_delimiter = row_delimiter
39332        self.escape_char = escape_char
39333        self.quote_char = quote_char
39334        self.null_value = null_value
39335        self.encoding_name = encoding_name
39336        self.treat_empty_as_null = treat_empty_as_null
39337        self.skip_line_count = skip_line_count
39338        self.first_row_as_header = first_row_as_header
39339
39340
39341class TriggerDependencyProvisioningStatus(msrest.serialization.Model):
39342    """Defines the response of a provision trigger dependency operation.
39343
39344    All required parameters must be populated in order to send to Azure.
39345
39346    :param trigger_name: Required. Trigger name.
39347    :type trigger_name: str
39348    :param provisioning_status: Required. Provisioning status.
39349    :type provisioning_status: str
39350    """
39351
39352    _validation = {
39353        'trigger_name': {'required': True},
39354        'provisioning_status': {'required': True},
39355    }
39356
39357    _attribute_map = {
39358        'trigger_name': {'key': 'triggerName', 'type': 'str'},
39359        'provisioning_status': {'key': 'provisioningStatus', 'type': 'str'},
39360    }
39361
39362    def __init__(
39363        self,
39364        *,
39365        trigger_name: str,
39366        provisioning_status: str,
39367        **kwargs
39368    ):
39369        super(TriggerDependencyProvisioningStatus, self).__init__(**kwargs)
39370        self.trigger_name = trigger_name
39371        self.provisioning_status = provisioning_status
39372
39373
39374class TriggerDependencyReference(DependencyReference):
39375    """Trigger referenced dependency.
39376
39377    You probably want to use the sub-classes and not this class directly. Known
39378    sub-classes are: TumblingWindowTriggerDependencyReference.
39379
39380    All required parameters must be populated in order to send to Azure.
39381
39382    :param type: Required. The type of dependency reference.Constant filled by server.
39383    :type type: str
39384    :param reference_trigger: Required. Referenced trigger.
39385    :type reference_trigger: ~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerReference
39386    """
39387
39388    _validation = {
39389        'type': {'required': True},
39390        'reference_trigger': {'required': True},
39391    }
39392
39393    _attribute_map = {
39394        'type': {'key': 'type', 'type': 'str'},
39395        'reference_trigger': {'key': 'referenceTrigger', 'type': 'TriggerReference'},
39396    }
39397
39398    _subtype_map = {
39399        'type': {'TumblingWindowTriggerDependencyReference': 'TumblingWindowTriggerDependencyReference'}
39400    }
39401
39402    def __init__(
39403        self,
39404        *,
39405        reference_trigger: "TriggerReference",
39406        **kwargs
39407    ):
39408        super(TriggerDependencyReference, self).__init__(**kwargs)
39409        self.type = 'TriggerDependencyReference'  # type: str
39410        self.reference_trigger = reference_trigger
39411
39412
39413class TriggerListResponse(msrest.serialization.Model):
39414    """A list of trigger resources.
39415
39416    All required parameters must be populated in order to send to Azure.
39417
39418    :param value: Required. List of triggers.
39419    :type value: list[~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerResource]
39420    :param next_link: The link to the next page of results, if any remaining results exist.
39421    :type next_link: str
39422    """
39423
39424    _validation = {
39425        'value': {'required': True},
39426    }
39427
39428    _attribute_map = {
39429        'value': {'key': 'value', 'type': '[TriggerResource]'},
39430        'next_link': {'key': 'nextLink', 'type': 'str'},
39431    }
39432
39433    def __init__(
39434        self,
39435        *,
39436        value: List["TriggerResource"],
39437        next_link: Optional[str] = None,
39438        **kwargs
39439    ):
39440        super(TriggerListResponse, self).__init__(**kwargs)
39441        self.value = value
39442        self.next_link = next_link
39443
39444
39445class TriggerPipelineReference(msrest.serialization.Model):
39446    """Pipeline that needs to be triggered with the given parameters.
39447
39448    :param pipeline_reference: Pipeline reference.
39449    :type pipeline_reference: ~azure.synapse.artifacts.v2021_06_01_preview.models.PipelineReference
39450    :param parameters: Pipeline parameters.
39451    :type parameters: dict[str, any]
39452    """
39453
39454    _attribute_map = {
39455        'pipeline_reference': {'key': 'pipelineReference', 'type': 'PipelineReference'},
39456        'parameters': {'key': 'parameters', 'type': '{object}'},
39457    }
39458
39459    def __init__(
39460        self,
39461        *,
39462        pipeline_reference: Optional["PipelineReference"] = None,
39463        parameters: Optional[Dict[str, Any]] = None,
39464        **kwargs
39465    ):
39466        super(TriggerPipelineReference, self).__init__(**kwargs)
39467        self.pipeline_reference = pipeline_reference
39468        self.parameters = parameters
39469
39470
39471class TriggerReference(msrest.serialization.Model):
39472    """Trigger reference type.
39473
39474    All required parameters must be populated in order to send to Azure.
39475
39476    :param type: Required. Trigger reference type. Possible values include: "TriggerReference".
39477    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerReferenceType
39478    :param reference_name: Required. Reference trigger name.
39479    :type reference_name: str
39480    """
39481
39482    _validation = {
39483        'type': {'required': True},
39484        'reference_name': {'required': True},
39485    }
39486
39487    _attribute_map = {
39488        'type': {'key': 'type', 'type': 'str'},
39489        'reference_name': {'key': 'referenceName', 'type': 'str'},
39490    }
39491
39492    def __init__(
39493        self,
39494        *,
39495        type: Union[str, "TriggerReferenceType"],
39496        reference_name: str,
39497        **kwargs
39498    ):
39499        super(TriggerReference, self).__init__(**kwargs)
39500        self.type = type
39501        self.reference_name = reference_name
39502
39503
39504class TriggerResource(SubResource):
39505    """Trigger resource type.
39506
39507    Variables are only populated by the server, and will be ignored when sending a request.
39508
39509    All required parameters must be populated in order to send to Azure.
39510
39511    :ivar id: Fully qualified resource ID for the resource. Ex -
39512     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
39513    :vartype id: str
39514    :ivar name: The name of the resource.
39515    :vartype name: str
39516    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
39517     "Microsoft.Storage/storageAccounts".
39518    :vartype type: str
39519    :ivar etag: Resource Etag.
39520    :vartype etag: str
39521    :param properties: Required. Properties of the trigger.
39522    :type properties: ~azure.synapse.artifacts.v2021_06_01_preview.models.Trigger
39523    """
39524
39525    _validation = {
39526        'id': {'readonly': True},
39527        'name': {'readonly': True},
39528        'type': {'readonly': True},
39529        'etag': {'readonly': True},
39530        'properties': {'required': True},
39531    }
39532
39533    _attribute_map = {
39534        'id': {'key': 'id', 'type': 'str'},
39535        'name': {'key': 'name', 'type': 'str'},
39536        'type': {'key': 'type', 'type': 'str'},
39537        'etag': {'key': 'etag', 'type': 'str'},
39538        'properties': {'key': 'properties', 'type': 'Trigger'},
39539    }
39540
39541    def __init__(
39542        self,
39543        *,
39544        properties: "Trigger",
39545        **kwargs
39546    ):
39547        super(TriggerResource, self).__init__(**kwargs)
39548        self.properties = properties
39549
39550
39551class TriggerRun(msrest.serialization.Model):
39552    """Trigger runs.
39553
39554    Variables are only populated by the server, and will be ignored when sending a request.
39555
39556    :param additional_properties: Unmatched properties from the message are deserialized to this
39557     collection.
39558    :type additional_properties: dict[str, any]
39559    :ivar trigger_run_id: Trigger run id.
39560    :vartype trigger_run_id: str
39561    :ivar trigger_name: Trigger name.
39562    :vartype trigger_name: str
39563    :ivar trigger_type: Trigger type.
39564    :vartype trigger_type: str
39565    :ivar trigger_run_timestamp: Trigger run start time.
39566    :vartype trigger_run_timestamp: ~datetime.datetime
39567    :ivar status: Trigger run status. Possible values include: "Succeeded", "Failed", "Inprogress".
39568    :vartype status: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerRunStatus
39569    :ivar message: Trigger error message.
39570    :vartype message: str
39571    :ivar properties: List of property name and value related to trigger run. Name, value pair
39572     depends on type of trigger.
39573    :vartype properties: dict[str, str]
39574    :ivar triggered_pipelines: List of pipeline name and run Id triggered by the trigger run.
39575    :vartype triggered_pipelines: dict[str, str]
39576    """
39577
39578    _validation = {
39579        'trigger_run_id': {'readonly': True},
39580        'trigger_name': {'readonly': True},
39581        'trigger_type': {'readonly': True},
39582        'trigger_run_timestamp': {'readonly': True},
39583        'status': {'readonly': True},
39584        'message': {'readonly': True},
39585        'properties': {'readonly': True},
39586        'triggered_pipelines': {'readonly': True},
39587    }
39588
39589    _attribute_map = {
39590        'additional_properties': {'key': '', 'type': '{object}'},
39591        'trigger_run_id': {'key': 'triggerRunId', 'type': 'str'},
39592        'trigger_name': {'key': 'triggerName', 'type': 'str'},
39593        'trigger_type': {'key': 'triggerType', 'type': 'str'},
39594        'trigger_run_timestamp': {'key': 'triggerRunTimestamp', 'type': 'iso-8601'},
39595        'status': {'key': 'status', 'type': 'str'},
39596        'message': {'key': 'message', 'type': 'str'},
39597        'properties': {'key': 'properties', 'type': '{str}'},
39598        'triggered_pipelines': {'key': 'triggeredPipelines', 'type': '{str}'},
39599    }
39600
39601    def __init__(
39602        self,
39603        *,
39604        additional_properties: Optional[Dict[str, Any]] = None,
39605        **kwargs
39606    ):
39607        super(TriggerRun, self).__init__(**kwargs)
39608        self.additional_properties = additional_properties
39609        self.trigger_run_id = None
39610        self.trigger_name = None
39611        self.trigger_type = None
39612        self.trigger_run_timestamp = None
39613        self.status = None
39614        self.message = None
39615        self.properties = None
39616        self.triggered_pipelines = None
39617
39618
39619class TriggerRunsQueryResponse(msrest.serialization.Model):
39620    """A list of trigger runs.
39621
39622    All required parameters must be populated in order to send to Azure.
39623
39624    :param value: Required. List of trigger runs.
39625    :type value: list[~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerRun]
39626    :param continuation_token: The continuation token for getting the next page of results, if any
39627     remaining results exist, null otherwise.
39628    :type continuation_token: str
39629    """
39630
39631    _validation = {
39632        'value': {'required': True},
39633    }
39634
39635    _attribute_map = {
39636        'value': {'key': 'value', 'type': '[TriggerRun]'},
39637        'continuation_token': {'key': 'continuationToken', 'type': 'str'},
39638    }
39639
39640    def __init__(
39641        self,
39642        *,
39643        value: List["TriggerRun"],
39644        continuation_token: Optional[str] = None,
39645        **kwargs
39646    ):
39647        super(TriggerRunsQueryResponse, self).__init__(**kwargs)
39648        self.value = value
39649        self.continuation_token = continuation_token
39650
39651
39652class TriggerSubscriptionOperationStatus(msrest.serialization.Model):
39653    """Defines the response of a trigger subscription operation.
39654
39655    Variables are only populated by the server, and will be ignored when sending a request.
39656
39657    :ivar trigger_name: Trigger name.
39658    :vartype trigger_name: str
39659    :ivar status: Event Subscription Status. Possible values include: "Enabled", "Provisioning",
39660     "Deprovisioning", "Disabled", "Unknown".
39661    :vartype status: str or
39662     ~azure.synapse.artifacts.v2021_06_01_preview.models.EventSubscriptionStatus
39663    """
39664
39665    _validation = {
39666        'trigger_name': {'readonly': True},
39667        'status': {'readonly': True},
39668    }
39669
39670    _attribute_map = {
39671        'trigger_name': {'key': 'triggerName', 'type': 'str'},
39672        'status': {'key': 'status', 'type': 'str'},
39673    }
39674
39675    def __init__(
39676        self,
39677        **kwargs
39678    ):
39679        super(TriggerSubscriptionOperationStatus, self).__init__(**kwargs)
39680        self.trigger_name = None
39681        self.status = None
39682
39683
39684class TumblingWindowTrigger(Trigger):
39685    """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).
39686
39687    Variables are only populated by the server, and will be ignored when sending a request.
39688
39689    All required parameters must be populated in order to send to Azure.
39690
39691    :param additional_properties: Unmatched properties from the message are deserialized to this
39692     collection.
39693    :type additional_properties: dict[str, any]
39694    :param type: Required. Trigger type.Constant filled by server.
39695    :type type: str
39696    :param description: Trigger description.
39697    :type description: str
39698    :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are
39699     called on the Trigger. Possible values include: "Started", "Stopped", "Disabled".
39700    :vartype runtime_state: str or
39701     ~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerRuntimeState
39702    :param annotations: List of tags that can be used for describing the trigger.
39703    :type annotations: list[any]
39704    :param pipeline: Required. Pipeline for which runs are created when an event is fired for
39705     trigger window that is ready.
39706    :type pipeline: ~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerPipelineReference
39707    :param frequency: Required. The frequency of the time windows. Possible values include:
39708     "Minute", "Hour", "Month".
39709    :type frequency: str or
39710     ~azure.synapse.artifacts.v2021_06_01_preview.models.TumblingWindowFrequency
39711    :param interval: Required. The interval of the time windows. The minimum interval allowed is 15
39712     Minutes.
39713    :type interval: int
39714    :param start_time: Required. The start time for the time period for the trigger during which
39715     events are fired for windows that are ready. Only UTC time is currently supported.
39716    :type start_time: ~datetime.datetime
39717    :param end_time: The end time for the time period for the trigger during which events are fired
39718     for windows that are ready. Only UTC time is currently supported.
39719    :type end_time: ~datetime.datetime
39720    :param delay: Specifies how long the trigger waits past due time before triggering new run. It
39721     doesn't alter window start and end time. The default is 0. Type: string (or Expression with
39722     resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
39723    :type delay: any
39724    :param max_concurrency: Required. The max number of parallel time windows (ready for execution)
39725     for which a new run is triggered.
39726    :type max_concurrency: int
39727    :param retry_policy: Retry policy that will be applied for failed pipeline runs.
39728    :type retry_policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.RetryPolicy
39729    :param depends_on: Triggers that this trigger depends on. Only tumbling window triggers are
39730     supported.
39731    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.DependencyReference]
39732    """
39733
39734    _validation = {
39735        'type': {'required': True},
39736        'runtime_state': {'readonly': True},
39737        'pipeline': {'required': True},
39738        'frequency': {'required': True},
39739        'interval': {'required': True},
39740        'start_time': {'required': True},
39741        'max_concurrency': {'required': True, 'maximum': 50, 'minimum': 1},
39742    }
39743
39744    _attribute_map = {
39745        'additional_properties': {'key': '', 'type': '{object}'},
39746        'type': {'key': 'type', 'type': 'str'},
39747        'description': {'key': 'description', 'type': 'str'},
39748        'runtime_state': {'key': 'runtimeState', 'type': 'str'},
39749        'annotations': {'key': 'annotations', 'type': '[object]'},
39750        'pipeline': {'key': 'pipeline', 'type': 'TriggerPipelineReference'},
39751        'frequency': {'key': 'typeProperties.frequency', 'type': 'str'},
39752        'interval': {'key': 'typeProperties.interval', 'type': 'int'},
39753        'start_time': {'key': 'typeProperties.startTime', 'type': 'iso-8601'},
39754        'end_time': {'key': 'typeProperties.endTime', 'type': 'iso-8601'},
39755        'delay': {'key': 'typeProperties.delay', 'type': 'object'},
39756        'max_concurrency': {'key': 'typeProperties.maxConcurrency', 'type': 'int'},
39757        'retry_policy': {'key': 'typeProperties.retryPolicy', 'type': 'RetryPolicy'},
39758        'depends_on': {'key': 'typeProperties.dependsOn', 'type': '[DependencyReference]'},
39759    }
39760
39761    def __init__(
39762        self,
39763        *,
39764        pipeline: "TriggerPipelineReference",
39765        frequency: Union[str, "TumblingWindowFrequency"],
39766        interval: int,
39767        start_time: datetime.datetime,
39768        max_concurrency: int,
39769        additional_properties: Optional[Dict[str, Any]] = None,
39770        description: Optional[str] = None,
39771        annotations: Optional[List[Any]] = None,
39772        end_time: Optional[datetime.datetime] = None,
39773        delay: Optional[Any] = None,
39774        retry_policy: Optional["RetryPolicy"] = None,
39775        depends_on: Optional[List["DependencyReference"]] = None,
39776        **kwargs
39777    ):
39778        super(TumblingWindowTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, **kwargs)
39779        self.type = 'TumblingWindowTrigger'  # type: str
39780        self.pipeline = pipeline
39781        self.frequency = frequency
39782        self.interval = interval
39783        self.start_time = start_time
39784        self.end_time = end_time
39785        self.delay = delay
39786        self.max_concurrency = max_concurrency
39787        self.retry_policy = retry_policy
39788        self.depends_on = depends_on
39789
39790
39791class TumblingWindowTriggerDependencyReference(TriggerDependencyReference):
39792    """Referenced tumbling window trigger dependency.
39793
39794    All required parameters must be populated in order to send to Azure.
39795
39796    :param type: Required. The type of dependency reference.Constant filled by server.
39797    :type type: str
39798    :param reference_trigger: Required. Referenced trigger.
39799    :type reference_trigger: ~azure.synapse.artifacts.v2021_06_01_preview.models.TriggerReference
39800    :param offset: Timespan applied to the start time of a tumbling window when evaluating
39801     dependency.
39802    :type offset: str
39803    :param size: The size of the window when evaluating the dependency. If undefined the frequency
39804     of the tumbling window will be used.
39805    :type size: str
39806    """
39807
39808    _validation = {
39809        'type': {'required': True},
39810        'reference_trigger': {'required': True},
39811        'offset': {'max_length': 15, 'min_length': 8, 'pattern': r'-?((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))'},
39812        'size': {'max_length': 15, 'min_length': 8, 'pattern': r'((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9]))'},
39813    }
39814
39815    _attribute_map = {
39816        'type': {'key': 'type', 'type': 'str'},
39817        'reference_trigger': {'key': 'referenceTrigger', 'type': 'TriggerReference'},
39818        'offset': {'key': 'offset', 'type': 'str'},
39819        'size': {'key': 'size', 'type': 'str'},
39820    }
39821
39822    def __init__(
39823        self,
39824        *,
39825        reference_trigger: "TriggerReference",
39826        offset: Optional[str] = None,
39827        size: Optional[str] = None,
39828        **kwargs
39829    ):
39830        super(TumblingWindowTriggerDependencyReference, self).__init__(reference_trigger=reference_trigger, **kwargs)
39831        self.type = 'TumblingWindowTriggerDependencyReference'  # type: str
39832        self.offset = offset
39833        self.size = size
39834
39835
39836class TypeConversionSettings(msrest.serialization.Model):
39837    """Type conversion settings.
39838
39839    :param allow_data_truncation: Whether to allow data truncation when converting the data. Type:
39840     boolean (or Expression with resultType boolean).
39841    :type allow_data_truncation: any
39842    :param treat_boolean_as_number: Whether to treat boolean values as numbers. Type: boolean (or
39843     Expression with resultType boolean).
39844    :type treat_boolean_as_number: any
39845    :param date_time_format: The format for DateTime values. Type: string (or Expression with
39846     resultType string).
39847    :type date_time_format: any
39848    :param date_time_offset_format: The format for DateTimeOffset values. Type: string (or
39849     Expression with resultType string).
39850    :type date_time_offset_format: any
39851    :param time_span_format: The format for TimeSpan values. Type: string (or Expression with
39852     resultType string).
39853    :type time_span_format: any
39854    :param culture: The culture used to convert data from/to string. Type: string (or Expression
39855     with resultType string).
39856    :type culture: any
39857    """
39858
39859    _attribute_map = {
39860        'allow_data_truncation': {'key': 'allowDataTruncation', 'type': 'object'},
39861        'treat_boolean_as_number': {'key': 'treatBooleanAsNumber', 'type': 'object'},
39862        'date_time_format': {'key': 'dateTimeFormat', 'type': 'object'},
39863        'date_time_offset_format': {'key': 'dateTimeOffsetFormat', 'type': 'object'},
39864        'time_span_format': {'key': 'timeSpanFormat', 'type': 'object'},
39865        'culture': {'key': 'culture', 'type': 'object'},
39866    }
39867
39868    def __init__(
39869        self,
39870        *,
39871        allow_data_truncation: Optional[Any] = None,
39872        treat_boolean_as_number: Optional[Any] = None,
39873        date_time_format: Optional[Any] = None,
39874        date_time_offset_format: Optional[Any] = None,
39875        time_span_format: Optional[Any] = None,
39876        culture: Optional[Any] = None,
39877        **kwargs
39878    ):
39879        super(TypeConversionSettings, self).__init__(**kwargs)
39880        self.allow_data_truncation = allow_data_truncation
39881        self.treat_boolean_as_number = treat_boolean_as_number
39882        self.date_time_format = date_time_format
39883        self.date_time_offset_format = date_time_offset_format
39884        self.time_span_format = time_span_format
39885        self.culture = culture
39886
39887
39888class UntilActivity(ControlActivity):
39889    """This activity executes inner activities until the specified boolean expression results to true or timeout is reached, whichever is earlier.
39890
39891    All required parameters must be populated in order to send to Azure.
39892
39893    :param additional_properties: Unmatched properties from the message are deserialized to this
39894     collection.
39895    :type additional_properties: dict[str, any]
39896    :param name: Required. Activity name.
39897    :type name: str
39898    :param type: Required. Type of activity.Constant filled by server.
39899    :type type: str
39900    :param description: Activity description.
39901    :type description: str
39902    :param depends_on: Activity depends on condition.
39903    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
39904    :param user_properties: Activity user properties.
39905    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
39906    :param expression: Required. An expression that would evaluate to Boolean. The loop will
39907     continue until this expression evaluates to true.
39908    :type expression: ~azure.synapse.artifacts.v2021_06_01_preview.models.Expression
39909    :param timeout: Specifies the timeout for the activity to run. If there is no value specified,
39910     it takes the value of TimeSpan.FromDays(7) which is 1 week as default. Type: string (or
39911     Expression with resultType string), pattern:
39912     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). Type: string (or Expression with
39913     resultType string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
39914    :type timeout: any
39915    :param activities: Required. List of activities to execute.
39916    :type activities: list[~azure.synapse.artifacts.v2021_06_01_preview.models.Activity]
39917    """
39918
39919    _validation = {
39920        'name': {'required': True},
39921        'type': {'required': True},
39922        'expression': {'required': True},
39923        'activities': {'required': True},
39924    }
39925
39926    _attribute_map = {
39927        'additional_properties': {'key': '', 'type': '{object}'},
39928        'name': {'key': 'name', 'type': 'str'},
39929        'type': {'key': 'type', 'type': 'str'},
39930        'description': {'key': 'description', 'type': 'str'},
39931        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
39932        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
39933        'expression': {'key': 'typeProperties.expression', 'type': 'Expression'},
39934        'timeout': {'key': 'typeProperties.timeout', 'type': 'object'},
39935        'activities': {'key': 'typeProperties.activities', 'type': '[Activity]'},
39936    }
39937
39938    def __init__(
39939        self,
39940        *,
39941        name: str,
39942        expression: "Expression",
39943        activities: List["Activity"],
39944        additional_properties: Optional[Dict[str, Any]] = None,
39945        description: Optional[str] = None,
39946        depends_on: Optional[List["ActivityDependency"]] = None,
39947        user_properties: Optional[List["UserProperty"]] = None,
39948        timeout: Optional[Any] = None,
39949        **kwargs
39950    ):
39951        super(UntilActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
39952        self.type = 'Until'  # type: str
39953        self.expression = expression
39954        self.timeout = timeout
39955        self.activities = activities
39956
39957
39958class UserProperty(msrest.serialization.Model):
39959    """User property.
39960
39961    All required parameters must be populated in order to send to Azure.
39962
39963    :param name: Required. User property name.
39964    :type name: str
39965    :param value: Required. User property value. Type: string (or Expression with resultType
39966     string).
39967    :type value: any
39968    """
39969
39970    _validation = {
39971        'name': {'required': True},
39972        'value': {'required': True},
39973    }
39974
39975    _attribute_map = {
39976        'name': {'key': 'name', 'type': 'str'},
39977        'value': {'key': 'value', 'type': 'object'},
39978    }
39979
39980    def __init__(
39981        self,
39982        *,
39983        name: str,
39984        value: Any,
39985        **kwargs
39986    ):
39987        super(UserProperty, self).__init__(**kwargs)
39988        self.name = name
39989        self.value = value
39990
39991
39992class ValidationActivity(ControlActivity):
39993    """This activity verifies that an external resource exists.
39994
39995    All required parameters must be populated in order to send to Azure.
39996
39997    :param additional_properties: Unmatched properties from the message are deserialized to this
39998     collection.
39999    :type additional_properties: dict[str, any]
40000    :param name: Required. Activity name.
40001    :type name: str
40002    :param type: Required. Type of activity.Constant filled by server.
40003    :type type: str
40004    :param description: Activity description.
40005    :type description: str
40006    :param depends_on: Activity depends on condition.
40007    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
40008    :param user_properties: Activity user properties.
40009    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
40010    :param timeout: Specifies the timeout for the activity to run. If there is no value specified,
40011     it takes the value of TimeSpan.FromDays(7) which is 1 week as default. Type: string (or
40012     Expression with resultType string), pattern:
40013     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
40014    :type timeout: any
40015    :param sleep: A delay in seconds between validation attempts. If no value is specified, 10
40016     seconds will be used as the default. Type: integer (or Expression with resultType integer).
40017    :type sleep: any
40018    :param minimum_size: Can be used if dataset points to a file. The file must be greater than or
40019     equal in size to the value specified. Type: integer (or Expression with resultType integer).
40020    :type minimum_size: any
40021    :param child_items: Can be used if dataset points to a folder. If set to true, the folder must
40022     have at least one file. If set to false, the folder must be empty. Type: boolean (or Expression
40023     with resultType boolean).
40024    :type child_items: any
40025    :param dataset: Required. Validation activity dataset reference.
40026    :type dataset: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetReference
40027    """
40028
40029    _validation = {
40030        'name': {'required': True},
40031        'type': {'required': True},
40032        'dataset': {'required': True},
40033    }
40034
40035    _attribute_map = {
40036        'additional_properties': {'key': '', 'type': '{object}'},
40037        'name': {'key': 'name', 'type': 'str'},
40038        'type': {'key': 'type', 'type': 'str'},
40039        'description': {'key': 'description', 'type': 'str'},
40040        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
40041        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
40042        'timeout': {'key': 'typeProperties.timeout', 'type': 'object'},
40043        'sleep': {'key': 'typeProperties.sleep', 'type': 'object'},
40044        'minimum_size': {'key': 'typeProperties.minimumSize', 'type': 'object'},
40045        'child_items': {'key': 'typeProperties.childItems', 'type': 'object'},
40046        'dataset': {'key': 'typeProperties.dataset', 'type': 'DatasetReference'},
40047    }
40048
40049    def __init__(
40050        self,
40051        *,
40052        name: str,
40053        dataset: "DatasetReference",
40054        additional_properties: Optional[Dict[str, Any]] = None,
40055        description: Optional[str] = None,
40056        depends_on: Optional[List["ActivityDependency"]] = None,
40057        user_properties: Optional[List["UserProperty"]] = None,
40058        timeout: Optional[Any] = None,
40059        sleep: Optional[Any] = None,
40060        minimum_size: Optional[Any] = None,
40061        child_items: Optional[Any] = None,
40062        **kwargs
40063    ):
40064        super(ValidationActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
40065        self.type = 'Validation'  # type: str
40066        self.timeout = timeout
40067        self.sleep = sleep
40068        self.minimum_size = minimum_size
40069        self.child_items = child_items
40070        self.dataset = dataset
40071
40072
40073class VariableSpecification(msrest.serialization.Model):
40074    """Definition of a single variable for a Pipeline.
40075
40076    All required parameters must be populated in order to send to Azure.
40077
40078    :param type: Required. Variable type. Possible values include: "String", "Bool", "Boolean",
40079     "Array".
40080    :type type: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.VariableType
40081    :param default_value: Default value of variable.
40082    :type default_value: any
40083    """
40084
40085    _validation = {
40086        'type': {'required': True},
40087    }
40088
40089    _attribute_map = {
40090        'type': {'key': 'type', 'type': 'str'},
40091        'default_value': {'key': 'defaultValue', 'type': 'object'},
40092    }
40093
40094    def __init__(
40095        self,
40096        *,
40097        type: Union[str, "VariableType"],
40098        default_value: Optional[Any] = None,
40099        **kwargs
40100    ):
40101        super(VariableSpecification, self).__init__(**kwargs)
40102        self.type = type
40103        self.default_value = default_value
40104
40105
40106class VerticaLinkedService(LinkedService):
40107    """Vertica linked service.
40108
40109    All required parameters must be populated in order to send to Azure.
40110
40111    :param additional_properties: Unmatched properties from the message are deserialized to this
40112     collection.
40113    :type additional_properties: dict[str, any]
40114    :param type: Required. Type of linked service.Constant filled by server.
40115    :type type: str
40116    :param connect_via: The integration runtime reference.
40117    :type connect_via:
40118     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
40119    :param description: Linked service description.
40120    :type description: str
40121    :param parameters: Parameters for linked service.
40122    :type parameters: dict[str,
40123     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
40124    :param annotations: List of tags that can be used for describing the linked service.
40125    :type annotations: list[any]
40126    :param connection_string: An ODBC connection string. Type: string, SecureString or
40127     AzureKeyVaultSecretReference.
40128    :type connection_string: any
40129    :param pwd: The Azure key vault secret reference of password in connection string.
40130    :type pwd: ~azure.synapse.artifacts.v2021_06_01_preview.models.AzureKeyVaultSecretReference
40131    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
40132     encrypted using the integration runtime credential manager. Type: string (or Expression with
40133     resultType string).
40134    :type encrypted_credential: any
40135    """
40136
40137    _validation = {
40138        'type': {'required': True},
40139    }
40140
40141    _attribute_map = {
40142        'additional_properties': {'key': '', 'type': '{object}'},
40143        'type': {'key': 'type', 'type': 'str'},
40144        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
40145        'description': {'key': 'description', 'type': 'str'},
40146        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
40147        'annotations': {'key': 'annotations', 'type': '[object]'},
40148        'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'},
40149        'pwd': {'key': 'typeProperties.pwd', 'type': 'AzureKeyVaultSecretReference'},
40150        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
40151    }
40152
40153    def __init__(
40154        self,
40155        *,
40156        additional_properties: Optional[Dict[str, Any]] = None,
40157        connect_via: Optional["IntegrationRuntimeReference"] = None,
40158        description: Optional[str] = None,
40159        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
40160        annotations: Optional[List[Any]] = None,
40161        connection_string: Optional[Any] = None,
40162        pwd: Optional["AzureKeyVaultSecretReference"] = None,
40163        encrypted_credential: Optional[Any] = None,
40164        **kwargs
40165    ):
40166        super(VerticaLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
40167        self.type = 'Vertica'  # type: str
40168        self.connection_string = connection_string
40169        self.pwd = pwd
40170        self.encrypted_credential = encrypted_credential
40171
40172
40173class VerticaSource(TabularSource):
40174    """A copy activity Vertica source.
40175
40176    All required parameters must be populated in order to send to Azure.
40177
40178    :param additional_properties: Unmatched properties from the message are deserialized to this
40179     collection.
40180    :type additional_properties: dict[str, any]
40181    :param type: Required. Copy source type.Constant filled by server.
40182    :type type: str
40183    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
40184     integer).
40185    :type source_retry_count: any
40186    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
40187     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
40188    :type source_retry_wait: any
40189    :param max_concurrent_connections: The maximum concurrent connection count for the source data
40190     store. Type: integer (or Expression with resultType integer).
40191    :type max_concurrent_connections: any
40192    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
40193     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
40194    :type query_timeout: any
40195    :param additional_columns: Specifies the additional columns to be added to source data. Type:
40196     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
40197    :type additional_columns: any
40198    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
40199     string).
40200    :type query: any
40201    """
40202
40203    _validation = {
40204        'type': {'required': True},
40205    }
40206
40207    _attribute_map = {
40208        'additional_properties': {'key': '', 'type': '{object}'},
40209        'type': {'key': 'type', 'type': 'str'},
40210        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
40211        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
40212        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
40213        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
40214        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
40215        'query': {'key': 'query', 'type': 'object'},
40216    }
40217
40218    def __init__(
40219        self,
40220        *,
40221        additional_properties: Optional[Dict[str, Any]] = None,
40222        source_retry_count: Optional[Any] = None,
40223        source_retry_wait: Optional[Any] = None,
40224        max_concurrent_connections: Optional[Any] = None,
40225        query_timeout: Optional[Any] = None,
40226        additional_columns: Optional[Any] = None,
40227        query: Optional[Any] = None,
40228        **kwargs
40229    ):
40230        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)
40231        self.type = 'VerticaSource'  # type: str
40232        self.query = query
40233
40234
40235class VerticaTableDataset(Dataset):
40236    """Vertica dataset.
40237
40238    All required parameters must be populated in order to send to Azure.
40239
40240    :param additional_properties: Unmatched properties from the message are deserialized to this
40241     collection.
40242    :type additional_properties: dict[str, any]
40243    :param type: Required. Type of dataset.Constant filled by server.
40244    :type type: str
40245    :param description: Dataset description.
40246    :type description: str
40247    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
40248     with resultType array), itemType: DatasetDataElement.
40249    :type structure: any
40250    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
40251     Expression with resultType array), itemType: DatasetSchemaDataElement.
40252    :type schema: any
40253    :param linked_service_name: Required. Linked service reference.
40254    :type linked_service_name:
40255     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
40256    :param parameters: Parameters for dataset.
40257    :type parameters: dict[str,
40258     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
40259    :param annotations: List of tags that can be used for describing the Dataset.
40260    :type annotations: list[any]
40261    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
40262     root level.
40263    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
40264    :param table_name: This property will be retired. Please consider using schema + table
40265     properties instead.
40266    :type table_name: any
40267    :param table: The table name of the Vertica. Type: string (or Expression with resultType
40268     string).
40269    :type table: any
40270    :param schema_type_properties_schema: The schema name of the Vertica. Type: string (or
40271     Expression with resultType string).
40272    :type schema_type_properties_schema: any
40273    """
40274
40275    _validation = {
40276        'type': {'required': True},
40277        'linked_service_name': {'required': True},
40278    }
40279
40280    _attribute_map = {
40281        'additional_properties': {'key': '', 'type': '{object}'},
40282        'type': {'key': 'type', 'type': 'str'},
40283        'description': {'key': 'description', 'type': 'str'},
40284        'structure': {'key': 'structure', 'type': 'object'},
40285        'schema': {'key': 'schema', 'type': 'object'},
40286        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
40287        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
40288        'annotations': {'key': 'annotations', 'type': '[object]'},
40289        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
40290        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
40291        'table': {'key': 'typeProperties.table', 'type': 'object'},
40292        'schema_type_properties_schema': {'key': 'typeProperties.schema', 'type': 'object'},
40293    }
40294
40295    def __init__(
40296        self,
40297        *,
40298        linked_service_name: "LinkedServiceReference",
40299        additional_properties: Optional[Dict[str, Any]] = None,
40300        description: Optional[str] = None,
40301        structure: Optional[Any] = None,
40302        schema: Optional[Any] = None,
40303        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
40304        annotations: Optional[List[Any]] = None,
40305        folder: Optional["DatasetFolder"] = None,
40306        table_name: Optional[Any] = None,
40307        table: Optional[Any] = None,
40308        schema_type_properties_schema: Optional[Any] = None,
40309        **kwargs
40310    ):
40311        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)
40312        self.type = 'VerticaTable'  # type: str
40313        self.table_name = table_name
40314        self.table = table
40315        self.schema_type_properties_schema = schema_type_properties_schema
40316
40317
40318class VirtualNetworkProfile(msrest.serialization.Model):
40319    """Virtual Network Profile.
40320
40321    :param compute_subnet_id: Subnet ID used for computes in workspace.
40322    :type compute_subnet_id: str
40323    """
40324
40325    _attribute_map = {
40326        'compute_subnet_id': {'key': 'computeSubnetId', 'type': 'str'},
40327    }
40328
40329    def __init__(
40330        self,
40331        *,
40332        compute_subnet_id: Optional[str] = None,
40333        **kwargs
40334    ):
40335        super(VirtualNetworkProfile, self).__init__(**kwargs)
40336        self.compute_subnet_id = compute_subnet_id
40337
40338
40339class WaitActivity(ControlActivity):
40340    """This activity suspends pipeline execution for the specified interval.
40341
40342    All required parameters must be populated in order to send to Azure.
40343
40344    :param additional_properties: Unmatched properties from the message are deserialized to this
40345     collection.
40346    :type additional_properties: dict[str, any]
40347    :param name: Required. Activity name.
40348    :type name: str
40349    :param type: Required. Type of activity.Constant filled by server.
40350    :type type: str
40351    :param description: Activity description.
40352    :type description: str
40353    :param depends_on: Activity depends on condition.
40354    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
40355    :param user_properties: Activity user properties.
40356    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
40357    :param wait_time_in_seconds: Required. Duration in seconds.
40358    :type wait_time_in_seconds: any
40359    """
40360
40361    _validation = {
40362        'name': {'required': True},
40363        'type': {'required': True},
40364        'wait_time_in_seconds': {'required': True},
40365    }
40366
40367    _attribute_map = {
40368        'additional_properties': {'key': '', 'type': '{object}'},
40369        'name': {'key': 'name', 'type': 'str'},
40370        'type': {'key': 'type', 'type': 'str'},
40371        'description': {'key': 'description', 'type': 'str'},
40372        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
40373        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
40374        'wait_time_in_seconds': {'key': 'typeProperties.waitTimeInSeconds', 'type': 'object'},
40375    }
40376
40377    def __init__(
40378        self,
40379        *,
40380        name: str,
40381        wait_time_in_seconds: Any,
40382        additional_properties: Optional[Dict[str, Any]] = None,
40383        description: Optional[str] = None,
40384        depends_on: Optional[List["ActivityDependency"]] = None,
40385        user_properties: Optional[List["UserProperty"]] = None,
40386        **kwargs
40387    ):
40388        super(WaitActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
40389        self.type = 'Wait'  # type: str
40390        self.wait_time_in_seconds = wait_time_in_seconds
40391
40392
40393class WebActivity(ExecutionActivity):
40394    """Web activity.
40395
40396    All required parameters must be populated in order to send to Azure.
40397
40398    :param additional_properties: Unmatched properties from the message are deserialized to this
40399     collection.
40400    :type additional_properties: dict[str, any]
40401    :param name: Required. Activity name.
40402    :type name: str
40403    :param type: Required. Type of activity.Constant filled by server.
40404    :type type: str
40405    :param description: Activity description.
40406    :type description: str
40407    :param depends_on: Activity depends on condition.
40408    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
40409    :param user_properties: Activity user properties.
40410    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
40411    :param linked_service_name: Linked service reference.
40412    :type linked_service_name:
40413     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
40414    :param policy: Activity policy.
40415    :type policy: ~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityPolicy
40416    :param method: Required. Rest API method for target endpoint. Possible values include: "GET",
40417     "POST", "PUT", "DELETE".
40418    :type method: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.WebActivityMethod
40419    :param url: Required. Web activity target endpoint and path. Type: string (or Expression with
40420     resultType string).
40421    :type url: any
40422    :param headers: Represents the headers that will be sent to the request. For example, to set
40423     the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type":
40424     "application/json" }. Type: string (or Expression with resultType string).
40425    :type headers: any
40426    :param body: Represents the payload that will be sent to the endpoint. Required for POST/PUT
40427     method, not allowed for GET method Type: string (or Expression with resultType string).
40428    :type body: any
40429    :param authentication: Authentication method used for calling the endpoint.
40430    :type authentication:
40431     ~azure.synapse.artifacts.v2021_06_01_preview.models.WebActivityAuthentication
40432    :param datasets: List of datasets passed to web endpoint.
40433    :type datasets: list[~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetReference]
40434    :param linked_services: List of linked services passed to web endpoint.
40435    :type linked_services:
40436     list[~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference]
40437    :param connect_via: The integration runtime reference.
40438    :type connect_via:
40439     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
40440    """
40441
40442    _validation = {
40443        'name': {'required': True},
40444        'type': {'required': True},
40445        'method': {'required': True},
40446        'url': {'required': True},
40447    }
40448
40449    _attribute_map = {
40450        'additional_properties': {'key': '', 'type': '{object}'},
40451        'name': {'key': 'name', 'type': 'str'},
40452        'type': {'key': 'type', 'type': 'str'},
40453        'description': {'key': 'description', 'type': 'str'},
40454        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
40455        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
40456        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
40457        'policy': {'key': 'policy', 'type': 'ActivityPolicy'},
40458        'method': {'key': 'typeProperties.method', 'type': 'str'},
40459        'url': {'key': 'typeProperties.url', 'type': 'object'},
40460        'headers': {'key': 'typeProperties.headers', 'type': 'object'},
40461        'body': {'key': 'typeProperties.body', 'type': 'object'},
40462        'authentication': {'key': 'typeProperties.authentication', 'type': 'WebActivityAuthentication'},
40463        'datasets': {'key': 'typeProperties.datasets', 'type': '[DatasetReference]'},
40464        'linked_services': {'key': 'typeProperties.linkedServices', 'type': '[LinkedServiceReference]'},
40465        'connect_via': {'key': 'typeProperties.connectVia', 'type': 'IntegrationRuntimeReference'},
40466    }
40467
40468    def __init__(
40469        self,
40470        *,
40471        name: str,
40472        method: Union[str, "WebActivityMethod"],
40473        url: Any,
40474        additional_properties: Optional[Dict[str, Any]] = None,
40475        description: Optional[str] = None,
40476        depends_on: Optional[List["ActivityDependency"]] = None,
40477        user_properties: Optional[List["UserProperty"]] = None,
40478        linked_service_name: Optional["LinkedServiceReference"] = None,
40479        policy: Optional["ActivityPolicy"] = None,
40480        headers: Optional[Any] = None,
40481        body: Optional[Any] = None,
40482        authentication: Optional["WebActivityAuthentication"] = None,
40483        datasets: Optional[List["DatasetReference"]] = None,
40484        linked_services: Optional[List["LinkedServiceReference"]] = None,
40485        connect_via: Optional["IntegrationRuntimeReference"] = None,
40486        **kwargs
40487    ):
40488        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)
40489        self.type = 'WebActivity'  # type: str
40490        self.method = method
40491        self.url = url
40492        self.headers = headers
40493        self.body = body
40494        self.authentication = authentication
40495        self.datasets = datasets
40496        self.linked_services = linked_services
40497        self.connect_via = connect_via
40498
40499
40500class WebActivityAuthentication(msrest.serialization.Model):
40501    """Web activity authentication properties.
40502
40503    All required parameters must be populated in order to send to Azure.
40504
40505    :param type: Required. Web activity authentication (Basic/ClientCertificate/MSI).
40506    :type type: str
40507    :param pfx: Base64-encoded contents of a PFX file.
40508    :type pfx: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
40509    :param username: Web activity authentication user name for basic authentication.
40510    :type username: str
40511    :param password: Password for the PFX file or basic authentication.
40512    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
40513    :param resource: Resource for which Azure Auth token will be requested when using MSI
40514     Authentication.
40515    :type resource: str
40516    """
40517
40518    _validation = {
40519        'type': {'required': True},
40520    }
40521
40522    _attribute_map = {
40523        'type': {'key': 'type', 'type': 'str'},
40524        'pfx': {'key': 'pfx', 'type': 'SecretBase'},
40525        'username': {'key': 'username', 'type': 'str'},
40526        'password': {'key': 'password', 'type': 'SecretBase'},
40527        'resource': {'key': 'resource', 'type': 'str'},
40528    }
40529
40530    def __init__(
40531        self,
40532        *,
40533        type: str,
40534        pfx: Optional["SecretBase"] = None,
40535        username: Optional[str] = None,
40536        password: Optional["SecretBase"] = None,
40537        resource: Optional[str] = None,
40538        **kwargs
40539    ):
40540        super(WebActivityAuthentication, self).__init__(**kwargs)
40541        self.type = type
40542        self.pfx = pfx
40543        self.username = username
40544        self.password = password
40545        self.resource = resource
40546
40547
40548class WebLinkedServiceTypeProperties(msrest.serialization.Model):
40549    """Base definition of WebLinkedServiceTypeProperties, this typeProperties is polymorphic based on authenticationType, so not flattened in SDK models.
40550
40551    You probably want to use the sub-classes and not this class directly. Known
40552    sub-classes are: WebAnonymousAuthentication, WebBasicAuthentication, WebClientCertificateAuthentication.
40553
40554    All required parameters must be populated in order to send to Azure.
40555
40556    :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com .
40557     Type: string (or Expression with resultType string).
40558    :type url: any
40559    :param authentication_type: Required. Type of authentication used to connect to the web table
40560     source.Constant filled by server.  Possible values include: "Basic", "Anonymous",
40561     "ClientCertificate".
40562    :type authentication_type: str or
40563     ~azure.synapse.artifacts.v2021_06_01_preview.models.WebAuthenticationType
40564    """
40565
40566    _validation = {
40567        'url': {'required': True},
40568        'authentication_type': {'required': True},
40569    }
40570
40571    _attribute_map = {
40572        'url': {'key': 'url', 'type': 'object'},
40573        'authentication_type': {'key': 'authenticationType', 'type': 'str'},
40574    }
40575
40576    _subtype_map = {
40577        'authentication_type': {'Anonymous': 'WebAnonymousAuthentication', 'Basic': 'WebBasicAuthentication', 'ClientCertificate': 'WebClientCertificateAuthentication'}
40578    }
40579
40580    def __init__(
40581        self,
40582        *,
40583        url: Any,
40584        **kwargs
40585    ):
40586        super(WebLinkedServiceTypeProperties, self).__init__(**kwargs)
40587        self.url = url
40588        self.authentication_type = None  # type: Optional[str]
40589
40590
40591class WebAnonymousAuthentication(WebLinkedServiceTypeProperties):
40592    """A WebLinkedService that uses anonymous authentication to communicate with an HTTP endpoint.
40593
40594    All required parameters must be populated in order to send to Azure.
40595
40596    :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com .
40597     Type: string (or Expression with resultType string).
40598    :type url: any
40599    :param authentication_type: Required. Type of authentication used to connect to the web table
40600     source.Constant filled by server.  Possible values include: "Basic", "Anonymous",
40601     "ClientCertificate".
40602    :type authentication_type: str or
40603     ~azure.synapse.artifacts.v2021_06_01_preview.models.WebAuthenticationType
40604    """
40605
40606    _validation = {
40607        'url': {'required': True},
40608        'authentication_type': {'required': True},
40609    }
40610
40611    _attribute_map = {
40612        'url': {'key': 'url', 'type': 'object'},
40613        'authentication_type': {'key': 'authenticationType', 'type': 'str'},
40614    }
40615
40616    def __init__(
40617        self,
40618        *,
40619        url: Any,
40620        **kwargs
40621    ):
40622        super(WebAnonymousAuthentication, self).__init__(url=url, **kwargs)
40623        self.authentication_type = 'Anonymous'  # type: str
40624
40625
40626class WebBasicAuthentication(WebLinkedServiceTypeProperties):
40627    """A WebLinkedService that uses basic authentication to communicate with an HTTP endpoint.
40628
40629    All required parameters must be populated in order to send to Azure.
40630
40631    :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com .
40632     Type: string (or Expression with resultType string).
40633    :type url: any
40634    :param authentication_type: Required. Type of authentication used to connect to the web table
40635     source.Constant filled by server.  Possible values include: "Basic", "Anonymous",
40636     "ClientCertificate".
40637    :type authentication_type: str or
40638     ~azure.synapse.artifacts.v2021_06_01_preview.models.WebAuthenticationType
40639    :param username: Required. User name for Basic authentication. Type: string (or Expression with
40640     resultType string).
40641    :type username: any
40642    :param password: Required. The password for Basic authentication.
40643    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
40644    """
40645
40646    _validation = {
40647        'url': {'required': True},
40648        'authentication_type': {'required': True},
40649        'username': {'required': True},
40650        'password': {'required': True},
40651    }
40652
40653    _attribute_map = {
40654        'url': {'key': 'url', 'type': 'object'},
40655        'authentication_type': {'key': 'authenticationType', 'type': 'str'},
40656        'username': {'key': 'username', 'type': 'object'},
40657        'password': {'key': 'password', 'type': 'SecretBase'},
40658    }
40659
40660    def __init__(
40661        self,
40662        *,
40663        url: Any,
40664        username: Any,
40665        password: "SecretBase",
40666        **kwargs
40667    ):
40668        super(WebBasicAuthentication, self).__init__(url=url, **kwargs)
40669        self.authentication_type = 'Basic'  # type: str
40670        self.username = username
40671        self.password = password
40672
40673
40674class WebClientCertificateAuthentication(WebLinkedServiceTypeProperties):
40675    """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.
40676
40677    All required parameters must be populated in order to send to Azure.
40678
40679    :param url: Required. The URL of the web service endpoint, e.g. http://www.microsoft.com .
40680     Type: string (or Expression with resultType string).
40681    :type url: any
40682    :param authentication_type: Required. Type of authentication used to connect to the web table
40683     source.Constant filled by server.  Possible values include: "Basic", "Anonymous",
40684     "ClientCertificate".
40685    :type authentication_type: str or
40686     ~azure.synapse.artifacts.v2021_06_01_preview.models.WebAuthenticationType
40687    :param pfx: Required. Base64-encoded contents of a PFX file.
40688    :type pfx: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
40689    :param password: Required. Password for the PFX file.
40690    :type password: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
40691    """
40692
40693    _validation = {
40694        'url': {'required': True},
40695        'authentication_type': {'required': True},
40696        'pfx': {'required': True},
40697        'password': {'required': True},
40698    }
40699
40700    _attribute_map = {
40701        'url': {'key': 'url', 'type': 'object'},
40702        'authentication_type': {'key': 'authenticationType', 'type': 'str'},
40703        'pfx': {'key': 'pfx', 'type': 'SecretBase'},
40704        'password': {'key': 'password', 'type': 'SecretBase'},
40705    }
40706
40707    def __init__(
40708        self,
40709        *,
40710        url: Any,
40711        pfx: "SecretBase",
40712        password: "SecretBase",
40713        **kwargs
40714    ):
40715        super(WebClientCertificateAuthentication, self).__init__(url=url, **kwargs)
40716        self.authentication_type = 'ClientCertificate'  # type: str
40717        self.pfx = pfx
40718        self.password = password
40719
40720
40721class WebHookActivity(ControlActivity):
40722    """WebHook activity.
40723
40724    All required parameters must be populated in order to send to Azure.
40725
40726    :param additional_properties: Unmatched properties from the message are deserialized to this
40727     collection.
40728    :type additional_properties: dict[str, any]
40729    :param name: Required. Activity name.
40730    :type name: str
40731    :param type: Required. Type of activity.Constant filled by server.
40732    :type type: str
40733    :param description: Activity description.
40734    :type description: str
40735    :param depends_on: Activity depends on condition.
40736    :type depends_on: list[~azure.synapse.artifacts.v2021_06_01_preview.models.ActivityDependency]
40737    :param user_properties: Activity user properties.
40738    :type user_properties: list[~azure.synapse.artifacts.v2021_06_01_preview.models.UserProperty]
40739    :param method: Required. Rest API method for target endpoint. Possible values include: "POST".
40740    :type method: str or ~azure.synapse.artifacts.v2021_06_01_preview.models.WebHookActivityMethod
40741    :param url: Required. WebHook activity target endpoint and path. Type: string (or Expression
40742     with resultType string).
40743    :type url: any
40744    :param timeout: The timeout within which the webhook should be called back. If there is no
40745     value specified, it defaults to 10 minutes. Type: string. Pattern:
40746     ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
40747    :type timeout: str
40748    :param headers: Represents the headers that will be sent to the request. For example, to set
40749     the language and type on a request: "headers" : { "Accept-Language": "en-us", "Content-Type":
40750     "application/json" }. Type: string (or Expression with resultType string).
40751    :type headers: any
40752    :param body: Represents the payload that will be sent to the endpoint. Required for POST/PUT
40753     method, not allowed for GET method Type: string (or Expression with resultType string).
40754    :type body: any
40755    :param authentication: Authentication method used for calling the endpoint.
40756    :type authentication:
40757     ~azure.synapse.artifacts.v2021_06_01_preview.models.WebActivityAuthentication
40758    :param report_status_on_call_back: When set to true, statusCode, output and error in callback
40759     request body will be consumed by activity. The activity can be marked as failed by setting
40760     statusCode >= 400 in callback request. Default is false. Type: boolean (or Expression with
40761     resultType boolean).
40762    :type report_status_on_call_back: any
40763    """
40764
40765    _validation = {
40766        'name': {'required': True},
40767        'type': {'required': True},
40768        'method': {'required': True},
40769        'url': {'required': True},
40770    }
40771
40772    _attribute_map = {
40773        'additional_properties': {'key': '', 'type': '{object}'},
40774        'name': {'key': 'name', 'type': 'str'},
40775        'type': {'key': 'type', 'type': 'str'},
40776        'description': {'key': 'description', 'type': 'str'},
40777        'depends_on': {'key': 'dependsOn', 'type': '[ActivityDependency]'},
40778        'user_properties': {'key': 'userProperties', 'type': '[UserProperty]'},
40779        'method': {'key': 'typeProperties.method', 'type': 'str'},
40780        'url': {'key': 'typeProperties.url', 'type': 'object'},
40781        'timeout': {'key': 'typeProperties.timeout', 'type': 'str'},
40782        'headers': {'key': 'typeProperties.headers', 'type': 'object'},
40783        'body': {'key': 'typeProperties.body', 'type': 'object'},
40784        'authentication': {'key': 'typeProperties.authentication', 'type': 'WebActivityAuthentication'},
40785        'report_status_on_call_back': {'key': 'typeProperties.reportStatusOnCallBack', 'type': 'object'},
40786    }
40787
40788    def __init__(
40789        self,
40790        *,
40791        name: str,
40792        method: Union[str, "WebHookActivityMethod"],
40793        url: Any,
40794        additional_properties: Optional[Dict[str, Any]] = None,
40795        description: Optional[str] = None,
40796        depends_on: Optional[List["ActivityDependency"]] = None,
40797        user_properties: Optional[List["UserProperty"]] = None,
40798        timeout: Optional[str] = None,
40799        headers: Optional[Any] = None,
40800        body: Optional[Any] = None,
40801        authentication: Optional["WebActivityAuthentication"] = None,
40802        report_status_on_call_back: Optional[Any] = None,
40803        **kwargs
40804    ):
40805        super(WebHookActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, **kwargs)
40806        self.type = 'WebHook'  # type: str
40807        self.method = method
40808        self.url = url
40809        self.timeout = timeout
40810        self.headers = headers
40811        self.body = body
40812        self.authentication = authentication
40813        self.report_status_on_call_back = report_status_on_call_back
40814
40815
40816class WebLinkedService(LinkedService):
40817    """Web linked service.
40818
40819    All required parameters must be populated in order to send to Azure.
40820
40821    :param additional_properties: Unmatched properties from the message are deserialized to this
40822     collection.
40823    :type additional_properties: dict[str, any]
40824    :param type: Required. Type of linked service.Constant filled by server.
40825    :type type: str
40826    :param connect_via: The integration runtime reference.
40827    :type connect_via:
40828     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
40829    :param description: Linked service description.
40830    :type description: str
40831    :param parameters: Parameters for linked service.
40832    :type parameters: dict[str,
40833     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
40834    :param annotations: List of tags that can be used for describing the linked service.
40835    :type annotations: list[any]
40836    :param type_properties: Required. Web linked service properties.
40837    :type type_properties:
40838     ~azure.synapse.artifacts.v2021_06_01_preview.models.WebLinkedServiceTypeProperties
40839    """
40840
40841    _validation = {
40842        'type': {'required': True},
40843        'type_properties': {'required': True},
40844    }
40845
40846    _attribute_map = {
40847        'additional_properties': {'key': '', 'type': '{object}'},
40848        'type': {'key': 'type', 'type': 'str'},
40849        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
40850        'description': {'key': 'description', 'type': 'str'},
40851        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
40852        'annotations': {'key': 'annotations', 'type': '[object]'},
40853        'type_properties': {'key': 'typeProperties', 'type': 'WebLinkedServiceTypeProperties'},
40854    }
40855
40856    def __init__(
40857        self,
40858        *,
40859        type_properties: "WebLinkedServiceTypeProperties",
40860        additional_properties: Optional[Dict[str, Any]] = None,
40861        connect_via: Optional["IntegrationRuntimeReference"] = None,
40862        description: Optional[str] = None,
40863        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
40864        annotations: Optional[List[Any]] = None,
40865        **kwargs
40866    ):
40867        super(WebLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
40868        self.type = 'Web'  # type: str
40869        self.type_properties = type_properties
40870
40871
40872class WebSource(CopySource):
40873    """A copy activity source for web page table.
40874
40875    All required parameters must be populated in order to send to Azure.
40876
40877    :param additional_properties: Unmatched properties from the message are deserialized to this
40878     collection.
40879    :type additional_properties: dict[str, any]
40880    :param type: Required. Copy source type.Constant filled by server.
40881    :type type: str
40882    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
40883     integer).
40884    :type source_retry_count: any
40885    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
40886     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
40887    :type source_retry_wait: any
40888    :param max_concurrent_connections: The maximum concurrent connection count for the source data
40889     store. Type: integer (or Expression with resultType integer).
40890    :type max_concurrent_connections: any
40891    :param additional_columns: Specifies the additional columns to be added to source data. Type:
40892     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
40893    :type additional_columns: any
40894    """
40895
40896    _validation = {
40897        'type': {'required': True},
40898    }
40899
40900    _attribute_map = {
40901        'additional_properties': {'key': '', 'type': '{object}'},
40902        'type': {'key': 'type', 'type': 'str'},
40903        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
40904        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
40905        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
40906        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
40907    }
40908
40909    def __init__(
40910        self,
40911        *,
40912        additional_properties: Optional[Dict[str, Any]] = None,
40913        source_retry_count: Optional[Any] = None,
40914        source_retry_wait: Optional[Any] = None,
40915        max_concurrent_connections: Optional[Any] = None,
40916        additional_columns: Optional[Any] = None,
40917        **kwargs
40918    ):
40919        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)
40920        self.type = 'WebSource'  # type: str
40921        self.additional_columns = additional_columns
40922
40923
40924class WebTableDataset(Dataset):
40925    """The dataset points to a HTML table in the web page.
40926
40927    All required parameters must be populated in order to send to Azure.
40928
40929    :param additional_properties: Unmatched properties from the message are deserialized to this
40930     collection.
40931    :type additional_properties: dict[str, any]
40932    :param type: Required. Type of dataset.Constant filled by server.
40933    :type type: str
40934    :param description: Dataset description.
40935    :type description: str
40936    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
40937     with resultType array), itemType: DatasetDataElement.
40938    :type structure: any
40939    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
40940     Expression with resultType array), itemType: DatasetSchemaDataElement.
40941    :type schema: any
40942    :param linked_service_name: Required. Linked service reference.
40943    :type linked_service_name:
40944     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
40945    :param parameters: Parameters for dataset.
40946    :type parameters: dict[str,
40947     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
40948    :param annotations: List of tags that can be used for describing the Dataset.
40949    :type annotations: list[any]
40950    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
40951     root level.
40952    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
40953    :param index: Required. The zero-based index of the table in the web page. Type: integer (or
40954     Expression with resultType integer), minimum: 0.
40955    :type index: any
40956    :param path: The relative URL to the web page from the linked service URL. Type: string (or
40957     Expression with resultType string).
40958    :type path: any
40959    """
40960
40961    _validation = {
40962        'type': {'required': True},
40963        'linked_service_name': {'required': True},
40964        'index': {'required': True},
40965    }
40966
40967    _attribute_map = {
40968        'additional_properties': {'key': '', 'type': '{object}'},
40969        'type': {'key': 'type', 'type': 'str'},
40970        'description': {'key': 'description', 'type': 'str'},
40971        'structure': {'key': 'structure', 'type': 'object'},
40972        'schema': {'key': 'schema', 'type': 'object'},
40973        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
40974        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
40975        'annotations': {'key': 'annotations', 'type': '[object]'},
40976        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
40977        'index': {'key': 'typeProperties.index', 'type': 'object'},
40978        'path': {'key': 'typeProperties.path', 'type': 'object'},
40979    }
40980
40981    def __init__(
40982        self,
40983        *,
40984        linked_service_name: "LinkedServiceReference",
40985        index: Any,
40986        additional_properties: Optional[Dict[str, Any]] = None,
40987        description: Optional[str] = None,
40988        structure: Optional[Any] = None,
40989        schema: Optional[Any] = None,
40990        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
40991        annotations: Optional[List[Any]] = None,
40992        folder: Optional["DatasetFolder"] = None,
40993        path: Optional[Any] = None,
40994        **kwargs
40995    ):
40996        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)
40997        self.type = 'WebTable'  # type: str
40998        self.index = index
40999        self.path = path
41000
41001
41002class Workspace(TrackedResource):
41003    """A workspace.
41004
41005    Variables are only populated by the server, and will be ignored when sending a request.
41006
41007    All required parameters must be populated in order to send to Azure.
41008
41009    :ivar id: Fully qualified resource ID for the resource. Ex -
41010     /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
41011    :vartype id: str
41012    :ivar name: The name of the resource.
41013    :vartype name: str
41014    :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
41015     "Microsoft.Storage/storageAccounts".
41016    :vartype type: str
41017    :param tags: A set of tags. Resource tags.
41018    :type tags: dict[str, str]
41019    :param location: Required. The geo-location where the resource lives.
41020    :type location: str
41021    :param identity: Identity of the workspace.
41022    :type identity: ~azure.synapse.artifacts.v2021_06_01_preview.models.ManagedIdentity
41023    :param default_data_lake_storage: Workspace default data lake storage account details.
41024    :type default_data_lake_storage:
41025     ~azure.synapse.artifacts.v2021_06_01_preview.models.DataLakeStorageAccountDetails
41026    :param sql_administrator_login_password: SQL administrator login password.
41027    :type sql_administrator_login_password: str
41028    :param managed_resource_group_name: Workspace managed resource group. The resource group name
41029     uniquely identifies the resource group within the user subscriptionId. The resource group name
41030     must be no longer than 90 characters long, and must be alphanumeric characters
41031     (Char.IsLetterOrDigit()) and '-', '_', '(', ')' and'.'. Note that the name cannot end with '.'.
41032    :type managed_resource_group_name: str
41033    :ivar provisioning_state: Resource provisioning state.
41034    :vartype provisioning_state: str
41035    :param sql_administrator_login: Login for workspace SQL active directory administrator.
41036    :type sql_administrator_login: str
41037    :param virtual_network_profile: Virtual Network profile.
41038    :type virtual_network_profile:
41039     ~azure.synapse.artifacts.v2021_06_01_preview.models.VirtualNetworkProfile
41040    :param connectivity_endpoints: Connectivity endpoints.
41041    :type connectivity_endpoints: dict[str, str]
41042    :param managed_virtual_network: Setting this to 'default' will ensure that all compute for this
41043     workspace is in a virtual network managed on behalf of the user.
41044    :type managed_virtual_network: str
41045    :param private_endpoint_connections: Private endpoint connections to the workspace.
41046    :type private_endpoint_connections:
41047     list[~azure.synapse.artifacts.v2021_06_01_preview.models.PrivateEndpointConnection]
41048    :param encryption: The encryption details of the workspace.
41049    :type encryption: ~azure.synapse.artifacts.v2021_06_01_preview.models.EncryptionDetails
41050    :ivar workspace_uid: The workspace unique identifier.
41051    :vartype workspace_uid: str
41052    :ivar extra_properties: Workspace level configs and feature flags.
41053    :vartype extra_properties: dict[str, any]
41054    :param managed_virtual_network_settings: Managed Virtual Network Settings.
41055    :type managed_virtual_network_settings:
41056     ~azure.synapse.artifacts.v2021_06_01_preview.models.ManagedVirtualNetworkSettings
41057    :param workspace_repository_configuration: Git integration settings.
41058    :type workspace_repository_configuration:
41059     ~azure.synapse.artifacts.v2021_06_01_preview.models.WorkspaceRepositoryConfiguration
41060    :param purview_configuration: Purview Configuration.
41061    :type purview_configuration:
41062     ~azure.synapse.artifacts.v2021_06_01_preview.models.PurviewConfiguration
41063    :ivar adla_resource_id: The ADLA resource ID.
41064    :vartype adla_resource_id: str
41065    """
41066
41067    _validation = {
41068        'id': {'readonly': True},
41069        'name': {'readonly': True},
41070        'type': {'readonly': True},
41071        'location': {'required': True},
41072        'provisioning_state': {'readonly': True},
41073        'workspace_uid': {'readonly': True},
41074        'extra_properties': {'readonly': True},
41075        'adla_resource_id': {'readonly': True},
41076    }
41077
41078    _attribute_map = {
41079        'id': {'key': 'id', 'type': 'str'},
41080        'name': {'key': 'name', 'type': 'str'},
41081        'type': {'key': 'type', 'type': 'str'},
41082        'tags': {'key': 'tags', 'type': '{str}'},
41083        'location': {'key': 'location', 'type': 'str'},
41084        'identity': {'key': 'identity', 'type': 'ManagedIdentity'},
41085        'default_data_lake_storage': {'key': 'properties.defaultDataLakeStorage', 'type': 'DataLakeStorageAccountDetails'},
41086        'sql_administrator_login_password': {'key': 'properties.sqlAdministratorLoginPassword', 'type': 'str'},
41087        'managed_resource_group_name': {'key': 'properties.managedResourceGroupName', 'type': 'str'},
41088        'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
41089        'sql_administrator_login': {'key': 'properties.sqlAdministratorLogin', 'type': 'str'},
41090        'virtual_network_profile': {'key': 'properties.virtualNetworkProfile', 'type': 'VirtualNetworkProfile'},
41091        'connectivity_endpoints': {'key': 'properties.connectivityEndpoints', 'type': '{str}'},
41092        'managed_virtual_network': {'key': 'properties.managedVirtualNetwork', 'type': 'str'},
41093        'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'},
41094        'encryption': {'key': 'properties.encryption', 'type': 'EncryptionDetails'},
41095        'workspace_uid': {'key': 'properties.workspaceUID', 'type': 'str'},
41096        'extra_properties': {'key': 'properties.extraProperties', 'type': '{object}'},
41097        'managed_virtual_network_settings': {'key': 'properties.managedVirtualNetworkSettings', 'type': 'ManagedVirtualNetworkSettings'},
41098        'workspace_repository_configuration': {'key': 'properties.workspaceRepositoryConfiguration', 'type': 'WorkspaceRepositoryConfiguration'},
41099        'purview_configuration': {'key': 'properties.purviewConfiguration', 'type': 'PurviewConfiguration'},
41100        'adla_resource_id': {'key': 'properties.adlaResourceId', 'type': 'str'},
41101    }
41102
41103    def __init__(
41104        self,
41105        *,
41106        location: str,
41107        tags: Optional[Dict[str, str]] = None,
41108        identity: Optional["ManagedIdentity"] = None,
41109        default_data_lake_storage: Optional["DataLakeStorageAccountDetails"] = None,
41110        sql_administrator_login_password: Optional[str] = None,
41111        managed_resource_group_name: Optional[str] = None,
41112        sql_administrator_login: Optional[str] = None,
41113        virtual_network_profile: Optional["VirtualNetworkProfile"] = None,
41114        connectivity_endpoints: Optional[Dict[str, str]] = None,
41115        managed_virtual_network: Optional[str] = None,
41116        private_endpoint_connections: Optional[List["PrivateEndpointConnection"]] = None,
41117        encryption: Optional["EncryptionDetails"] = None,
41118        managed_virtual_network_settings: Optional["ManagedVirtualNetworkSettings"] = None,
41119        workspace_repository_configuration: Optional["WorkspaceRepositoryConfiguration"] = None,
41120        purview_configuration: Optional["PurviewConfiguration"] = None,
41121        **kwargs
41122    ):
41123        super(Workspace, self).__init__(tags=tags, location=location, **kwargs)
41124        self.identity = identity
41125        self.default_data_lake_storage = default_data_lake_storage
41126        self.sql_administrator_login_password = sql_administrator_login_password
41127        self.managed_resource_group_name = managed_resource_group_name
41128        self.provisioning_state = None
41129        self.sql_administrator_login = sql_administrator_login
41130        self.virtual_network_profile = virtual_network_profile
41131        self.connectivity_endpoints = connectivity_endpoints
41132        self.managed_virtual_network = managed_virtual_network
41133        self.private_endpoint_connections = private_endpoint_connections
41134        self.encryption = encryption
41135        self.workspace_uid = None
41136        self.extra_properties = None
41137        self.managed_virtual_network_settings = managed_virtual_network_settings
41138        self.workspace_repository_configuration = workspace_repository_configuration
41139        self.purview_configuration = purview_configuration
41140        self.adla_resource_id = None
41141
41142
41143class WorkspaceIdentity(msrest.serialization.Model):
41144    """Identity properties of the workspace resource.
41145
41146    Variables are only populated by the server, and will be ignored when sending a request.
41147
41148    All required parameters must be populated in order to send to Azure.
41149
41150    :ivar type: The identity type. Currently the only supported type is 'SystemAssigned'. Has
41151     constant value: "SystemAssigned".
41152    :vartype type: str
41153    :ivar principal_id: The principal id of the identity.
41154    :vartype principal_id: str
41155    :ivar tenant_id: The client tenant id of the identity.
41156    :vartype tenant_id: str
41157    """
41158
41159    _validation = {
41160        'type': {'required': True, 'constant': True},
41161        'principal_id': {'readonly': True},
41162        'tenant_id': {'readonly': True},
41163    }
41164
41165    _attribute_map = {
41166        'type': {'key': 'type', 'type': 'str'},
41167        'principal_id': {'key': 'principalId', 'type': 'str'},
41168        'tenant_id': {'key': 'tenantId', 'type': 'str'},
41169    }
41170
41171    type = "SystemAssigned"
41172
41173    def __init__(
41174        self,
41175        **kwargs
41176    ):
41177        super(WorkspaceIdentity, self).__init__(**kwargs)
41178        self.principal_id = None
41179        self.tenant_id = None
41180
41181
41182class WorkspaceKeyDetails(msrest.serialization.Model):
41183    """Details of the customer managed key associated with the workspace.
41184
41185    :param name: Workspace Key sub-resource name.
41186    :type name: str
41187    :param key_vault_url: Workspace Key sub-resource key vault url.
41188    :type key_vault_url: str
41189    """
41190
41191    _attribute_map = {
41192        'name': {'key': 'name', 'type': 'str'},
41193        'key_vault_url': {'key': 'keyVaultUrl', 'type': 'str'},
41194    }
41195
41196    def __init__(
41197        self,
41198        *,
41199        name: Optional[str] = None,
41200        key_vault_url: Optional[str] = None,
41201        **kwargs
41202    ):
41203        super(WorkspaceKeyDetails, self).__init__(**kwargs)
41204        self.name = name
41205        self.key_vault_url = key_vault_url
41206
41207
41208class WorkspaceRepositoryConfiguration(msrest.serialization.Model):
41209    """Git integration settings.
41210
41211    :param type: Type of workspace repositoryID configuration. Example WorkspaceVSTSConfiguration,
41212     WorkspaceGitHubConfiguration.
41213    :type type: str
41214    :param host_name: GitHub Enterprise host name. For example: https://github.mydomain.com.
41215    :type host_name: str
41216    :param account_name: Account name.
41217    :type account_name: str
41218    :param project_name: VSTS project name.
41219    :type project_name: str
41220    :param repository_name: Repository name.
41221    :type repository_name: str
41222    :param collaboration_branch: Collaboration branch.
41223    :type collaboration_branch: str
41224    :param root_folder: Root folder to use in the repository.
41225    :type root_folder: str
41226    :param last_commit_id: The last commit ID.
41227    :type last_commit_id: str
41228    :param tenant_id: The VSTS tenant ID.
41229    :type tenant_id: str
41230    :param client_id: GitHub bring your own app client id.
41231    :type client_id: str
41232    :param client_secret: GitHub bring your own app client secret information.
41233    :type client_secret: ~azure.synapse.artifacts.v2021_06_01_preview.models.GitHubClientSecret
41234    """
41235
41236    _attribute_map = {
41237        'type': {'key': 'type', 'type': 'str'},
41238        'host_name': {'key': 'hostName', 'type': 'str'},
41239        'account_name': {'key': 'accountName', 'type': 'str'},
41240        'project_name': {'key': 'projectName', 'type': 'str'},
41241        'repository_name': {'key': 'repositoryName', 'type': 'str'},
41242        'collaboration_branch': {'key': 'collaborationBranch', 'type': 'str'},
41243        'root_folder': {'key': 'rootFolder', 'type': 'str'},
41244        'last_commit_id': {'key': 'lastCommitId', 'type': 'str'},
41245        'tenant_id': {'key': 'tenantId', 'type': 'str'},
41246        'client_id': {'key': 'clientId', 'type': 'str'},
41247        'client_secret': {'key': 'clientSecret', 'type': 'GitHubClientSecret'},
41248    }
41249
41250    def __init__(
41251        self,
41252        *,
41253        type: Optional[str] = None,
41254        host_name: Optional[str] = None,
41255        account_name: Optional[str] = None,
41256        project_name: Optional[str] = None,
41257        repository_name: Optional[str] = None,
41258        collaboration_branch: Optional[str] = None,
41259        root_folder: Optional[str] = None,
41260        last_commit_id: Optional[str] = None,
41261        tenant_id: Optional[str] = None,
41262        client_id: Optional[str] = None,
41263        client_secret: Optional["GitHubClientSecret"] = None,
41264        **kwargs
41265    ):
41266        super(WorkspaceRepositoryConfiguration, self).__init__(**kwargs)
41267        self.type = type
41268        self.host_name = host_name
41269        self.account_name = account_name
41270        self.project_name = project_name
41271        self.repository_name = repository_name
41272        self.collaboration_branch = collaboration_branch
41273        self.root_folder = root_folder
41274        self.last_commit_id = last_commit_id
41275        self.tenant_id = tenant_id
41276        self.client_id = client_id
41277        self.client_secret = client_secret
41278
41279
41280class WorkspaceUpdateParameters(msrest.serialization.Model):
41281    """Parameters for updating a workspace resource.
41282
41283    :param tags: A set of tags. The resource tags.
41284    :type tags: dict[str, str]
41285    :param identity: Managed service identity of the workspace.
41286    :type identity: ~azure.synapse.artifacts.v2021_06_01_preview.models.WorkspaceIdentity
41287    """
41288
41289    _attribute_map = {
41290        'tags': {'key': 'tags', 'type': '{str}'},
41291        'identity': {'key': 'identity', 'type': 'WorkspaceIdentity'},
41292    }
41293
41294    def __init__(
41295        self,
41296        *,
41297        tags: Optional[Dict[str, str]] = None,
41298        identity: Optional["WorkspaceIdentity"] = None,
41299        **kwargs
41300    ):
41301        super(WorkspaceUpdateParameters, self).__init__(**kwargs)
41302        self.tags = tags
41303        self.identity = identity
41304
41305
41306class XeroLinkedService(LinkedService):
41307    """Xero Service linked service.
41308
41309    All required parameters must be populated in order to send to Azure.
41310
41311    :param additional_properties: Unmatched properties from the message are deserialized to this
41312     collection.
41313    :type additional_properties: dict[str, any]
41314    :param type: Required. Type of linked service.Constant filled by server.
41315    :type type: str
41316    :param connect_via: The integration runtime reference.
41317    :type connect_via:
41318     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
41319    :param description: Linked service description.
41320    :type description: str
41321    :param parameters: Parameters for linked service.
41322    :type parameters: dict[str,
41323     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
41324    :param annotations: List of tags that can be used for describing the linked service.
41325    :type annotations: list[any]
41326    :param connection_properties: Properties used to connect to Xero. It is mutually exclusive with
41327     any other properties in the linked service. Type: object.
41328    :type connection_properties: any
41329    :param host: Required. The endpoint of the Xero server. (i.e. api.xero.com).
41330    :type host: any
41331    :param consumer_key: The consumer key associated with the Xero application.
41332    :type consumer_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
41333    :param private_key: The private key from the .pem file that was generated for your Xero private
41334     application. You must include all the text from the .pem file, including the Unix line endings(
41335     ).
41336    :type private_key: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
41337    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
41338     HTTPS. The default value is true.
41339    :type use_encrypted_endpoints: any
41340    :param use_host_verification: Specifies whether to require the host name in the server's
41341     certificate to match the host name of the server when connecting over SSL. The default value is
41342     true.
41343    :type use_host_verification: any
41344    :param use_peer_verification: Specifies whether to verify the identity of the server when
41345     connecting over SSL. The default value is true.
41346    :type use_peer_verification: any
41347    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
41348     encrypted using the integration runtime credential manager. Type: string (or Expression with
41349     resultType string).
41350    :type encrypted_credential: any
41351    """
41352
41353    _validation = {
41354        'type': {'required': True},
41355        'host': {'required': True},
41356    }
41357
41358    _attribute_map = {
41359        'additional_properties': {'key': '', 'type': '{object}'},
41360        'type': {'key': 'type', 'type': 'str'},
41361        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
41362        'description': {'key': 'description', 'type': 'str'},
41363        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
41364        'annotations': {'key': 'annotations', 'type': '[object]'},
41365        'connection_properties': {'key': 'typeProperties.connectionProperties', 'type': 'object'},
41366        'host': {'key': 'typeProperties.host', 'type': 'object'},
41367        'consumer_key': {'key': 'typeProperties.consumerKey', 'type': 'SecretBase'},
41368        'private_key': {'key': 'typeProperties.privateKey', 'type': 'SecretBase'},
41369        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
41370        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
41371        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
41372        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
41373    }
41374
41375    def __init__(
41376        self,
41377        *,
41378        host: Any,
41379        additional_properties: Optional[Dict[str, Any]] = None,
41380        connect_via: Optional["IntegrationRuntimeReference"] = None,
41381        description: Optional[str] = None,
41382        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
41383        annotations: Optional[List[Any]] = None,
41384        connection_properties: Optional[Any] = None,
41385        consumer_key: Optional["SecretBase"] = None,
41386        private_key: Optional["SecretBase"] = None,
41387        use_encrypted_endpoints: Optional[Any] = None,
41388        use_host_verification: Optional[Any] = None,
41389        use_peer_verification: Optional[Any] = None,
41390        encrypted_credential: Optional[Any] = None,
41391        **kwargs
41392    ):
41393        super(XeroLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
41394        self.type = 'Xero'  # type: str
41395        self.connection_properties = connection_properties
41396        self.host = host
41397        self.consumer_key = consumer_key
41398        self.private_key = private_key
41399        self.use_encrypted_endpoints = use_encrypted_endpoints
41400        self.use_host_verification = use_host_verification
41401        self.use_peer_verification = use_peer_verification
41402        self.encrypted_credential = encrypted_credential
41403
41404
41405class XeroObjectDataset(Dataset):
41406    """Xero Service dataset.
41407
41408    All required parameters must be populated in order to send to Azure.
41409
41410    :param additional_properties: Unmatched properties from the message are deserialized to this
41411     collection.
41412    :type additional_properties: dict[str, any]
41413    :param type: Required. Type of dataset.Constant filled by server.
41414    :type type: str
41415    :param description: Dataset description.
41416    :type description: str
41417    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
41418     with resultType array), itemType: DatasetDataElement.
41419    :type structure: any
41420    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
41421     Expression with resultType array), itemType: DatasetSchemaDataElement.
41422    :type schema: any
41423    :param linked_service_name: Required. Linked service reference.
41424    :type linked_service_name:
41425     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
41426    :param parameters: Parameters for dataset.
41427    :type parameters: dict[str,
41428     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
41429    :param annotations: List of tags that can be used for describing the Dataset.
41430    :type annotations: list[any]
41431    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
41432     root level.
41433    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
41434    :param table_name: The table name. Type: string (or Expression with resultType string).
41435    :type table_name: any
41436    """
41437
41438    _validation = {
41439        'type': {'required': True},
41440        'linked_service_name': {'required': True},
41441    }
41442
41443    _attribute_map = {
41444        'additional_properties': {'key': '', 'type': '{object}'},
41445        'type': {'key': 'type', 'type': 'str'},
41446        'description': {'key': 'description', 'type': 'str'},
41447        'structure': {'key': 'structure', 'type': 'object'},
41448        'schema': {'key': 'schema', 'type': 'object'},
41449        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
41450        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
41451        'annotations': {'key': 'annotations', 'type': '[object]'},
41452        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
41453        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
41454    }
41455
41456    def __init__(
41457        self,
41458        *,
41459        linked_service_name: "LinkedServiceReference",
41460        additional_properties: Optional[Dict[str, Any]] = None,
41461        description: Optional[str] = None,
41462        structure: Optional[Any] = None,
41463        schema: Optional[Any] = None,
41464        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
41465        annotations: Optional[List[Any]] = None,
41466        folder: Optional["DatasetFolder"] = None,
41467        table_name: Optional[Any] = None,
41468        **kwargs
41469    ):
41470        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)
41471        self.type = 'XeroObject'  # type: str
41472        self.table_name = table_name
41473
41474
41475class XeroSource(TabularSource):
41476    """A copy activity Xero Service source.
41477
41478    All required parameters must be populated in order to send to Azure.
41479
41480    :param additional_properties: Unmatched properties from the message are deserialized to this
41481     collection.
41482    :type additional_properties: dict[str, any]
41483    :param type: Required. Copy source type.Constant filled by server.
41484    :type type: str
41485    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
41486     integer).
41487    :type source_retry_count: any
41488    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
41489     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
41490    :type source_retry_wait: any
41491    :param max_concurrent_connections: The maximum concurrent connection count for the source data
41492     store. Type: integer (or Expression with resultType integer).
41493    :type max_concurrent_connections: any
41494    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
41495     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
41496    :type query_timeout: any
41497    :param additional_columns: Specifies the additional columns to be added to source data. Type:
41498     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
41499    :type additional_columns: any
41500    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
41501     string).
41502    :type query: any
41503    """
41504
41505    _validation = {
41506        'type': {'required': True},
41507    }
41508
41509    _attribute_map = {
41510        'additional_properties': {'key': '', 'type': '{object}'},
41511        'type': {'key': 'type', 'type': 'str'},
41512        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
41513        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
41514        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
41515        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
41516        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
41517        'query': {'key': 'query', 'type': 'object'},
41518    }
41519
41520    def __init__(
41521        self,
41522        *,
41523        additional_properties: Optional[Dict[str, Any]] = None,
41524        source_retry_count: Optional[Any] = None,
41525        source_retry_wait: Optional[Any] = None,
41526        max_concurrent_connections: Optional[Any] = None,
41527        query_timeout: Optional[Any] = None,
41528        additional_columns: Optional[Any] = None,
41529        query: Optional[Any] = None,
41530        **kwargs
41531    ):
41532        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)
41533        self.type = 'XeroSource'  # type: str
41534        self.query = query
41535
41536
41537class XmlDataset(Dataset):
41538    """Xml dataset.
41539
41540    All required parameters must be populated in order to send to Azure.
41541
41542    :param additional_properties: Unmatched properties from the message are deserialized to this
41543     collection.
41544    :type additional_properties: dict[str, any]
41545    :param type: Required. Type of dataset.Constant filled by server.
41546    :type type: str
41547    :param description: Dataset description.
41548    :type description: str
41549    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
41550     with resultType array), itemType: DatasetDataElement.
41551    :type structure: any
41552    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
41553     Expression with resultType array), itemType: DatasetSchemaDataElement.
41554    :type schema: any
41555    :param linked_service_name: Required. Linked service reference.
41556    :type linked_service_name:
41557     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
41558    :param parameters: Parameters for dataset.
41559    :type parameters: dict[str,
41560     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
41561    :param annotations: List of tags that can be used for describing the Dataset.
41562    :type annotations: list[any]
41563    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
41564     root level.
41565    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
41566    :param location: The location of the json data storage.
41567    :type location: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetLocation
41568    :param encoding_name: The code page name of the preferred encoding. If not specified, the
41569     default value is UTF-8, unless BOM denotes another Unicode encoding. Refer to the name column
41570     of the table in the following link to set supported values:
41571     https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with
41572     resultType string).
41573    :type encoding_name: any
41574    :param null_value: The null value string. Type: string (or Expression with resultType string).
41575    :type null_value: any
41576    :param compression: The data compression method used for the json dataset.
41577    :type compression: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetCompression
41578    """
41579
41580    _validation = {
41581        'type': {'required': True},
41582        'linked_service_name': {'required': True},
41583    }
41584
41585    _attribute_map = {
41586        'additional_properties': {'key': '', 'type': '{object}'},
41587        'type': {'key': 'type', 'type': 'str'},
41588        'description': {'key': 'description', 'type': 'str'},
41589        'structure': {'key': 'structure', 'type': 'object'},
41590        'schema': {'key': 'schema', 'type': 'object'},
41591        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
41592        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
41593        'annotations': {'key': 'annotations', 'type': '[object]'},
41594        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
41595        'location': {'key': 'typeProperties.location', 'type': 'DatasetLocation'},
41596        'encoding_name': {'key': 'typeProperties.encodingName', 'type': 'object'},
41597        'null_value': {'key': 'typeProperties.nullValue', 'type': 'object'},
41598        'compression': {'key': 'typeProperties.compression', 'type': 'DatasetCompression'},
41599    }
41600
41601    def __init__(
41602        self,
41603        *,
41604        linked_service_name: "LinkedServiceReference",
41605        additional_properties: Optional[Dict[str, Any]] = None,
41606        description: Optional[str] = None,
41607        structure: Optional[Any] = None,
41608        schema: Optional[Any] = None,
41609        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
41610        annotations: Optional[List[Any]] = None,
41611        folder: Optional["DatasetFolder"] = None,
41612        location: Optional["DatasetLocation"] = None,
41613        encoding_name: Optional[Any] = None,
41614        null_value: Optional[Any] = None,
41615        compression: Optional["DatasetCompression"] = None,
41616        **kwargs
41617    ):
41618        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)
41619        self.type = 'Xml'  # type: str
41620        self.location = location
41621        self.encoding_name = encoding_name
41622        self.null_value = null_value
41623        self.compression = compression
41624
41625
41626class XmlReadSettings(FormatReadSettings):
41627    """Xml read settings.
41628
41629    All required parameters must be populated in order to send to Azure.
41630
41631    :param additional_properties: Unmatched properties from the message are deserialized to this
41632     collection.
41633    :type additional_properties: dict[str, any]
41634    :param type: Required. The read setting type.Constant filled by server.
41635    :type type: str
41636    :param compression_properties: Compression settings.
41637    :type compression_properties:
41638     ~azure.synapse.artifacts.v2021_06_01_preview.models.CompressionReadSettings
41639    :param validation_mode: Indicates what validation method is used when reading the xml files.
41640     Allowed values: 'none', 'xsd', or 'dtd'. Type: string (or Expression with resultType string).
41641    :type validation_mode: any
41642    :param detect_data_type: Indicates whether type detection is enabled when reading the xml
41643     files. Type: boolean (or Expression with resultType boolean).
41644    :type detect_data_type: any
41645    :param namespaces: Indicates whether namespace is enabled when reading the xml files. Type:
41646     boolean (or Expression with resultType boolean).
41647    :type namespaces: any
41648    :param namespace_prefixes: Namespace uri to prefix mappings to override the prefixes in column
41649     names when namespace is enabled, if no prefix is defined for a namespace uri, the prefix of xml
41650     element/attribute name in the xml data file will be used. Example:
41651     "{"http://www.example.com/xml":"prefix"}" Type: object (or Expression with resultType object).
41652    :type namespace_prefixes: any
41653    """
41654
41655    _validation = {
41656        'type': {'required': True},
41657    }
41658
41659    _attribute_map = {
41660        'additional_properties': {'key': '', 'type': '{object}'},
41661        'type': {'key': 'type', 'type': 'str'},
41662        'compression_properties': {'key': 'compressionProperties', 'type': 'CompressionReadSettings'},
41663        'validation_mode': {'key': 'validationMode', 'type': 'object'},
41664        'detect_data_type': {'key': 'detectDataType', 'type': 'object'},
41665        'namespaces': {'key': 'namespaces', 'type': 'object'},
41666        'namespace_prefixes': {'key': 'namespacePrefixes', 'type': 'object'},
41667    }
41668
41669    def __init__(
41670        self,
41671        *,
41672        additional_properties: Optional[Dict[str, Any]] = None,
41673        compression_properties: Optional["CompressionReadSettings"] = None,
41674        validation_mode: Optional[Any] = None,
41675        detect_data_type: Optional[Any] = None,
41676        namespaces: Optional[Any] = None,
41677        namespace_prefixes: Optional[Any] = None,
41678        **kwargs
41679    ):
41680        super(XmlReadSettings, self).__init__(additional_properties=additional_properties, **kwargs)
41681        self.type = 'XmlReadSettings'  # type: str
41682        self.compression_properties = compression_properties
41683        self.validation_mode = validation_mode
41684        self.detect_data_type = detect_data_type
41685        self.namespaces = namespaces
41686        self.namespace_prefixes = namespace_prefixes
41687
41688
41689class XmlSource(CopySource):
41690    """A copy activity Xml source.
41691
41692    All required parameters must be populated in order to send to Azure.
41693
41694    :param additional_properties: Unmatched properties from the message are deserialized to this
41695     collection.
41696    :type additional_properties: dict[str, any]
41697    :param type: Required. Copy source type.Constant filled by server.
41698    :type type: str
41699    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
41700     integer).
41701    :type source_retry_count: any
41702    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
41703     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
41704    :type source_retry_wait: any
41705    :param max_concurrent_connections: The maximum concurrent connection count for the source data
41706     store. Type: integer (or Expression with resultType integer).
41707    :type max_concurrent_connections: any
41708    :param store_settings: Xml store settings.
41709    :type store_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.StoreReadSettings
41710    :param format_settings: Xml format settings.
41711    :type format_settings: ~azure.synapse.artifacts.v2021_06_01_preview.models.XmlReadSettings
41712    :param additional_columns: Specifies the additional columns to be added to source data. Type:
41713     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
41714    :type additional_columns: any
41715    """
41716
41717    _validation = {
41718        'type': {'required': True},
41719    }
41720
41721    _attribute_map = {
41722        'additional_properties': {'key': '', 'type': '{object}'},
41723        'type': {'key': 'type', 'type': 'str'},
41724        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
41725        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
41726        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
41727        'store_settings': {'key': 'storeSettings', 'type': 'StoreReadSettings'},
41728        'format_settings': {'key': 'formatSettings', 'type': 'XmlReadSettings'},
41729        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
41730    }
41731
41732    def __init__(
41733        self,
41734        *,
41735        additional_properties: Optional[Dict[str, Any]] = None,
41736        source_retry_count: Optional[Any] = None,
41737        source_retry_wait: Optional[Any] = None,
41738        max_concurrent_connections: Optional[Any] = None,
41739        store_settings: Optional["StoreReadSettings"] = None,
41740        format_settings: Optional["XmlReadSettings"] = None,
41741        additional_columns: Optional[Any] = None,
41742        **kwargs
41743    ):
41744        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)
41745        self.type = 'XmlSource'  # type: str
41746        self.store_settings = store_settings
41747        self.format_settings = format_settings
41748        self.additional_columns = additional_columns
41749
41750
41751class ZipDeflateReadSettings(CompressionReadSettings):
41752    """The ZipDeflate compression read settings.
41753
41754    All required parameters must be populated in order to send to Azure.
41755
41756    :param additional_properties: Unmatched properties from the message are deserialized to this
41757     collection.
41758    :type additional_properties: dict[str, any]
41759    :param type: Required. The Compression setting type.Constant filled by server.
41760    :type type: str
41761    :param preserve_zip_file_name_as_folder: Preserve the zip file name as folder path. Type:
41762     boolean (or Expression with resultType boolean).
41763    :type preserve_zip_file_name_as_folder: any
41764    """
41765
41766    _validation = {
41767        'type': {'required': True},
41768    }
41769
41770    _attribute_map = {
41771        'additional_properties': {'key': '', 'type': '{object}'},
41772        'type': {'key': 'type', 'type': 'str'},
41773        'preserve_zip_file_name_as_folder': {'key': 'preserveZipFileNameAsFolder', 'type': 'object'},
41774    }
41775
41776    def __init__(
41777        self,
41778        *,
41779        additional_properties: Optional[Dict[str, Any]] = None,
41780        preserve_zip_file_name_as_folder: Optional[Any] = None,
41781        **kwargs
41782    ):
41783        super(ZipDeflateReadSettings, self).__init__(additional_properties=additional_properties, **kwargs)
41784        self.type = 'ZipDeflateReadSettings'  # type: str
41785        self.preserve_zip_file_name_as_folder = preserve_zip_file_name_as_folder
41786
41787
41788class ZohoLinkedService(LinkedService):
41789    """Zoho server linked service.
41790
41791    All required parameters must be populated in order to send to Azure.
41792
41793    :param additional_properties: Unmatched properties from the message are deserialized to this
41794     collection.
41795    :type additional_properties: dict[str, any]
41796    :param type: Required. Type of linked service.Constant filled by server.
41797    :type type: str
41798    :param connect_via: The integration runtime reference.
41799    :type connect_via:
41800     ~azure.synapse.artifacts.v2021_06_01_preview.models.IntegrationRuntimeReference
41801    :param description: Linked service description.
41802    :type description: str
41803    :param parameters: Parameters for linked service.
41804    :type parameters: dict[str,
41805     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
41806    :param annotations: List of tags that can be used for describing the linked service.
41807    :type annotations: list[any]
41808    :param connection_properties: Properties used to connect to Zoho. It is mutually exclusive with
41809     any other properties in the linked service. Type: object.
41810    :type connection_properties: any
41811    :param endpoint: Required. The endpoint of the Zoho server. (i.e. crm.zoho.com/crm/private).
41812    :type endpoint: any
41813    :param access_token: The access token for Zoho authentication.
41814    :type access_token: ~azure.synapse.artifacts.v2021_06_01_preview.models.SecretBase
41815    :param use_encrypted_endpoints: Specifies whether the data source endpoints are encrypted using
41816     HTTPS. The default value is true.
41817    :type use_encrypted_endpoints: any
41818    :param use_host_verification: Specifies whether to require the host name in the server's
41819     certificate to match the host name of the server when connecting over SSL. The default value is
41820     true.
41821    :type use_host_verification: any
41822    :param use_peer_verification: Specifies whether to verify the identity of the server when
41823     connecting over SSL. The default value is true.
41824    :type use_peer_verification: any
41825    :param encrypted_credential: The encrypted credential used for authentication. Credentials are
41826     encrypted using the integration runtime credential manager. Type: string (or Expression with
41827     resultType string).
41828    :type encrypted_credential: any
41829    """
41830
41831    _validation = {
41832        'type': {'required': True},
41833        'endpoint': {'required': True},
41834    }
41835
41836    _attribute_map = {
41837        'additional_properties': {'key': '', 'type': '{object}'},
41838        'type': {'key': 'type', 'type': 'str'},
41839        'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'},
41840        'description': {'key': 'description', 'type': 'str'},
41841        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
41842        'annotations': {'key': 'annotations', 'type': '[object]'},
41843        'connection_properties': {'key': 'typeProperties.connectionProperties', 'type': 'object'},
41844        'endpoint': {'key': 'typeProperties.endpoint', 'type': 'object'},
41845        'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'},
41846        'use_encrypted_endpoints': {'key': 'typeProperties.useEncryptedEndpoints', 'type': 'object'},
41847        'use_host_verification': {'key': 'typeProperties.useHostVerification', 'type': 'object'},
41848        'use_peer_verification': {'key': 'typeProperties.usePeerVerification', 'type': 'object'},
41849        'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'},
41850    }
41851
41852    def __init__(
41853        self,
41854        *,
41855        endpoint: Any,
41856        additional_properties: Optional[Dict[str, Any]] = None,
41857        connect_via: Optional["IntegrationRuntimeReference"] = None,
41858        description: Optional[str] = None,
41859        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
41860        annotations: Optional[List[Any]] = None,
41861        connection_properties: Optional[Any] = None,
41862        access_token: Optional["SecretBase"] = None,
41863        use_encrypted_endpoints: Optional[Any] = None,
41864        use_host_verification: Optional[Any] = None,
41865        use_peer_verification: Optional[Any] = None,
41866        encrypted_credential: Optional[Any] = None,
41867        **kwargs
41868    ):
41869        super(ZohoLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs)
41870        self.type = 'Zoho'  # type: str
41871        self.connection_properties = connection_properties
41872        self.endpoint = endpoint
41873        self.access_token = access_token
41874        self.use_encrypted_endpoints = use_encrypted_endpoints
41875        self.use_host_verification = use_host_verification
41876        self.use_peer_verification = use_peer_verification
41877        self.encrypted_credential = encrypted_credential
41878
41879
41880class ZohoObjectDataset(Dataset):
41881    """Zoho server dataset.
41882
41883    All required parameters must be populated in order to send to Azure.
41884
41885    :param additional_properties: Unmatched properties from the message are deserialized to this
41886     collection.
41887    :type additional_properties: dict[str, any]
41888    :param type: Required. Type of dataset.Constant filled by server.
41889    :type type: str
41890    :param description: Dataset description.
41891    :type description: str
41892    :param structure: Columns that define the structure of the dataset. Type: array (or Expression
41893     with resultType array), itemType: DatasetDataElement.
41894    :type structure: any
41895    :param schema: Columns that define the physical type schema of the dataset. Type: array (or
41896     Expression with resultType array), itemType: DatasetSchemaDataElement.
41897    :type schema: any
41898    :param linked_service_name: Required. Linked service reference.
41899    :type linked_service_name:
41900     ~azure.synapse.artifacts.v2021_06_01_preview.models.LinkedServiceReference
41901    :param parameters: Parameters for dataset.
41902    :type parameters: dict[str,
41903     ~azure.synapse.artifacts.v2021_06_01_preview.models.ParameterSpecification]
41904    :param annotations: List of tags that can be used for describing the Dataset.
41905    :type annotations: list[any]
41906    :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the
41907     root level.
41908    :type folder: ~azure.synapse.artifacts.v2021_06_01_preview.models.DatasetFolder
41909    :param table_name: The table name. Type: string (or Expression with resultType string).
41910    :type table_name: any
41911    """
41912
41913    _validation = {
41914        'type': {'required': True},
41915        'linked_service_name': {'required': True},
41916    }
41917
41918    _attribute_map = {
41919        'additional_properties': {'key': '', 'type': '{object}'},
41920        'type': {'key': 'type', 'type': 'str'},
41921        'description': {'key': 'description', 'type': 'str'},
41922        'structure': {'key': 'structure', 'type': 'object'},
41923        'schema': {'key': 'schema', 'type': 'object'},
41924        'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'},
41925        'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'},
41926        'annotations': {'key': 'annotations', 'type': '[object]'},
41927        'folder': {'key': 'folder', 'type': 'DatasetFolder'},
41928        'table_name': {'key': 'typeProperties.tableName', 'type': 'object'},
41929    }
41930
41931    def __init__(
41932        self,
41933        *,
41934        linked_service_name: "LinkedServiceReference",
41935        additional_properties: Optional[Dict[str, Any]] = None,
41936        description: Optional[str] = None,
41937        structure: Optional[Any] = None,
41938        schema: Optional[Any] = None,
41939        parameters: Optional[Dict[str, "ParameterSpecification"]] = None,
41940        annotations: Optional[List[Any]] = None,
41941        folder: Optional["DatasetFolder"] = None,
41942        table_name: Optional[Any] = None,
41943        **kwargs
41944    ):
41945        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)
41946        self.type = 'ZohoObject'  # type: str
41947        self.table_name = table_name
41948
41949
41950class ZohoSource(TabularSource):
41951    """A copy activity Zoho server source.
41952
41953    All required parameters must be populated in order to send to Azure.
41954
41955    :param additional_properties: Unmatched properties from the message are deserialized to this
41956     collection.
41957    :type additional_properties: dict[str, any]
41958    :param type: Required. Copy source type.Constant filled by server.
41959    :type type: str
41960    :param source_retry_count: Source retry count. Type: integer (or Expression with resultType
41961     integer).
41962    :type source_retry_count: any
41963    :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType
41964     string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
41965    :type source_retry_wait: any
41966    :param max_concurrent_connections: The maximum concurrent connection count for the source data
41967     store. Type: integer (or Expression with resultType integer).
41968    :type max_concurrent_connections: any
41969    :param query_timeout: Query timeout. Type: string (or Expression with resultType string),
41970     pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
41971    :type query_timeout: any
41972    :param additional_columns: Specifies the additional columns to be added to source data. Type:
41973     array of objects(AdditionalColumns) (or Expression with resultType array of objects).
41974    :type additional_columns: any
41975    :param query: A query to retrieve data from source. Type: string (or Expression with resultType
41976     string).
41977    :type query: any
41978    """
41979
41980    _validation = {
41981        'type': {'required': True},
41982    }
41983
41984    _attribute_map = {
41985        'additional_properties': {'key': '', 'type': '{object}'},
41986        'type': {'key': 'type', 'type': 'str'},
41987        'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'},
41988        'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'},
41989        'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'},
41990        'query_timeout': {'key': 'queryTimeout', 'type': 'object'},
41991        'additional_columns': {'key': 'additionalColumns', 'type': 'object'},
41992        'query': {'key': 'query', 'type': 'object'},
41993    }
41994
41995    def __init__(
41996        self,
41997        *,
41998        additional_properties: Optional[Dict[str, Any]] = None,
41999        source_retry_count: Optional[Any] = None,
42000        source_retry_wait: Optional[Any] = None,
42001        max_concurrent_connections: Optional[Any] = None,
42002        query_timeout: Optional[Any] = None,
42003        additional_columns: Optional[Any] = None,
42004        query: Optional[Any] = None,
42005        **kwargs
42006    ):
42007        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)
42008        self.type = 'ZohoSource'  # type: str
42009        self.query = query
42010