diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/pom.xml b/sdk/datafactory/mgmt-v2017_09_01_preview/pom.xml
new file mode 100644
index 0000000000000..62bf1081f4c6a
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/pom.xml
@@ -0,0 +1,135 @@
+
+
+ 4.0.0
+ com.microsoft.azure.datafactory.v2017_09_01_preview
+
+ com.microsoft.azure
+ azure-arm-parent
+ 1.1.0
+ ../../../pom.management.xml
+
+ azure-mgmt-datafactory
+ 1.0.0-beta
+ jar
+ Microsoft Azure SDK for DataFactory Management
+ This package contains Microsoft DataFactory Management SDK.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+ scm:git:https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+ UTF-8
+
+
+
+
+ microsoft
+ Microsoft
+
+
+
+
+ com.microsoft.azure
+ azure-client-runtime
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+
+
+ junit
+ junit
+ test
+
+
+ com.microsoft.azure
+ azure-client-authentication
+ test
+
+
+ com.microsoft.azure
+ azure-mgmt-resources
+ test
+
+
+ com.microsoft.azure
+ azure-arm-client-runtime
+ test-jar
+ test
+
+ 1.6.5
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ true
+ true
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.1
+
+
+ 1.7
+
+
+ com.microsoft.azure.management.apigeneration.LangDefinitionProcessor
+
+
+ true
+ true
+
+ true
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.8
+
+ *.implementation.*;*.utils.*;com.microsoft.schemas._2003._10.serialization;*.blob.core.search
+
+
+ /**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ */
+ ]]>
+
+
+
+
+
+
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Activity.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Activity.java
new file mode 100644
index 0000000000000..eae705f369cfd
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Activity.java
@@ -0,0 +1,132 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * A pipeline activity.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = Activity.class)
+@JsonTypeName("Activity")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "Execution", value = ExecutionActivity.class),
+ @JsonSubTypes.Type(name = "Container", value = ControlActivity.class)
+})
+public class Activity {
+ /**
+ * Unmatched properties from the message are deserialized this collection.
+ */
+ @JsonProperty(value = "")
+ private Map additionalProperties;
+
+ /**
+ * Activity name.
+ */
+ @JsonProperty(value = "name", required = true)
+ private String name;
+
+ /**
+ * Activity description.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /**
+ * Activity depends on condition.
+ */
+ @JsonProperty(value = "dependsOn")
+ private List dependsOn;
+
+ /**
+ * Get unmatched properties from the message are deserialized this collection.
+ *
+ * @return the additionalProperties value
+ */
+ public Map additionalProperties() {
+ return this.additionalProperties;
+ }
+
+ /**
+ * Set unmatched properties from the message are deserialized this collection.
+ *
+ * @param additionalProperties the additionalProperties value to set
+ * @return the Activity object itself.
+ */
+ public Activity withAdditionalProperties(Map additionalProperties) {
+ this.additionalProperties = additionalProperties;
+ return this;
+ }
+
+ /**
+ * Get activity name.
+ *
+ * @return the name value
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set activity name.
+ *
+ * @param name the name value to set
+ * @return the Activity object itself.
+ */
+ public Activity withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get activity description.
+ *
+ * @return the description value
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set activity description.
+ *
+ * @param description the description value to set
+ * @return the Activity object itself.
+ */
+ public Activity withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get activity depends on condition.
+ *
+ * @return the dependsOn value
+ */
+ public List dependsOn() {
+ return this.dependsOn;
+ }
+
+ /**
+ * Set activity depends on condition.
+ *
+ * @param dependsOn the dependsOn value to set
+ * @return the Activity object itself.
+ */
+ public Activity withDependsOn(List dependsOn) {
+ this.dependsOn = dependsOn;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ActivityDependency.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ActivityDependency.java
new file mode 100644
index 0000000000000..8930842dbbf64
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ActivityDependency.java
@@ -0,0 +1,97 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Activity dependency information.
+ */
+public class ActivityDependency {
+ /**
+ * Unmatched properties from the message are deserialized this collection.
+ */
+ @JsonProperty(value = "")
+ private Map additionalProperties;
+
+ /**
+ * Activity name.
+ */
+ @JsonProperty(value = "activity", required = true)
+ private String activity;
+
+ /**
+ * Match-Condition for the dependency.
+ */
+ @JsonProperty(value = "dependencyConditions", required = true)
+ private List dependencyConditions;
+
+ /**
+ * Get unmatched properties from the message are deserialized this collection.
+ *
+ * @return the additionalProperties value
+ */
+ public Map additionalProperties() {
+ return this.additionalProperties;
+ }
+
+ /**
+ * Set unmatched properties from the message are deserialized this collection.
+ *
+ * @param additionalProperties the additionalProperties value to set
+ * @return the ActivityDependency object itself.
+ */
+ public ActivityDependency withAdditionalProperties(Map additionalProperties) {
+ this.additionalProperties = additionalProperties;
+ return this;
+ }
+
+ /**
+ * Get activity name.
+ *
+ * @return the activity value
+ */
+ public String activity() {
+ return this.activity;
+ }
+
+ /**
+ * Set activity name.
+ *
+ * @param activity the activity value to set
+ * @return the ActivityDependency object itself.
+ */
+ public ActivityDependency withActivity(String activity) {
+ this.activity = activity;
+ return this;
+ }
+
+ /**
+ * Get match-Condition for the dependency.
+ *
+ * @return the dependencyConditions value
+ */
+ public List dependencyConditions() {
+ return this.dependencyConditions;
+ }
+
+ /**
+ * Set match-Condition for the dependency.
+ *
+ * @param dependencyConditions the dependencyConditions value to set
+ * @return the ActivityDependency object itself.
+ */
+ public ActivityDependency withDependencyConditions(List dependencyConditions) {
+ this.dependencyConditions = dependencyConditions;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ActivityPolicy.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ActivityPolicy.java
new file mode 100644
index 0000000000000..18c4e9d9d911e
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ActivityPolicy.java
@@ -0,0 +1,152 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Execution policy for an activity.
+ */
+public class ActivityPolicy {
+ /**
+ * Unmatched properties from the message are deserialized this collection.
+ */
+ @JsonProperty(value = "")
+ private Map additionalProperties;
+
+ /**
+ * Specifies the timeout for the activity to run. The default timeout is 7
+ * days. Type: string (or Expression with resultType string), pattern:
+ * ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
+ */
+ @JsonProperty(value = "timeout")
+ private Object timeout;
+
+ /**
+ * Maximum ordinary retry attempts. Default is 0. Type: integer (or
+ * Expression with resultType integer), minimum: 0.
+ */
+ @JsonProperty(value = "retry")
+ private Object retry;
+
+ /**
+ * Interval between each retry attempt (in seconds). The default is 30 sec.
+ */
+ @JsonProperty(value = "retryIntervalInSeconds")
+ private Integer retryIntervalInSeconds;
+
+ /**
+ * When set to true, Output from activity is considered as secure and will
+ * not be logged to monitoring.
+ */
+ @JsonProperty(value = "secureOutput")
+ private Boolean secureOutput;
+
+ /**
+ * Get unmatched properties from the message are deserialized this collection.
+ *
+ * @return the additionalProperties value
+ */
+ public Map additionalProperties() {
+ return this.additionalProperties;
+ }
+
+ /**
+ * Set unmatched properties from the message are deserialized this collection.
+ *
+ * @param additionalProperties the additionalProperties value to set
+ * @return the ActivityPolicy object itself.
+ */
+ public ActivityPolicy withAdditionalProperties(Map additionalProperties) {
+ this.additionalProperties = additionalProperties;
+ return this;
+ }
+
+ /**
+ * Get specifies the timeout for the activity to run. The default timeout is 7 days. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
+ *
+ * @return the timeout value
+ */
+ public Object timeout() {
+ return this.timeout;
+ }
+
+ /**
+ * Set specifies the timeout for the activity to run. The default timeout is 7 days. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
+ *
+ * @param timeout the timeout value to set
+ * @return the ActivityPolicy object itself.
+ */
+ public ActivityPolicy withTimeout(Object timeout) {
+ this.timeout = timeout;
+ return this;
+ }
+
+ /**
+ * Get maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with resultType integer), minimum: 0.
+ *
+ * @return the retry value
+ */
+ public Object retry() {
+ return this.retry;
+ }
+
+ /**
+ * Set maximum ordinary retry attempts. Default is 0. Type: integer (or Expression with resultType integer), minimum: 0.
+ *
+ * @param retry the retry value to set
+ * @return the ActivityPolicy object itself.
+ */
+ public ActivityPolicy withRetry(Object retry) {
+ this.retry = retry;
+ return this;
+ }
+
+ /**
+ * Get interval between each retry attempt (in seconds). The default is 30 sec.
+ *
+ * @return the retryIntervalInSeconds value
+ */
+ public Integer retryIntervalInSeconds() {
+ return this.retryIntervalInSeconds;
+ }
+
+ /**
+ * Set interval between each retry attempt (in seconds). The default is 30 sec.
+ *
+ * @param retryIntervalInSeconds the retryIntervalInSeconds value to set
+ * @return the ActivityPolicy object itself.
+ */
+ public ActivityPolicy withRetryIntervalInSeconds(Integer retryIntervalInSeconds) {
+ this.retryIntervalInSeconds = retryIntervalInSeconds;
+ return this;
+ }
+
+ /**
+ * Get when set to true, Output from activity is considered as secure and will not be logged to monitoring.
+ *
+ * @return the secureOutput value
+ */
+ public Boolean secureOutput() {
+ return this.secureOutput;
+ }
+
+ /**
+ * Set when set to true, Output from activity is considered as secure and will not be logged to monitoring.
+ *
+ * @param secureOutput the secureOutput value to set
+ * @return the ActivityPolicy object itself.
+ */
+ public ActivityPolicy withSecureOutput(Boolean secureOutput) {
+ this.secureOutput = secureOutput;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ActivityRun.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ActivityRun.java
new file mode 100644
index 0000000000000..01dfd1cb0924f
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ActivityRun.java
@@ -0,0 +1,92 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.ActivityRunInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DataFactoryManager;
+import org.joda.time.DateTime;
+import java.util.Map;
+
+/**
+ * Type representing ActivityRun.
+ */
+public interface ActivityRun extends HasInner, HasManager {
+ /**
+ * @return the activityName value.
+ */
+ String activityName();
+
+ /**
+ * @return the activityRunEnd value.
+ */
+ DateTime activityRunEnd();
+
+ /**
+ * @return the activityRunId value.
+ */
+ String activityRunId();
+
+ /**
+ * @return the activityRunStart value.
+ */
+ DateTime activityRunStart();
+
+ /**
+ * @return the activityType value.
+ */
+ String activityType();
+
+ /**
+ * @return the additionalProperties value.
+ */
+ Map additionalProperties();
+
+ /**
+ * @return the durationInMs value.
+ */
+ Integer durationInMs();
+
+ /**
+ * @return the error value.
+ */
+ Object error();
+
+ /**
+ * @return the input value.
+ */
+ Object input();
+
+ /**
+ * @return the linkedServiceName value.
+ */
+ String linkedServiceName();
+
+ /**
+ * @return the output value.
+ */
+ Object output();
+
+ /**
+ * @return the pipelineName value.
+ */
+ String pipelineName();
+
+ /**
+ * @return the pipelineRunId value.
+ */
+ String pipelineRunId();
+
+ /**
+ * @return the status value.
+ */
+ String status();
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ActivityRuns.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ActivityRuns.java
new file mode 100644
index 0000000000000..3e4f37dfe2e3e
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ActivityRuns.java
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import rx.Observable;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.ActivityRunsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing ActivityRuns.
+ */
+public interface ActivityRuns extends HasInner {
+ /**
+ * List activity runs based on input filter conditions.
+ *
+ * @param resourceGroupName The resource group name.
+ * @param factoryName The factory name.
+ * @param runId The pipeline run identifier.
+ * @param startTime The start time of activity runs in ISO8601 format.
+ * @param endTime The end time of activity runs in ISO8601 format.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByPipelineRunAsync(final String resourceGroupName, final String factoryName, final String runId, final DateTime startTime, final DateTime endTime);
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonMWSLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonMWSLinkedService.java
new file mode 100644
index 0000000000000..9175cd19c0319
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonMWSLinkedService.java
@@ -0,0 +1,292 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Amazon Marketplace Web Service linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AmazonMWSLinkedService.class)
+@JsonTypeName("AmazonMWS")
+@JsonFlatten
+public class AmazonMWSLinkedService extends LinkedServiceInner {
+ /**
+ * The endpoint of the Amazon MWS server, (i.e. mws.amazonservices.com).
+ */
+ @JsonProperty(value = "typeProperties.endpoint", required = true)
+ private Object endpoint;
+
+ /**
+ * The Amazon Marketplace ID you want to retrieve data from. To retrieve
+ * data from multiple Marketplace IDs, separate them with a comma (,).
+ * (i.e. A2EUQ1WTGCTBG2).
+ */
+ @JsonProperty(value = "typeProperties.marketplaceID", required = true)
+ private Object marketplaceID;
+
+ /**
+ * The Amazon seller ID.
+ */
+ @JsonProperty(value = "typeProperties.sellerID", required = true)
+ private Object sellerID;
+
+ /**
+ * The Amazon MWS authentication token.
+ */
+ @JsonProperty(value = "typeProperties.mwsAuthToken")
+ private SecretBase mwsAuthToken;
+
+ /**
+ * The access key id used to access data.
+ */
+ @JsonProperty(value = "typeProperties.accessKeyId", required = true)
+ private Object accessKeyId;
+
+ /**
+ * The secret key used to access data.
+ */
+ @JsonProperty(value = "typeProperties.secretKey")
+ private SecretBase secretKey;
+
+ /**
+ * Specifies whether the data source endpoints are encrypted using HTTPS.
+ * The default value is true.
+ */
+ @JsonProperty(value = "typeProperties.useEncryptedEndpoints")
+ private Object useEncryptedEndpoints;
+
+ /**
+ * Specifies whether to require the host name in the server's certificate
+ * to match the host name of the server when connecting over SSL. The
+ * default value is true.
+ */
+ @JsonProperty(value = "typeProperties.useHostVerification")
+ private Object useHostVerification;
+
+ /**
+ * Specifies whether to verify the identity of the server when connecting
+ * over SSL. The default value is true.
+ */
+ @JsonProperty(value = "typeProperties.usePeerVerification")
+ private Object usePeerVerification;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get the endpoint of the Amazon MWS server, (i.e. mws.amazonservices.com).
+ *
+ * @return the endpoint value
+ */
+ public Object endpoint() {
+ return this.endpoint;
+ }
+
+ /**
+ * Set the endpoint of the Amazon MWS server, (i.e. mws.amazonservices.com).
+ *
+ * @param endpoint the endpoint value to set
+ * @return the AmazonMWSLinkedService object itself.
+ */
+ public AmazonMWSLinkedService withEndpoint(Object endpoint) {
+ this.endpoint = endpoint;
+ return this;
+ }
+
+ /**
+ * Get the Amazon Marketplace ID you want to retrieve data from. To retrieve data from multiple Marketplace IDs, separate them with a comma (,). (i.e. A2EUQ1WTGCTBG2).
+ *
+ * @return the marketplaceID value
+ */
+ public Object marketplaceID() {
+ return this.marketplaceID;
+ }
+
+ /**
+ * Set the Amazon Marketplace ID you want to retrieve data from. To retrieve data from multiple Marketplace IDs, separate them with a comma (,). (i.e. A2EUQ1WTGCTBG2).
+ *
+ * @param marketplaceID the marketplaceID value to set
+ * @return the AmazonMWSLinkedService object itself.
+ */
+ public AmazonMWSLinkedService withMarketplaceID(Object marketplaceID) {
+ this.marketplaceID = marketplaceID;
+ return this;
+ }
+
+ /**
+ * Get the Amazon seller ID.
+ *
+ * @return the sellerID value
+ */
+ public Object sellerID() {
+ return this.sellerID;
+ }
+
+ /**
+ * Set the Amazon seller ID.
+ *
+ * @param sellerID the sellerID value to set
+ * @return the AmazonMWSLinkedService object itself.
+ */
+ public AmazonMWSLinkedService withSellerID(Object sellerID) {
+ this.sellerID = sellerID;
+ return this;
+ }
+
+ /**
+ * Get the Amazon MWS authentication token.
+ *
+ * @return the mwsAuthToken value
+ */
+ public SecretBase mwsAuthToken() {
+ return this.mwsAuthToken;
+ }
+
+ /**
+ * Set the Amazon MWS authentication token.
+ *
+ * @param mwsAuthToken the mwsAuthToken value to set
+ * @return the AmazonMWSLinkedService object itself.
+ */
+ public AmazonMWSLinkedService withMwsAuthToken(SecretBase mwsAuthToken) {
+ this.mwsAuthToken = mwsAuthToken;
+ return this;
+ }
+
+ /**
+ * Get the access key id used to access data.
+ *
+ * @return the accessKeyId value
+ */
+ public Object accessKeyId() {
+ return this.accessKeyId;
+ }
+
+ /**
+ * Set the access key id used to access data.
+ *
+ * @param accessKeyId the accessKeyId value to set
+ * @return the AmazonMWSLinkedService object itself.
+ */
+ public AmazonMWSLinkedService withAccessKeyId(Object accessKeyId) {
+ this.accessKeyId = accessKeyId;
+ return this;
+ }
+
+ /**
+ * Get the secret key used to access data.
+ *
+ * @return the secretKey value
+ */
+ public SecretBase secretKey() {
+ return this.secretKey;
+ }
+
+ /**
+ * Set the secret key used to access data.
+ *
+ * @param secretKey the secretKey value to set
+ * @return the AmazonMWSLinkedService object itself.
+ */
+ public AmazonMWSLinkedService withSecretKey(SecretBase secretKey) {
+ this.secretKey = secretKey;
+ return this;
+ }
+
+ /**
+ * Get specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
+ *
+ * @return the useEncryptedEndpoints value
+ */
+ public Object useEncryptedEndpoints() {
+ return this.useEncryptedEndpoints;
+ }
+
+ /**
+ * Set specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
+ *
+ * @param useEncryptedEndpoints the useEncryptedEndpoints value to set
+ * @return the AmazonMWSLinkedService object itself.
+ */
+ public AmazonMWSLinkedService withUseEncryptedEndpoints(Object useEncryptedEndpoints) {
+ this.useEncryptedEndpoints = useEncryptedEndpoints;
+ return this;
+ }
+
+ /**
+ * Get specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
+ *
+ * @return the useHostVerification value
+ */
+ public Object useHostVerification() {
+ return this.useHostVerification;
+ }
+
+ /**
+ * Set specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
+ *
+ * @param useHostVerification the useHostVerification value to set
+ * @return the AmazonMWSLinkedService object itself.
+ */
+ public AmazonMWSLinkedService withUseHostVerification(Object useHostVerification) {
+ this.useHostVerification = useHostVerification;
+ return this;
+ }
+
+ /**
+ * Get specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
+ *
+ * @return the usePeerVerification value
+ */
+ public Object usePeerVerification() {
+ return this.usePeerVerification;
+ }
+
+ /**
+ * Set specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
+ *
+ * @param usePeerVerification the usePeerVerification value to set
+ * @return the AmazonMWSLinkedService object itself.
+ */
+ public AmazonMWSLinkedService withUsePeerVerification(Object usePeerVerification) {
+ this.usePeerVerification = usePeerVerification;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the AmazonMWSLinkedService object itself.
+ */
+ public AmazonMWSLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonMWSObjectDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonMWSObjectDataset.java
new file mode 100644
index 0000000000000..1ddd1467c33c3
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonMWSObjectDataset.java
@@ -0,0 +1,21 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * Amazon Marketplace Web Service dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AmazonMWSObjectDataset.class)
+@JsonTypeName("AmazonMWSObject")
+public class AmazonMWSObjectDataset extends DatasetInner {
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonMWSSource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonMWSSource.java
new file mode 100644
index 0000000000000..8bac71f167f7c
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonMWSSource.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Amazon Marketplace Web Service source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AmazonMWSSource.class)
+@JsonTypeName("AmazonMWSSource")
+public class AmazonMWSSource extends CopySource {
+ /**
+ * A query to retrieve data from source. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "query")
+ private Object query;
+
+ /**
+ * Get a query to retrieve data from source. Type: string (or Expression with resultType string).
+ *
+ * @return the query value
+ */
+ public Object query() {
+ return this.query;
+ }
+
+ /**
+ * Set a query to retrieve data from source. Type: string (or Expression with resultType string).
+ *
+ * @param query the query value to set
+ * @return the AmazonMWSSource object itself.
+ */
+ public AmazonMWSSource withQuery(Object query) {
+ this.query = query;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonRedshiftLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonRedshiftLinkedService.java
new file mode 100644
index 0000000000000..f428c5f71db08
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonRedshiftLinkedService.java
@@ -0,0 +1,187 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Linked service for Amazon Redshift.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AmazonRedshiftLinkedService.class)
+@JsonTypeName("AmazonRedshift")
+@JsonFlatten
+public class AmazonRedshiftLinkedService extends LinkedServiceInner {
+ /**
+ * The name of the Amazon Redshift server. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.server", required = true)
+ private Object server;
+
+ /**
+ * The username of the Amazon Redshift source. Type: string (or Expression
+ * with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.username")
+ private Object username;
+
+ /**
+ * The password of the Amazon Redshift source.
+ */
+ @JsonProperty(value = "typeProperties.password")
+ private SecretBase password;
+
+ /**
+ * The database name of the Amazon Redshift source. Type: string (or
+ * Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.database", required = true)
+ private Object database;
+
+ /**
+ * The TCP port number that the Amazon Redshift server uses to listen for
+ * client connections. The default value is 5439. Type: integer (or
+ * Expression with resultType integer).
+ */
+ @JsonProperty(value = "typeProperties.port")
+ private Object port;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get the name of the Amazon Redshift server. Type: string (or Expression with resultType string).
+ *
+ * @return the server value
+ */
+ public Object server() {
+ return this.server;
+ }
+
+ /**
+ * Set the name of the Amazon Redshift server. Type: string (or Expression with resultType string).
+ *
+ * @param server the server value to set
+ * @return the AmazonRedshiftLinkedService object itself.
+ */
+ public AmazonRedshiftLinkedService withServer(Object server) {
+ this.server = server;
+ return this;
+ }
+
+ /**
+ * Get the username of the Amazon Redshift source. Type: string (or Expression with resultType string).
+ *
+ * @return the username value
+ */
+ public Object username() {
+ return this.username;
+ }
+
+ /**
+ * Set the username of the Amazon Redshift source. Type: string (or Expression with resultType string).
+ *
+ * @param username the username value to set
+ * @return the AmazonRedshiftLinkedService object itself.
+ */
+ public AmazonRedshiftLinkedService withUsername(Object username) {
+ this.username = username;
+ return this;
+ }
+
+ /**
+ * Get the password of the Amazon Redshift source.
+ *
+ * @return the password value
+ */
+ public SecretBase password() {
+ return this.password;
+ }
+
+ /**
+ * Set the password of the Amazon Redshift source.
+ *
+ * @param password the password value to set
+ * @return the AmazonRedshiftLinkedService object itself.
+ */
+ public AmazonRedshiftLinkedService withPassword(SecretBase password) {
+ this.password = password;
+ return this;
+ }
+
+ /**
+ * Get the database name of the Amazon Redshift source. Type: string (or Expression with resultType string).
+ *
+ * @return the database value
+ */
+ public Object database() {
+ return this.database;
+ }
+
+ /**
+ * Set the database name of the Amazon Redshift source. Type: string (or Expression with resultType string).
+ *
+ * @param database the database value to set
+ * @return the AmazonRedshiftLinkedService object itself.
+ */
+ public AmazonRedshiftLinkedService withDatabase(Object database) {
+ this.database = database;
+ return this;
+ }
+
+ /**
+ * Get the TCP port number that the Amazon Redshift server uses to listen for client connections. The default value is 5439. Type: integer (or Expression with resultType integer).
+ *
+ * @return the port value
+ */
+ public Object port() {
+ return this.port;
+ }
+
+ /**
+ * Set the TCP port number that the Amazon Redshift server uses to listen for client connections. The default value is 5439. Type: integer (or Expression with resultType integer).
+ *
+ * @param port the port value to set
+ * @return the AmazonRedshiftLinkedService object itself.
+ */
+ public AmazonRedshiftLinkedService withPort(Object port) {
+ this.port = port;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the AmazonRedshiftLinkedService object itself.
+ */
+ public AmazonRedshiftLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonRedshiftSource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonRedshiftSource.java
new file mode 100644
index 0000000000000..33a9b86eddf73
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonRedshiftSource.java
@@ -0,0 +1,76 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity source for Amazon Redshift Source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AmazonRedshiftSource.class)
+@JsonTypeName("AmazonRedshiftSource")
+public class AmazonRedshiftSource extends CopySource {
+ /**
+ * Database query. Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "query")
+ private Object query;
+
+ /**
+ * 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.
+ */
+ @JsonProperty(value = "redshiftUnloadSettings")
+ private RedshiftUnloadSettings redshiftUnloadSettings;
+
+ /**
+ * Get database query. Type: string (or Expression with resultType string).
+ *
+ * @return the query value
+ */
+ public Object query() {
+ return this.query;
+ }
+
+ /**
+ * Set database query. Type: string (or Expression with resultType string).
+ *
+ * @param query the query value to set
+ * @return the AmazonRedshiftSource object itself.
+ */
+ public AmazonRedshiftSource withQuery(Object query) {
+ this.query = query;
+ return this;
+ }
+
+ /**
+ * Get 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.
+ *
+ * @return the redshiftUnloadSettings value
+ */
+ public RedshiftUnloadSettings redshiftUnloadSettings() {
+ return this.redshiftUnloadSettings;
+ }
+
+ /**
+ * Set 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.
+ *
+ * @param redshiftUnloadSettings the redshiftUnloadSettings value to set
+ * @return the AmazonRedshiftSource object itself.
+ */
+ public AmazonRedshiftSource withRedshiftUnloadSettings(RedshiftUnloadSettings redshiftUnloadSettings) {
+ this.redshiftUnloadSettings = redshiftUnloadSettings;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonS3Dataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonS3Dataset.java
new file mode 100644
index 0000000000000..372e7cf50ce67
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonS3Dataset.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * A single Amazon Simple Storage Service (S3) object or a set of S3 objects.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AmazonS3Dataset.class)
+@JsonTypeName("AmazonS3Object")
+@JsonFlatten
+public class AmazonS3Dataset extends DatasetInner {
+ /**
+ * The name of the Amazon S3 bucket. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.bucketName", required = true)
+ private Object bucketName;
+
+ /**
+ * The key of the Amazon S3 object. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.key")
+ private Object key;
+
+ /**
+ * The prefix filter for the S3 object name. Type: string (or Expression
+ * with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.prefix")
+ private Object prefix;
+
+ /**
+ * The version for the S3 object. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.version")
+ private Object version;
+
+ /**
+ * The format of files.
+ */
+ @JsonProperty(value = "typeProperties.format")
+ private DatasetStorageFormat format;
+
+ /**
+ * The data compression method used for the Amazon S3 object.
+ */
+ @JsonProperty(value = "typeProperties.compression")
+ private DatasetCompression compression;
+
+ /**
+ * Get the name of the Amazon S3 bucket. Type: string (or Expression with resultType string).
+ *
+ * @return the bucketName value
+ */
+ public Object bucketName() {
+ return this.bucketName;
+ }
+
+ /**
+ * Set the name of the Amazon S3 bucket. Type: string (or Expression with resultType string).
+ *
+ * @param bucketName the bucketName value to set
+ * @return the AmazonS3Dataset object itself.
+ */
+ public AmazonS3Dataset withBucketName(Object bucketName) {
+ this.bucketName = bucketName;
+ return this;
+ }
+
+ /**
+ * Get the key of the Amazon S3 object. Type: string (or Expression with resultType string).
+ *
+ * @return the key value
+ */
+ public Object key() {
+ return this.key;
+ }
+
+ /**
+ * Set the key of the Amazon S3 object. Type: string (or Expression with resultType string).
+ *
+ * @param key the key value to set
+ * @return the AmazonS3Dataset object itself.
+ */
+ public AmazonS3Dataset withKey(Object key) {
+ this.key = key;
+ return this;
+ }
+
+ /**
+ * Get the prefix filter for the S3 object name. Type: string (or Expression with resultType string).
+ *
+ * @return the prefix value
+ */
+ public Object prefix() {
+ return this.prefix;
+ }
+
+ /**
+ * Set the prefix filter for the S3 object name. Type: string (or Expression with resultType string).
+ *
+ * @param prefix the prefix value to set
+ * @return the AmazonS3Dataset object itself.
+ */
+ public AmazonS3Dataset withPrefix(Object prefix) {
+ this.prefix = prefix;
+ return this;
+ }
+
+ /**
+ * Get the version for the S3 object. Type: string (or Expression with resultType string).
+ *
+ * @return the version value
+ */
+ public Object version() {
+ return this.version;
+ }
+
+ /**
+ * Set the version for the S3 object. Type: string (or Expression with resultType string).
+ *
+ * @param version the version value to set
+ * @return the AmazonS3Dataset object itself.
+ */
+ public AmazonS3Dataset withVersion(Object version) {
+ this.version = version;
+ return this;
+ }
+
+ /**
+ * Get the format of files.
+ *
+ * @return the format value
+ */
+ public DatasetStorageFormat format() {
+ return this.format;
+ }
+
+ /**
+ * Set the format of files.
+ *
+ * @param format the format value to set
+ * @return the AmazonS3Dataset object itself.
+ */
+ public AmazonS3Dataset withFormat(DatasetStorageFormat format) {
+ this.format = format;
+ return this;
+ }
+
+ /**
+ * Get the data compression method used for the Amazon S3 object.
+ *
+ * @return the compression value
+ */
+ public DatasetCompression compression() {
+ return this.compression;
+ }
+
+ /**
+ * Set the data compression method used for the Amazon S3 object.
+ *
+ * @param compression the compression value to set
+ * @return the AmazonS3Dataset object itself.
+ */
+ public AmazonS3Dataset withCompression(DatasetCompression compression) {
+ this.compression = compression;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonS3LinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonS3LinkedService.java
new file mode 100644
index 0000000000000..6a3bca3f31f02
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AmazonS3LinkedService.java
@@ -0,0 +1,107 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Linked service for Amazon S3.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AmazonS3LinkedService.class)
+@JsonTypeName("AmazonS3")
+@JsonFlatten
+public class AmazonS3LinkedService extends LinkedServiceInner {
+ /**
+ * The access key identifier of the Amazon S3 Identity and Access
+ * Management (IAM) user. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.accessKeyId")
+ private Object accessKeyId;
+
+ /**
+ * The secret access key of the Amazon S3 Identity and Access Management
+ * (IAM) user.
+ */
+ @JsonProperty(value = "typeProperties.secretAccessKey")
+ private SecretBase secretAccessKey;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get the access key identifier of the Amazon S3 Identity and Access Management (IAM) user. Type: string (or Expression with resultType string).
+ *
+ * @return the accessKeyId value
+ */
+ public Object accessKeyId() {
+ return this.accessKeyId;
+ }
+
+ /**
+ * Set the access key identifier of the Amazon S3 Identity and Access Management (IAM) user. Type: string (or Expression with resultType string).
+ *
+ * @param accessKeyId the accessKeyId value to set
+ * @return the AmazonS3LinkedService object itself.
+ */
+ public AmazonS3LinkedService withAccessKeyId(Object accessKeyId) {
+ this.accessKeyId = accessKeyId;
+ return this;
+ }
+
+ /**
+ * Get the secret access key of the Amazon S3 Identity and Access Management (IAM) user.
+ *
+ * @return the secretAccessKey value
+ */
+ public SecretBase secretAccessKey() {
+ return this.secretAccessKey;
+ }
+
+ /**
+ * Set the secret access key of the Amazon S3 Identity and Access Management (IAM) user.
+ *
+ * @param secretAccessKey the secretAccessKey value to set
+ * @return the AmazonS3LinkedService object itself.
+ */
+ public AmazonS3LinkedService withSecretAccessKey(SecretBase secretAccessKey) {
+ this.secretAccessKey = secretAccessKey;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the AmazonS3LinkedService object itself.
+ */
+ public AmazonS3LinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AvroFormat.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AvroFormat.java
new file mode 100644
index 0000000000000..2bc03bfb7402e
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AvroFormat.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * The data stored in Avro format.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AvroFormat.class)
+@JsonTypeName("AvroFormat")
+public class AvroFormat extends DatasetStorageFormat {
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureBatchLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureBatchLinkedService.java
new file mode 100644
index 0000000000000..ecf0fa0a107a9
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureBatchLinkedService.java
@@ -0,0 +1,185 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Azure Batch linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureBatchLinkedService.class)
+@JsonTypeName("AzureBatch")
+@JsonFlatten
+public class AzureBatchLinkedService extends LinkedServiceInner {
+ /**
+ * The Azure Batch account name. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.accountName", required = true)
+ private Object accountName;
+
+ /**
+ * The Azure Batch account access key.
+ */
+ @JsonProperty(value = "typeProperties.accessKey")
+ private SecretBase accessKey;
+
+ /**
+ * The Azure Batch URI. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.batchUri", required = true)
+ private Object batchUri;
+
+ /**
+ * The Azure Batch pool name. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.poolName", required = true)
+ private Object poolName;
+
+ /**
+ * The Azure Storage linked service reference.
+ */
+ @JsonProperty(value = "typeProperties.linkedServiceName", required = true)
+ private LinkedServiceReference linkedServiceName;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get the Azure Batch account name. Type: string (or Expression with resultType string).
+ *
+ * @return the accountName value
+ */
+ public Object accountName() {
+ return this.accountName;
+ }
+
+ /**
+ * Set the Azure Batch account name. Type: string (or Expression with resultType string).
+ *
+ * @param accountName the accountName value to set
+ * @return the AzureBatchLinkedService object itself.
+ */
+ public AzureBatchLinkedService withAccountName(Object accountName) {
+ this.accountName = accountName;
+ return this;
+ }
+
+ /**
+ * Get the Azure Batch account access key.
+ *
+ * @return the accessKey value
+ */
+ public SecretBase accessKey() {
+ return this.accessKey;
+ }
+
+ /**
+ * Set the Azure Batch account access key.
+ *
+ * @param accessKey the accessKey value to set
+ * @return the AzureBatchLinkedService object itself.
+ */
+ public AzureBatchLinkedService withAccessKey(SecretBase accessKey) {
+ this.accessKey = accessKey;
+ return this;
+ }
+
+ /**
+ * Get the Azure Batch URI. Type: string (or Expression with resultType string).
+ *
+ * @return the batchUri value
+ */
+ public Object batchUri() {
+ return this.batchUri;
+ }
+
+ /**
+ * Set the Azure Batch URI. Type: string (or Expression with resultType string).
+ *
+ * @param batchUri the batchUri value to set
+ * @return the AzureBatchLinkedService object itself.
+ */
+ public AzureBatchLinkedService withBatchUri(Object batchUri) {
+ this.batchUri = batchUri;
+ return this;
+ }
+
+ /**
+ * Get the Azure Batch pool name. Type: string (or Expression with resultType string).
+ *
+ * @return the poolName value
+ */
+ public Object poolName() {
+ return this.poolName;
+ }
+
+ /**
+ * Set the Azure Batch pool name. Type: string (or Expression with resultType string).
+ *
+ * @param poolName the poolName value to set
+ * @return the AzureBatchLinkedService object itself.
+ */
+ public AzureBatchLinkedService withPoolName(Object poolName) {
+ this.poolName = poolName;
+ return this;
+ }
+
+ /**
+ * Get the Azure Storage linked service reference.
+ *
+ * @return the linkedServiceName value
+ */
+ public LinkedServiceReference linkedServiceName() {
+ return this.linkedServiceName;
+ }
+
+ /**
+ * Set the Azure Storage linked service reference.
+ *
+ * @param linkedServiceName the linkedServiceName value to set
+ * @return the AzureBatchLinkedService object itself.
+ */
+ public AzureBatchLinkedService withLinkedServiceName(LinkedServiceReference linkedServiceName) {
+ this.linkedServiceName = linkedServiceName;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the AzureBatchLinkedService object itself.
+ */
+ public AzureBatchLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureBlobDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureBlobDataset.java
new file mode 100644
index 0000000000000..824fb69027678
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureBlobDataset.java
@@ -0,0 +1,157 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * The Azure Blob storage.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureBlobDataset.class)
+@JsonTypeName("AzureBlob")
+@JsonFlatten
+public class AzureBlobDataset extends DatasetInner {
+ /**
+ * The path of the Azure Blob storage. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.folderPath")
+ private Object folderPath;
+
+ /**
+ * The root of blob path. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.tableRootLocation")
+ private Object tableRootLocation;
+
+ /**
+ * The name of the Azure Blob. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.fileName")
+ private Object fileName;
+
+ /**
+ * The format of the Azure Blob storage.
+ */
+ @JsonProperty(value = "typeProperties.format")
+ private DatasetStorageFormat format;
+
+ /**
+ * The data compression method used for the blob storage.
+ */
+ @JsonProperty(value = "typeProperties.compression")
+ private DatasetCompression compression;
+
+ /**
+ * Get the path of the Azure Blob storage. Type: string (or Expression with resultType string).
+ *
+ * @return the folderPath value
+ */
+ public Object folderPath() {
+ return this.folderPath;
+ }
+
+ /**
+ * Set the path of the Azure Blob storage. Type: string (or Expression with resultType string).
+ *
+ * @param folderPath the folderPath value to set
+ * @return the AzureBlobDataset object itself.
+ */
+ public AzureBlobDataset withFolderPath(Object folderPath) {
+ this.folderPath = folderPath;
+ return this;
+ }
+
+ /**
+ * Get the root of blob path. Type: string (or Expression with resultType string).
+ *
+ * @return the tableRootLocation value
+ */
+ public Object tableRootLocation() {
+ return this.tableRootLocation;
+ }
+
+ /**
+ * Set the root of blob path. Type: string (or Expression with resultType string).
+ *
+ * @param tableRootLocation the tableRootLocation value to set
+ * @return the AzureBlobDataset object itself.
+ */
+ public AzureBlobDataset withTableRootLocation(Object tableRootLocation) {
+ this.tableRootLocation = tableRootLocation;
+ return this;
+ }
+
+ /**
+ * Get the name of the Azure Blob. Type: string (or Expression with resultType string).
+ *
+ * @return the fileName value
+ */
+ public Object fileName() {
+ return this.fileName;
+ }
+
+ /**
+ * Set the name of the Azure Blob. Type: string (or Expression with resultType string).
+ *
+ * @param fileName the fileName value to set
+ * @return the AzureBlobDataset object itself.
+ */
+ public AzureBlobDataset withFileName(Object fileName) {
+ this.fileName = fileName;
+ return this;
+ }
+
+ /**
+ * Get the format of the Azure Blob storage.
+ *
+ * @return the format value
+ */
+ public DatasetStorageFormat format() {
+ return this.format;
+ }
+
+ /**
+ * Set the format of the Azure Blob storage.
+ *
+ * @param format the format value to set
+ * @return the AzureBlobDataset object itself.
+ */
+ public AzureBlobDataset withFormat(DatasetStorageFormat format) {
+ this.format = format;
+ return this;
+ }
+
+ /**
+ * Get the data compression method used for the blob storage.
+ *
+ * @return the compression value
+ */
+ public DatasetCompression compression() {
+ return this.compression;
+ }
+
+ /**
+ * Set the data compression method used for the blob storage.
+ *
+ * @param compression the compression value to set
+ * @return the AzureBlobDataset object itself.
+ */
+ public AzureBlobDataset withCompression(DatasetCompression compression) {
+ this.compression = compression;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDataLakeAnalyticsLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDataLakeAnalyticsLinkedService.java
new file mode 100644
index 0000000000000..ede27037a08e0
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDataLakeAnalyticsLinkedService.java
@@ -0,0 +1,242 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Azure Data Lake Analytics linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureDataLakeAnalyticsLinkedService.class)
+@JsonTypeName("AzureDataLakeAnalytics")
+@JsonFlatten
+public class AzureDataLakeAnalyticsLinkedService extends LinkedServiceInner {
+ /**
+ * The Azure Data Lake Analytics account name. Type: string (or Expression
+ * with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.accountName", required = true)
+ private Object accountName;
+
+ /**
+ * The ID of the application used to authenticate against the Azure Data
+ * Lake Analytics account. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.servicePrincipalId")
+ private Object servicePrincipalId;
+
+ /**
+ * The Key of the application used to authenticate against the Azure Data
+ * Lake Analytics account.
+ */
+ @JsonProperty(value = "typeProperties.servicePrincipalKey")
+ private SecretBase servicePrincipalKey;
+
+ /**
+ * The name or ID of the tenant to which the service principal belongs.
+ * Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.tenant", required = true)
+ private Object tenant;
+
+ /**
+ * Data Lake Analytics account subscription ID (if different from Data
+ * Factory account). Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.subscriptionId")
+ private Object subscriptionId;
+
+ /**
+ * Data Lake Analytics account resource group name (if different from Data
+ * Factory account). Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.resourceGroupName")
+ private Object resourceGroupName;
+
+ /**
+ * Azure Data Lake Analytics URI Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.dataLakeAnalyticsUri")
+ private Object dataLakeAnalyticsUri;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get the Azure Data Lake Analytics account name. Type: string (or Expression with resultType string).
+ *
+ * @return the accountName value
+ */
+ public Object accountName() {
+ return this.accountName;
+ }
+
+ /**
+ * Set the Azure Data Lake Analytics account name. Type: string (or Expression with resultType string).
+ *
+ * @param accountName the accountName value to set
+ * @return the AzureDataLakeAnalyticsLinkedService object itself.
+ */
+ public AzureDataLakeAnalyticsLinkedService withAccountName(Object accountName) {
+ this.accountName = accountName;
+ return this;
+ }
+
+ /**
+ * Get the ID of the application used to authenticate against the Azure Data Lake Analytics account. Type: string (or Expression with resultType string).
+ *
+ * @return the servicePrincipalId value
+ */
+ public Object servicePrincipalId() {
+ return this.servicePrincipalId;
+ }
+
+ /**
+ * Set the ID of the application used to authenticate against the Azure Data Lake Analytics account. Type: string (or Expression with resultType string).
+ *
+ * @param servicePrincipalId the servicePrincipalId value to set
+ * @return the AzureDataLakeAnalyticsLinkedService object itself.
+ */
+ public AzureDataLakeAnalyticsLinkedService withServicePrincipalId(Object servicePrincipalId) {
+ this.servicePrincipalId = servicePrincipalId;
+ return this;
+ }
+
+ /**
+ * Get the Key of the application used to authenticate against the Azure Data Lake Analytics account.
+ *
+ * @return the servicePrincipalKey value
+ */
+ public SecretBase servicePrincipalKey() {
+ return this.servicePrincipalKey;
+ }
+
+ /**
+ * Set the Key of the application used to authenticate against the Azure Data Lake Analytics account.
+ *
+ * @param servicePrincipalKey the servicePrincipalKey value to set
+ * @return the AzureDataLakeAnalyticsLinkedService object itself.
+ */
+ public AzureDataLakeAnalyticsLinkedService withServicePrincipalKey(SecretBase servicePrincipalKey) {
+ this.servicePrincipalKey = servicePrincipalKey;
+ return this;
+ }
+
+ /**
+ * Get the name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
+ *
+ * @return the tenant value
+ */
+ public Object tenant() {
+ return this.tenant;
+ }
+
+ /**
+ * Set the name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
+ *
+ * @param tenant the tenant value to set
+ * @return the AzureDataLakeAnalyticsLinkedService object itself.
+ */
+ public AzureDataLakeAnalyticsLinkedService withTenant(Object tenant) {
+ this.tenant = tenant;
+ return this;
+ }
+
+ /**
+ * Get data Lake Analytics account subscription ID (if different from Data Factory account). Type: string (or Expression with resultType string).
+ *
+ * @return the subscriptionId value
+ */
+ public Object subscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /**
+ * Set data Lake Analytics account subscription ID (if different from Data Factory account). Type: string (or Expression with resultType string).
+ *
+ * @param subscriptionId the subscriptionId value to set
+ * @return the AzureDataLakeAnalyticsLinkedService object itself.
+ */
+ public AzureDataLakeAnalyticsLinkedService withSubscriptionId(Object subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /**
+ * Get data Lake Analytics account resource group name (if different from Data Factory account). Type: string (or Expression with resultType string).
+ *
+ * @return the resourceGroupName value
+ */
+ public Object resourceGroupName() {
+ return this.resourceGroupName;
+ }
+
+ /**
+ * Set data Lake Analytics account resource group name (if different from Data Factory account). Type: string (or Expression with resultType string).
+ *
+ * @param resourceGroupName the resourceGroupName value to set
+ * @return the AzureDataLakeAnalyticsLinkedService object itself.
+ */
+ public AzureDataLakeAnalyticsLinkedService withResourceGroupName(Object resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ /**
+ * Get azure Data Lake Analytics URI Type: string (or Expression with resultType string).
+ *
+ * @return the dataLakeAnalyticsUri value
+ */
+ public Object dataLakeAnalyticsUri() {
+ return this.dataLakeAnalyticsUri;
+ }
+
+ /**
+ * Set azure Data Lake Analytics URI Type: string (or Expression with resultType string).
+ *
+ * @param dataLakeAnalyticsUri the dataLakeAnalyticsUri value to set
+ * @return the AzureDataLakeAnalyticsLinkedService object itself.
+ */
+ public AzureDataLakeAnalyticsLinkedService withDataLakeAnalyticsUri(Object dataLakeAnalyticsUri) {
+ this.dataLakeAnalyticsUri = dataLakeAnalyticsUri;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the AzureDataLakeAnalyticsLinkedService object itself.
+ */
+ public AzureDataLakeAnalyticsLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDataLakeStoreDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDataLakeStoreDataset.java
new file mode 100644
index 0000000000000..294f2fd84978a
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDataLakeStoreDataset.java
@@ -0,0 +1,131 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * Azure Data Lake Store dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureDataLakeStoreDataset.class)
+@JsonTypeName("AzureDataLakeStoreFile")
+@JsonFlatten
+public class AzureDataLakeStoreDataset extends DatasetInner {
+ /**
+ * Path to the folder in the Azure Data Lake Store. Type: string (or
+ * Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.folderPath", required = true)
+ private Object folderPath;
+
+ /**
+ * The name of the file in the Azure Data Lake Store. Type: string (or
+ * Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.fileName")
+ private Object fileName;
+
+ /**
+ * The format of the Data Lake Store.
+ */
+ @JsonProperty(value = "typeProperties.format")
+ private DatasetStorageFormat format;
+
+ /**
+ * The data compression method used for the item(s) in the Azure Data Lake
+ * Store.
+ */
+ @JsonProperty(value = "typeProperties.compression")
+ private DatasetCompression compression;
+
+ /**
+ * Get path to the folder in the Azure Data Lake Store. Type: string (or Expression with resultType string).
+ *
+ * @return the folderPath value
+ */
+ public Object folderPath() {
+ return this.folderPath;
+ }
+
+ /**
+ * Set path to the folder in the Azure Data Lake Store. Type: string (or Expression with resultType string).
+ *
+ * @param folderPath the folderPath value to set
+ * @return the AzureDataLakeStoreDataset object itself.
+ */
+ public AzureDataLakeStoreDataset withFolderPath(Object folderPath) {
+ this.folderPath = folderPath;
+ return this;
+ }
+
+ /**
+ * Get the name of the file in the Azure Data Lake Store. Type: string (or Expression with resultType string).
+ *
+ * @return the fileName value
+ */
+ public Object fileName() {
+ return this.fileName;
+ }
+
+ /**
+ * Set the name of the file in the Azure Data Lake Store. Type: string (or Expression with resultType string).
+ *
+ * @param fileName the fileName value to set
+ * @return the AzureDataLakeStoreDataset object itself.
+ */
+ public AzureDataLakeStoreDataset withFileName(Object fileName) {
+ this.fileName = fileName;
+ return this;
+ }
+
+ /**
+ * Get the format of the Data Lake Store.
+ *
+ * @return the format value
+ */
+ public DatasetStorageFormat format() {
+ return this.format;
+ }
+
+ /**
+ * Set the format of the Data Lake Store.
+ *
+ * @param format the format value to set
+ * @return the AzureDataLakeStoreDataset object itself.
+ */
+ public AzureDataLakeStoreDataset withFormat(DatasetStorageFormat format) {
+ this.format = format;
+ return this;
+ }
+
+ /**
+ * Get the data compression method used for the item(s) in the Azure Data Lake Store.
+ *
+ * @return the compression value
+ */
+ public DatasetCompression compression() {
+ return this.compression;
+ }
+
+ /**
+ * Set the data compression method used for the item(s) in the Azure Data Lake Store.
+ *
+ * @param compression the compression value to set
+ * @return the AzureDataLakeStoreDataset object itself.
+ */
+ public AzureDataLakeStoreDataset withCompression(DatasetCompression compression) {
+ this.compression = compression;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDataLakeStoreLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDataLakeStoreLinkedService.java
new file mode 100644
index 0000000000000..0a609d47dc5cb
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDataLakeStoreLinkedService.java
@@ -0,0 +1,241 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Azure Data Lake Store linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureDataLakeStoreLinkedService.class)
+@JsonTypeName("AzureDataLakeStore")
+@JsonFlatten
+public class AzureDataLakeStoreLinkedService extends LinkedServiceInner {
+ /**
+ * Data Lake Store service URI. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.dataLakeStoreUri", required = true)
+ private Object dataLakeStoreUri;
+
+ /**
+ * The ID of the application used to authenticate against the Azure Data
+ * Lake Store account. Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.servicePrincipalId")
+ private Object servicePrincipalId;
+
+ /**
+ * The Key of the application used to authenticate against the Azure Data
+ * Lake Store account.
+ */
+ @JsonProperty(value = "typeProperties.servicePrincipalKey")
+ private SecretBase servicePrincipalKey;
+
+ /**
+ * The name or ID of the tenant to which the service principal belongs.
+ * Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.tenant")
+ private Object tenant;
+
+ /**
+ * Data Lake Store account name. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.accountName")
+ private Object accountName;
+
+ /**
+ * Data Lake Store account subscription ID (if different from Data Factory
+ * account). Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.subscriptionId")
+ private Object subscriptionId;
+
+ /**
+ * Data Lake Store account resource group name (if different from Data
+ * Factory account). Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.resourceGroupName")
+ private Object resourceGroupName;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get data Lake Store service URI. Type: string (or Expression with resultType string).
+ *
+ * @return the dataLakeStoreUri value
+ */
+ public Object dataLakeStoreUri() {
+ return this.dataLakeStoreUri;
+ }
+
+ /**
+ * Set data Lake Store service URI. Type: string (or Expression with resultType string).
+ *
+ * @param dataLakeStoreUri the dataLakeStoreUri value to set
+ * @return the AzureDataLakeStoreLinkedService object itself.
+ */
+ public AzureDataLakeStoreLinkedService withDataLakeStoreUri(Object dataLakeStoreUri) {
+ this.dataLakeStoreUri = dataLakeStoreUri;
+ return this;
+ }
+
+ /**
+ * Get the ID of the application used to authenticate against the Azure Data Lake Store account. Type: string (or Expression with resultType string).
+ *
+ * @return the servicePrincipalId value
+ */
+ public Object servicePrincipalId() {
+ return this.servicePrincipalId;
+ }
+
+ /**
+ * Set the ID of the application used to authenticate against the Azure Data Lake Store account. Type: string (or Expression with resultType string).
+ *
+ * @param servicePrincipalId the servicePrincipalId value to set
+ * @return the AzureDataLakeStoreLinkedService object itself.
+ */
+ public AzureDataLakeStoreLinkedService withServicePrincipalId(Object servicePrincipalId) {
+ this.servicePrincipalId = servicePrincipalId;
+ return this;
+ }
+
+ /**
+ * Get the Key of the application used to authenticate against the Azure Data Lake Store account.
+ *
+ * @return the servicePrincipalKey value
+ */
+ public SecretBase servicePrincipalKey() {
+ return this.servicePrincipalKey;
+ }
+
+ /**
+ * Set the Key of the application used to authenticate against the Azure Data Lake Store account.
+ *
+ * @param servicePrincipalKey the servicePrincipalKey value to set
+ * @return the AzureDataLakeStoreLinkedService object itself.
+ */
+ public AzureDataLakeStoreLinkedService withServicePrincipalKey(SecretBase servicePrincipalKey) {
+ this.servicePrincipalKey = servicePrincipalKey;
+ return this;
+ }
+
+ /**
+ * Get the name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
+ *
+ * @return the tenant value
+ */
+ public Object tenant() {
+ return this.tenant;
+ }
+
+ /**
+ * Set the name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
+ *
+ * @param tenant the tenant value to set
+ * @return the AzureDataLakeStoreLinkedService object itself.
+ */
+ public AzureDataLakeStoreLinkedService withTenant(Object tenant) {
+ this.tenant = tenant;
+ return this;
+ }
+
+ /**
+ * Get data Lake Store account name. Type: string (or Expression with resultType string).
+ *
+ * @return the accountName value
+ */
+ public Object accountName() {
+ return this.accountName;
+ }
+
+ /**
+ * Set data Lake Store account name. Type: string (or Expression with resultType string).
+ *
+ * @param accountName the accountName value to set
+ * @return the AzureDataLakeStoreLinkedService object itself.
+ */
+ public AzureDataLakeStoreLinkedService withAccountName(Object accountName) {
+ this.accountName = accountName;
+ return this;
+ }
+
+ /**
+ * Get data Lake Store account subscription ID (if different from Data Factory account). Type: string (or Expression with resultType string).
+ *
+ * @return the subscriptionId value
+ */
+ public Object subscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /**
+ * Set data Lake Store account subscription ID (if different from Data Factory account). Type: string (or Expression with resultType string).
+ *
+ * @param subscriptionId the subscriptionId value to set
+ * @return the AzureDataLakeStoreLinkedService object itself.
+ */
+ public AzureDataLakeStoreLinkedService withSubscriptionId(Object subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /**
+ * Get data Lake Store account resource group name (if different from Data Factory account). Type: string (or Expression with resultType string).
+ *
+ * @return the resourceGroupName value
+ */
+ public Object resourceGroupName() {
+ return this.resourceGroupName;
+ }
+
+ /**
+ * Set data Lake Store account resource group name (if different from Data Factory account). Type: string (or Expression with resultType string).
+ *
+ * @param resourceGroupName the resourceGroupName value to set
+ * @return the AzureDataLakeStoreLinkedService object itself.
+ */
+ public AzureDataLakeStoreLinkedService withResourceGroupName(Object resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the AzureDataLakeStoreLinkedService object itself.
+ */
+ public AzureDataLakeStoreLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDataLakeStoreSink.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDataLakeStoreSink.java
new file mode 100644
index 0000000000000..e45afea052468
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDataLakeStoreSink.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Azure Data Lake Store sink.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureDataLakeStoreSink.class)
+@JsonTypeName("AzureDataLakeStoreSink")
+public class AzureDataLakeStoreSink extends CopySink {
+ /**
+ * The type of copy behavior for copy sink.
+ */
+ @JsonProperty(value = "copyBehavior")
+ private Object copyBehavior;
+
+ /**
+ * Get the type of copy behavior for copy sink.
+ *
+ * @return the copyBehavior value
+ */
+ public Object copyBehavior() {
+ return this.copyBehavior;
+ }
+
+ /**
+ * Set the type of copy behavior for copy sink.
+ *
+ * @param copyBehavior the copyBehavior value to set
+ * @return the AzureDataLakeStoreSink object itself.
+ */
+ public AzureDataLakeStoreSink withCopyBehavior(Object copyBehavior) {
+ this.copyBehavior = copyBehavior;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDataLakeStoreSource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDataLakeStoreSource.java
new file mode 100644
index 0000000000000..7a565304b268a
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDataLakeStoreSource.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Azure Data Lake source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureDataLakeStoreSource.class)
+@JsonTypeName("AzureDataLakeStoreSource")
+public class AzureDataLakeStoreSource extends CopySource {
+ /**
+ * If true, files under the folder path will be read recursively. Default
+ * is true. Type: boolean (or Expression with resultType boolean).
+ */
+ @JsonProperty(value = "recursive")
+ private Object recursive;
+
+ /**
+ * Get if true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
+ *
+ * @return the recursive value
+ */
+ public Object recursive() {
+ return this.recursive;
+ }
+
+ /**
+ * Set if true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
+ *
+ * @param recursive the recursive value to set
+ * @return the AzureDataLakeStoreSource object itself.
+ */
+ public AzureDataLakeStoreSource withRecursive(Object recursive) {
+ this.recursive = recursive;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDatabricksLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDatabricksLinkedService.java
new file mode 100644
index 0000000000000..6ffc463f6f876
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureDatabricksLinkedService.java
@@ -0,0 +1,244 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Azure Databricks linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureDatabricksLinkedService.class)
+@JsonTypeName("AzureDatabricks")
+@JsonFlatten
+public class AzureDatabricksLinkedService extends LinkedServiceInner {
+ /**
+ * <REGION>.azuredatabricks.net, domain name of your Databricks
+ * deployment. Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.domain", required = true)
+ private Object domain;
+
+ /**
+ * Access token for databricks REST API. Refer to
+ * https://docs.azuredatabricks.net/api/latest/authentication.html. Type:
+ * string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.accessToken", required = true)
+ private SecretBase accessToken;
+
+ /**
+ * The id of an existing cluster that will be used for all runs of this
+ * job. Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.existingClusterId")
+ private Object existingClusterId;
+
+ /**
+ * The Spark version of new cluster. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.newClusterVersion")
+ private Object newClusterVersion;
+
+ /**
+ * Number of worker nodes that new cluster should have. A string formatted
+ * Int32, like '1' means numOfWorker is 1 or '1:10' means auto-scale from 1
+ * as min and 10 as max. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.newClusterNumOfWorker")
+ private Object newClusterNumOfWorker;
+
+ /**
+ * The node types of new cluster. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.newClusterNodeType")
+ private Object newClusterNodeType;
+
+ /**
+ * a set of optional, user-specified Spark configuration key-value pairs.
+ */
+ @JsonProperty(value = "typeProperties.newClusterSparkConf")
+ private Map newClusterSparkConf;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get <REGION>.azuredatabricks.net, domain name of your Databricks deployment. Type: string (or Expression with resultType string).
+ *
+ * @return the domain value
+ */
+ public Object domain() {
+ return this.domain;
+ }
+
+ /**
+ * Set <REGION>.azuredatabricks.net, domain name of your Databricks deployment. Type: string (or Expression with resultType string).
+ *
+ * @param domain the domain value to set
+ * @return the AzureDatabricksLinkedService object itself.
+ */
+ public AzureDatabricksLinkedService withDomain(Object domain) {
+ this.domain = domain;
+ return this;
+ }
+
+ /**
+ * Get access token for databricks REST API. Refer to https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string (or Expression with resultType string).
+ *
+ * @return the accessToken value
+ */
+ public SecretBase accessToken() {
+ return this.accessToken;
+ }
+
+ /**
+ * Set access token for databricks REST API. Refer to https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string (or Expression with resultType string).
+ *
+ * @param accessToken the accessToken value to set
+ * @return the AzureDatabricksLinkedService object itself.
+ */
+ public AzureDatabricksLinkedService withAccessToken(SecretBase accessToken) {
+ this.accessToken = accessToken;
+ return this;
+ }
+
+ /**
+ * Get the id of an existing cluster that will be used for all runs of this job. Type: string (or Expression with resultType string).
+ *
+ * @return the existingClusterId value
+ */
+ public Object existingClusterId() {
+ return this.existingClusterId;
+ }
+
+ /**
+ * Set the id of an existing cluster that will be used for all runs of this job. Type: string (or Expression with resultType string).
+ *
+ * @param existingClusterId the existingClusterId value to set
+ * @return the AzureDatabricksLinkedService object itself.
+ */
+ public AzureDatabricksLinkedService withExistingClusterId(Object existingClusterId) {
+ this.existingClusterId = existingClusterId;
+ return this;
+ }
+
+ /**
+ * Get the Spark version of new cluster. Type: string (or Expression with resultType string).
+ *
+ * @return the newClusterVersion value
+ */
+ public Object newClusterVersion() {
+ return this.newClusterVersion;
+ }
+
+ /**
+ * Set the Spark version of new cluster. Type: string (or Expression with resultType string).
+ *
+ * @param newClusterVersion the newClusterVersion value to set
+ * @return the AzureDatabricksLinkedService object itself.
+ */
+ public AzureDatabricksLinkedService withNewClusterVersion(Object newClusterVersion) {
+ this.newClusterVersion = newClusterVersion;
+ return this;
+ }
+
+ /**
+ * Get number of worker nodes that new cluster should have. A string formatted Int32, like '1' means numOfWorker is 1 or '1:10' means auto-scale from 1 as min and 10 as max. Type: string (or Expression with resultType string).
+ *
+ * @return the newClusterNumOfWorker value
+ */
+ public Object newClusterNumOfWorker() {
+ return this.newClusterNumOfWorker;
+ }
+
+ /**
+ * Set number of worker nodes that new cluster should have. A string formatted Int32, like '1' means numOfWorker is 1 or '1:10' means auto-scale from 1 as min and 10 as max. Type: string (or Expression with resultType string).
+ *
+ * @param newClusterNumOfWorker the newClusterNumOfWorker value to set
+ * @return the AzureDatabricksLinkedService object itself.
+ */
+ public AzureDatabricksLinkedService withNewClusterNumOfWorker(Object newClusterNumOfWorker) {
+ this.newClusterNumOfWorker = newClusterNumOfWorker;
+ return this;
+ }
+
+ /**
+ * Get the node types of new cluster. Type: string (or Expression with resultType string).
+ *
+ * @return the newClusterNodeType value
+ */
+ public Object newClusterNodeType() {
+ return this.newClusterNodeType;
+ }
+
+ /**
+ * Set the node types of new cluster. Type: string (or Expression with resultType string).
+ *
+ * @param newClusterNodeType the newClusterNodeType value to set
+ * @return the AzureDatabricksLinkedService object itself.
+ */
+ public AzureDatabricksLinkedService withNewClusterNodeType(Object newClusterNodeType) {
+ this.newClusterNodeType = newClusterNodeType;
+ return this;
+ }
+
+ /**
+ * Get a set of optional, user-specified Spark configuration key-value pairs.
+ *
+ * @return the newClusterSparkConf value
+ */
+ public Map newClusterSparkConf() {
+ return this.newClusterSparkConf;
+ }
+
+ /**
+ * Set a set of optional, user-specified Spark configuration key-value pairs.
+ *
+ * @param newClusterSparkConf the newClusterSparkConf value to set
+ * @return the AzureDatabricksLinkedService object itself.
+ */
+ public AzureDatabricksLinkedService withNewClusterSparkConf(Map newClusterSparkConf) {
+ this.newClusterSparkConf = newClusterSparkConf;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the AzureDatabricksLinkedService object itself.
+ */
+ public AzureDatabricksLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureKeyVaultLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureKeyVaultLinkedService.java
new file mode 100644
index 0000000000000..e3b659682aab1
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureKeyVaultLinkedService.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Azure Key Vault linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureKeyVaultLinkedService.class)
+@JsonTypeName("AzureKeyVault")
+@JsonFlatten
+public class AzureKeyVaultLinkedService extends LinkedServiceInner {
+ /**
+ * The base URL of the Azure Key Vault. e.g. https://myakv.vault.azure.net
+ * Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.baseUrl", required = true)
+ private Object baseUrl;
+
+ /**
+ * Get the base URL of the Azure Key Vault. e.g. https://myakv.vault.azure.net Type: string (or Expression with resultType string).
+ *
+ * @return the baseUrl value
+ */
+ public Object baseUrl() {
+ return this.baseUrl;
+ }
+
+ /**
+ * Set the base URL of the Azure Key Vault. e.g. https://myakv.vault.azure.net Type: string (or Expression with resultType string).
+ *
+ * @param baseUrl the baseUrl value to set
+ * @return the AzureKeyVaultLinkedService object itself.
+ */
+ public AzureKeyVaultLinkedService withBaseUrl(Object baseUrl) {
+ this.baseUrl = baseUrl;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureKeyVaultSecretReference.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureKeyVaultSecretReference.java
new file mode 100644
index 0000000000000..bfb6689184264
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureKeyVaultSecretReference.java
@@ -0,0 +1,102 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * Azure Key Vault secret reference.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureKeyVaultSecretReference.class)
+@JsonTypeName("AzureKeyVaultSecret")
+public class AzureKeyVaultSecretReference extends SecretBase {
+ /**
+ * The Azure Key Vault linked service reference.
+ */
+ @JsonProperty(value = "store", required = true)
+ private LinkedServiceReference store;
+
+ /**
+ * The name of the secret in Azure Key Vault. Type: string (or Expression
+ * with resultType string).
+ */
+ @JsonProperty(value = "secretName", required = true)
+ private Object secretName;
+
+ /**
+ * The version of the secret in Azure Key Vault. The default value is the
+ * latest version of the secret. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "secretVersion")
+ private Object secretVersion;
+
+ /**
+ * Get the Azure Key Vault linked service reference.
+ *
+ * @return the store value
+ */
+ public LinkedServiceReference store() {
+ return this.store;
+ }
+
+ /**
+ * Set the Azure Key Vault linked service reference.
+ *
+ * @param store the store value to set
+ * @return the AzureKeyVaultSecretReference object itself.
+ */
+ public AzureKeyVaultSecretReference withStore(LinkedServiceReference store) {
+ this.store = store;
+ return this;
+ }
+
+ /**
+ * Get the name of the secret in Azure Key Vault. Type: string (or Expression with resultType string).
+ *
+ * @return the secretName value
+ */
+ public Object secretName() {
+ return this.secretName;
+ }
+
+ /**
+ * Set the name of the secret in Azure Key Vault. Type: string (or Expression with resultType string).
+ *
+ * @param secretName the secretName value to set
+ * @return the AzureKeyVaultSecretReference object itself.
+ */
+ public AzureKeyVaultSecretReference withSecretName(Object secretName) {
+ this.secretName = secretName;
+ return this;
+ }
+
+ /**
+ * Get the version of the secret in Azure Key Vault. The default value is the latest version of the secret. Type: string (or Expression with resultType string).
+ *
+ * @return the secretVersion value
+ */
+ public Object secretVersion() {
+ return this.secretVersion;
+ }
+
+ /**
+ * Set the version of the secret in Azure Key Vault. The default value is the latest version of the secret. Type: string (or Expression with resultType string).
+ *
+ * @param secretVersion the secretVersion value to set
+ * @return the AzureKeyVaultSecretReference object itself.
+ */
+ public AzureKeyVaultSecretReference withSecretVersion(Object secretVersion) {
+ this.secretVersion = secretVersion;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMLBatchExecutionActivity.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMLBatchExecutionActivity.java
new file mode 100644
index 0000000000000..ecdd8885ce697
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMLBatchExecutionActivity.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Azure ML Batch Execution activity.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureMLBatchExecutionActivity.class)
+@JsonTypeName("AzureMLBatchExecution")
+@JsonFlatten
+public class AzureMLBatchExecutionActivity extends ExecutionActivity {
+ /**
+ * Key,Value pairs to be passed to the Azure ML Batch Execution Service
+ * endpoint. Keys must match the names of web service parameters defined in
+ * the published Azure ML web service. Values will be passed in the
+ * GlobalParameters property of the Azure ML batch execution request.
+ */
+ @JsonProperty(value = "typeProperties.globalParameters")
+ private Map globalParameters;
+
+ /**
+ * Key,Value pairs, mapping the names of Azure ML endpoint's Web Service
+ * Outputs to AzureMLWebServiceFile objects specifying the output Blob
+ * locations. This information will be passed in the WebServiceOutputs
+ * property of the Azure ML batch execution request.
+ */
+ @JsonProperty(value = "typeProperties.webServiceOutputs")
+ private Map webServiceOutputs;
+
+ /**
+ * Key,Value pairs, mapping the names of Azure ML endpoint's Web Service
+ * Inputs to AzureMLWebServiceFile objects specifying the input Blob
+ * locations.. This information will be passed in the WebServiceInputs
+ * property of the Azure ML batch execution request.
+ */
+ @JsonProperty(value = "typeProperties.webServiceInputs")
+ private Map webServiceInputs;
+
+ /**
+ * Get key,Value pairs to be passed to the Azure ML Batch Execution Service endpoint. Keys must match the names of web service parameters defined in the published Azure ML web service. Values will be passed in the GlobalParameters property of the Azure ML batch execution request.
+ *
+ * @return the globalParameters value
+ */
+ public Map globalParameters() {
+ return this.globalParameters;
+ }
+
+ /**
+ * Set key,Value pairs to be passed to the Azure ML Batch Execution Service endpoint. Keys must match the names of web service parameters defined in the published Azure ML web service. Values will be passed in the GlobalParameters property of the Azure ML batch execution request.
+ *
+ * @param globalParameters the globalParameters value to set
+ * @return the AzureMLBatchExecutionActivity object itself.
+ */
+ public AzureMLBatchExecutionActivity withGlobalParameters(Map globalParameters) {
+ this.globalParameters = globalParameters;
+ return this;
+ }
+
+ /**
+ * Get key,Value pairs, mapping the names of Azure ML endpoint's Web Service Outputs to AzureMLWebServiceFile objects specifying the output Blob locations. This information will be passed in the WebServiceOutputs property of the Azure ML batch execution request.
+ *
+ * @return the webServiceOutputs value
+ */
+ public Map webServiceOutputs() {
+ return this.webServiceOutputs;
+ }
+
+ /**
+ * Set key,Value pairs, mapping the names of Azure ML endpoint's Web Service Outputs to AzureMLWebServiceFile objects specifying the output Blob locations. This information will be passed in the WebServiceOutputs property of the Azure ML batch execution request.
+ *
+ * @param webServiceOutputs the webServiceOutputs value to set
+ * @return the AzureMLBatchExecutionActivity object itself.
+ */
+ public AzureMLBatchExecutionActivity withWebServiceOutputs(Map webServiceOutputs) {
+ this.webServiceOutputs = webServiceOutputs;
+ return this;
+ }
+
+ /**
+ * Get key,Value pairs, mapping the names of Azure ML endpoint's Web Service Inputs to AzureMLWebServiceFile objects specifying the input Blob locations.. This information will be passed in the WebServiceInputs property of the Azure ML batch execution request.
+ *
+ * @return the webServiceInputs value
+ */
+ public Map webServiceInputs() {
+ return this.webServiceInputs;
+ }
+
+ /**
+ * Set key,Value pairs, mapping the names of Azure ML endpoint's Web Service Inputs to AzureMLWebServiceFile objects specifying the input Blob locations.. This information will be passed in the WebServiceInputs property of the Azure ML batch execution request.
+ *
+ * @param webServiceInputs the webServiceInputs value to set
+ * @return the AzureMLBatchExecutionActivity object itself.
+ */
+ public AzureMLBatchExecutionActivity withWebServiceInputs(Map webServiceInputs) {
+ this.webServiceInputs = webServiceInputs;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMLLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMLLinkedService.java
new file mode 100644
index 0000000000000..69d689b56bb29
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMLLinkedService.java
@@ -0,0 +1,214 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Azure ML Web Service linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureMLLinkedService.class)
+@JsonTypeName("AzureML")
+@JsonFlatten
+public class AzureMLLinkedService extends LinkedServiceInner {
+ /**
+ * The Batch Execution REST URL for an Azure ML Web Service endpoint. Type:
+ * string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.mlEndpoint", required = true)
+ private Object mlEndpoint;
+
+ /**
+ * The API key for accessing the Azure ML model endpoint.
+ */
+ @JsonProperty(value = "typeProperties.apiKey", required = true)
+ private SecretBase apiKey;
+
+ /**
+ * The Update Resource REST URL for an Azure ML Web Service endpoint. Type:
+ * string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.updateResourceEndpoint")
+ private Object updateResourceEndpoint;
+
+ /**
+ * The ID of the service principal used to authenticate against the
+ * ARM-based updateResourceEndpoint of an Azure ML web service. Type:
+ * string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.servicePrincipalId")
+ private Object servicePrincipalId;
+
+ /**
+ * The key of the service principal used to authenticate against the
+ * ARM-based updateResourceEndpoint of an Azure ML web service.
+ */
+ @JsonProperty(value = "typeProperties.servicePrincipalKey")
+ private SecretBase servicePrincipalKey;
+
+ /**
+ * The name or ID of the tenant to which the service principal belongs.
+ * Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.tenant")
+ private Object tenant;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get the Batch Execution REST URL for an Azure ML Web Service endpoint. Type: string (or Expression with resultType string).
+ *
+ * @return the mlEndpoint value
+ */
+ public Object mlEndpoint() {
+ return this.mlEndpoint;
+ }
+
+ /**
+ * Set the Batch Execution REST URL for an Azure ML Web Service endpoint. Type: string (or Expression with resultType string).
+ *
+ * @param mlEndpoint the mlEndpoint value to set
+ * @return the AzureMLLinkedService object itself.
+ */
+ public AzureMLLinkedService withMlEndpoint(Object mlEndpoint) {
+ this.mlEndpoint = mlEndpoint;
+ return this;
+ }
+
+ /**
+ * Get the API key for accessing the Azure ML model endpoint.
+ *
+ * @return the apiKey value
+ */
+ public SecretBase apiKey() {
+ return this.apiKey;
+ }
+
+ /**
+ * Set the API key for accessing the Azure ML model endpoint.
+ *
+ * @param apiKey the apiKey value to set
+ * @return the AzureMLLinkedService object itself.
+ */
+ public AzureMLLinkedService withApiKey(SecretBase apiKey) {
+ this.apiKey = apiKey;
+ return this;
+ }
+
+ /**
+ * Get the Update Resource REST URL for an Azure ML Web Service endpoint. Type: string (or Expression with resultType string).
+ *
+ * @return the updateResourceEndpoint value
+ */
+ public Object updateResourceEndpoint() {
+ return this.updateResourceEndpoint;
+ }
+
+ /**
+ * Set the Update Resource REST URL for an Azure ML Web Service endpoint. Type: string (or Expression with resultType string).
+ *
+ * @param updateResourceEndpoint the updateResourceEndpoint value to set
+ * @return the AzureMLLinkedService object itself.
+ */
+ public AzureMLLinkedService withUpdateResourceEndpoint(Object updateResourceEndpoint) {
+ this.updateResourceEndpoint = updateResourceEndpoint;
+ return this;
+ }
+
+ /**
+ * Get the ID of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML web service. Type: string (or Expression with resultType string).
+ *
+ * @return the servicePrincipalId value
+ */
+ public Object servicePrincipalId() {
+ return this.servicePrincipalId;
+ }
+
+ /**
+ * Set the ID of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML web service. Type: string (or Expression with resultType string).
+ *
+ * @param servicePrincipalId the servicePrincipalId value to set
+ * @return the AzureMLLinkedService object itself.
+ */
+ public AzureMLLinkedService withServicePrincipalId(Object servicePrincipalId) {
+ this.servicePrincipalId = servicePrincipalId;
+ return this;
+ }
+
+ /**
+ * Get the key of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML web service.
+ *
+ * @return the servicePrincipalKey value
+ */
+ public SecretBase servicePrincipalKey() {
+ return this.servicePrincipalKey;
+ }
+
+ /**
+ * Set the key of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML web service.
+ *
+ * @param servicePrincipalKey the servicePrincipalKey value to set
+ * @return the AzureMLLinkedService object itself.
+ */
+ public AzureMLLinkedService withServicePrincipalKey(SecretBase servicePrincipalKey) {
+ this.servicePrincipalKey = servicePrincipalKey;
+ return this;
+ }
+
+ /**
+ * Get the name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
+ *
+ * @return the tenant value
+ */
+ public Object tenant() {
+ return this.tenant;
+ }
+
+ /**
+ * Set the name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
+ *
+ * @param tenant the tenant value to set
+ * @return the AzureMLLinkedService object itself.
+ */
+ public AzureMLLinkedService withTenant(Object tenant) {
+ this.tenant = tenant;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the AzureMLLinkedService object itself.
+ */
+ public AzureMLLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMLUpdateResourceActivity.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMLUpdateResourceActivity.java
new file mode 100644
index 0000000000000..d57beddb6679b
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMLUpdateResourceActivity.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Azure ML Update Resource management activity.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureMLUpdateResourceActivity.class)
+@JsonTypeName("AzureMLUpdateResource")
+@JsonFlatten
+public class AzureMLUpdateResourceActivity extends ExecutionActivity {
+ /**
+ * Name of the Trained Model module in the Web Service experiment to be
+ * updated. Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.trainedModelName", required = true)
+ private Object trainedModelName;
+
+ /**
+ * Name of Azure Storage linked service holding the .ilearner file that
+ * will be uploaded by the update operation.
+ */
+ @JsonProperty(value = "typeProperties.trainedModelLinkedServiceName", required = true)
+ private LinkedServiceReference trainedModelLinkedServiceName;
+
+ /**
+ * The relative file path in trainedModelLinkedService to represent the
+ * .ilearner file that will be uploaded by the update operation. Type:
+ * string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.trainedModelFilePath", required = true)
+ private Object trainedModelFilePath;
+
+ /**
+ * Get name of the Trained Model module in the Web Service experiment to be updated. Type: string (or Expression with resultType string).
+ *
+ * @return the trainedModelName value
+ */
+ public Object trainedModelName() {
+ return this.trainedModelName;
+ }
+
+ /**
+ * Set name of the Trained Model module in the Web Service experiment to be updated. Type: string (or Expression with resultType string).
+ *
+ * @param trainedModelName the trainedModelName value to set
+ * @return the AzureMLUpdateResourceActivity object itself.
+ */
+ public AzureMLUpdateResourceActivity withTrainedModelName(Object trainedModelName) {
+ this.trainedModelName = trainedModelName;
+ return this;
+ }
+
+ /**
+ * Get name of Azure Storage linked service holding the .ilearner file that will be uploaded by the update operation.
+ *
+ * @return the trainedModelLinkedServiceName value
+ */
+ public LinkedServiceReference trainedModelLinkedServiceName() {
+ return this.trainedModelLinkedServiceName;
+ }
+
+ /**
+ * Set name of Azure Storage linked service holding the .ilearner file that will be uploaded by the update operation.
+ *
+ * @param trainedModelLinkedServiceName the trainedModelLinkedServiceName value to set
+ * @return the AzureMLUpdateResourceActivity object itself.
+ */
+ public AzureMLUpdateResourceActivity withTrainedModelLinkedServiceName(LinkedServiceReference trainedModelLinkedServiceName) {
+ this.trainedModelLinkedServiceName = trainedModelLinkedServiceName;
+ return this;
+ }
+
+ /**
+ * Get the relative file path in trainedModelLinkedService to represent the .ilearner file that will be uploaded by the update operation. Type: string (or Expression with resultType string).
+ *
+ * @return the trainedModelFilePath value
+ */
+ public Object trainedModelFilePath() {
+ return this.trainedModelFilePath;
+ }
+
+ /**
+ * Set the relative file path in trainedModelLinkedService to represent the .ilearner file that will be uploaded by the update operation. Type: string (or Expression with resultType string).
+ *
+ * @param trainedModelFilePath the trainedModelFilePath value to set
+ * @return the AzureMLUpdateResourceActivity object itself.
+ */
+ public AzureMLUpdateResourceActivity withTrainedModelFilePath(Object trainedModelFilePath) {
+ this.trainedModelFilePath = trainedModelFilePath;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMLWebServiceFile.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMLWebServiceFile.java
new file mode 100644
index 0000000000000..e1e5a35f5e91d
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMLWebServiceFile.java
@@ -0,0 +1,72 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Azure ML WebService Input/Output file.
+ */
+public class AzureMLWebServiceFile {
+ /**
+ * The relative file path, including container name, in the Azure Blob
+ * Storage specified by the LinkedService. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "filePath", required = true)
+ private Object filePath;
+
+ /**
+ * Reference to an Azure Storage LinkedService, where Azure ML WebService
+ * Input/Output file located.
+ */
+ @JsonProperty(value = "linkedServiceName", required = true)
+ private LinkedServiceReference linkedServiceName;
+
+ /**
+ * Get the relative file path, including container name, in the Azure Blob Storage specified by the LinkedService. Type: string (or Expression with resultType string).
+ *
+ * @return the filePath value
+ */
+ public Object filePath() {
+ return this.filePath;
+ }
+
+ /**
+ * Set the relative file path, including container name, in the Azure Blob Storage specified by the LinkedService. Type: string (or Expression with resultType string).
+ *
+ * @param filePath the filePath value to set
+ * @return the AzureMLWebServiceFile object itself.
+ */
+ public AzureMLWebServiceFile withFilePath(Object filePath) {
+ this.filePath = filePath;
+ return this;
+ }
+
+ /**
+ * Get reference to an Azure Storage LinkedService, where Azure ML WebService Input/Output file located.
+ *
+ * @return the linkedServiceName value
+ */
+ public LinkedServiceReference linkedServiceName() {
+ return this.linkedServiceName;
+ }
+
+ /**
+ * Set reference to an Azure Storage LinkedService, where Azure ML WebService Input/Output file located.
+ *
+ * @param linkedServiceName the linkedServiceName value to set
+ * @return the AzureMLWebServiceFile object itself.
+ */
+ public AzureMLWebServiceFile withLinkedServiceName(LinkedServiceReference linkedServiceName) {
+ this.linkedServiceName = linkedServiceName;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMySqlLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMySqlLinkedService.java
new file mode 100644
index 0000000000000..c7754e3763452
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMySqlLinkedService.java
@@ -0,0 +1,79 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Azure MySQL database linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureMySqlLinkedService.class)
+@JsonTypeName("AzureMySql")
+@JsonFlatten
+public class AzureMySqlLinkedService extends LinkedServiceInner {
+ /**
+ * The connection string. Type: string, SecureString or
+ * AzureKeyVaultSecretReference.
+ */
+ @JsonProperty(value = "typeProperties.connectionString", required = true)
+ private Object connectionString;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get the connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @return the connectionString value
+ */
+ public Object connectionString() {
+ return this.connectionString;
+ }
+
+ /**
+ * Set the connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @param connectionString the connectionString value to set
+ * @return the AzureMySqlLinkedService object itself.
+ */
+ public AzureMySqlLinkedService withConnectionString(Object connectionString) {
+ this.connectionString = connectionString;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the AzureMySqlLinkedService object itself.
+ */
+ public AzureMySqlLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMySqlSource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMySqlSource.java
new file mode 100644
index 0000000000000..a88dcb44bf426
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMySqlSource.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Azure MySQL source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureMySqlSource.class)
+@JsonTypeName("AzureMySqlSource")
+public class AzureMySqlSource extends CopySource {
+ /**
+ * Database query. Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "query")
+ private Object query;
+
+ /**
+ * Get database query. Type: string (or Expression with resultType string).
+ *
+ * @return the query value
+ */
+ public Object query() {
+ return this.query;
+ }
+
+ /**
+ * Set database query. Type: string (or Expression with resultType string).
+ *
+ * @param query the query value to set
+ * @return the AzureMySqlSource object itself.
+ */
+ public AzureMySqlSource withQuery(Object query) {
+ this.query = query;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMySqlTableDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMySqlTableDataset.java
new file mode 100644
index 0000000000000..04b2bd2a88d05
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureMySqlTableDataset.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * The Azure MySQL database dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureMySqlTableDataset.class)
+@JsonTypeName("AzureMySqlTable")
+@JsonFlatten
+public class AzureMySqlTableDataset extends DatasetInner {
+ /**
+ * The Azure MySQL database table name. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.tableName")
+ private Object tableName;
+
+ /**
+ * Get the Azure MySQL database table name. Type: string (or Expression with resultType string).
+ *
+ * @return the tableName value
+ */
+ public Object tableName() {
+ return this.tableName;
+ }
+
+ /**
+ * Set the Azure MySQL database table name. Type: string (or Expression with resultType string).
+ *
+ * @param tableName the tableName value to set
+ * @return the AzureMySqlTableDataset object itself.
+ */
+ public AzureMySqlTableDataset withTableName(Object tableName) {
+ this.tableName = tableName;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzurePostgreSqlLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzurePostgreSqlLinkedService.java
new file mode 100644
index 0000000000000..8a42e777b512f
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzurePostgreSqlLinkedService.java
@@ -0,0 +1,79 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Azure PostgreSQL linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzurePostgreSqlLinkedService.class)
+@JsonTypeName("AzurePostgreSql")
+@JsonFlatten
+public class AzurePostgreSqlLinkedService extends LinkedServiceInner {
+ /**
+ * An ODBC connection string. Type: string, SecureString or
+ * AzureKeyVaultSecretReference.
+ */
+ @JsonProperty(value = "typeProperties.connectionString")
+ private Object connectionString;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get an ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @return the connectionString value
+ */
+ public Object connectionString() {
+ return this.connectionString;
+ }
+
+ /**
+ * Set an ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @param connectionString the connectionString value to set
+ * @return the AzurePostgreSqlLinkedService object itself.
+ */
+ public AzurePostgreSqlLinkedService withConnectionString(Object connectionString) {
+ this.connectionString = connectionString;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the AzurePostgreSqlLinkedService object itself.
+ */
+ public AzurePostgreSqlLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzurePostgreSqlSource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzurePostgreSqlSource.java
new file mode 100644
index 0000000000000..ec803088d5027
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzurePostgreSqlSource.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Azure PostgreSQL source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzurePostgreSqlSource.class)
+@JsonTypeName("AzurePostgreSqlSource")
+public class AzurePostgreSqlSource extends CopySource {
+ /**
+ * A query to retrieve data from source. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "query")
+ private Object query;
+
+ /**
+ * Get a query to retrieve data from source. Type: string (or Expression with resultType string).
+ *
+ * @return the query value
+ */
+ public Object query() {
+ return this.query;
+ }
+
+ /**
+ * Set a query to retrieve data from source. Type: string (or Expression with resultType string).
+ *
+ * @param query the query value to set
+ * @return the AzurePostgreSqlSource object itself.
+ */
+ public AzurePostgreSqlSource withQuery(Object query) {
+ this.query = query;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzurePostgreSqlTableDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzurePostgreSqlTableDataset.java
new file mode 100644
index 0000000000000..4da7b4c4c2e25
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzurePostgreSqlTableDataset.java
@@ -0,0 +1,21 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * Azure PostgreSQL dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzurePostgreSqlTableDataset.class)
+@JsonTypeName("AzurePostgreSqlTable")
+public class AzurePostgreSqlTableDataset extends DatasetInner {
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureQueueSink.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureQueueSink.java
new file mode 100644
index 0000000000000..69f57c8209a4d
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureQueueSink.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Azure Queue sink.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureQueueSink.class)
+@JsonTypeName("AzureQueueSink")
+public class AzureQueueSink extends CopySink {
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSearchIndexDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSearchIndexDataset.java
new file mode 100644
index 0000000000000..32c394bd591f2
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSearchIndexDataset.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * The Azure Search Index.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureSearchIndexDataset.class)
+@JsonTypeName("AzureSearchIndex")
+@JsonFlatten
+public class AzureSearchIndexDataset extends DatasetInner {
+ /**
+ * The name of the Azure Search Index. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.indexName", required = true)
+ private Object indexName;
+
+ /**
+ * Get the name of the Azure Search Index. Type: string (or Expression with resultType string).
+ *
+ * @return the indexName value
+ */
+ public Object indexName() {
+ return this.indexName;
+ }
+
+ /**
+ * Set the name of the Azure Search Index. Type: string (or Expression with resultType string).
+ *
+ * @param indexName the indexName value to set
+ * @return the AzureSearchIndexDataset object itself.
+ */
+ public AzureSearchIndexDataset withIndexName(Object indexName) {
+ this.indexName = indexName;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSearchIndexSink.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSearchIndexSink.java
new file mode 100644
index 0000000000000..1e0799119fb05
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSearchIndexSink.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Azure Search Index sink.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureSearchIndexSink.class)
+@JsonTypeName("AzureSearchIndexSink")
+public class AzureSearchIndexSink extends CopySink {
+ /**
+ * Specify the write behavior when upserting documents into Azure Search
+ * Index.
+ */
+ @JsonProperty(value = "writeBehavior")
+ private Object writeBehavior;
+
+ /**
+ * Get specify the write behavior when upserting documents into Azure Search Index.
+ *
+ * @return the writeBehavior value
+ */
+ public Object writeBehavior() {
+ return this.writeBehavior;
+ }
+
+ /**
+ * Set specify the write behavior when upserting documents into Azure Search Index.
+ *
+ * @param writeBehavior the writeBehavior value to set
+ * @return the AzureSearchIndexSink object itself.
+ */
+ public AzureSearchIndexSink withWriteBehavior(Object writeBehavior) {
+ this.writeBehavior = writeBehavior;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSearchLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSearchLinkedService.java
new file mode 100644
index 0000000000000..8e46ae4e37678
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSearchLinkedService.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Linked service for Windows Azure Search Service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureSearchLinkedService.class)
+@JsonTypeName("AzureSearch")
+@JsonFlatten
+public class AzureSearchLinkedService extends LinkedServiceInner {
+ /**
+ * URL for Azure Search service. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.url", required = true)
+ private Object url;
+
+ /**
+ * Admin Key for Azure Search service.
+ */
+ @JsonProperty(value = "typeProperties.key")
+ private SecretBase key;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get uRL for Azure Search service. Type: string (or Expression with resultType string).
+ *
+ * @return the url value
+ */
+ public Object url() {
+ return this.url;
+ }
+
+ /**
+ * Set uRL for Azure Search service. Type: string (or Expression with resultType string).
+ *
+ * @param url the url value to set
+ * @return the AzureSearchLinkedService object itself.
+ */
+ public AzureSearchLinkedService withUrl(Object url) {
+ this.url = url;
+ return this;
+ }
+
+ /**
+ * Get admin Key for Azure Search service.
+ *
+ * @return the key value
+ */
+ public SecretBase key() {
+ return this.key;
+ }
+
+ /**
+ * Set admin Key for Azure Search service.
+ *
+ * @param key the key value to set
+ * @return the AzureSearchLinkedService object itself.
+ */
+ public AzureSearchLinkedService withKey(SecretBase key) {
+ this.key = key;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the AzureSearchLinkedService object itself.
+ */
+ public AzureSearchLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSqlDWLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSqlDWLinkedService.java
new file mode 100644
index 0000000000000..4cf3e55ffdd7c
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSqlDWLinkedService.java
@@ -0,0 +1,161 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Azure SQL Data Warehouse linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureSqlDWLinkedService.class)
+@JsonTypeName("AzureSqlDW")
+@JsonFlatten
+public class AzureSqlDWLinkedService extends LinkedServiceInner {
+ /**
+ * The connection string. Type: string, SecureString or
+ * AzureKeyVaultSecretReference. Type: string, SecureString or
+ * AzureKeyVaultSecretReference.
+ */
+ @JsonProperty(value = "typeProperties.connectionString", required = true)
+ private Object connectionString;
+
+ /**
+ * The ID of the service principal used to authenticate against Azure SQL
+ * Data Warehouse. Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.servicePrincipalId")
+ private Object servicePrincipalId;
+
+ /**
+ * The key of the service principal used to authenticate against Azure SQL
+ * Data Warehouse.
+ */
+ @JsonProperty(value = "typeProperties.servicePrincipalKey")
+ private SecretBase servicePrincipalKey;
+
+ /**
+ * The name or ID of the tenant to which the service principal belongs.
+ * Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.tenant")
+ private Object tenant;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get the connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @return the connectionString value
+ */
+ public Object connectionString() {
+ return this.connectionString;
+ }
+
+ /**
+ * Set the connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @param connectionString the connectionString value to set
+ * @return the AzureSqlDWLinkedService object itself.
+ */
+ public AzureSqlDWLinkedService withConnectionString(Object connectionString) {
+ this.connectionString = connectionString;
+ return this;
+ }
+
+ /**
+ * Get the ID of the service principal used to authenticate against Azure SQL Data Warehouse. Type: string (or Expression with resultType string).
+ *
+ * @return the servicePrincipalId value
+ */
+ public Object servicePrincipalId() {
+ return this.servicePrincipalId;
+ }
+
+ /**
+ * Set the ID of the service principal used to authenticate against Azure SQL Data Warehouse. Type: string (or Expression with resultType string).
+ *
+ * @param servicePrincipalId the servicePrincipalId value to set
+ * @return the AzureSqlDWLinkedService object itself.
+ */
+ public AzureSqlDWLinkedService withServicePrincipalId(Object servicePrincipalId) {
+ this.servicePrincipalId = servicePrincipalId;
+ return this;
+ }
+
+ /**
+ * Get the key of the service principal used to authenticate against Azure SQL Data Warehouse.
+ *
+ * @return the servicePrincipalKey value
+ */
+ public SecretBase servicePrincipalKey() {
+ return this.servicePrincipalKey;
+ }
+
+ /**
+ * Set the key of the service principal used to authenticate against Azure SQL Data Warehouse.
+ *
+ * @param servicePrincipalKey the servicePrincipalKey value to set
+ * @return the AzureSqlDWLinkedService object itself.
+ */
+ public AzureSqlDWLinkedService withServicePrincipalKey(SecretBase servicePrincipalKey) {
+ this.servicePrincipalKey = servicePrincipalKey;
+ return this;
+ }
+
+ /**
+ * Get the name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
+ *
+ * @return the tenant value
+ */
+ public Object tenant() {
+ return this.tenant;
+ }
+
+ /**
+ * Set the name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
+ *
+ * @param tenant the tenant value to set
+ * @return the AzureSqlDWLinkedService object itself.
+ */
+ public AzureSqlDWLinkedService withTenant(Object tenant) {
+ this.tenant = tenant;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the AzureSqlDWLinkedService object itself.
+ */
+ public AzureSqlDWLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSqlDWTableDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSqlDWTableDataset.java
new file mode 100644
index 0000000000000..84328e3cadb56
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSqlDWTableDataset.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * The Azure SQL Data Warehouse dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureSqlDWTableDataset.class)
+@JsonTypeName("AzureSqlDWTable")
+@JsonFlatten
+public class AzureSqlDWTableDataset extends DatasetInner {
+ /**
+ * The table name of the Azure SQL Data Warehouse. Type: string (or
+ * Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.tableName", required = true)
+ private Object tableName;
+
+ /**
+ * Get the table name of the Azure SQL Data Warehouse. Type: string (or Expression with resultType string).
+ *
+ * @return the tableName value
+ */
+ public Object tableName() {
+ return this.tableName;
+ }
+
+ /**
+ * Set the table name of the Azure SQL Data Warehouse. Type: string (or Expression with resultType string).
+ *
+ * @param tableName the tableName value to set
+ * @return the AzureSqlDWTableDataset object itself.
+ */
+ public AzureSqlDWTableDataset withTableName(Object tableName) {
+ this.tableName = tableName;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSqlDatabaseLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSqlDatabaseLinkedService.java
new file mode 100644
index 0000000000000..0983455a707e4
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSqlDatabaseLinkedService.java
@@ -0,0 +1,160 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Microsoft Azure SQL Database linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureSqlDatabaseLinkedService.class)
+@JsonTypeName("AzureSqlDatabase")
+@JsonFlatten
+public class AzureSqlDatabaseLinkedService extends LinkedServiceInner {
+ /**
+ * The connection string. Type: string, SecureString or
+ * AzureKeyVaultSecretReference.
+ */
+ @JsonProperty(value = "typeProperties.connectionString", required = true)
+ private Object connectionString;
+
+ /**
+ * The ID of the service principal used to authenticate against Azure SQL
+ * Database. Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.servicePrincipalId")
+ private Object servicePrincipalId;
+
+ /**
+ * The key of the service principal used to authenticate against Azure SQL
+ * Database.
+ */
+ @JsonProperty(value = "typeProperties.servicePrincipalKey")
+ private SecretBase servicePrincipalKey;
+
+ /**
+ * The name or ID of the tenant to which the service principal belongs.
+ * Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.tenant")
+ private Object tenant;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get the connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @return the connectionString value
+ */
+ public Object connectionString() {
+ return this.connectionString;
+ }
+
+ /**
+ * Set the connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @param connectionString the connectionString value to set
+ * @return the AzureSqlDatabaseLinkedService object itself.
+ */
+ public AzureSqlDatabaseLinkedService withConnectionString(Object connectionString) {
+ this.connectionString = connectionString;
+ return this;
+ }
+
+ /**
+ * Get the ID of the service principal used to authenticate against Azure SQL Database. Type: string (or Expression with resultType string).
+ *
+ * @return the servicePrincipalId value
+ */
+ public Object servicePrincipalId() {
+ return this.servicePrincipalId;
+ }
+
+ /**
+ * Set the ID of the service principal used to authenticate against Azure SQL Database. Type: string (or Expression with resultType string).
+ *
+ * @param servicePrincipalId the servicePrincipalId value to set
+ * @return the AzureSqlDatabaseLinkedService object itself.
+ */
+ public AzureSqlDatabaseLinkedService withServicePrincipalId(Object servicePrincipalId) {
+ this.servicePrincipalId = servicePrincipalId;
+ return this;
+ }
+
+ /**
+ * Get the key of the service principal used to authenticate against Azure SQL Database.
+ *
+ * @return the servicePrincipalKey value
+ */
+ public SecretBase servicePrincipalKey() {
+ return this.servicePrincipalKey;
+ }
+
+ /**
+ * Set the key of the service principal used to authenticate against Azure SQL Database.
+ *
+ * @param servicePrincipalKey the servicePrincipalKey value to set
+ * @return the AzureSqlDatabaseLinkedService object itself.
+ */
+ public AzureSqlDatabaseLinkedService withServicePrincipalKey(SecretBase servicePrincipalKey) {
+ this.servicePrincipalKey = servicePrincipalKey;
+ return this;
+ }
+
+ /**
+ * Get the name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
+ *
+ * @return the tenant value
+ */
+ public Object tenant() {
+ return this.tenant;
+ }
+
+ /**
+ * Set the name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string).
+ *
+ * @param tenant the tenant value to set
+ * @return the AzureSqlDatabaseLinkedService object itself.
+ */
+ public AzureSqlDatabaseLinkedService withTenant(Object tenant) {
+ this.tenant = tenant;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the AzureSqlDatabaseLinkedService object itself.
+ */
+ public AzureSqlDatabaseLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSqlTableDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSqlTableDataset.java
new file mode 100644
index 0000000000000..058d08347c5d9
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureSqlTableDataset.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * The Azure SQL Server database dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureSqlTableDataset.class)
+@JsonTypeName("AzureSqlTable")
+@JsonFlatten
+public class AzureSqlTableDataset extends DatasetInner {
+ /**
+ * The table name of the Azure SQL database. Type: string (or Expression
+ * with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.tableName", required = true)
+ private Object tableName;
+
+ /**
+ * Get the table name of the Azure SQL database. Type: string (or Expression with resultType string).
+ *
+ * @return the tableName value
+ */
+ public Object tableName() {
+ return this.tableName;
+ }
+
+ /**
+ * Set the table name of the Azure SQL database. Type: string (or Expression with resultType string).
+ *
+ * @param tableName the tableName value to set
+ * @return the AzureSqlTableDataset object itself.
+ */
+ public AzureSqlTableDataset withTableName(Object tableName) {
+ this.tableName = tableName;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureStorageLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureStorageLinkedService.java
new file mode 100644
index 0000000000000..a7eaf7e8d517d
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureStorageLinkedService.java
@@ -0,0 +1,106 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * The storage account linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureStorageLinkedService.class)
+@JsonTypeName("AzureStorage")
+@JsonFlatten
+public class AzureStorageLinkedService extends LinkedServiceInner {
+ /**
+ * The connection string. It is mutually exclusive with sasUri property.
+ * Type: string, SecureString or AzureKeyVaultSecretReference.
+ */
+ @JsonProperty(value = "typeProperties.connectionString")
+ private Object connectionString;
+
+ /**
+ * SAS URI of the Azure Storage resource. It is mutually exclusive with
+ * connectionString property.
+ */
+ @JsonProperty(value = "typeProperties.sasUri")
+ private SecretBase sasUri;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get the connection string. It is mutually exclusive with sasUri property. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @return the connectionString value
+ */
+ public Object connectionString() {
+ return this.connectionString;
+ }
+
+ /**
+ * Set the connection string. It is mutually exclusive with sasUri property. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @param connectionString the connectionString value to set
+ * @return the AzureStorageLinkedService object itself.
+ */
+ public AzureStorageLinkedService withConnectionString(Object connectionString) {
+ this.connectionString = connectionString;
+ return this;
+ }
+
+ /**
+ * Get sAS URI of the Azure Storage resource. It is mutually exclusive with connectionString property.
+ *
+ * @return the sasUri value
+ */
+ public SecretBase sasUri() {
+ return this.sasUri;
+ }
+
+ /**
+ * Set sAS URI of the Azure Storage resource. It is mutually exclusive with connectionString property.
+ *
+ * @param sasUri the sasUri value to set
+ * @return the AzureStorageLinkedService object itself.
+ */
+ public AzureStorageLinkedService withSasUri(SecretBase sasUri) {
+ this.sasUri = sasUri;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the AzureStorageLinkedService object itself.
+ */
+ public AzureStorageLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureTableDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureTableDataset.java
new file mode 100644
index 0000000000000..dd23a7ecb10c2
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureTableDataset.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * The Azure Table storage dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureTableDataset.class)
+@JsonTypeName("AzureTable")
+@JsonFlatten
+public class AzureTableDataset extends DatasetInner {
+ /**
+ * The table name of the Azure Table storage. Type: string (or Expression
+ * with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.tableName", required = true)
+ private Object tableName;
+
+ /**
+ * Get the table name of the Azure Table storage. Type: string (or Expression with resultType string).
+ *
+ * @return the tableName value
+ */
+ public Object tableName() {
+ return this.tableName;
+ }
+
+ /**
+ * Set the table name of the Azure Table storage. Type: string (or Expression with resultType string).
+ *
+ * @param tableName the tableName value to set
+ * @return the AzureTableDataset object itself.
+ */
+ public AzureTableDataset withTableName(Object tableName) {
+ this.tableName = tableName;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureTableSink.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureTableSink.java
new file mode 100644
index 0000000000000..ad901e45694b3
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureTableSink.java
@@ -0,0 +1,129 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Azure Table sink.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureTableSink.class)
+@JsonTypeName("AzureTableSink")
+public class AzureTableSink extends CopySink {
+ /**
+ * Azure Table default partition key value. Type: string (or Expression
+ * with resultType string).
+ */
+ @JsonProperty(value = "azureTableDefaultPartitionKeyValue")
+ private Object azureTableDefaultPartitionKeyValue;
+
+ /**
+ * Azure Table partition key name. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "azureTablePartitionKeyName")
+ private Object azureTablePartitionKeyName;
+
+ /**
+ * Azure Table row key name. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "azureTableRowKeyName")
+ private Object azureTableRowKeyName;
+
+ /**
+ * Azure Table insert type. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "azureTableInsertType")
+ private Object azureTableInsertType;
+
+ /**
+ * Get azure Table default partition key value. Type: string (or Expression with resultType string).
+ *
+ * @return the azureTableDefaultPartitionKeyValue value
+ */
+ public Object azureTableDefaultPartitionKeyValue() {
+ return this.azureTableDefaultPartitionKeyValue;
+ }
+
+ /**
+ * Set azure Table default partition key value. Type: string (or Expression with resultType string).
+ *
+ * @param azureTableDefaultPartitionKeyValue the azureTableDefaultPartitionKeyValue value to set
+ * @return the AzureTableSink object itself.
+ */
+ public AzureTableSink withAzureTableDefaultPartitionKeyValue(Object azureTableDefaultPartitionKeyValue) {
+ this.azureTableDefaultPartitionKeyValue = azureTableDefaultPartitionKeyValue;
+ return this;
+ }
+
+ /**
+ * Get azure Table partition key name. Type: string (or Expression with resultType string).
+ *
+ * @return the azureTablePartitionKeyName value
+ */
+ public Object azureTablePartitionKeyName() {
+ return this.azureTablePartitionKeyName;
+ }
+
+ /**
+ * Set azure Table partition key name. Type: string (or Expression with resultType string).
+ *
+ * @param azureTablePartitionKeyName the azureTablePartitionKeyName value to set
+ * @return the AzureTableSink object itself.
+ */
+ public AzureTableSink withAzureTablePartitionKeyName(Object azureTablePartitionKeyName) {
+ this.azureTablePartitionKeyName = azureTablePartitionKeyName;
+ return this;
+ }
+
+ /**
+ * Get azure Table row key name. Type: string (or Expression with resultType string).
+ *
+ * @return the azureTableRowKeyName value
+ */
+ public Object azureTableRowKeyName() {
+ return this.azureTableRowKeyName;
+ }
+
+ /**
+ * Set azure Table row key name. Type: string (or Expression with resultType string).
+ *
+ * @param azureTableRowKeyName the azureTableRowKeyName value to set
+ * @return the AzureTableSink object itself.
+ */
+ public AzureTableSink withAzureTableRowKeyName(Object azureTableRowKeyName) {
+ this.azureTableRowKeyName = azureTableRowKeyName;
+ return this;
+ }
+
+ /**
+ * Get azure Table insert type. Type: string (or Expression with resultType string).
+ *
+ * @return the azureTableInsertType value
+ */
+ public Object azureTableInsertType() {
+ return this.azureTableInsertType;
+ }
+
+ /**
+ * Set azure Table insert type. Type: string (or Expression with resultType string).
+ *
+ * @param azureTableInsertType the azureTableInsertType value to set
+ * @return the AzureTableSink object itself.
+ */
+ public AzureTableSink withAzureTableInsertType(Object azureTableInsertType) {
+ this.azureTableInsertType = azureTableInsertType;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureTableSource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureTableSource.java
new file mode 100644
index 0000000000000..3bc1e7511ac1d
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/AzureTableSource.java
@@ -0,0 +1,75 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Azure Table source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = AzureTableSource.class)
+@JsonTypeName("AzureTableSource")
+public class AzureTableSource extends CopySource {
+ /**
+ * Azure Table source query. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "azureTableSourceQuery")
+ private Object azureTableSourceQuery;
+
+ /**
+ * Azure Table source ignore table not found. Type: boolean (or Expression
+ * with resultType boolean).
+ */
+ @JsonProperty(value = "azureTableSourceIgnoreTableNotFound")
+ private Object azureTableSourceIgnoreTableNotFound;
+
+ /**
+ * Get azure Table source query. Type: string (or Expression with resultType string).
+ *
+ * @return the azureTableSourceQuery value
+ */
+ public Object azureTableSourceQuery() {
+ return this.azureTableSourceQuery;
+ }
+
+ /**
+ * Set azure Table source query. Type: string (or Expression with resultType string).
+ *
+ * @param azureTableSourceQuery the azureTableSourceQuery value to set
+ * @return the AzureTableSource object itself.
+ */
+ public AzureTableSource withAzureTableSourceQuery(Object azureTableSourceQuery) {
+ this.azureTableSourceQuery = azureTableSourceQuery;
+ return this;
+ }
+
+ /**
+ * Get azure Table source ignore table not found. Type: boolean (or Expression with resultType boolean).
+ *
+ * @return the azureTableSourceIgnoreTableNotFound value
+ */
+ public Object azureTableSourceIgnoreTableNotFound() {
+ return this.azureTableSourceIgnoreTableNotFound;
+ }
+
+ /**
+ * Set azure Table source ignore table not found. Type: boolean (or Expression with resultType boolean).
+ *
+ * @param azureTableSourceIgnoreTableNotFound the azureTableSourceIgnoreTableNotFound value to set
+ * @return the AzureTableSource object itself.
+ */
+ public AzureTableSource withAzureTableSourceIgnoreTableNotFound(Object azureTableSourceIgnoreTableNotFound) {
+ this.azureTableSourceIgnoreTableNotFound = azureTableSourceIgnoreTableNotFound;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/BlobEventTypes.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/BlobEventTypes.java
new file mode 100644
index 0000000000000..6f130a9263063
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/BlobEventTypes.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for BlobEventTypes.
+ */
+public final class BlobEventTypes extends ExpandableStringEnum {
+ /** Static value Microsoft.Storage.BlobCreated for BlobEventTypes. */
+ public static final BlobEventTypes MICROSOFT_STORAGE_BLOB_CREATED = fromString("Microsoft.Storage.BlobCreated");
+
+ /** Static value Microsoft.Storage.BlobDeleted for BlobEventTypes. */
+ public static final BlobEventTypes MICROSOFT_STORAGE_BLOB_DELETED = fromString("Microsoft.Storage.BlobDeleted");
+
+ /**
+ * Creates or finds a BlobEventTypes from its string representation.
+ * @param name a name to look for
+ * @return the corresponding BlobEventTypes
+ */
+ @JsonCreator
+ public static BlobEventTypes fromString(String name) {
+ return fromString(name, BlobEventTypes.class);
+ }
+
+ /**
+ * @return known BlobEventTypes values
+ */
+ public static Collection values() {
+ return values(BlobEventTypes.class);
+ }
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/BlobEventsTrigger.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/BlobEventsTrigger.java
new file mode 100644
index 0000000000000..c1ea6aa75b0f5
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/BlobEventsTrigger.java
@@ -0,0 +1,160 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Trigger that runs every time a Blob event occurs.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = BlobEventsTrigger.class)
+@JsonTypeName("BlobEventsTrigger")
+@JsonFlatten
+public class BlobEventsTrigger extends MultiplePipelineTrigger {
+ /**
+ * The blob path must begin with the pattern provided for trigger to fire.
+ * For example, '/records/blobs/december/' will only fire the trigger for
+ * blobs in the december folder under the records container. At least one
+ * of these must be provided: blobPathBeginsWith, blobPathEndsWith.
+ */
+ @JsonProperty(value = "typeProperties.blobPathBeginsWith")
+ private String blobPathBeginsWith;
+
+ /**
+ * The blob path must end with the pattern provided for trigger to fire.
+ * For example, 'december/boxes.csv' will only fire the trigger for blobs
+ * named boxes in a december folder. At least one of these must be
+ * provided: blobPathBeginsWith, blobPathEndsWith.
+ */
+ @JsonProperty(value = "typeProperties.blobPathEndsWith")
+ private String blobPathEndsWith;
+
+ /**
+ * If set to true, blobs with zero bytes will be ignored.
+ */
+ @JsonProperty(value = "typeProperties.ignoreEmptyBlobs")
+ private Boolean ignoreEmptyBlobs;
+
+ /**
+ * The type of events that cause this trigger to fire.
+ */
+ @JsonProperty(value = "typeProperties.events", required = true)
+ private List events;
+
+ /**
+ * The ARM resource ID of the Storage Account.
+ */
+ @JsonProperty(value = "typeProperties.scope", required = true)
+ private String scope;
+
+ /**
+ * Get the blob path must begin with the pattern provided for trigger to fire. For example, '/records/blobs/december/' will only fire the trigger for blobs in the december folder under the records container. At least one of these must be provided: blobPathBeginsWith, blobPathEndsWith.
+ *
+ * @return the blobPathBeginsWith value
+ */
+ public String blobPathBeginsWith() {
+ return this.blobPathBeginsWith;
+ }
+
+ /**
+ * Set the blob path must begin with the pattern provided for trigger to fire. For example, '/records/blobs/december/' will only fire the trigger for blobs in the december folder under the records container. At least one of these must be provided: blobPathBeginsWith, blobPathEndsWith.
+ *
+ * @param blobPathBeginsWith the blobPathBeginsWith value to set
+ * @return the BlobEventsTrigger object itself.
+ */
+ public BlobEventsTrigger withBlobPathBeginsWith(String blobPathBeginsWith) {
+ this.blobPathBeginsWith = blobPathBeginsWith;
+ return this;
+ }
+
+ /**
+ * Get the blob path must end with the pattern provided for trigger to fire. For example, 'december/boxes.csv' will only fire the trigger for blobs named boxes in a december folder. At least one of these must be provided: blobPathBeginsWith, blobPathEndsWith.
+ *
+ * @return the blobPathEndsWith value
+ */
+ public String blobPathEndsWith() {
+ return this.blobPathEndsWith;
+ }
+
+ /**
+ * Set the blob path must end with the pattern provided for trigger to fire. For example, 'december/boxes.csv' will only fire the trigger for blobs named boxes in a december folder. At least one of these must be provided: blobPathBeginsWith, blobPathEndsWith.
+ *
+ * @param blobPathEndsWith the blobPathEndsWith value to set
+ * @return the BlobEventsTrigger object itself.
+ */
+ public BlobEventsTrigger withBlobPathEndsWith(String blobPathEndsWith) {
+ this.blobPathEndsWith = blobPathEndsWith;
+ return this;
+ }
+
+ /**
+ * Get if set to true, blobs with zero bytes will be ignored.
+ *
+ * @return the ignoreEmptyBlobs value
+ */
+ public Boolean ignoreEmptyBlobs() {
+ return this.ignoreEmptyBlobs;
+ }
+
+ /**
+ * Set if set to true, blobs with zero bytes will be ignored.
+ *
+ * @param ignoreEmptyBlobs the ignoreEmptyBlobs value to set
+ * @return the BlobEventsTrigger object itself.
+ */
+ public BlobEventsTrigger withIgnoreEmptyBlobs(Boolean ignoreEmptyBlobs) {
+ this.ignoreEmptyBlobs = ignoreEmptyBlobs;
+ return this;
+ }
+
+ /**
+ * Get the type of events that cause this trigger to fire.
+ *
+ * @return the events value
+ */
+ public List events() {
+ return this.events;
+ }
+
+ /**
+ * Set the type of events that cause this trigger to fire.
+ *
+ * @param events the events value to set
+ * @return the BlobEventsTrigger object itself.
+ */
+ public BlobEventsTrigger withEvents(List events) {
+ this.events = events;
+ return this;
+ }
+
+ /**
+ * Get the ARM resource ID of the Storage Account.
+ *
+ * @return the scope value
+ */
+ public String scope() {
+ return this.scope;
+ }
+
+ /**
+ * Set the ARM resource ID of the Storage Account.
+ *
+ * @param scope the scope value to set
+ * @return the BlobEventsTrigger object itself.
+ */
+ public BlobEventsTrigger withScope(String scope) {
+ this.scope = scope;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/BlobSink.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/BlobSink.java
new file mode 100644
index 0000000000000..e98078e412456
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/BlobSink.java
@@ -0,0 +1,128 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Azure Blob sink.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = BlobSink.class)
+@JsonTypeName("BlobSink")
+public class BlobSink extends CopySink {
+ /**
+ * Blob writer overwrite files. Type: boolean (or Expression with
+ * resultType boolean).
+ */
+ @JsonProperty(value = "blobWriterOverwriteFiles")
+ private Object blobWriterOverwriteFiles;
+
+ /**
+ * Blob writer date time format. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "blobWriterDateTimeFormat")
+ private Object blobWriterDateTimeFormat;
+
+ /**
+ * Blob writer add header. Type: boolean (or Expression with resultType
+ * boolean).
+ */
+ @JsonProperty(value = "blobWriterAddHeader")
+ private Object blobWriterAddHeader;
+
+ /**
+ * The type of copy behavior for copy sink.
+ */
+ @JsonProperty(value = "copyBehavior")
+ private Object copyBehavior;
+
+ /**
+ * Get blob writer overwrite files. Type: boolean (or Expression with resultType boolean).
+ *
+ * @return the blobWriterOverwriteFiles value
+ */
+ public Object blobWriterOverwriteFiles() {
+ return this.blobWriterOverwriteFiles;
+ }
+
+ /**
+ * Set blob writer overwrite files. Type: boolean (or Expression with resultType boolean).
+ *
+ * @param blobWriterOverwriteFiles the blobWriterOverwriteFiles value to set
+ * @return the BlobSink object itself.
+ */
+ public BlobSink withBlobWriterOverwriteFiles(Object blobWriterOverwriteFiles) {
+ this.blobWriterOverwriteFiles = blobWriterOverwriteFiles;
+ return this;
+ }
+
+ /**
+ * Get blob writer date time format. Type: string (or Expression with resultType string).
+ *
+ * @return the blobWriterDateTimeFormat value
+ */
+ public Object blobWriterDateTimeFormat() {
+ return this.blobWriterDateTimeFormat;
+ }
+
+ /**
+ * Set blob writer date time format. Type: string (or Expression with resultType string).
+ *
+ * @param blobWriterDateTimeFormat the blobWriterDateTimeFormat value to set
+ * @return the BlobSink object itself.
+ */
+ public BlobSink withBlobWriterDateTimeFormat(Object blobWriterDateTimeFormat) {
+ this.blobWriterDateTimeFormat = blobWriterDateTimeFormat;
+ return this;
+ }
+
+ /**
+ * Get blob writer add header. Type: boolean (or Expression with resultType boolean).
+ *
+ * @return the blobWriterAddHeader value
+ */
+ public Object blobWriterAddHeader() {
+ return this.blobWriterAddHeader;
+ }
+
+ /**
+ * Set blob writer add header. Type: boolean (or Expression with resultType boolean).
+ *
+ * @param blobWriterAddHeader the blobWriterAddHeader value to set
+ * @return the BlobSink object itself.
+ */
+ public BlobSink withBlobWriterAddHeader(Object blobWriterAddHeader) {
+ this.blobWriterAddHeader = blobWriterAddHeader;
+ return this;
+ }
+
+ /**
+ * Get the type of copy behavior for copy sink.
+ *
+ * @return the copyBehavior value
+ */
+ public Object copyBehavior() {
+ return this.copyBehavior;
+ }
+
+ /**
+ * Set the type of copy behavior for copy sink.
+ *
+ * @param copyBehavior the copyBehavior value to set
+ * @return the BlobSink object itself.
+ */
+ public BlobSink withCopyBehavior(Object copyBehavior) {
+ this.copyBehavior = copyBehavior;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/BlobSource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/BlobSource.java
new file mode 100644
index 0000000000000..f30dac7d0f0d5
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/BlobSource.java
@@ -0,0 +1,102 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Azure Blob source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = BlobSource.class)
+@JsonTypeName("BlobSource")
+public class BlobSource extends CopySource {
+ /**
+ * Treat empty as null. Type: boolean (or Expression with resultType
+ * boolean).
+ */
+ @JsonProperty(value = "treatEmptyAsNull")
+ private Object treatEmptyAsNull;
+
+ /**
+ * Number of header lines to skip from each blob. Type: integer (or
+ * Expression with resultType integer).
+ */
+ @JsonProperty(value = "skipHeaderLineCount")
+ private Object skipHeaderLineCount;
+
+ /**
+ * If true, files under the folder path will be read recursively. Default
+ * is true. Type: boolean (or Expression with resultType boolean).
+ */
+ @JsonProperty(value = "recursive")
+ private Object recursive;
+
+ /**
+ * Get treat empty as null. Type: boolean (or Expression with resultType boolean).
+ *
+ * @return the treatEmptyAsNull value
+ */
+ public Object treatEmptyAsNull() {
+ return this.treatEmptyAsNull;
+ }
+
+ /**
+ * Set treat empty as null. Type: boolean (or Expression with resultType boolean).
+ *
+ * @param treatEmptyAsNull the treatEmptyAsNull value to set
+ * @return the BlobSource object itself.
+ */
+ public BlobSource withTreatEmptyAsNull(Object treatEmptyAsNull) {
+ this.treatEmptyAsNull = treatEmptyAsNull;
+ return this;
+ }
+
+ /**
+ * Get number of header lines to skip from each blob. Type: integer (or Expression with resultType integer).
+ *
+ * @return the skipHeaderLineCount value
+ */
+ public Object skipHeaderLineCount() {
+ return this.skipHeaderLineCount;
+ }
+
+ /**
+ * Set number of header lines to skip from each blob. Type: integer (or Expression with resultType integer).
+ *
+ * @param skipHeaderLineCount the skipHeaderLineCount value to set
+ * @return the BlobSource object itself.
+ */
+ public BlobSource withSkipHeaderLineCount(Object skipHeaderLineCount) {
+ this.skipHeaderLineCount = skipHeaderLineCount;
+ return this;
+ }
+
+ /**
+ * Get if true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
+ *
+ * @return the recursive value
+ */
+ public Object recursive() {
+ return this.recursive;
+ }
+
+ /**
+ * Set if true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
+ *
+ * @param recursive the recursive value to set
+ * @return the BlobSource object itself.
+ */
+ public BlobSource withRecursive(Object recursive) {
+ this.recursive = recursive;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/BlobTrigger.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/BlobTrigger.java
new file mode 100644
index 0000000000000..1aa217e3a07f5
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/BlobTrigger.java
@@ -0,0 +1,101 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Trigger that runs every time the selected Blob container changes.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = BlobTrigger.class)
+@JsonTypeName("BlobTrigger")
+@JsonFlatten
+public class BlobTrigger extends MultiplePipelineTrigger {
+ /**
+ * The path of the container/folder that will trigger the pipeline.
+ */
+ @JsonProperty(value = "typeProperties.folderPath", required = true)
+ private String folderPath;
+
+ /**
+ * The max number of parallel files to handle when it is triggered.
+ */
+ @JsonProperty(value = "typeProperties.maxConcurrency", required = true)
+ private int maxConcurrency;
+
+ /**
+ * The Azure Storage linked service reference.
+ */
+ @JsonProperty(value = "typeProperties.linkedService", required = true)
+ private LinkedServiceReference linkedService;
+
+ /**
+ * Get the path of the container/folder that will trigger the pipeline.
+ *
+ * @return the folderPath value
+ */
+ public String folderPath() {
+ return this.folderPath;
+ }
+
+ /**
+ * Set the path of the container/folder that will trigger the pipeline.
+ *
+ * @param folderPath the folderPath value to set
+ * @return the BlobTrigger object itself.
+ */
+ public BlobTrigger withFolderPath(String folderPath) {
+ this.folderPath = folderPath;
+ return this;
+ }
+
+ /**
+ * Get the max number of parallel files to handle when it is triggered.
+ *
+ * @return the maxConcurrency value
+ */
+ public int maxConcurrency() {
+ return this.maxConcurrency;
+ }
+
+ /**
+ * Set the max number of parallel files to handle when it is triggered.
+ *
+ * @param maxConcurrency the maxConcurrency value to set
+ * @return the BlobTrigger object itself.
+ */
+ public BlobTrigger withMaxConcurrency(int maxConcurrency) {
+ this.maxConcurrency = maxConcurrency;
+ return this;
+ }
+
+ /**
+ * Get the Azure Storage linked service reference.
+ *
+ * @return the linkedService value
+ */
+ public LinkedServiceReference linkedService() {
+ return this.linkedService;
+ }
+
+ /**
+ * Set the Azure Storage linked service reference.
+ *
+ * @param linkedService the linkedService value to set
+ * @return the BlobTrigger object itself.
+ */
+ public BlobTrigger withLinkedService(LinkedServiceReference linkedService) {
+ this.linkedService = linkedService;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CassandraLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CassandraLinkedService.java
new file mode 100644
index 0000000000000..8ab38c1b94589
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CassandraLinkedService.java
@@ -0,0 +1,186 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Linked service for Cassandra data source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = CassandraLinkedService.class)
+@JsonTypeName("Cassandra")
+@JsonFlatten
+public class CassandraLinkedService extends LinkedServiceInner {
+ /**
+ * Host name for connection. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.host", required = true)
+ private Object host;
+
+ /**
+ * AuthenticationType to be used for connection. Type: string (or
+ * Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.authenticationType")
+ private Object authenticationType;
+
+ /**
+ * The port for the connection. Type: integer (or Expression with
+ * resultType integer).
+ */
+ @JsonProperty(value = "typeProperties.port")
+ private Object port;
+
+ /**
+ * Username for authentication. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.username")
+ private Object username;
+
+ /**
+ * Password for authentication.
+ */
+ @JsonProperty(value = "typeProperties.password")
+ private SecretBase password;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get host name for connection. Type: string (or Expression with resultType string).
+ *
+ * @return the host value
+ */
+ public Object host() {
+ return this.host;
+ }
+
+ /**
+ * Set host name for connection. Type: string (or Expression with resultType string).
+ *
+ * @param host the host value to set
+ * @return the CassandraLinkedService object itself.
+ */
+ public CassandraLinkedService withHost(Object host) {
+ this.host = host;
+ return this;
+ }
+
+ /**
+ * Get authenticationType to be used for connection. Type: string (or Expression with resultType string).
+ *
+ * @return the authenticationType value
+ */
+ public Object authenticationType() {
+ return this.authenticationType;
+ }
+
+ /**
+ * Set authenticationType to be used for connection. Type: string (or Expression with resultType string).
+ *
+ * @param authenticationType the authenticationType value to set
+ * @return the CassandraLinkedService object itself.
+ */
+ public CassandraLinkedService withAuthenticationType(Object authenticationType) {
+ this.authenticationType = authenticationType;
+ return this;
+ }
+
+ /**
+ * Get the port for the connection. Type: integer (or Expression with resultType integer).
+ *
+ * @return the port value
+ */
+ public Object port() {
+ return this.port;
+ }
+
+ /**
+ * Set the port for the connection. Type: integer (or Expression with resultType integer).
+ *
+ * @param port the port value to set
+ * @return the CassandraLinkedService object itself.
+ */
+ public CassandraLinkedService withPort(Object port) {
+ this.port = port;
+ return this;
+ }
+
+ /**
+ * Get username for authentication. Type: string (or Expression with resultType string).
+ *
+ * @return the username value
+ */
+ public Object username() {
+ return this.username;
+ }
+
+ /**
+ * Set username for authentication. Type: string (or Expression with resultType string).
+ *
+ * @param username the username value to set
+ * @return the CassandraLinkedService object itself.
+ */
+ public CassandraLinkedService withUsername(Object username) {
+ this.username = username;
+ return this;
+ }
+
+ /**
+ * Get password for authentication.
+ *
+ * @return the password value
+ */
+ public SecretBase password() {
+ return this.password;
+ }
+
+ /**
+ * Set password for authentication.
+ *
+ * @param password the password value to set
+ * @return the CassandraLinkedService object itself.
+ */
+ public CassandraLinkedService withPassword(SecretBase password) {
+ this.password = password;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the CassandraLinkedService object itself.
+ */
+ public CassandraLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CassandraSource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CassandraSource.java
new file mode 100644
index 0000000000000..91351f4298f3d
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CassandraSource.java
@@ -0,0 +1,80 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity source for a Cassandra database.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = CassandraSource.class)
+@JsonTypeName("CassandraSource")
+public class CassandraSource extends CopySource {
+ /**
+ * Database query. Should be a SQL-92 query expression or Cassandra Query
+ * Language (CQL) command. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "query")
+ private Object query;
+
+ /**
+ * The consistency level specifies how many Cassandra servers must respond
+ * to a read request before returning data to the client application.
+ * Cassandra checks the specified number of Cassandra servers for data to
+ * satisfy the read request. Must be one of
+ * cassandraSourceReadConsistencyLevels. The default value is 'ONE'. It is
+ * case-insensitive.
+ */
+ @JsonProperty(value = "consistencyLevel")
+ private Object consistencyLevel;
+
+ /**
+ * Get database query. Should be a SQL-92 query expression or Cassandra Query Language (CQL) command. Type: string (or Expression with resultType string).
+ *
+ * @return the query value
+ */
+ public Object query() {
+ return this.query;
+ }
+
+ /**
+ * Set database query. Should be a SQL-92 query expression or Cassandra Query Language (CQL) command. Type: string (or Expression with resultType string).
+ *
+ * @param query the query value to set
+ * @return the CassandraSource object itself.
+ */
+ public CassandraSource withQuery(Object query) {
+ this.query = query;
+ return this;
+ }
+
+ /**
+ * Get the consistency level specifies how many Cassandra servers must respond to a read request before returning data to the client application. Cassandra checks the specified number of Cassandra servers for data to satisfy the read request. Must be one of cassandraSourceReadConsistencyLevels. The default value is 'ONE'. It is case-insensitive.
+ *
+ * @return the consistencyLevel value
+ */
+ public Object consistencyLevel() {
+ return this.consistencyLevel;
+ }
+
+ /**
+ * Set the consistency level specifies how many Cassandra servers must respond to a read request before returning data to the client application. Cassandra checks the specified number of Cassandra servers for data to satisfy the read request. Must be one of cassandraSourceReadConsistencyLevels. The default value is 'ONE'. It is case-insensitive.
+ *
+ * @param consistencyLevel the consistencyLevel value to set
+ * @return the CassandraSource object itself.
+ */
+ public CassandraSource withConsistencyLevel(Object consistencyLevel) {
+ this.consistencyLevel = consistencyLevel;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CassandraTableDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CassandraTableDataset.java
new file mode 100644
index 0000000000000..d1d24fb080989
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CassandraTableDataset.java
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * The Cassandra database dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = CassandraTableDataset.class)
+@JsonTypeName("CassandraTable")
+@JsonFlatten
+public class CassandraTableDataset extends DatasetInner {
+ /**
+ * The table name of the Cassandra database. Type: string (or Expression
+ * with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.tableName")
+ private Object tableName;
+
+ /**
+ * The keyspace of the Cassandra database. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.keyspace")
+ private Object keyspace;
+
+ /**
+ * Get the table name of the Cassandra database. Type: string (or Expression with resultType string).
+ *
+ * @return the tableName value
+ */
+ public Object tableName() {
+ return this.tableName;
+ }
+
+ /**
+ * Set the table name of the Cassandra database. Type: string (or Expression with resultType string).
+ *
+ * @param tableName the tableName value to set
+ * @return the CassandraTableDataset object itself.
+ */
+ public CassandraTableDataset withTableName(Object tableName) {
+ this.tableName = tableName;
+ return this;
+ }
+
+ /**
+ * Get the keyspace of the Cassandra database. Type: string (or Expression with resultType string).
+ *
+ * @return the keyspace value
+ */
+ public Object keyspace() {
+ return this.keyspace;
+ }
+
+ /**
+ * Set the keyspace of the Cassandra database. Type: string (or Expression with resultType string).
+ *
+ * @param keyspace the keyspace value to set
+ * @return the CassandraTableDataset object itself.
+ */
+ public CassandraTableDataset withKeyspace(Object keyspace) {
+ this.keyspace = keyspace;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ConcurLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ConcurLinkedService.java
new file mode 100644
index 0000000000000..b481e4b5f91b7
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ConcurLinkedService.java
@@ -0,0 +1,213 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Concur Service linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = ConcurLinkedService.class)
+@JsonTypeName("Concur")
+@JsonFlatten
+public class ConcurLinkedService extends LinkedServiceInner {
+ /**
+ * Application client_id supplied by Concur App Management.
+ */
+ @JsonProperty(value = "typeProperties.clientId", required = true)
+ private Object clientId;
+
+ /**
+ * The user name that you use to access Concur Service.
+ */
+ @JsonProperty(value = "typeProperties.username", required = true)
+ private Object username;
+
+ /**
+ * The password corresponding to the user name that you provided in the
+ * username field.
+ */
+ @JsonProperty(value = "typeProperties.password")
+ private SecretBase password;
+
+ /**
+ * Specifies whether the data source endpoints are encrypted using HTTPS.
+ * The default value is true.
+ */
+ @JsonProperty(value = "typeProperties.useEncryptedEndpoints")
+ private Object useEncryptedEndpoints;
+
+ /**
+ * Specifies whether to require the host name in the server's certificate
+ * to match the host name of the server when connecting over SSL. The
+ * default value is true.
+ */
+ @JsonProperty(value = "typeProperties.useHostVerification")
+ private Object useHostVerification;
+
+ /**
+ * Specifies whether to verify the identity of the server when connecting
+ * over SSL. The default value is true.
+ */
+ @JsonProperty(value = "typeProperties.usePeerVerification")
+ private Object usePeerVerification;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get application client_id supplied by Concur App Management.
+ *
+ * @return the clientId value
+ */
+ public Object clientId() {
+ return this.clientId;
+ }
+
+ /**
+ * Set application client_id supplied by Concur App Management.
+ *
+ * @param clientId the clientId value to set
+ * @return the ConcurLinkedService object itself.
+ */
+ public ConcurLinkedService withClientId(Object clientId) {
+ this.clientId = clientId;
+ return this;
+ }
+
+ /**
+ * Get the user name that you use to access Concur Service.
+ *
+ * @return the username value
+ */
+ public Object username() {
+ return this.username;
+ }
+
+ /**
+ * Set the user name that you use to access Concur Service.
+ *
+ * @param username the username value to set
+ * @return the ConcurLinkedService object itself.
+ */
+ public ConcurLinkedService withUsername(Object username) {
+ this.username = username;
+ return this;
+ }
+
+ /**
+ * Get the password corresponding to the user name that you provided in the username field.
+ *
+ * @return the password value
+ */
+ public SecretBase password() {
+ return this.password;
+ }
+
+ /**
+ * Set the password corresponding to the user name that you provided in the username field.
+ *
+ * @param password the password value to set
+ * @return the ConcurLinkedService object itself.
+ */
+ public ConcurLinkedService withPassword(SecretBase password) {
+ this.password = password;
+ return this;
+ }
+
+ /**
+ * Get specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
+ *
+ * @return the useEncryptedEndpoints value
+ */
+ public Object useEncryptedEndpoints() {
+ return this.useEncryptedEndpoints;
+ }
+
+ /**
+ * Set specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
+ *
+ * @param useEncryptedEndpoints the useEncryptedEndpoints value to set
+ * @return the ConcurLinkedService object itself.
+ */
+ public ConcurLinkedService withUseEncryptedEndpoints(Object useEncryptedEndpoints) {
+ this.useEncryptedEndpoints = useEncryptedEndpoints;
+ return this;
+ }
+
+ /**
+ * Get specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
+ *
+ * @return the useHostVerification value
+ */
+ public Object useHostVerification() {
+ return this.useHostVerification;
+ }
+
+ /**
+ * Set specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
+ *
+ * @param useHostVerification the useHostVerification value to set
+ * @return the ConcurLinkedService object itself.
+ */
+ public ConcurLinkedService withUseHostVerification(Object useHostVerification) {
+ this.useHostVerification = useHostVerification;
+ return this;
+ }
+
+ /**
+ * Get specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
+ *
+ * @return the usePeerVerification value
+ */
+ public Object usePeerVerification() {
+ return this.usePeerVerification;
+ }
+
+ /**
+ * Set specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
+ *
+ * @param usePeerVerification the usePeerVerification value to set
+ * @return the ConcurLinkedService object itself.
+ */
+ public ConcurLinkedService withUsePeerVerification(Object usePeerVerification) {
+ this.usePeerVerification = usePeerVerification;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the ConcurLinkedService object itself.
+ */
+ public ConcurLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ConcurObjectDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ConcurObjectDataset.java
new file mode 100644
index 0000000000000..642d5b00ee6eb
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ConcurObjectDataset.java
@@ -0,0 +1,21 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * Concur Service dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = ConcurObjectDataset.class)
+@JsonTypeName("ConcurObject")
+public class ConcurObjectDataset extends DatasetInner {
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ConcurSource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ConcurSource.java
new file mode 100644
index 0000000000000..8fba7522f1713
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ConcurSource.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Concur Service source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = ConcurSource.class)
+@JsonTypeName("ConcurSource")
+public class ConcurSource extends CopySource {
+ /**
+ * A query to retrieve data from source. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "query")
+ private Object query;
+
+ /**
+ * Get a query to retrieve data from source. Type: string (or Expression with resultType string).
+ *
+ * @return the query value
+ */
+ public Object query() {
+ return this.query;
+ }
+
+ /**
+ * Set a query to retrieve data from source. Type: string (or Expression with resultType string).
+ *
+ * @param query the query value to set
+ * @return the ConcurSource object itself.
+ */
+ public ConcurSource withQuery(Object query) {
+ this.query = query;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ControlActivity.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ControlActivity.java
new file mode 100644
index 0000000000000..e8369d8425d23
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ControlActivity.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Base class for all control activities like IfCondition, ForEach , Until.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = ControlActivity.class)
+@JsonTypeName("Container")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "Filter", value = FilterActivity.class),
+ @JsonSubTypes.Type(name = "Until", value = UntilActivity.class),
+ @JsonSubTypes.Type(name = "Wait", value = WaitActivity.class),
+ @JsonSubTypes.Type(name = "ForEach", value = ForEachActivity.class),
+ @JsonSubTypes.Type(name = "IfCondition", value = IfConditionActivity.class),
+ @JsonSubTypes.Type(name = "ExecutePipeline", value = ExecutePipelineActivity.class)
+})
+public class ControlActivity extends Activity {
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CopyActivity.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CopyActivity.java
new file mode 100644
index 0000000000000..ef081c649e1a8
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CopyActivity.java
@@ -0,0 +1,317 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Copy activity.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = CopyActivity.class)
+@JsonTypeName("Copy")
+@JsonFlatten
+public class CopyActivity extends ExecutionActivity {
+ /**
+ * Copy activity source.
+ */
+ @JsonProperty(value = "typeProperties.source", required = true)
+ private CopySource source;
+
+ /**
+ * Copy activity sink.
+ */
+ @JsonProperty(value = "typeProperties.sink", required = true)
+ private CopySink sink;
+
+ /**
+ * Copy activity translator. If not specified, tabular translator is used.
+ */
+ @JsonProperty(value = "typeProperties.translator")
+ private Object translator;
+
+ /**
+ * Specifies whether to copy data via an interim staging. Default value is
+ * false. Type: boolean (or Expression with resultType boolean).
+ */
+ @JsonProperty(value = "typeProperties.enableStaging")
+ private Object enableStaging;
+
+ /**
+ * Specifies interim staging settings when EnableStaging is true.
+ */
+ @JsonProperty(value = "typeProperties.stagingSettings")
+ private StagingSettings stagingSettings;
+
+ /**
+ * Maximum number of concurrent sessions opened on the source or sink to
+ * avoid overloading the data store. Type: integer (or Expression with
+ * resultType integer), minimum: 0.
+ */
+ @JsonProperty(value = "typeProperties.parallelCopies")
+ private Object parallelCopies;
+
+ /**
+ * Maximum number of cloud data movement units that can be used to perform
+ * this data movement. Type: integer (or Expression with resultType
+ * integer), minimum: 0.
+ */
+ @JsonProperty(value = "typeProperties.cloudDataMovementUnits")
+ private Object cloudDataMovementUnits;
+
+ /**
+ * Whether to skip incompatible row. Default value is false. Type: boolean
+ * (or Expression with resultType boolean).
+ */
+ @JsonProperty(value = "typeProperties.enableSkipIncompatibleRow")
+ private Object enableSkipIncompatibleRow;
+
+ /**
+ * Redirect incompatible row settings when EnableSkipIncompatibleRow is
+ * true.
+ */
+ @JsonProperty(value = "typeProperties.redirectIncompatibleRowSettings")
+ private RedirectIncompatibleRowSettings redirectIncompatibleRowSettings;
+
+ /**
+ * List of inputs for the activity.
+ */
+ @JsonProperty(value = "inputs")
+ private List inputs;
+
+ /**
+ * List of outputs for the activity.
+ */
+ @JsonProperty(value = "outputs")
+ private List outputs;
+
+ /**
+ * Get copy activity source.
+ *
+ * @return the source value
+ */
+ public CopySource source() {
+ return this.source;
+ }
+
+ /**
+ * Set copy activity source.
+ *
+ * @param source the source value to set
+ * @return the CopyActivity object itself.
+ */
+ public CopyActivity withSource(CopySource source) {
+ this.source = source;
+ return this;
+ }
+
+ /**
+ * Get copy activity sink.
+ *
+ * @return the sink value
+ */
+ public CopySink sink() {
+ return this.sink;
+ }
+
+ /**
+ * Set copy activity sink.
+ *
+ * @param sink the sink value to set
+ * @return the CopyActivity object itself.
+ */
+ public CopyActivity withSink(CopySink sink) {
+ this.sink = sink;
+ return this;
+ }
+
+ /**
+ * Get copy activity translator. If not specified, tabular translator is used.
+ *
+ * @return the translator value
+ */
+ public Object translator() {
+ return this.translator;
+ }
+
+ /**
+ * Set copy activity translator. If not specified, tabular translator is used.
+ *
+ * @param translator the translator value to set
+ * @return the CopyActivity object itself.
+ */
+ public CopyActivity withTranslator(Object translator) {
+ this.translator = translator;
+ return this;
+ }
+
+ /**
+ * Get specifies whether to copy data via an interim staging. Default value is false. Type: boolean (or Expression with resultType boolean).
+ *
+ * @return the enableStaging value
+ */
+ public Object enableStaging() {
+ return this.enableStaging;
+ }
+
+ /**
+ * Set specifies whether to copy data via an interim staging. Default value is false. Type: boolean (or Expression with resultType boolean).
+ *
+ * @param enableStaging the enableStaging value to set
+ * @return the CopyActivity object itself.
+ */
+ public CopyActivity withEnableStaging(Object enableStaging) {
+ this.enableStaging = enableStaging;
+ return this;
+ }
+
+ /**
+ * Get specifies interim staging settings when EnableStaging is true.
+ *
+ * @return the stagingSettings value
+ */
+ public StagingSettings stagingSettings() {
+ return this.stagingSettings;
+ }
+
+ /**
+ * Set specifies interim staging settings when EnableStaging is true.
+ *
+ * @param stagingSettings the stagingSettings value to set
+ * @return the CopyActivity object itself.
+ */
+ public CopyActivity withStagingSettings(StagingSettings stagingSettings) {
+ this.stagingSettings = stagingSettings;
+ return this;
+ }
+
+ /**
+ * Get maximum number of concurrent sessions opened on the source or sink to avoid overloading the data store. Type: integer (or Expression with resultType integer), minimum: 0.
+ *
+ * @return the parallelCopies value
+ */
+ public Object parallelCopies() {
+ return this.parallelCopies;
+ }
+
+ /**
+ * Set maximum number of concurrent sessions opened on the source or sink to avoid overloading the data store. Type: integer (or Expression with resultType integer), minimum: 0.
+ *
+ * @param parallelCopies the parallelCopies value to set
+ * @return the CopyActivity object itself.
+ */
+ public CopyActivity withParallelCopies(Object parallelCopies) {
+ this.parallelCopies = parallelCopies;
+ return this;
+ }
+
+ /**
+ * Get maximum number of cloud data movement units that can be used to perform this data movement. Type: integer (or Expression with resultType integer), minimum: 0.
+ *
+ * @return the cloudDataMovementUnits value
+ */
+ public Object cloudDataMovementUnits() {
+ return this.cloudDataMovementUnits;
+ }
+
+ /**
+ * Set maximum number of cloud data movement units that can be used to perform this data movement. Type: integer (or Expression with resultType integer), minimum: 0.
+ *
+ * @param cloudDataMovementUnits the cloudDataMovementUnits value to set
+ * @return the CopyActivity object itself.
+ */
+ public CopyActivity withCloudDataMovementUnits(Object cloudDataMovementUnits) {
+ this.cloudDataMovementUnits = cloudDataMovementUnits;
+ return this;
+ }
+
+ /**
+ * Get whether to skip incompatible row. Default value is false. Type: boolean (or Expression with resultType boolean).
+ *
+ * @return the enableSkipIncompatibleRow value
+ */
+ public Object enableSkipIncompatibleRow() {
+ return this.enableSkipIncompatibleRow;
+ }
+
+ /**
+ * Set whether to skip incompatible row. Default value is false. Type: boolean (or Expression with resultType boolean).
+ *
+ * @param enableSkipIncompatibleRow the enableSkipIncompatibleRow value to set
+ * @return the CopyActivity object itself.
+ */
+ public CopyActivity withEnableSkipIncompatibleRow(Object enableSkipIncompatibleRow) {
+ this.enableSkipIncompatibleRow = enableSkipIncompatibleRow;
+ return this;
+ }
+
+ /**
+ * Get redirect incompatible row settings when EnableSkipIncompatibleRow is true.
+ *
+ * @return the redirectIncompatibleRowSettings value
+ */
+ public RedirectIncompatibleRowSettings redirectIncompatibleRowSettings() {
+ return this.redirectIncompatibleRowSettings;
+ }
+
+ /**
+ * Set redirect incompatible row settings when EnableSkipIncompatibleRow is true.
+ *
+ * @param redirectIncompatibleRowSettings the redirectIncompatibleRowSettings value to set
+ * @return the CopyActivity object itself.
+ */
+ public CopyActivity withRedirectIncompatibleRowSettings(RedirectIncompatibleRowSettings redirectIncompatibleRowSettings) {
+ this.redirectIncompatibleRowSettings = redirectIncompatibleRowSettings;
+ return this;
+ }
+
+ /**
+ * Get list of inputs for the activity.
+ *
+ * @return the inputs value
+ */
+ public List inputs() {
+ return this.inputs;
+ }
+
+ /**
+ * Set list of inputs for the activity.
+ *
+ * @param inputs the inputs value to set
+ * @return the CopyActivity object itself.
+ */
+ public CopyActivity withInputs(List inputs) {
+ this.inputs = inputs;
+ return this;
+ }
+
+ /**
+ * Get list of outputs for the activity.
+ *
+ * @return the outputs value
+ */
+ public List outputs() {
+ return this.outputs;
+ }
+
+ /**
+ * Set list of outputs for the activity.
+ *
+ * @param outputs the outputs value to set
+ * @return the CopyActivity object itself.
+ */
+ public CopyActivity withOutputs(List outputs) {
+ this.outputs = outputs;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CopySink.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CopySink.java
new file mode 100644
index 0000000000000..c2b748ac870be
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CopySink.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * A copy activity sink.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = CopySink.class)
+@JsonTypeName("CopySink")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "SalesforceSink", value = SalesforceSink.class),
+ @JsonSubTypes.Type(name = "DynamicsSink", value = DynamicsSink.class),
+ @JsonSubTypes.Type(name = "OdbcSink", value = OdbcSink.class),
+ @JsonSubTypes.Type(name = "AzureSearchIndexSink", value = AzureSearchIndexSink.class),
+ @JsonSubTypes.Type(name = "AzureDataLakeStoreSink", value = AzureDataLakeStoreSink.class),
+ @JsonSubTypes.Type(name = "OracleSink", value = OracleSink.class),
+ @JsonSubTypes.Type(name = "SqlDWSink", value = SqlDWSink.class),
+ @JsonSubTypes.Type(name = "SqlSink", value = SqlSink.class),
+ @JsonSubTypes.Type(name = "DocumentDbCollectionSink", value = DocumentDbCollectionSink.class),
+ @JsonSubTypes.Type(name = "FileSystemSink", value = FileSystemSink.class),
+ @JsonSubTypes.Type(name = "BlobSink", value = BlobSink.class),
+ @JsonSubTypes.Type(name = "AzureTableSink", value = AzureTableSink.class),
+ @JsonSubTypes.Type(name = "AzureQueueSink", value = AzureQueueSink.class),
+ @JsonSubTypes.Type(name = "SapCloudForCustomerSink", value = SapCloudForCustomerSink.class)
+})
+public class CopySink {
+ /**
+ * Unmatched properties from the message are deserialized this collection.
+ */
+ @JsonProperty(value = "")
+ private Map additionalProperties;
+
+ /**
+ * Write batch size. Type: integer (or Expression with resultType integer),
+ * minimum: 0.
+ */
+ @JsonProperty(value = "writeBatchSize")
+ private Object writeBatchSize;
+
+ /**
+ * Write batch timeout. Type: string (or Expression with resultType
+ * string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
+ */
+ @JsonProperty(value = "writeBatchTimeout")
+ private Object writeBatchTimeout;
+
+ /**
+ * Sink retry count. Type: integer (or Expression with resultType integer).
+ */
+ @JsonProperty(value = "sinkRetryCount")
+ private Object sinkRetryCount;
+
+ /**
+ * Sink retry wait. Type: string (or Expression with resultType string),
+ * pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
+ */
+ @JsonProperty(value = "sinkRetryWait")
+ private Object sinkRetryWait;
+
+ /**
+ * Get unmatched properties from the message are deserialized this collection.
+ *
+ * @return the additionalProperties value
+ */
+ public Map additionalProperties() {
+ return this.additionalProperties;
+ }
+
+ /**
+ * Set unmatched properties from the message are deserialized this collection.
+ *
+ * @param additionalProperties the additionalProperties value to set
+ * @return the CopySink object itself.
+ */
+ public CopySink withAdditionalProperties(Map additionalProperties) {
+ this.additionalProperties = additionalProperties;
+ return this;
+ }
+
+ /**
+ * Get write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
+ *
+ * @return the writeBatchSize value
+ */
+ public Object writeBatchSize() {
+ return this.writeBatchSize;
+ }
+
+ /**
+ * Set write batch size. Type: integer (or Expression with resultType integer), minimum: 0.
+ *
+ * @param writeBatchSize the writeBatchSize value to set
+ * @return the CopySink object itself.
+ */
+ public CopySink withWriteBatchSize(Object writeBatchSize) {
+ this.writeBatchSize = writeBatchSize;
+ return this;
+ }
+
+ /**
+ * Get write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
+ *
+ * @return the writeBatchTimeout value
+ */
+ public Object writeBatchTimeout() {
+ return this.writeBatchTimeout;
+ }
+
+ /**
+ * Set write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
+ *
+ * @param writeBatchTimeout the writeBatchTimeout value to set
+ * @return the CopySink object itself.
+ */
+ public CopySink withWriteBatchTimeout(Object writeBatchTimeout) {
+ this.writeBatchTimeout = writeBatchTimeout;
+ return this;
+ }
+
+ /**
+ * Get sink retry count. Type: integer (or Expression with resultType integer).
+ *
+ * @return the sinkRetryCount value
+ */
+ public Object sinkRetryCount() {
+ return this.sinkRetryCount;
+ }
+
+ /**
+ * Set sink retry count. Type: integer (or Expression with resultType integer).
+ *
+ * @param sinkRetryCount the sinkRetryCount value to set
+ * @return the CopySink object itself.
+ */
+ public CopySink withSinkRetryCount(Object sinkRetryCount) {
+ this.sinkRetryCount = sinkRetryCount;
+ return this;
+ }
+
+ /**
+ * Get sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
+ *
+ * @return the sinkRetryWait value
+ */
+ public Object sinkRetryWait() {
+ return this.sinkRetryWait;
+ }
+
+ /**
+ * Set sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
+ *
+ * @param sinkRetryWait the sinkRetryWait value to set
+ * @return the CopySink object itself.
+ */
+ public CopySink withSinkRetryWait(Object sinkRetryWait) {
+ this.sinkRetryWait = sinkRetryWait;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CopySource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CopySource.java
new file mode 100644
index 0000000000000..e519df2e730fb
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CopySource.java
@@ -0,0 +1,155 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * A copy activity source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = CopySource.class)
+@JsonTypeName("CopySource")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "AmazonRedshiftSource", value = AmazonRedshiftSource.class),
+ @JsonSubTypes.Type(name = "ResponsysSource", value = ResponsysSource.class),
+ @JsonSubTypes.Type(name = "SalesforceMarketingCloudSource", value = SalesforceMarketingCloudSource.class),
+ @JsonSubTypes.Type(name = "VerticaSource", value = VerticaSource.class),
+ @JsonSubTypes.Type(name = "NetezzaSource", value = NetezzaSource.class),
+ @JsonSubTypes.Type(name = "ZohoSource", value = ZohoSource.class),
+ @JsonSubTypes.Type(name = "XeroSource", value = XeroSource.class),
+ @JsonSubTypes.Type(name = "SquareSource", value = SquareSource.class),
+ @JsonSubTypes.Type(name = "SparkSource", value = SparkSource.class),
+ @JsonSubTypes.Type(name = "ShopifySource", value = ShopifySource.class),
+ @JsonSubTypes.Type(name = "ServiceNowSource", value = ServiceNowSource.class),
+ @JsonSubTypes.Type(name = "QuickBooksSource", value = QuickBooksSource.class),
+ @JsonSubTypes.Type(name = "PrestoSource", value = PrestoSource.class),
+ @JsonSubTypes.Type(name = "PhoenixSource", value = PhoenixSource.class),
+ @JsonSubTypes.Type(name = "PaypalSource", value = PaypalSource.class),
+ @JsonSubTypes.Type(name = "MarketoSource", value = MarketoSource.class),
+ @JsonSubTypes.Type(name = "MariaDBSource", value = MariaDBSource.class),
+ @JsonSubTypes.Type(name = "MagentoSource", value = MagentoSource.class),
+ @JsonSubTypes.Type(name = "JiraSource", value = JiraSource.class),
+ @JsonSubTypes.Type(name = "ImpalaSource", value = ImpalaSource.class),
+ @JsonSubTypes.Type(name = "HubspotSource", value = HubspotSource.class),
+ @JsonSubTypes.Type(name = "HiveSource", value = HiveSource.class),
+ @JsonSubTypes.Type(name = "HBaseSource", value = HBaseSource.class),
+ @JsonSubTypes.Type(name = "GreenplumSource", value = GreenplumSource.class),
+ @JsonSubTypes.Type(name = "GoogleBigQuerySource", value = GoogleBigQuerySource.class),
+ @JsonSubTypes.Type(name = "EloquaSource", value = EloquaSource.class),
+ @JsonSubTypes.Type(name = "DrillSource", value = DrillSource.class),
+ @JsonSubTypes.Type(name = "CouchbaseSource", value = CouchbaseSource.class),
+ @JsonSubTypes.Type(name = "ConcurSource", value = ConcurSource.class),
+ @JsonSubTypes.Type(name = "AzurePostgreSqlSource", value = AzurePostgreSqlSource.class),
+ @JsonSubTypes.Type(name = "AmazonMWSSource", value = AmazonMWSSource.class),
+ @JsonSubTypes.Type(name = "HttpSource", value = HttpSource.class),
+ @JsonSubTypes.Type(name = "AzureDataLakeStoreSource", value = AzureDataLakeStoreSource.class),
+ @JsonSubTypes.Type(name = "MongoDbSource", value = MongoDbSource.class),
+ @JsonSubTypes.Type(name = "CassandraSource", value = CassandraSource.class),
+ @JsonSubTypes.Type(name = "WebSource", value = WebSource.class),
+ @JsonSubTypes.Type(name = "OracleSource", value = OracleSource.class),
+ @JsonSubTypes.Type(name = "AzureMySqlSource", value = AzureMySqlSource.class),
+ @JsonSubTypes.Type(name = "HdfsSource", value = HdfsSource.class),
+ @JsonSubTypes.Type(name = "FileSystemSource", value = FileSystemSource.class),
+ @JsonSubTypes.Type(name = "SqlDWSource", value = SqlDWSource.class),
+ @JsonSubTypes.Type(name = "SqlSource", value = SqlSource.class),
+ @JsonSubTypes.Type(name = "SapEccSource", value = SapEccSource.class),
+ @JsonSubTypes.Type(name = "SapCloudForCustomerSource", value = SapCloudForCustomerSource.class),
+ @JsonSubTypes.Type(name = "SalesforceSource", value = SalesforceSource.class),
+ @JsonSubTypes.Type(name = "RelationalSource", value = RelationalSource.class),
+ @JsonSubTypes.Type(name = "DynamicsSource", value = DynamicsSource.class),
+ @JsonSubTypes.Type(name = "DocumentDbCollectionSource", value = DocumentDbCollectionSource.class),
+ @JsonSubTypes.Type(name = "BlobSource", value = BlobSource.class),
+ @JsonSubTypes.Type(name = "AzureTableSource", value = AzureTableSource.class)
+})
+public class CopySource {
+ /**
+ * Unmatched properties from the message are deserialized this collection.
+ */
+ @JsonProperty(value = "")
+ private Map additionalProperties;
+
+ /**
+ * Source retry count. Type: integer (or Expression with resultType
+ * integer).
+ */
+ @JsonProperty(value = "sourceRetryCount")
+ private Object sourceRetryCount;
+
+ /**
+ * Source retry wait. Type: string (or Expression with resultType string),
+ * pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
+ */
+ @JsonProperty(value = "sourceRetryWait")
+ private Object sourceRetryWait;
+
+ /**
+ * Get unmatched properties from the message are deserialized this collection.
+ *
+ * @return the additionalProperties value
+ */
+ public Map additionalProperties() {
+ return this.additionalProperties;
+ }
+
+ /**
+ * Set unmatched properties from the message are deserialized this collection.
+ *
+ * @param additionalProperties the additionalProperties value to set
+ * @return the CopySource object itself.
+ */
+ public CopySource withAdditionalProperties(Map additionalProperties) {
+ this.additionalProperties = additionalProperties;
+ return this;
+ }
+
+ /**
+ * Get source retry count. Type: integer (or Expression with resultType integer).
+ *
+ * @return the sourceRetryCount value
+ */
+ public Object sourceRetryCount() {
+ return this.sourceRetryCount;
+ }
+
+ /**
+ * Set source retry count. Type: integer (or Expression with resultType integer).
+ *
+ * @param sourceRetryCount the sourceRetryCount value to set
+ * @return the CopySource object itself.
+ */
+ public CopySource withSourceRetryCount(Object sourceRetryCount) {
+ this.sourceRetryCount = sourceRetryCount;
+ return this;
+ }
+
+ /**
+ * Get source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
+ *
+ * @return the sourceRetryWait value
+ */
+ public Object sourceRetryWait() {
+ return this.sourceRetryWait;
+ }
+
+ /**
+ * Set source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])).
+ *
+ * @param sourceRetryWait the sourceRetryWait value to set
+ * @return the CopySource object itself.
+ */
+ public CopySource withSourceRetryWait(Object sourceRetryWait) {
+ this.sourceRetryWait = sourceRetryWait;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CosmosDbLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CosmosDbLinkedService.java
new file mode 100644
index 0000000000000..8a2269147c4c5
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CosmosDbLinkedService.java
@@ -0,0 +1,79 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Microsoft Azure Cosmos Database (CosmosDB) linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = CosmosDbLinkedService.class)
+@JsonTypeName("CosmosDb")
+@JsonFlatten
+public class CosmosDbLinkedService extends LinkedServiceInner {
+ /**
+ * The connection string. Type: string, SecureString or
+ * AzureKeyVaultSecretReference.
+ */
+ @JsonProperty(value = "typeProperties.connectionString", required = true)
+ private Object connectionString;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get the connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @return the connectionString value
+ */
+ public Object connectionString() {
+ return this.connectionString;
+ }
+
+ /**
+ * Set the connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @param connectionString the connectionString value to set
+ * @return the CosmosDbLinkedService object itself.
+ */
+ public CosmosDbLinkedService withConnectionString(Object connectionString) {
+ this.connectionString = connectionString;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the CosmosDbLinkedService object itself.
+ */
+ public CosmosDbLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CouchbaseLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CouchbaseLinkedService.java
new file mode 100644
index 0000000000000..6cdd94518f12b
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CouchbaseLinkedService.java
@@ -0,0 +1,79 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Couchbase server linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = CouchbaseLinkedService.class)
+@JsonTypeName("Couchbase")
+@JsonFlatten
+public class CouchbaseLinkedService extends LinkedServiceInner {
+ /**
+ * An ODBC connection string. Type: string, SecureString or
+ * AzureKeyVaultSecretReference.
+ */
+ @JsonProperty(value = "typeProperties.connectionString")
+ private Object connectionString;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get an ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @return the connectionString value
+ */
+ public Object connectionString() {
+ return this.connectionString;
+ }
+
+ /**
+ * Set an ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @param connectionString the connectionString value to set
+ * @return the CouchbaseLinkedService object itself.
+ */
+ public CouchbaseLinkedService withConnectionString(Object connectionString) {
+ this.connectionString = connectionString;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the CouchbaseLinkedService object itself.
+ */
+ public CouchbaseLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CouchbaseSource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CouchbaseSource.java
new file mode 100644
index 0000000000000..ed652a9f22c74
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CouchbaseSource.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Couchbase server source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = CouchbaseSource.class)
+@JsonTypeName("CouchbaseSource")
+public class CouchbaseSource extends CopySource {
+ /**
+ * A query to retrieve data from source. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "query")
+ private Object query;
+
+ /**
+ * Get a query to retrieve data from source. Type: string (or Expression with resultType string).
+ *
+ * @return the query value
+ */
+ public Object query() {
+ return this.query;
+ }
+
+ /**
+ * Set a query to retrieve data from source. Type: string (or Expression with resultType string).
+ *
+ * @param query the query value to set
+ * @return the CouchbaseSource object itself.
+ */
+ public CouchbaseSource withQuery(Object query) {
+ this.query = query;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CouchbaseTableDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CouchbaseTableDataset.java
new file mode 100644
index 0000000000000..e086f122f0223
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CouchbaseTableDataset.java
@@ -0,0 +1,21 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * Couchbase server dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = CouchbaseTableDataset.class)
+@JsonTypeName("CouchbaseTable")
+public class CouchbaseTableDataset extends DatasetInner {
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CreateRunResponse.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CreateRunResponse.java
new file mode 100644
index 0000000000000..e3e457261ddbf
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CreateRunResponse.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DataFactoryManager;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.CreateRunResponseInner;
+
+/**
+ * Type representing CreateRunResponse.
+ */
+public interface CreateRunResponse extends HasInner, HasManager {
+ /**
+ * @return the runId value.
+ */
+ String runId();
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CustomActivity.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CustomActivity.java
new file mode 100644
index 0000000000000..4c9ed0955b8ac
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CustomActivity.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Custom activity type.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = CustomActivity.class)
+@JsonTypeName("Custom")
+@JsonFlatten
+public class CustomActivity extends ExecutionActivity {
+ /**
+ * Command for custom activity Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.command", required = true)
+ private Object command;
+
+ /**
+ * Resource linked service reference.
+ */
+ @JsonProperty(value = "typeProperties.resourceLinkedService")
+ private LinkedServiceReference resourceLinkedService;
+
+ /**
+ * Folder path for resource files Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.folderPath")
+ private Object folderPath;
+
+ /**
+ * Reference objects.
+ */
+ @JsonProperty(value = "typeProperties.referenceObjects")
+ private CustomActivityReferenceObject referenceObjects;
+
+ /**
+ * User defined property bag. There is no restriction on the keys or values
+ * that can be used. The user specified custom activity has the full
+ * responsibility to consume and interpret the content defined.
+ */
+ @JsonProperty(value = "typeProperties.extendedProperties")
+ private Map extendedProperties;
+
+ /**
+ * Get command for custom activity Type: string (or Expression with resultType string).
+ *
+ * @return the command value
+ */
+ public Object command() {
+ return this.command;
+ }
+
+ /**
+ * Set command for custom activity Type: string (or Expression with resultType string).
+ *
+ * @param command the command value to set
+ * @return the CustomActivity object itself.
+ */
+ public CustomActivity withCommand(Object command) {
+ this.command = command;
+ return this;
+ }
+
+ /**
+ * Get resource linked service reference.
+ *
+ * @return the resourceLinkedService value
+ */
+ public LinkedServiceReference resourceLinkedService() {
+ return this.resourceLinkedService;
+ }
+
+ /**
+ * Set resource linked service reference.
+ *
+ * @param resourceLinkedService the resourceLinkedService value to set
+ * @return the CustomActivity object itself.
+ */
+ public CustomActivity withResourceLinkedService(LinkedServiceReference resourceLinkedService) {
+ this.resourceLinkedService = resourceLinkedService;
+ return this;
+ }
+
+ /**
+ * Get folder path for resource files Type: string (or Expression with resultType string).
+ *
+ * @return the folderPath value
+ */
+ public Object folderPath() {
+ return this.folderPath;
+ }
+
+ /**
+ * Set folder path for resource files Type: string (or Expression with resultType string).
+ *
+ * @param folderPath the folderPath value to set
+ * @return the CustomActivity object itself.
+ */
+ public CustomActivity withFolderPath(Object folderPath) {
+ this.folderPath = folderPath;
+ return this;
+ }
+
+ /**
+ * Get reference objects.
+ *
+ * @return the referenceObjects value
+ */
+ public CustomActivityReferenceObject referenceObjects() {
+ return this.referenceObjects;
+ }
+
+ /**
+ * Set reference objects.
+ *
+ * @param referenceObjects the referenceObjects value to set
+ * @return the CustomActivity object itself.
+ */
+ public CustomActivity withReferenceObjects(CustomActivityReferenceObject referenceObjects) {
+ this.referenceObjects = referenceObjects;
+ return this;
+ }
+
+ /**
+ * Get user defined property bag. There is no restriction on the keys or values that can be used. The user specified custom activity has the full responsibility to consume and interpret the content defined.
+ *
+ * @return the extendedProperties value
+ */
+ public Map extendedProperties() {
+ return this.extendedProperties;
+ }
+
+ /**
+ * Set user defined property bag. There is no restriction on the keys or values that can be used. The user specified custom activity has the full responsibility to consume and interpret the content defined.
+ *
+ * @param extendedProperties the extendedProperties value to set
+ * @return the CustomActivity object itself.
+ */
+ public CustomActivity withExtendedProperties(Map extendedProperties) {
+ this.extendedProperties = extendedProperties;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CustomActivityReferenceObject.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CustomActivityReferenceObject.java
new file mode 100644
index 0000000000000..494dcbc172d2d
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CustomActivityReferenceObject.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Reference objects for custom activity.
+ */
+public class CustomActivityReferenceObject {
+ /**
+ * Linked service references.
+ */
+ @JsonProperty(value = "linkedServices")
+ private List linkedServices;
+
+ /**
+ * Dataset references.
+ */
+ @JsonProperty(value = "datasets")
+ private List datasets;
+
+ /**
+ * Get linked service references.
+ *
+ * @return the linkedServices value
+ */
+ public List linkedServices() {
+ return this.linkedServices;
+ }
+
+ /**
+ * Set linked service references.
+ *
+ * @param linkedServices the linkedServices value to set
+ * @return the CustomActivityReferenceObject object itself.
+ */
+ public CustomActivityReferenceObject withLinkedServices(List linkedServices) {
+ this.linkedServices = linkedServices;
+ return this;
+ }
+
+ /**
+ * Get dataset references.
+ *
+ * @return the datasets value
+ */
+ public List datasets() {
+ return this.datasets;
+ }
+
+ /**
+ * Set dataset references.
+ *
+ * @param datasets the datasets value to set
+ * @return the CustomActivityReferenceObject object itself.
+ */
+ public CustomActivityReferenceObject withDatasets(List datasets) {
+ this.datasets = datasets;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CustomDataSourceLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CustomDataSourceLinkedService.java
new file mode 100644
index 0000000000000..26a5aeea0654f
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CustomDataSourceLinkedService.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Custom linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = CustomDataSourceLinkedService.class)
+@JsonTypeName("CustomDataSource")
+public class CustomDataSourceLinkedService extends LinkedServiceInner {
+ /**
+ * Custom linked service properties.
+ */
+ @JsonProperty(value = "typeProperties", required = true)
+ private Object typeProperties;
+
+ /**
+ * Get custom linked service properties.
+ *
+ * @return the typeProperties value
+ */
+ public Object typeProperties() {
+ return this.typeProperties;
+ }
+
+ /**
+ * Set custom linked service properties.
+ *
+ * @param typeProperties the typeProperties value to set
+ * @return the CustomDataSourceLinkedService object itself.
+ */
+ public CustomDataSourceLinkedService withTypeProperties(Object typeProperties) {
+ this.typeProperties = typeProperties;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CustomDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CustomDataset.java
new file mode 100644
index 0000000000000..a32a43df1c81b
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/CustomDataset.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * The custom dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = CustomDataset.class)
+@JsonTypeName("CustomDataset")
+public class CustomDataset extends DatasetInner {
+ /**
+ * Custom dataset properties.
+ */
+ @JsonProperty(value = "typeProperties", required = true)
+ private Object typeProperties;
+
+ /**
+ * Get custom dataset properties.
+ *
+ * @return the typeProperties value
+ */
+ public Object typeProperties() {
+ return this.typeProperties;
+ }
+
+ /**
+ * Set custom dataset properties.
+ *
+ * @param typeProperties the typeProperties value to set
+ * @return the CustomDataset object itself.
+ */
+ public CustomDataset withTypeProperties(Object typeProperties) {
+ this.typeProperties = typeProperties;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DataLakeAnalyticsUSQLActivity.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DataLakeAnalyticsUSQLActivity.java
new file mode 100644
index 0000000000000..11a6841fe2741
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DataLakeAnalyticsUSQLActivity.java
@@ -0,0 +1,214 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Data Lake Analytics U-SQL activity.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DataLakeAnalyticsUSQLActivity.class)
+@JsonTypeName("DataLakeAnalyticsU-SQL")
+@JsonFlatten
+public class DataLakeAnalyticsUSQLActivity extends ExecutionActivity {
+ /**
+ * Case-sensitive path to folder that contains the U-SQL script. Type:
+ * string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.scriptPath", required = true)
+ private Object scriptPath;
+
+ /**
+ * Script linked service reference.
+ */
+ @JsonProperty(value = "typeProperties.scriptLinkedService", required = true)
+ private LinkedServiceReference scriptLinkedService;
+
+ /**
+ * The maximum number of nodes simultaneously used to run the job. Default
+ * value is 1. Type: integer (or Expression with resultType integer),
+ * minimum: 1.
+ */
+ @JsonProperty(value = "typeProperties.degreeOfParallelism")
+ private Object degreeOfParallelism;
+
+ /**
+ * Determines which jobs out of all that are queued should be selected to
+ * run first. The lower the number, the higher the priority. Default value
+ * is 1000. Type: integer (or Expression with resultType integer), minimum:
+ * 1.
+ */
+ @JsonProperty(value = "typeProperties.priority")
+ private Object priority;
+
+ /**
+ * Parameters for U-SQL job request.
+ */
+ @JsonProperty(value = "typeProperties.parameters")
+ private Map parameters;
+
+ /**
+ * Runtime version of the U-SQL engine to use. Type: string (or Expression
+ * with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.runtimeVersion")
+ private Object runtimeVersion;
+
+ /**
+ * Compilation mode of U-SQL. Must be one of these values : Semantic, Full
+ * and SingleBox. Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.compilationMode")
+ private Object compilationMode;
+
+ /**
+ * Get case-sensitive path to folder that contains the U-SQL script. Type: string (or Expression with resultType string).
+ *
+ * @return the scriptPath value
+ */
+ public Object scriptPath() {
+ return this.scriptPath;
+ }
+
+ /**
+ * Set case-sensitive path to folder that contains the U-SQL script. Type: string (or Expression with resultType string).
+ *
+ * @param scriptPath the scriptPath value to set
+ * @return the DataLakeAnalyticsUSQLActivity object itself.
+ */
+ public DataLakeAnalyticsUSQLActivity withScriptPath(Object scriptPath) {
+ this.scriptPath = scriptPath;
+ return this;
+ }
+
+ /**
+ * Get script linked service reference.
+ *
+ * @return the scriptLinkedService value
+ */
+ public LinkedServiceReference scriptLinkedService() {
+ return this.scriptLinkedService;
+ }
+
+ /**
+ * Set script linked service reference.
+ *
+ * @param scriptLinkedService the scriptLinkedService value to set
+ * @return the DataLakeAnalyticsUSQLActivity object itself.
+ */
+ public DataLakeAnalyticsUSQLActivity withScriptLinkedService(LinkedServiceReference scriptLinkedService) {
+ this.scriptLinkedService = scriptLinkedService;
+ return this;
+ }
+
+ /**
+ * Get the maximum number of nodes simultaneously used to run the job. Default value is 1. Type: integer (or Expression with resultType integer), minimum: 1.
+ *
+ * @return the degreeOfParallelism value
+ */
+ public Object degreeOfParallelism() {
+ return this.degreeOfParallelism;
+ }
+
+ /**
+ * Set the maximum number of nodes simultaneously used to run the job. Default value is 1. Type: integer (or Expression with resultType integer), minimum: 1.
+ *
+ * @param degreeOfParallelism the degreeOfParallelism value to set
+ * @return the DataLakeAnalyticsUSQLActivity object itself.
+ */
+ public DataLakeAnalyticsUSQLActivity withDegreeOfParallelism(Object degreeOfParallelism) {
+ this.degreeOfParallelism = degreeOfParallelism;
+ return this;
+ }
+
+ /**
+ * Get determines which jobs out of all that are queued should be selected to run first. The lower the number, the higher the priority. Default value is 1000. Type: integer (or Expression with resultType integer), minimum: 1.
+ *
+ * @return the priority value
+ */
+ public Object priority() {
+ return this.priority;
+ }
+
+ /**
+ * Set determines which jobs out of all that are queued should be selected to run first. The lower the number, the higher the priority. Default value is 1000. Type: integer (or Expression with resultType integer), minimum: 1.
+ *
+ * @param priority the priority value to set
+ * @return the DataLakeAnalyticsUSQLActivity object itself.
+ */
+ public DataLakeAnalyticsUSQLActivity withPriority(Object priority) {
+ this.priority = priority;
+ return this;
+ }
+
+ /**
+ * Get parameters for U-SQL job request.
+ *
+ * @return the parameters value
+ */
+ public Map parameters() {
+ return this.parameters;
+ }
+
+ /**
+ * Set parameters for U-SQL job request.
+ *
+ * @param parameters the parameters value to set
+ * @return the DataLakeAnalyticsUSQLActivity object itself.
+ */
+ public DataLakeAnalyticsUSQLActivity withParameters(Map parameters) {
+ this.parameters = parameters;
+ return this;
+ }
+
+ /**
+ * Get runtime version of the U-SQL engine to use. Type: string (or Expression with resultType string).
+ *
+ * @return the runtimeVersion value
+ */
+ public Object runtimeVersion() {
+ return this.runtimeVersion;
+ }
+
+ /**
+ * Set runtime version of the U-SQL engine to use. Type: string (or Expression with resultType string).
+ *
+ * @param runtimeVersion the runtimeVersion value to set
+ * @return the DataLakeAnalyticsUSQLActivity object itself.
+ */
+ public DataLakeAnalyticsUSQLActivity withRuntimeVersion(Object runtimeVersion) {
+ this.runtimeVersion = runtimeVersion;
+ return this;
+ }
+
+ /**
+ * Get compilation mode of U-SQL. Must be one of these values : Semantic, Full and SingleBox. Type: string (or Expression with resultType string).
+ *
+ * @return the compilationMode value
+ */
+ public Object compilationMode() {
+ return this.compilationMode;
+ }
+
+ /**
+ * Set compilation mode of U-SQL. Must be one of these values : Semantic, Full and SingleBox. Type: string (or Expression with resultType string).
+ *
+ * @param compilationMode the compilationMode value to set
+ * @return the DataLakeAnalyticsUSQLActivity object itself.
+ */
+ public DataLakeAnalyticsUSQLActivity withCompilationMode(Object compilationMode) {
+ this.compilationMode = compilationMode;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatabricksNotebookActivity.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatabricksNotebookActivity.java
new file mode 100644
index 0000000000000..40eb36198d4a6
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatabricksNotebookActivity.java
@@ -0,0 +1,80 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * DatabricksNotebook activity.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DatabricksNotebookActivity.class)
+@JsonTypeName("DatabricksNotebook")
+@JsonFlatten
+public class DatabricksNotebookActivity extends ExecutionActivity {
+ /**
+ * The absolute path of the notebook to be run in the Databricks Workspace.
+ * This path must begin with a slash. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.notebookPath", required = true)
+ private Object notebookPath;
+
+ /**
+ * Base parameters to be used for each run of this job.If the notebook
+ * takes a parameter that is not specified, the default value from the
+ * notebook will be used.
+ */
+ @JsonProperty(value = "typeProperties.baseParameters")
+ private Map baseParameters;
+
+ /**
+ * Get the absolute path of the notebook to be run in the Databricks Workspace. This path must begin with a slash. Type: string (or Expression with resultType string).
+ *
+ * @return the notebookPath value
+ */
+ public Object notebookPath() {
+ return this.notebookPath;
+ }
+
+ /**
+ * Set the absolute path of the notebook to be run in the Databricks Workspace. This path must begin with a slash. Type: string (or Expression with resultType string).
+ *
+ * @param notebookPath the notebookPath value to set
+ * @return the DatabricksNotebookActivity object itself.
+ */
+ public DatabricksNotebookActivity withNotebookPath(Object notebookPath) {
+ this.notebookPath = notebookPath;
+ return this;
+ }
+
+ /**
+ * Get base parameters to be used for each run of this job.If the notebook takes a parameter that is not specified, the default value from the notebook will be used.
+ *
+ * @return the baseParameters value
+ */
+ public Map baseParameters() {
+ return this.baseParameters;
+ }
+
+ /**
+ * Set base parameters to be used for each run of this job.If the notebook takes a parameter that is not specified, the default value from the notebook will be used.
+ *
+ * @param baseParameters the baseParameters value to set
+ * @return the DatabricksNotebookActivity object itself.
+ */
+ public DatabricksNotebookActivity withBaseParameters(Map baseParameters) {
+ this.baseParameters = baseParameters;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetBZip2Compression.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetBZip2Compression.java
new file mode 100644
index 0000000000000..36bcb29848ec5
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetBZip2Compression.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * The BZip2 compression method used on a dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DatasetBZip2Compression.class)
+@JsonTypeName("BZip2")
+public class DatasetBZip2Compression extends DatasetCompression {
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetCompression.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetCompression.java
new file mode 100644
index 0000000000000..6bdc4b1d7315c
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetCompression.java
@@ -0,0 +1,55 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * The compression method used on a dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DatasetCompression.class)
+@JsonTypeName("DatasetCompression")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "ZipDeflate", value = DatasetZipDeflateCompression.class),
+ @JsonSubTypes.Type(name = "Deflate", value = DatasetDeflateCompression.class),
+ @JsonSubTypes.Type(name = "GZip", value = DatasetGZipCompression.class),
+ @JsonSubTypes.Type(name = "BZip2", value = DatasetBZip2Compression.class)
+})
+public class DatasetCompression {
+ /**
+ * Unmatched properties from the message are deserialized this collection.
+ */
+ @JsonProperty(value = "")
+ private Map additionalProperties;
+
+ /**
+ * Get unmatched properties from the message are deserialized this collection.
+ *
+ * @return the additionalProperties value
+ */
+ public Map additionalProperties() {
+ return this.additionalProperties;
+ }
+
+ /**
+ * Set unmatched properties from the message are deserialized this collection.
+ *
+ * @param additionalProperties the additionalProperties value to set
+ * @return the DatasetCompression object itself.
+ */
+ public DatasetCompression withAdditionalProperties(Map additionalProperties) {
+ this.additionalProperties = additionalProperties;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetDeflateCompression.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetDeflateCompression.java
new file mode 100644
index 0000000000000..4a6e5a2ae111f
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetDeflateCompression.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * The Deflate compression method used on a dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DatasetDeflateCompression.class)
+@JsonTypeName("Deflate")
+public class DatasetDeflateCompression extends DatasetCompression {
+ /**
+ * The Deflate compression level.
+ */
+ @JsonProperty(value = "level")
+ private Object level;
+
+ /**
+ * Get the Deflate compression level.
+ *
+ * @return the level value
+ */
+ public Object level() {
+ return this.level;
+ }
+
+ /**
+ * Set the Deflate compression level.
+ *
+ * @param level the level value to set
+ * @return the DatasetDeflateCompression object itself.
+ */
+ public DatasetDeflateCompression withLevel(Object level) {
+ this.level = level;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetGZipCompression.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetGZipCompression.java
new file mode 100644
index 0000000000000..356beff0a3c6b
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetGZipCompression.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * The GZip compression method used on a dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DatasetGZipCompression.class)
+@JsonTypeName("GZip")
+public class DatasetGZipCompression extends DatasetCompression {
+ /**
+ * The GZip compression level.
+ */
+ @JsonProperty(value = "level")
+ private Object level;
+
+ /**
+ * Get the GZip compression level.
+ *
+ * @return the level value
+ */
+ public Object level() {
+ return this.level;
+ }
+
+ /**
+ * Set the GZip compression level.
+ *
+ * @param level the level value to set
+ * @return the DatasetGZipCompression object itself.
+ */
+ public DatasetGZipCompression withLevel(Object level) {
+ this.level = level;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetReference.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetReference.java
new file mode 100644
index 0000000000000..4aeb1b6df3e13
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetReference.java
@@ -0,0 +1,104 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Dataset reference type.
+ */
+public class DatasetReference {
+ /**
+ * Dataset reference type.
+ */
+ @JsonProperty(value = "type", required = true)
+ private String type;
+
+ /**
+ * Reference dataset name.
+ */
+ @JsonProperty(value = "referenceName", required = true)
+ private String referenceName;
+
+ /**
+ * Arguments for dataset.
+ */
+ @JsonProperty(value = "parameters")
+ private Map parameters;
+
+ /**
+ * Creates an instance of DatasetReference class.
+ * @param referenceName reference dataset name.
+ */
+ public DatasetReference() {
+ type = "DatasetReference";
+ }
+
+ /**
+ * Get dataset reference type.
+ *
+ * @return the type value
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set dataset reference type.
+ *
+ * @param type the type value to set
+ * @return the DatasetReference object itself.
+ */
+ public DatasetReference withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get reference dataset name.
+ *
+ * @return the referenceName value
+ */
+ public String referenceName() {
+ return this.referenceName;
+ }
+
+ /**
+ * Set reference dataset name.
+ *
+ * @param referenceName the referenceName value to set
+ * @return the DatasetReference object itself.
+ */
+ public DatasetReference withReferenceName(String referenceName) {
+ this.referenceName = referenceName;
+ return this;
+ }
+
+ /**
+ * Get arguments for dataset.
+ *
+ * @return the parameters value
+ */
+ public Map parameters() {
+ return this.parameters;
+ }
+
+ /**
+ * Set arguments for dataset.
+ *
+ * @param parameters the parameters value to set
+ * @return the DatasetReference object itself.
+ */
+ public DatasetReference withParameters(Map parameters) {
+ this.parameters = parameters;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetResource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetResource.java
new file mode 100644
index 0000000000000..ea368a4858e6f
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetResource.java
@@ -0,0 +1,149 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetResourceInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DataFactoryManager;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+import java.util.Map;
+import java.util.List;
+
+/**
+ * Type representing DatasetResource.
+ */
+public interface DatasetResource extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the etag value.
+ */
+ String etag();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the properties value.
+ */
+ DatasetInner properties();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the DatasetResource definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithFactory, DefinitionStages.WithIfMatch, DefinitionStages.WithProperties, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of DatasetResource definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a DatasetResource definition.
+ */
+ interface Blank extends WithFactory {
+ }
+
+ /**
+ * The stage of the datasetresource definition allowing to specify Factory.
+ */
+ interface WithFactory {
+ /**
+ * Specifies resourceGroupName, factoryName.
+ * @param resourceGroupName The resource group name
+ * @param factoryName The factory name
+ * @return the next definition stage
+ */
+ WithIfMatch withExistingFactory(String resourceGroupName, String factoryName);
+ }
+
+ /**
+ * The stage of the datasetresource definition allowing to specify IfMatch.
+ */
+ interface WithIfMatch {
+ /**
+ * Specifies ifMatch.
+ * @param ifMatch ETag of the dataset entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update
+ * @return the next definition stage
+ */
+ WithProperties withIfMatch(String ifMatch);
+ }
+
+ /**
+ * The stage of the datasetresource definition allowing to specify Properties.
+ */
+ interface WithProperties {
+ /**
+ * Specifies properties.
+ * @param properties Dataset properties
+ * @return the next definition stage
+ */
+ WithCreate withProperties(DatasetInner properties);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable {
+ }
+ }
+ /**
+ * The template for a DatasetResource update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithIfMatch, UpdateStages.WithProperties {
+ }
+
+ /**
+ * Grouping of DatasetResource update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the datasetresource update allowing to specify IfMatch.
+ */
+ interface WithIfMatch {
+ /**
+ * Specifies ifMatch.
+ * @param ifMatch ETag of the dataset entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update
+ * @return the next update stage
+ */
+ Update withIfMatch(String ifMatch);
+ }
+
+ /**
+ * The stage of the datasetresource update allowing to specify Properties.
+ */
+ interface WithProperties {
+ /**
+ * Specifies properties.
+ * @param properties Dataset properties
+ * @return the next update stage
+ */
+ Update withProperties(DatasetInner properties);
+ }
+
+ }
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetStorageFormat.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetStorageFormat.java
new file mode 100644
index 0000000000000..3b65224cc474a
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetStorageFormat.java
@@ -0,0 +1,108 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * The format definition of a storage.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DatasetStorageFormat.class)
+@JsonTypeName("DatasetStorageFormat")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "ParquetFormat", value = ParquetFormat.class),
+ @JsonSubTypes.Type(name = "OrcFormat", value = OrcFormat.class),
+ @JsonSubTypes.Type(name = "AvroFormat", value = AvroFormat.class),
+ @JsonSubTypes.Type(name = "JsonFormat", value = JsonFormat.class),
+ @JsonSubTypes.Type(name = "TextFormat", value = TextFormat.class)
+})
+public class DatasetStorageFormat {
+ /**
+ * Unmatched properties from the message are deserialized this collection.
+ */
+ @JsonProperty(value = "")
+ private Map additionalProperties;
+
+ /**
+ * Serializer. Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "serializer")
+ private Object serializer;
+
+ /**
+ * Deserializer. Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "deserializer")
+ private Object deserializer;
+
+ /**
+ * Get unmatched properties from the message are deserialized this collection.
+ *
+ * @return the additionalProperties value
+ */
+ public Map additionalProperties() {
+ return this.additionalProperties;
+ }
+
+ /**
+ * Set unmatched properties from the message are deserialized this collection.
+ *
+ * @param additionalProperties the additionalProperties value to set
+ * @return the DatasetStorageFormat object itself.
+ */
+ public DatasetStorageFormat withAdditionalProperties(Map additionalProperties) {
+ this.additionalProperties = additionalProperties;
+ return this;
+ }
+
+ /**
+ * Get serializer. Type: string (or Expression with resultType string).
+ *
+ * @return the serializer value
+ */
+ public Object serializer() {
+ return this.serializer;
+ }
+
+ /**
+ * Set serializer. Type: string (or Expression with resultType string).
+ *
+ * @param serializer the serializer value to set
+ * @return the DatasetStorageFormat object itself.
+ */
+ public DatasetStorageFormat withSerializer(Object serializer) {
+ this.serializer = serializer;
+ return this;
+ }
+
+ /**
+ * Get deserializer. Type: string (or Expression with resultType string).
+ *
+ * @return the deserializer value
+ */
+ public Object deserializer() {
+ return this.deserializer;
+ }
+
+ /**
+ * Set deserializer. Type: string (or Expression with resultType string).
+ *
+ * @param deserializer the deserializer value to set
+ * @return the DatasetStorageFormat object itself.
+ */
+ public DatasetStorageFormat withDeserializer(Object deserializer) {
+ this.deserializer = deserializer;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetZipDeflateCompression.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetZipDeflateCompression.java
new file mode 100644
index 0000000000000..24d80b49c4249
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DatasetZipDeflateCompression.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * The ZipDeflate compression method used on a dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DatasetZipDeflateCompression.class)
+@JsonTypeName("ZipDeflate")
+public class DatasetZipDeflateCompression extends DatasetCompression {
+ /**
+ * The ZipDeflate compression level.
+ */
+ @JsonProperty(value = "level")
+ private Object level;
+
+ /**
+ * Get the ZipDeflate compression level.
+ *
+ * @return the level value
+ */
+ public Object level() {
+ return this.level;
+ }
+
+ /**
+ * Set the ZipDeflate compression level.
+ *
+ * @param level the level value to set
+ * @return the DatasetZipDeflateCompression object itself.
+ */
+ public DatasetZipDeflateCompression withLevel(Object level) {
+ this.level = level;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Datasets.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Datasets.java
new file mode 100644
index 0000000000000..769dde9761498
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Datasets.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Datasets.
+ */
+public interface Datasets extends SupportsCreating, HasInner {
+ /**
+ * Gets a dataset.
+ *
+ * @param resourceGroupName The resource group name.
+ * @param factoryName The factory name.
+ * @param datasetName The dataset name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String factoryName, String datasetName);
+
+ /**
+ * Lists datasets.
+ *
+ * @param resourceGroupName The resource group name.
+ * @param factoryName The factory name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByFactoryAsync(final String resourceGroupName, final String factoryName);
+
+ /**
+ * Deletes a dataset.
+ *
+ * @param resourceGroupName The resource group name.
+ * @param factoryName The factory name.
+ * @param datasetName The dataset name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String factoryName, String datasetName);
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DayOfWeek.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DayOfWeek.java
new file mode 100644
index 0000000000000..569d54543d40d
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DayOfWeek.java
@@ -0,0 +1,68 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for DayOfWeek.
+ */
+public enum DayOfWeek {
+ /** Enum value Sunday. */
+ SUNDAY("Sunday"),
+
+ /** Enum value Monday. */
+ MONDAY("Monday"),
+
+ /** Enum value Tuesday. */
+ TUESDAY("Tuesday"),
+
+ /** Enum value Wednesday. */
+ WEDNESDAY("Wednesday"),
+
+ /** Enum value Thursday. */
+ THURSDAY("Thursday"),
+
+ /** Enum value Friday. */
+ FRIDAY("Friday"),
+
+ /** Enum value Saturday. */
+ SATURDAY("Saturday");
+
+ /** The actual serialized value for a DayOfWeek instance. */
+ private String value;
+
+ DayOfWeek(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a DayOfWeek instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed DayOfWeek object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static DayOfWeek fromString(String value) {
+ DayOfWeek[] items = DayOfWeek.values();
+ for (DayOfWeek item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DaysOfWeek.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DaysOfWeek.java
new file mode 100644
index 0000000000000..d305767bd604e
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DaysOfWeek.java
@@ -0,0 +1,68 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for DaysOfWeek.
+ */
+public enum DaysOfWeek {
+ /** Enum value Sunday. */
+ SUNDAY("Sunday"),
+
+ /** Enum value Monday. */
+ MONDAY("Monday"),
+
+ /** Enum value Tuesday. */
+ TUESDAY("Tuesday"),
+
+ /** Enum value Wednesday. */
+ WEDNESDAY("Wednesday"),
+
+ /** Enum value Thursday. */
+ THURSDAY("Thursday"),
+
+ /** Enum value Friday. */
+ FRIDAY("Friday"),
+
+ /** Enum value Saturday. */
+ SATURDAY("Saturday");
+
+ /** The actual serialized value for a DaysOfWeek instance. */
+ private String value;
+
+ DaysOfWeek(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a DaysOfWeek instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed DaysOfWeek object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static DaysOfWeek fromString(String value) {
+ DaysOfWeek[] items = DaysOfWeek.values();
+ for (DaysOfWeek item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Db2AuthenticationType.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Db2AuthenticationType.java
new file mode 100644
index 0000000000000..0ff77b46e6658
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Db2AuthenticationType.java
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for Db2AuthenticationType.
+ */
+public final class Db2AuthenticationType extends ExpandableStringEnum {
+ /** Static value Basic for Db2AuthenticationType. */
+ public static final Db2AuthenticationType BASIC = fromString("Basic");
+
+ /**
+ * Creates or finds a Db2AuthenticationType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding Db2AuthenticationType
+ */
+ @JsonCreator
+ public static Db2AuthenticationType fromString(String name) {
+ return fromString(name, Db2AuthenticationType.class);
+ }
+
+ /**
+ * @return known Db2AuthenticationType values
+ */
+ public static Collection values() {
+ return values(Db2AuthenticationType.class);
+ }
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Db2LinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Db2LinkedService.java
new file mode 100644
index 0000000000000..709758c975a30
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Db2LinkedService.java
@@ -0,0 +1,186 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Linked service for DB2 data source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = Db2LinkedService.class)
+@JsonTypeName("Db2")
+@JsonFlatten
+public class Db2LinkedService extends LinkedServiceInner {
+ /**
+ * Server name for connection. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.server", required = true)
+ private Object server;
+
+ /**
+ * Database name for connection. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.database", required = true)
+ private Object database;
+
+ /**
+ * AuthenticationType to be used for connection. Possible values include:
+ * 'Basic'.
+ */
+ @JsonProperty(value = "typeProperties.authenticationType")
+ private Db2AuthenticationType authenticationType;
+
+ /**
+ * Username for authentication. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.username")
+ private Object username;
+
+ /**
+ * Password for authentication.
+ */
+ @JsonProperty(value = "typeProperties.password")
+ private SecretBase password;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get server name for connection. Type: string (or Expression with resultType string).
+ *
+ * @return the server value
+ */
+ public Object server() {
+ return this.server;
+ }
+
+ /**
+ * Set server name for connection. Type: string (or Expression with resultType string).
+ *
+ * @param server the server value to set
+ * @return the Db2LinkedService object itself.
+ */
+ public Db2LinkedService withServer(Object server) {
+ this.server = server;
+ return this;
+ }
+
+ /**
+ * Get database name for connection. Type: string (or Expression with resultType string).
+ *
+ * @return the database value
+ */
+ public Object database() {
+ return this.database;
+ }
+
+ /**
+ * Set database name for connection. Type: string (or Expression with resultType string).
+ *
+ * @param database the database value to set
+ * @return the Db2LinkedService object itself.
+ */
+ public Db2LinkedService withDatabase(Object database) {
+ this.database = database;
+ return this;
+ }
+
+ /**
+ * Get authenticationType to be used for connection. Possible values include: 'Basic'.
+ *
+ * @return the authenticationType value
+ */
+ public Db2AuthenticationType authenticationType() {
+ return this.authenticationType;
+ }
+
+ /**
+ * Set authenticationType to be used for connection. Possible values include: 'Basic'.
+ *
+ * @param authenticationType the authenticationType value to set
+ * @return the Db2LinkedService object itself.
+ */
+ public Db2LinkedService withAuthenticationType(Db2AuthenticationType authenticationType) {
+ this.authenticationType = authenticationType;
+ return this;
+ }
+
+ /**
+ * Get username for authentication. Type: string (or Expression with resultType string).
+ *
+ * @return the username value
+ */
+ public Object username() {
+ return this.username;
+ }
+
+ /**
+ * Set username for authentication. Type: string (or Expression with resultType string).
+ *
+ * @param username the username value to set
+ * @return the Db2LinkedService object itself.
+ */
+ public Db2LinkedService withUsername(Object username) {
+ this.username = username;
+ return this;
+ }
+
+ /**
+ * Get password for authentication.
+ *
+ * @return the password value
+ */
+ public SecretBase password() {
+ return this.password;
+ }
+
+ /**
+ * Set password for authentication.
+ *
+ * @param password the password value to set
+ * @return the Db2LinkedService object itself.
+ */
+ public Db2LinkedService withPassword(SecretBase password) {
+ this.password = password;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the Db2LinkedService object itself.
+ */
+ public Db2LinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DependencyCondition.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DependencyCondition.java
new file mode 100644
index 0000000000000..5ded9b2090342
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DependencyCondition.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for DependencyCondition.
+ */
+public final class DependencyCondition extends ExpandableStringEnum {
+ /** Static value Succeeded for DependencyCondition. */
+ public static final DependencyCondition SUCCEEDED = fromString("Succeeded");
+
+ /** Static value Failed for DependencyCondition. */
+ public static final DependencyCondition FAILED = fromString("Failed");
+
+ /** Static value Skipped for DependencyCondition. */
+ public static final DependencyCondition SKIPPED = fromString("Skipped");
+
+ /** Static value Completed for DependencyCondition. */
+ public static final DependencyCondition COMPLETED = fromString("Completed");
+
+ /**
+ * Creates or finds a DependencyCondition from its string representation.
+ * @param name a name to look for
+ * @return the corresponding DependencyCondition
+ */
+ @JsonCreator
+ public static DependencyCondition fromString(String name) {
+ return fromString(name, DependencyCondition.class);
+ }
+
+ /**
+ * @return known DependencyCondition values
+ */
+ public static Collection values() {
+ return values(DependencyCondition.class);
+ }
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DistcpSettings.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DistcpSettings.java
new file mode 100644
index 0000000000000..7d1f8996bd226
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DistcpSettings.java
@@ -0,0 +1,100 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Distcp settings.
+ */
+public class DistcpSettings {
+ /**
+ * Specifies the Yarn ResourceManager endpoint. Type: string (or Expression
+ * with resultType string).
+ */
+ @JsonProperty(value = "resourceManagerEndpoint", required = true)
+ private Object resourceManagerEndpoint;
+
+ /**
+ * Specifies an existing folder path which will be used to store temp
+ * Distcp command script. The script file is generated by ADF and will be
+ * removed after Copy job finished. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "tempScriptPath", required = true)
+ private Object tempScriptPath;
+
+ /**
+ * Specifies the Distcp options. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "distcpOptions")
+ private Object distcpOptions;
+
+ /**
+ * Get specifies the Yarn ResourceManager endpoint. Type: string (or Expression with resultType string).
+ *
+ * @return the resourceManagerEndpoint value
+ */
+ public Object resourceManagerEndpoint() {
+ return this.resourceManagerEndpoint;
+ }
+
+ /**
+ * Set specifies the Yarn ResourceManager endpoint. Type: string (or Expression with resultType string).
+ *
+ * @param resourceManagerEndpoint the resourceManagerEndpoint value to set
+ * @return the DistcpSettings object itself.
+ */
+ public DistcpSettings withResourceManagerEndpoint(Object resourceManagerEndpoint) {
+ this.resourceManagerEndpoint = resourceManagerEndpoint;
+ return this;
+ }
+
+ /**
+ * Get specifies an existing folder path which will be used to store temp Distcp command script. The script file is generated by ADF and will be removed after Copy job finished. Type: string (or Expression with resultType string).
+ *
+ * @return the tempScriptPath value
+ */
+ public Object tempScriptPath() {
+ return this.tempScriptPath;
+ }
+
+ /**
+ * Set specifies an existing folder path which will be used to store temp Distcp command script. The script file is generated by ADF and will be removed after Copy job finished. Type: string (or Expression with resultType string).
+ *
+ * @param tempScriptPath the tempScriptPath value to set
+ * @return the DistcpSettings object itself.
+ */
+ public DistcpSettings withTempScriptPath(Object tempScriptPath) {
+ this.tempScriptPath = tempScriptPath;
+ return this;
+ }
+
+ /**
+ * Get specifies the Distcp options. Type: string (or Expression with resultType string).
+ *
+ * @return the distcpOptions value
+ */
+ public Object distcpOptions() {
+ return this.distcpOptions;
+ }
+
+ /**
+ * Set specifies the Distcp options. Type: string (or Expression with resultType string).
+ *
+ * @param distcpOptions the distcpOptions value to set
+ * @return the DistcpSettings object itself.
+ */
+ public DistcpSettings withDistcpOptions(Object distcpOptions) {
+ this.distcpOptions = distcpOptions;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DocumentDbCollectionDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DocumentDbCollectionDataset.java
new file mode 100644
index 0000000000000..66dc00883b615
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DocumentDbCollectionDataset.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * Microsoft Azure Document Database Collection dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DocumentDbCollectionDataset.class)
+@JsonTypeName("DocumentDbCollection")
+@JsonFlatten
+public class DocumentDbCollectionDataset extends DatasetInner {
+ /**
+ * Document Database collection name. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.collectionName", required = true)
+ private Object collectionName;
+
+ /**
+ * Get document Database collection name. Type: string (or Expression with resultType string).
+ *
+ * @return the collectionName value
+ */
+ public Object collectionName() {
+ return this.collectionName;
+ }
+
+ /**
+ * Set document Database collection name. Type: string (or Expression with resultType string).
+ *
+ * @param collectionName the collectionName value to set
+ * @return the DocumentDbCollectionDataset object itself.
+ */
+ public DocumentDbCollectionDataset withCollectionName(Object collectionName) {
+ this.collectionName = collectionName;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DocumentDbCollectionSink.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DocumentDbCollectionSink.java
new file mode 100644
index 0000000000000..6491caaa2e364
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DocumentDbCollectionSink.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Document Database Collection sink.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DocumentDbCollectionSink.class)
+@JsonTypeName("DocumentDbCollectionSink")
+public class DocumentDbCollectionSink extends CopySink {
+ /**
+ * Nested properties separator. Default is . (dot). Type: string (or
+ * Expression with resultType string).
+ */
+ @JsonProperty(value = "nestingSeparator")
+ private Object nestingSeparator;
+
+ /**
+ * Get nested properties separator. Default is . (dot). Type: string (or Expression with resultType string).
+ *
+ * @return the nestingSeparator value
+ */
+ public Object nestingSeparator() {
+ return this.nestingSeparator;
+ }
+
+ /**
+ * Set nested properties separator. Default is . (dot). Type: string (or Expression with resultType string).
+ *
+ * @param nestingSeparator the nestingSeparator value to set
+ * @return the DocumentDbCollectionSink object itself.
+ */
+ public DocumentDbCollectionSink withNestingSeparator(Object nestingSeparator) {
+ this.nestingSeparator = nestingSeparator;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DocumentDbCollectionSource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DocumentDbCollectionSource.java
new file mode 100644
index 0000000000000..b0d68912e668e
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DocumentDbCollectionSource.java
@@ -0,0 +1,74 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Document Database Collection source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DocumentDbCollectionSource.class)
+@JsonTypeName("DocumentDbCollectionSource")
+public class DocumentDbCollectionSource extends CopySource {
+ /**
+ * Documents query. Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "query")
+ private Object query;
+
+ /**
+ * Nested properties separator. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "nestingSeparator")
+ private Object nestingSeparator;
+
+ /**
+ * Get documents query. Type: string (or Expression with resultType string).
+ *
+ * @return the query value
+ */
+ public Object query() {
+ return this.query;
+ }
+
+ /**
+ * Set documents query. Type: string (or Expression with resultType string).
+ *
+ * @param query the query value to set
+ * @return the DocumentDbCollectionSource object itself.
+ */
+ public DocumentDbCollectionSource withQuery(Object query) {
+ this.query = query;
+ return this;
+ }
+
+ /**
+ * Get nested properties separator. Type: string (or Expression with resultType string).
+ *
+ * @return the nestingSeparator value
+ */
+ public Object nestingSeparator() {
+ return this.nestingSeparator;
+ }
+
+ /**
+ * Set nested properties separator. Type: string (or Expression with resultType string).
+ *
+ * @param nestingSeparator the nestingSeparator value to set
+ * @return the DocumentDbCollectionSource object itself.
+ */
+ public DocumentDbCollectionSource withNestingSeparator(Object nestingSeparator) {
+ this.nestingSeparator = nestingSeparator;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DrillLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DrillLinkedService.java
new file mode 100644
index 0000000000000..edd68bf2c4109
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DrillLinkedService.java
@@ -0,0 +1,79 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Drill server linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DrillLinkedService.class)
+@JsonTypeName("Drill")
+@JsonFlatten
+public class DrillLinkedService extends LinkedServiceInner {
+ /**
+ * An ODBC connection string. Type: string, SecureString or
+ * AzureKeyVaultSecretReference.
+ */
+ @JsonProperty(value = "typeProperties.connectionString")
+ private Object connectionString;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get an ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @return the connectionString value
+ */
+ public Object connectionString() {
+ return this.connectionString;
+ }
+
+ /**
+ * Set an ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference.
+ *
+ * @param connectionString the connectionString value to set
+ * @return the DrillLinkedService object itself.
+ */
+ public DrillLinkedService withConnectionString(Object connectionString) {
+ this.connectionString = connectionString;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the DrillLinkedService object itself.
+ */
+ public DrillLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DrillSource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DrillSource.java
new file mode 100644
index 0000000000000..c969cdf581716
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DrillSource.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Drill server source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DrillSource.class)
+@JsonTypeName("DrillSource")
+public class DrillSource extends CopySource {
+ /**
+ * A query to retrieve data from source. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "query")
+ private Object query;
+
+ /**
+ * Get a query to retrieve data from source. Type: string (or Expression with resultType string).
+ *
+ * @return the query value
+ */
+ public Object query() {
+ return this.query;
+ }
+
+ /**
+ * Set a query to retrieve data from source. Type: string (or Expression with resultType string).
+ *
+ * @param query the query value to set
+ * @return the DrillSource object itself.
+ */
+ public DrillSource withQuery(Object query) {
+ this.query = query;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DrillTableDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DrillTableDataset.java
new file mode 100644
index 0000000000000..46006088ad03d
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DrillTableDataset.java
@@ -0,0 +1,21 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * Drill server dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DrillTableDataset.class)
+@JsonTypeName("DrillTable")
+public class DrillTableDataset extends DatasetInner {
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DynamicsEntityDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DynamicsEntityDataset.java
new file mode 100644
index 0000000000000..3f40662306c52
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DynamicsEntityDataset.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * The Dynamics entity dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DynamicsEntityDataset.class)
+@JsonTypeName("DynamicsEntity")
+@JsonFlatten
+public class DynamicsEntityDataset extends DatasetInner {
+ /**
+ * The logical name of the entity. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.entityName")
+ private Object entityName;
+
+ /**
+ * Get the logical name of the entity. Type: string (or Expression with resultType string).
+ *
+ * @return the entityName value
+ */
+ public Object entityName() {
+ return this.entityName;
+ }
+
+ /**
+ * Set the logical name of the entity. Type: string (or Expression with resultType string).
+ *
+ * @param entityName the entityName value to set
+ * @return the DynamicsEntityDataset object itself.
+ */
+ public DynamicsEntityDataset withEntityName(Object entityName) {
+ this.entityName = entityName;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DynamicsLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DynamicsLinkedService.java
new file mode 100644
index 0000000000000..f278492faf120
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DynamicsLinkedService.java
@@ -0,0 +1,274 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Dynamics linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DynamicsLinkedService.class)
+@JsonTypeName("Dynamics")
+@JsonFlatten
+public class DynamicsLinkedService extends LinkedServiceInner {
+ /**
+ * The deployment type of the Dynamics instance. 'Online' for Dynamics
+ * Online and 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type:
+ * string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.deploymentType", required = true)
+ private Object deploymentType;
+
+ /**
+ * The host name of the on-premises Dynamics server. The property is
+ * required for on-prem and not allowed for online. Type: string (or
+ * Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.hostName")
+ private Object hostName;
+
+ /**
+ * The port of on-premises Dynamics server. The property is required for
+ * on-prem and not allowed for online. Default is 443. Type: integer (or
+ * Expression with resultType integer), minimum: 0.
+ */
+ @JsonProperty(value = "typeProperties.port")
+ private Object port;
+
+ /**
+ * The URL to the Microsoft Dynamics server. The property is required for
+ * on-line and not allowed for on-prem. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.serviceUri")
+ private Object serviceUri;
+
+ /**
+ * The organization name of the Dynamics instance. The property is required
+ * for on-prem and required for online when there are more than one
+ * Dynamics instances associated with the user. Type: string (or Expression
+ * with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.organizationName")
+ private Object organizationName;
+
+ /**
+ * The authentication type to connect to Dynamics server. 'Office365' for
+ * online scenario, 'Ifd' for on-premises with Ifd scenario. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.authenticationType", required = true)
+ private Object authenticationType;
+
+ /**
+ * User name to access the Dynamics instance. Type: string (or Expression
+ * with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.username", required = true)
+ private Object username;
+
+ /**
+ * Password to access the Dynamics instance.
+ */
+ @JsonProperty(value = "typeProperties.password")
+ private SecretBase password;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get the deployment type of the Dynamics instance. 'Online' for Dynamics Online and 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or Expression with resultType string).
+ *
+ * @return the deploymentType value
+ */
+ public Object deploymentType() {
+ return this.deploymentType;
+ }
+
+ /**
+ * Set the deployment type of the Dynamics instance. 'Online' for Dynamics Online and 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or Expression with resultType string).
+ *
+ * @param deploymentType the deploymentType value to set
+ * @return the DynamicsLinkedService object itself.
+ */
+ public DynamicsLinkedService withDeploymentType(Object deploymentType) {
+ this.deploymentType = deploymentType;
+ return this;
+ }
+
+ /**
+ * Get the host name of the on-premises Dynamics server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string).
+ *
+ * @return the hostName value
+ */
+ public Object hostName() {
+ return this.hostName;
+ }
+
+ /**
+ * Set the host name of the on-premises Dynamics server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string).
+ *
+ * @param hostName the hostName value to set
+ * @return the DynamicsLinkedService object itself.
+ */
+ public DynamicsLinkedService withHostName(Object hostName) {
+ this.hostName = hostName;
+ return this;
+ }
+
+ /**
+ * Get the port of on-premises Dynamics server. The property is required for on-prem and not allowed for online. Default is 443. Type: integer (or Expression with resultType integer), minimum: 0.
+ *
+ * @return the port value
+ */
+ public Object port() {
+ return this.port;
+ }
+
+ /**
+ * Set the port of on-premises Dynamics server. The property is required for on-prem and not allowed for online. Default is 443. Type: integer (or Expression with resultType integer), minimum: 0.
+ *
+ * @param port the port value to set
+ * @return the DynamicsLinkedService object itself.
+ */
+ public DynamicsLinkedService withPort(Object port) {
+ this.port = port;
+ return this;
+ }
+
+ /**
+ * Get the URL to the Microsoft Dynamics server. The property is required for on-line and not allowed for on-prem. Type: string (or Expression with resultType string).
+ *
+ * @return the serviceUri value
+ */
+ public Object serviceUri() {
+ return this.serviceUri;
+ }
+
+ /**
+ * Set the URL to the Microsoft Dynamics server. The property is required for on-line and not allowed for on-prem. Type: string (or Expression with resultType string).
+ *
+ * @param serviceUri the serviceUri value to set
+ * @return the DynamicsLinkedService object itself.
+ */
+ public DynamicsLinkedService withServiceUri(Object serviceUri) {
+ this.serviceUri = serviceUri;
+ return this;
+ }
+
+ /**
+ * Get the organization name of the Dynamics instance. The property is required for on-prem and required for online when there are more than one Dynamics instances associated with the user. Type: string (or Expression with resultType string).
+ *
+ * @return the organizationName value
+ */
+ public Object organizationName() {
+ return this.organizationName;
+ }
+
+ /**
+ * Set the organization name of the Dynamics instance. The property is required for on-prem and required for online when there are more than one Dynamics instances associated with the user. Type: string (or Expression with resultType string).
+ *
+ * @param organizationName the organizationName value to set
+ * @return the DynamicsLinkedService object itself.
+ */
+ public DynamicsLinkedService withOrganizationName(Object organizationName) {
+ this.organizationName = organizationName;
+ return this;
+ }
+
+ /**
+ * Get the authentication type to connect to Dynamics server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario. Type: string (or Expression with resultType string).
+ *
+ * @return the authenticationType value
+ */
+ public Object authenticationType() {
+ return this.authenticationType;
+ }
+
+ /**
+ * Set the authentication type to connect to Dynamics server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario. Type: string (or Expression with resultType string).
+ *
+ * @param authenticationType the authenticationType value to set
+ * @return the DynamicsLinkedService object itself.
+ */
+ public DynamicsLinkedService withAuthenticationType(Object authenticationType) {
+ this.authenticationType = authenticationType;
+ return this;
+ }
+
+ /**
+ * Get user name to access the Dynamics instance. Type: string (or Expression with resultType string).
+ *
+ * @return the username value
+ */
+ public Object username() {
+ return this.username;
+ }
+
+ /**
+ * Set user name to access the Dynamics instance. Type: string (or Expression with resultType string).
+ *
+ * @param username the username value to set
+ * @return the DynamicsLinkedService object itself.
+ */
+ public DynamicsLinkedService withUsername(Object username) {
+ this.username = username;
+ return this;
+ }
+
+ /**
+ * Get password to access the Dynamics instance.
+ *
+ * @return the password value
+ */
+ public SecretBase password() {
+ return this.password;
+ }
+
+ /**
+ * Set password to access the Dynamics instance.
+ *
+ * @param password the password value to set
+ * @return the DynamicsLinkedService object itself.
+ */
+ public DynamicsLinkedService withPassword(SecretBase password) {
+ this.password = password;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the DynamicsLinkedService object itself.
+ */
+ public DynamicsLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DynamicsSink.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DynamicsSink.java
new file mode 100644
index 0000000000000..2dc5df5b6cb18
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DynamicsSink.java
@@ -0,0 +1,82 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Dynamics sink.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DynamicsSink.class)
+@JsonTypeName("DynamicsSink")
+public class DynamicsSink extends CopySink {
+ /**
+ * The write behavior for the operation.
+ */
+ @JsonProperty(value = "writeBehavior", required = true)
+ private Object writeBehavior;
+
+ /**
+ * The flag indicating whether ignore null values from input dataset
+ * (except key fields) during write operation. Default is false. Type:
+ * boolean (or Expression with resultType boolean).
+ */
+ @JsonProperty(value = "ignoreNullValues")
+ private Object ignoreNullValues;
+
+ /**
+ * Creates an instance of DynamicsSink class.
+ */
+ public DynamicsSink() {
+ writeBehavior = Upsert;
+ }
+
+ /**
+ * Get the write behavior for the operation.
+ *
+ * @return the writeBehavior value
+ */
+ public Object writeBehavior() {
+ return this.writeBehavior;
+ }
+
+ /**
+ * Set the write behavior for the operation.
+ *
+ * @param writeBehavior the writeBehavior value to set
+ * @return the DynamicsSink object itself.
+ */
+ public DynamicsSink withWriteBehavior(Object writeBehavior) {
+ this.writeBehavior = writeBehavior;
+ return this;
+ }
+
+ /**
+ * Get the flag indicating whether ignore null values from input dataset (except key fields) during write operation. Default is false. Type: boolean (or Expression with resultType boolean).
+ *
+ * @return the ignoreNullValues value
+ */
+ public Object ignoreNullValues() {
+ return this.ignoreNullValues;
+ }
+
+ /**
+ * Set the flag indicating whether ignore null values from input dataset (except key fields) during write operation. Default is false. Type: boolean (or Expression with resultType boolean).
+ *
+ * @param ignoreNullValues the ignoreNullValues value to set
+ * @return the DynamicsSink object itself.
+ */
+ public DynamicsSink withIgnoreNullValues(Object ignoreNullValues) {
+ this.ignoreNullValues = ignoreNullValues;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DynamicsSource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DynamicsSource.java
new file mode 100644
index 0000000000000..2c46a009df5ae
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/DynamicsSource.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Dynamics source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = DynamicsSource.class)
+@JsonTypeName("DynamicsSource")
+public class DynamicsSource extends CopySource {
+ /**
+ * FetchXML is a proprietary query language that is used in Microsoft
+ * Dynamics (online & on-premises). Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "query")
+ private Object query;
+
+ /**
+ * Get fetchXML is a proprietary query language that is used in Microsoft Dynamics (online & on-premises). Type: string (or Expression with resultType string).
+ *
+ * @return the query value
+ */
+ public Object query() {
+ return this.query;
+ }
+
+ /**
+ * Set fetchXML is a proprietary query language that is used in Microsoft Dynamics (online & on-premises). Type: string (or Expression with resultType string).
+ *
+ * @param query the query value to set
+ * @return the DynamicsSource object itself.
+ */
+ public DynamicsSource withQuery(Object query) {
+ this.query = query;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/EloquaLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/EloquaLinkedService.java
new file mode 100644
index 0000000000000..fdaea4ebe82dd
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/EloquaLinkedService.java
@@ -0,0 +1,213 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * Eloqua server linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = EloquaLinkedService.class)
+@JsonTypeName("Eloqua")
+@JsonFlatten
+public class EloquaLinkedService extends LinkedServiceInner {
+ /**
+ * The endpoint of the Eloqua server. (i.e. eloqua.example.com).
+ */
+ @JsonProperty(value = "typeProperties.endpoint", required = true)
+ private Object endpoint;
+
+ /**
+ * The site name and user name of your Eloqua account in the form:
+ * sitename/username. (i.e. Eloqua/Alice).
+ */
+ @JsonProperty(value = "typeProperties.username", required = true)
+ private Object username;
+
+ /**
+ * The password corresponding to the user name.
+ */
+ @JsonProperty(value = "typeProperties.password")
+ private SecretBase password;
+
+ /**
+ * Specifies whether the data source endpoints are encrypted using HTTPS.
+ * The default value is true.
+ */
+ @JsonProperty(value = "typeProperties.useEncryptedEndpoints")
+ private Object useEncryptedEndpoints;
+
+ /**
+ * Specifies whether to require the host name in the server's certificate
+ * to match the host name of the server when connecting over SSL. The
+ * default value is true.
+ */
+ @JsonProperty(value = "typeProperties.useHostVerification")
+ private Object useHostVerification;
+
+ /**
+ * Specifies whether to verify the identity of the server when connecting
+ * over SSL. The default value is true.
+ */
+ @JsonProperty(value = "typeProperties.usePeerVerification")
+ private Object usePeerVerification;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get the endpoint of the Eloqua server. (i.e. eloqua.example.com).
+ *
+ * @return the endpoint value
+ */
+ public Object endpoint() {
+ return this.endpoint;
+ }
+
+ /**
+ * Set the endpoint of the Eloqua server. (i.e. eloqua.example.com).
+ *
+ * @param endpoint the endpoint value to set
+ * @return the EloquaLinkedService object itself.
+ */
+ public EloquaLinkedService withEndpoint(Object endpoint) {
+ this.endpoint = endpoint;
+ return this;
+ }
+
+ /**
+ * Get the site name and user name of your Eloqua account in the form: sitename/username. (i.e. Eloqua/Alice).
+ *
+ * @return the username value
+ */
+ public Object username() {
+ return this.username;
+ }
+
+ /**
+ * Set the site name and user name of your Eloqua account in the form: sitename/username. (i.e. Eloqua/Alice).
+ *
+ * @param username the username value to set
+ * @return the EloquaLinkedService object itself.
+ */
+ public EloquaLinkedService withUsername(Object username) {
+ this.username = username;
+ return this;
+ }
+
+ /**
+ * Get the password corresponding to the user name.
+ *
+ * @return the password value
+ */
+ public SecretBase password() {
+ return this.password;
+ }
+
+ /**
+ * Set the password corresponding to the user name.
+ *
+ * @param password the password value to set
+ * @return the EloquaLinkedService object itself.
+ */
+ public EloquaLinkedService withPassword(SecretBase password) {
+ this.password = password;
+ return this;
+ }
+
+ /**
+ * Get specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
+ *
+ * @return the useEncryptedEndpoints value
+ */
+ public Object useEncryptedEndpoints() {
+ return this.useEncryptedEndpoints;
+ }
+
+ /**
+ * Set specifies whether the data source endpoints are encrypted using HTTPS. The default value is true.
+ *
+ * @param useEncryptedEndpoints the useEncryptedEndpoints value to set
+ * @return the EloquaLinkedService object itself.
+ */
+ public EloquaLinkedService withUseEncryptedEndpoints(Object useEncryptedEndpoints) {
+ this.useEncryptedEndpoints = useEncryptedEndpoints;
+ return this;
+ }
+
+ /**
+ * Get specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
+ *
+ * @return the useHostVerification value
+ */
+ public Object useHostVerification() {
+ return this.useHostVerification;
+ }
+
+ /**
+ * Set specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true.
+ *
+ * @param useHostVerification the useHostVerification value to set
+ * @return the EloquaLinkedService object itself.
+ */
+ public EloquaLinkedService withUseHostVerification(Object useHostVerification) {
+ this.useHostVerification = useHostVerification;
+ return this;
+ }
+
+ /**
+ * Get specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
+ *
+ * @return the usePeerVerification value
+ */
+ public Object usePeerVerification() {
+ return this.usePeerVerification;
+ }
+
+ /**
+ * Set specifies whether to verify the identity of the server when connecting over SSL. The default value is true.
+ *
+ * @param usePeerVerification the usePeerVerification value to set
+ * @return the EloquaLinkedService object itself.
+ */
+ public EloquaLinkedService withUsePeerVerification(Object usePeerVerification) {
+ this.usePeerVerification = usePeerVerification;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the EloquaLinkedService object itself.
+ */
+ public EloquaLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/EloquaObjectDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/EloquaObjectDataset.java
new file mode 100644
index 0000000000000..71ba12fdeccca
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/EloquaObjectDataset.java
@@ -0,0 +1,21 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * Eloqua server dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = EloquaObjectDataset.class)
+@JsonTypeName("EloquaObject")
+public class EloquaObjectDataset extends DatasetInner {
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/EloquaSource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/EloquaSource.java
new file mode 100644
index 0000000000000..32ebf02b1e087
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/EloquaSource.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity Eloqua server source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = EloquaSource.class)
+@JsonTypeName("EloquaSource")
+public class EloquaSource extends CopySource {
+ /**
+ * A query to retrieve data from source. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "query")
+ private Object query;
+
+ /**
+ * Get a query to retrieve data from source. Type: string (or Expression with resultType string).
+ *
+ * @return the query value
+ */
+ public Object query() {
+ return this.query;
+ }
+
+ /**
+ * Set a query to retrieve data from source. Type: string (or Expression with resultType string).
+ *
+ * @param query the query value to set
+ * @return the EloquaSource object itself.
+ */
+ public EloquaSource withQuery(Object query) {
+ this.query = query;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/EntityReference.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/EntityReference.java
new file mode 100644
index 0000000000000..fa6153042eaae
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/EntityReference.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The entity reference.
+ */
+public class EntityReference {
+ /**
+ * The type of this referenced entity. Possible values include:
+ * 'IntegrationRuntimeReference', 'LinkedServiceReference'.
+ */
+ @JsonProperty(value = "type")
+ private IntegrationRuntimeEntityReferenceType type;
+
+ /**
+ * The name of this referenced entity.
+ */
+ @JsonProperty(value = "referenceName")
+ private String referenceName;
+
+ /**
+ * Get the type of this referenced entity. Possible values include: 'IntegrationRuntimeReference', 'LinkedServiceReference'.
+ *
+ * @return the type value
+ */
+ public IntegrationRuntimeEntityReferenceType type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type of this referenced entity. Possible values include: 'IntegrationRuntimeReference', 'LinkedServiceReference'.
+ *
+ * @param type the type value to set
+ * @return the EntityReference object itself.
+ */
+ public EntityReference withType(IntegrationRuntimeEntityReferenceType type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the name of this referenced entity.
+ *
+ * @return the referenceName value
+ */
+ public String referenceName() {
+ return this.referenceName;
+ }
+
+ /**
+ * Set the name of this referenced entity.
+ *
+ * @param referenceName the referenceName value to set
+ * @return the EntityReference object itself.
+ */
+ public EntityReference withReferenceName(String referenceName) {
+ this.referenceName = referenceName;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ErrorResponse.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ErrorResponse.java
new file mode 100644
index 0000000000000..d75ca77596dd6
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ErrorResponse.java
@@ -0,0 +1,122 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * The object that defines the structure of an Azure Data Factory response.
+ */
+public class ErrorResponse {
+ /**
+ * Error code.
+ */
+ @JsonProperty(value = "code", required = true)
+ private String code;
+
+ /**
+ * Error message.
+ */
+ @JsonProperty(value = "message", required = true)
+ private String message;
+
+ /**
+ * Property name/path in request associated with error.
+ */
+ @JsonProperty(value = "target")
+ private String target;
+
+ /**
+ * Array with additional error details.
+ */
+ @JsonProperty(value = "details")
+ private List details;
+
+ /**
+ * Get error code.
+ *
+ * @return the code value
+ */
+ public String code() {
+ return this.code;
+ }
+
+ /**
+ * Set error code.
+ *
+ * @param code the code value to set
+ * @return the ErrorResponse object itself.
+ */
+ public ErrorResponse withCode(String code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Get error message.
+ *
+ * @return the message value
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set error message.
+ *
+ * @param message the message value to set
+ * @return the ErrorResponse object itself.
+ */
+ public ErrorResponse withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Get property name/path in request associated with error.
+ *
+ * @return the target value
+ */
+ public String target() {
+ return this.target;
+ }
+
+ /**
+ * Set property name/path in request associated with error.
+ *
+ * @param target the target value to set
+ * @return the ErrorResponse object itself.
+ */
+ public ErrorResponse withTarget(String target) {
+ this.target = target;
+ return this;
+ }
+
+ /**
+ * Get array with additional error details.
+ *
+ * @return the details value
+ */
+ public List details() {
+ return this.details;
+ }
+
+ /**
+ * Set array with additional error details.
+ *
+ * @param details the details value to set
+ * @return the ErrorResponse object itself.
+ */
+ public ErrorResponse withDetails(List details) {
+ this.details = details;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ErrorResponseException.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ErrorResponseException.java
new file mode 100644
index 0000000000000..b1e478273a7c3
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ErrorResponseException.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.microsoft.rest.RestException;
+import okhttp3.ResponseBody;
+import retrofit2.Response;
+
+/**
+ * Exception thrown for an invalid response with ErrorResponse information.
+ */
+public class ErrorResponseException extends RestException {
+ /**
+ * Initializes a new instance of the ErrorResponseException class.
+ *
+ * @param message the exception message or the response content if a message is not available
+ * @param response the HTTP response
+ */
+ public ErrorResponseException(final String message, final Response response) {
+ super(message, response);
+ }
+
+ /**
+ * Initializes a new instance of the ErrorResponseException class.
+ *
+ * @param message the exception message or the response content if a message is not available
+ * @param response the HTTP response
+ * @param body the deserialized response body
+ */
+ public ErrorResponseException(final String message, final Response response, final ErrorResponse body) {
+ super(message, response, body);
+ }
+
+ @Override
+ public ErrorResponse body() {
+ return (ErrorResponse) super.body();
+ }
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ExecutePipelineActivity.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ExecutePipelineActivity.java
new file mode 100644
index 0000000000000..07cdd1136fb16
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ExecutePipelineActivity.java
@@ -0,0 +1,103 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Execute pipeline activity.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = ExecutePipelineActivity.class)
+@JsonTypeName("ExecutePipeline")
+@JsonFlatten
+public class ExecutePipelineActivity extends ControlActivity {
+ /**
+ * Pipeline reference.
+ */
+ @JsonProperty(value = "typeProperties.pipeline", required = true)
+ private PipelineReference pipeline;
+
+ /**
+ * Pipeline parameters.
+ */
+ @JsonProperty(value = "typeProperties.parameters")
+ private Map parameters;
+
+ /**
+ * Defines whether activity execution will wait for the dependent pipeline
+ * execution to finish. Default is false.
+ */
+ @JsonProperty(value = "typeProperties.waitOnCompletion")
+ private Boolean waitOnCompletion;
+
+ /**
+ * Get pipeline reference.
+ *
+ * @return the pipeline value
+ */
+ public PipelineReference pipeline() {
+ return this.pipeline;
+ }
+
+ /**
+ * Set pipeline reference.
+ *
+ * @param pipeline the pipeline value to set
+ * @return the ExecutePipelineActivity object itself.
+ */
+ public ExecutePipelineActivity withPipeline(PipelineReference pipeline) {
+ this.pipeline = pipeline;
+ return this;
+ }
+
+ /**
+ * Get pipeline parameters.
+ *
+ * @return the parameters value
+ */
+ public Map parameters() {
+ return this.parameters;
+ }
+
+ /**
+ * Set pipeline parameters.
+ *
+ * @param parameters the parameters value to set
+ * @return the ExecutePipelineActivity object itself.
+ */
+ public ExecutePipelineActivity withParameters(Map parameters) {
+ this.parameters = parameters;
+ return this;
+ }
+
+ /**
+ * Get defines whether activity execution will wait for the dependent pipeline execution to finish. Default is false.
+ *
+ * @return the waitOnCompletion value
+ */
+ public Boolean waitOnCompletion() {
+ return this.waitOnCompletion;
+ }
+
+ /**
+ * Set defines whether activity execution will wait for the dependent pipeline execution to finish. Default is false.
+ *
+ * @param waitOnCompletion the waitOnCompletion value to set
+ * @return the ExecutePipelineActivity object itself.
+ */
+ public ExecutePipelineActivity withWaitOnCompletion(Boolean waitOnCompletion) {
+ this.waitOnCompletion = waitOnCompletion;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ExecuteSSISPackageActivity.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ExecuteSSISPackageActivity.java
new file mode 100644
index 0000000000000..417897bc00b6d
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ExecuteSSISPackageActivity.java
@@ -0,0 +1,339 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Execute SSIS package activity.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = ExecuteSSISPackageActivity.class)
+@JsonTypeName("ExecuteSSISPackage")
+@JsonFlatten
+public class ExecuteSSISPackageActivity extends ExecutionActivity {
+ /**
+ * SSIS package location.
+ */
+ @JsonProperty(value = "typeProperties.packageLocation", required = true)
+ private SSISPackageLocation packageLocation;
+
+ /**
+ * Specifies the runtime to execute SSIS package. The value should be "x86"
+ * or "x64". Type: string (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.runtime")
+ private Object runtime;
+
+ /**
+ * The logging level of SSIS package execution. Type: string (or Expression
+ * with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.loggingLevel")
+ private Object loggingLevel;
+
+ /**
+ * The environment path to execute the SSIS package. Type: string (or
+ * Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.environmentPath")
+ private Object environmentPath;
+
+ /**
+ * The package execution credential.
+ */
+ @JsonProperty(value = "typeProperties.executionCredential")
+ private SSISExecutionCredential executionCredential;
+
+ /**
+ * The integration runtime reference.
+ */
+ @JsonProperty(value = "typeProperties.connectVia", required = true)
+ private IntegrationRuntimeReference connectVia;
+
+ /**
+ * The project level parameters to execute the SSIS package.
+ */
+ @JsonProperty(value = "typeProperties.projectParameters")
+ private Map projectParameters;
+
+ /**
+ * The package level parameters to execute the SSIS package.
+ */
+ @JsonProperty(value = "typeProperties.packageParameters")
+ private Map packageParameters;
+
+ /**
+ * The project level connection managers to execute the SSIS package.
+ */
+ @JsonProperty(value = "typeProperties.projectConnectionManagers")
+ private Map> projectConnectionManagers;
+
+ /**
+ * The package level connection managers to execute the SSIS package.
+ */
+ @JsonProperty(value = "typeProperties.packageConnectionManagers")
+ private Map> packageConnectionManagers;
+
+ /**
+ * The property overrides to execute the SSIS package.
+ */
+ @JsonProperty(value = "typeProperties.propertyOverrides")
+ private Map propertyOverrides;
+
+ /**
+ * SSIS package execution log location.
+ */
+ @JsonProperty(value = "typeProperties.logLocation")
+ private SSISLogLocation logLocation;
+
+ /**
+ * Get sSIS package location.
+ *
+ * @return the packageLocation value
+ */
+ public SSISPackageLocation packageLocation() {
+ return this.packageLocation;
+ }
+
+ /**
+ * Set sSIS package location.
+ *
+ * @param packageLocation the packageLocation value to set
+ * @return the ExecuteSSISPackageActivity object itself.
+ */
+ public ExecuteSSISPackageActivity withPackageLocation(SSISPackageLocation packageLocation) {
+ this.packageLocation = packageLocation;
+ return this;
+ }
+
+ /**
+ * Get specifies the runtime to execute SSIS package. The value should be "x86" or "x64". Type: string (or Expression with resultType string).
+ *
+ * @return the runtime value
+ */
+ public Object runtime() {
+ return this.runtime;
+ }
+
+ /**
+ * Set specifies the runtime to execute SSIS package. The value should be "x86" or "x64". Type: string (or Expression with resultType string).
+ *
+ * @param runtime the runtime value to set
+ * @return the ExecuteSSISPackageActivity object itself.
+ */
+ public ExecuteSSISPackageActivity withRuntime(Object runtime) {
+ this.runtime = runtime;
+ return this;
+ }
+
+ /**
+ * Get the logging level of SSIS package execution. Type: string (or Expression with resultType string).
+ *
+ * @return the loggingLevel value
+ */
+ public Object loggingLevel() {
+ return this.loggingLevel;
+ }
+
+ /**
+ * Set the logging level of SSIS package execution. Type: string (or Expression with resultType string).
+ *
+ * @param loggingLevel the loggingLevel value to set
+ * @return the ExecuteSSISPackageActivity object itself.
+ */
+ public ExecuteSSISPackageActivity withLoggingLevel(Object loggingLevel) {
+ this.loggingLevel = loggingLevel;
+ return this;
+ }
+
+ /**
+ * Get the environment path to execute the SSIS package. Type: string (or Expression with resultType string).
+ *
+ * @return the environmentPath value
+ */
+ public Object environmentPath() {
+ return this.environmentPath;
+ }
+
+ /**
+ * Set the environment path to execute the SSIS package. Type: string (or Expression with resultType string).
+ *
+ * @param environmentPath the environmentPath value to set
+ * @return the ExecuteSSISPackageActivity object itself.
+ */
+ public ExecuteSSISPackageActivity withEnvironmentPath(Object environmentPath) {
+ this.environmentPath = environmentPath;
+ return this;
+ }
+
+ /**
+ * Get the package execution credential.
+ *
+ * @return the executionCredential value
+ */
+ public SSISExecutionCredential executionCredential() {
+ return this.executionCredential;
+ }
+
+ /**
+ * Set the package execution credential.
+ *
+ * @param executionCredential the executionCredential value to set
+ * @return the ExecuteSSISPackageActivity object itself.
+ */
+ public ExecuteSSISPackageActivity withExecutionCredential(SSISExecutionCredential executionCredential) {
+ this.executionCredential = executionCredential;
+ return this;
+ }
+
+ /**
+ * Get the integration runtime reference.
+ *
+ * @return the connectVia value
+ */
+ public IntegrationRuntimeReference connectVia() {
+ return this.connectVia;
+ }
+
+ /**
+ * Set the integration runtime reference.
+ *
+ * @param connectVia the connectVia value to set
+ * @return the ExecuteSSISPackageActivity object itself.
+ */
+ public ExecuteSSISPackageActivity withConnectVia(IntegrationRuntimeReference connectVia) {
+ this.connectVia = connectVia;
+ return this;
+ }
+
+ /**
+ * Get the project level parameters to execute the SSIS package.
+ *
+ * @return the projectParameters value
+ */
+ public Map projectParameters() {
+ return this.projectParameters;
+ }
+
+ /**
+ * Set the project level parameters to execute the SSIS package.
+ *
+ * @param projectParameters the projectParameters value to set
+ * @return the ExecuteSSISPackageActivity object itself.
+ */
+ public ExecuteSSISPackageActivity withProjectParameters(Map projectParameters) {
+ this.projectParameters = projectParameters;
+ return this;
+ }
+
+ /**
+ * Get the package level parameters to execute the SSIS package.
+ *
+ * @return the packageParameters value
+ */
+ public Map packageParameters() {
+ return this.packageParameters;
+ }
+
+ /**
+ * Set the package level parameters to execute the SSIS package.
+ *
+ * @param packageParameters the packageParameters value to set
+ * @return the ExecuteSSISPackageActivity object itself.
+ */
+ public ExecuteSSISPackageActivity withPackageParameters(Map packageParameters) {
+ this.packageParameters = packageParameters;
+ return this;
+ }
+
+ /**
+ * Get the project level connection managers to execute the SSIS package.
+ *
+ * @return the projectConnectionManagers value
+ */
+ public Map> projectConnectionManagers() {
+ return this.projectConnectionManagers;
+ }
+
+ /**
+ * Set the project level connection managers to execute the SSIS package.
+ *
+ * @param projectConnectionManagers the projectConnectionManagers value to set
+ * @return the ExecuteSSISPackageActivity object itself.
+ */
+ public ExecuteSSISPackageActivity withProjectConnectionManagers(Map> projectConnectionManagers) {
+ this.projectConnectionManagers = projectConnectionManagers;
+ return this;
+ }
+
+ /**
+ * Get the package level connection managers to execute the SSIS package.
+ *
+ * @return the packageConnectionManagers value
+ */
+ public Map> packageConnectionManagers() {
+ return this.packageConnectionManagers;
+ }
+
+ /**
+ * Set the package level connection managers to execute the SSIS package.
+ *
+ * @param packageConnectionManagers the packageConnectionManagers value to set
+ * @return the ExecuteSSISPackageActivity object itself.
+ */
+ public ExecuteSSISPackageActivity withPackageConnectionManagers(Map> packageConnectionManagers) {
+ this.packageConnectionManagers = packageConnectionManagers;
+ return this;
+ }
+
+ /**
+ * Get the property overrides to execute the SSIS package.
+ *
+ * @return the propertyOverrides value
+ */
+ public Map propertyOverrides() {
+ return this.propertyOverrides;
+ }
+
+ /**
+ * Set the property overrides to execute the SSIS package.
+ *
+ * @param propertyOverrides the propertyOverrides value to set
+ * @return the ExecuteSSISPackageActivity object itself.
+ */
+ public ExecuteSSISPackageActivity withPropertyOverrides(Map propertyOverrides) {
+ this.propertyOverrides = propertyOverrides;
+ return this;
+ }
+
+ /**
+ * Get sSIS package execution log location.
+ *
+ * @return the logLocation value
+ */
+ public SSISLogLocation logLocation() {
+ return this.logLocation;
+ }
+
+ /**
+ * Set sSIS package execution log location.
+ *
+ * @param logLocation the logLocation value to set
+ * @return the ExecuteSSISPackageActivity object itself.
+ */
+ public ExecuteSSISPackageActivity withLogLocation(SSISLogLocation logLocation) {
+ this.logLocation = logLocation;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ExecutionActivity.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ExecutionActivity.java
new file mode 100644
index 0000000000000..e5bc6200f0206
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ExecutionActivity.java
@@ -0,0 +1,92 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+
+/**
+ * Base class for all execution activities.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = ExecutionActivity.class)
+@JsonTypeName("Execution")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "DatabricksNotebook", value = DatabricksNotebookActivity.class),
+ @JsonSubTypes.Type(name = "DataLakeAnalyticsU-SQL", value = DataLakeAnalyticsUSQLActivity.class),
+ @JsonSubTypes.Type(name = "AzureMLUpdateResource", value = AzureMLUpdateResourceActivity.class),
+ @JsonSubTypes.Type(name = "AzureMLBatchExecution", value = AzureMLBatchExecutionActivity.class),
+ @JsonSubTypes.Type(name = "GetMetadata", value = GetMetadataActivity.class),
+ @JsonSubTypes.Type(name = "WebActivity", value = WebActivity.class),
+ @JsonSubTypes.Type(name = "Lookup", value = LookupActivity.class),
+ @JsonSubTypes.Type(name = "SqlServerStoredProcedure", value = SqlServerStoredProcedureActivity.class),
+ @JsonSubTypes.Type(name = "Custom", value = CustomActivity.class),
+ @JsonSubTypes.Type(name = "ExecuteSSISPackage", value = ExecuteSSISPackageActivity.class),
+ @JsonSubTypes.Type(name = "HDInsightSpark", value = HDInsightSparkActivity.class),
+ @JsonSubTypes.Type(name = "HDInsightStreaming", value = HDInsightStreamingActivity.class),
+ @JsonSubTypes.Type(name = "HDInsightMapReduce", value = HDInsightMapReduceActivity.class),
+ @JsonSubTypes.Type(name = "HDInsightPig", value = HDInsightPigActivity.class),
+ @JsonSubTypes.Type(name = "HDInsightHive", value = HDInsightHiveActivity.class),
+ @JsonSubTypes.Type(name = "Copy", value = CopyActivity.class)
+})
+public class ExecutionActivity extends Activity {
+ /**
+ * Linked service reference.
+ */
+ @JsonProperty(value = "linkedServiceName")
+ private LinkedServiceReference linkedServiceName;
+
+ /**
+ * Activity policy.
+ */
+ @JsonProperty(value = "policy")
+ private ActivityPolicy policy;
+
+ /**
+ * Get linked service reference.
+ *
+ * @return the linkedServiceName value
+ */
+ public LinkedServiceReference linkedServiceName() {
+ return this.linkedServiceName;
+ }
+
+ /**
+ * Set linked service reference.
+ *
+ * @param linkedServiceName the linkedServiceName value to set
+ * @return the ExecutionActivity object itself.
+ */
+ public ExecutionActivity withLinkedServiceName(LinkedServiceReference linkedServiceName) {
+ this.linkedServiceName = linkedServiceName;
+ return this;
+ }
+
+ /**
+ * Get activity policy.
+ *
+ * @return the policy value
+ */
+ public ActivityPolicy policy() {
+ return this.policy;
+ }
+
+ /**
+ * Set activity policy.
+ *
+ * @param policy the policy value to set
+ * @return the ExecutionActivity object itself.
+ */
+ public ExecutionActivity withPolicy(ActivityPolicy policy) {
+ this.policy = policy;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Expression.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Expression.java
new file mode 100644
index 0000000000000..5acb861727bad
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Expression.java
@@ -0,0 +1,77 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Azure Data Factory expression definition.
+ */
+public class Expression {
+ /**
+ * Expression type.
+ */
+ @JsonProperty(value = "type", required = true)
+ private String type;
+
+ /**
+ * Expression value.
+ */
+ @JsonProperty(value = "value", required = true)
+ private String value;
+
+ /**
+ * Creates an instance of Expression class.
+ * @param value expression value.
+ */
+ public Expression() {
+ type = "Expression";
+ }
+
+ /**
+ * Get expression type.
+ *
+ * @return the type value
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set expression type.
+ *
+ * @param type the type value to set
+ * @return the Expression object itself.
+ */
+ public Expression withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get expression value.
+ *
+ * @return the value value
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set expression value.
+ *
+ * @param value the value value to set
+ * @return the Expression object itself.
+ */
+ public Expression withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Factories.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Factories.java
new file mode 100644
index 0000000000000..ee48c73a79760
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Factories.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import com.microsoft.azure.arm.resources.collection.SupportsDeletingByResourceGroup;
+import com.microsoft.azure.arm.resources.collection.SupportsBatchDeletion;
+import com.microsoft.azure.arm.resources.collection.SupportsGettingByResourceGroup;
+import rx.Observable;
+import com.microsoft.azure.arm.resources.collection.SupportsListingByResourceGroup;
+import com.microsoft.azure.arm.collection.SupportsListing;
+import rx.Completable;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.FactoriesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing Factories.
+ */
+public interface Factories extends SupportsCreating, SupportsDeletingByResourceGroup, SupportsBatchDeletion, SupportsGettingByResourceGroup, SupportsListingByResourceGroup, SupportsListing, HasInner {
+ /**
+ * Cancel a pipeline run by its run ID.
+ *
+ * @param resourceGroupName The resource group name.
+ * @param factoryName The factory name.
+ * @param runId The pipeline run identifier.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable cancelPipelineRunAsync(String resourceGroupName, String factoryName, String runId);
+
+ /**
+ * Updates a factory's repo information.
+ *
+ * @param locationId The location identifier.
+ * @param factoryRepoUpdate Update factory repo request definition.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable configureFactoryRepoAsync(String locationId, FactoryRepoUpdate factoryRepoUpdate);
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Factory.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Factory.java
new file mode 100644
index 0000000000000..3c000f290ab79
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/Factory.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.arm.resources.models.Resource;
+import com.microsoft.azure.arm.resources.models.GroupableResourceCore;
+import com.microsoft.azure.arm.resources.models.HasResourceGroup;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DataFactoryManager;
+import java.util.Map;
+import org.joda.time.DateTime;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.FactoryInner;
+
+/**
+ * Type representing Factory.
+ */
+public interface Factory extends HasInner, Resource, GroupableResourceCore, HasResourceGroup, Refreshable, Updatable, HasManager {
+ /**
+ * @return the additionalProperties value.
+ */
+ Map additionalProperties();
+
+ /**
+ * @return the createTime value.
+ */
+ DateTime createTime();
+
+ /**
+ * @return the identity value.
+ */
+ FactoryIdentity identity();
+
+ /**
+ * @return the provisioningState value.
+ */
+ String provisioningState();
+
+ /**
+ * @return the version value.
+ */
+ String version();
+
+ /**
+ * @return the vstsConfiguration value.
+ */
+ FactoryVSTSConfiguration vstsConfiguration();
+
+ /**
+ * The entirety of the Factory definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithGroup, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of Factory definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a Factory definition.
+ */
+ interface Blank extends GroupableResourceCore.DefinitionWithRegion {
+ }
+
+ /**
+ * The stage of the Factory definition allowing to specify the resource group.
+ */
+ interface WithGroup extends GroupableResourceCore.DefinitionStages.WithGroup {
+ }
+
+ /**
+ * The stage of the factory definition allowing to specify AdditionalProperties.
+ */
+ interface WithAdditionalProperties {
+ /**
+ * Specifies additionalProperties.
+ * @param additionalProperties Unmatched properties from the message are deserialized this collection
+ * @return the next definition stage
+ */
+ WithCreate withAdditionalProperties(Map additionalProperties);
+ }
+
+ /**
+ * The stage of the factory definition allowing to specify Identity.
+ */
+ interface WithIdentity {
+ /**
+ * Specifies identity.
+ * @param identity Managed service identity of the factory
+ * @return the next definition stage
+ */
+ WithCreate withIdentity(FactoryIdentity identity);
+ }
+
+ /**
+ * The stage of the factory definition allowing to specify VstsConfiguration.
+ */
+ interface WithVstsConfiguration {
+ /**
+ * Specifies vstsConfiguration.
+ * @param vstsConfiguration VSTS repo information of the factory
+ * @return the next definition stage
+ */
+ WithCreate withVstsConfiguration(FactoryVSTSConfiguration vstsConfiguration);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, Resource.DefinitionWithTags, DefinitionStages.WithAdditionalProperties, DefinitionStages.WithIdentity, DefinitionStages.WithVstsConfiguration {
+ }
+ }
+ /**
+ * The template for a Factory update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, Resource.UpdateWithTags, UpdateStages.WithIdentity {
+ }
+
+ /**
+ * Grouping of Factory update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the factory update allowing to specify Identity.
+ */
+ interface WithIdentity {
+ /**
+ * Specifies identity.
+ * @param identity Managed service identity of the factory
+ * @return the next update stage
+ */
+ Update withIdentity(FactoryIdentity identity);
+ }
+
+ }
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FactoryIdentity.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FactoryIdentity.java
new file mode 100644
index 0000000000000..12024a3fd0f55
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FactoryIdentity.java
@@ -0,0 +1,82 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.UUID;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Identity properties of the factory resource.
+ */
+public class FactoryIdentity {
+ /**
+ * The identity type. Currently the only supported type is
+ * 'SystemAssigned'.
+ */
+ @JsonProperty(value = "type", required = true)
+ private String type;
+
+ /**
+ * The principal id of the identity.
+ */
+ @JsonProperty(value = "principalId", access = JsonProperty.Access.WRITE_ONLY)
+ private UUID principalId;
+
+ /**
+ * The client tenant id of the identity.
+ */
+ @JsonProperty(value = "tenantId", access = JsonProperty.Access.WRITE_ONLY)
+ private UUID tenantId;
+
+ /**
+ * Creates an instance of FactoryIdentity class.
+ */
+ public FactoryIdentity() {
+ type = "SystemAssigned";
+ }
+
+ /**
+ * Get the identity type. Currently the only supported type is 'SystemAssigned'.
+ *
+ * @return the type value
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set the identity type. Currently the only supported type is 'SystemAssigned'.
+ *
+ * @param type the type value to set
+ * @return the FactoryIdentity object itself.
+ */
+ public FactoryIdentity withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the principal id of the identity.
+ *
+ * @return the principalId value
+ */
+ public UUID principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Get the client tenant id of the identity.
+ *
+ * @return the tenantId value
+ */
+ public UUID tenantId() {
+ return this.tenantId;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FactoryRepoUpdate.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FactoryRepoUpdate.java
new file mode 100644
index 0000000000000..543615ca0701c
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FactoryRepoUpdate.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Factory's VSTS repo information.
+ */
+public class FactoryRepoUpdate {
+ /**
+ * The factory resource id.
+ */
+ @JsonProperty(value = "factoryResourceId")
+ private String factoryResourceId;
+
+ /**
+ * The resource group name.
+ */
+ @JsonProperty(value = "resourceGroupName")
+ private String resourceGroupName;
+
+ /**
+ * VSTS repo information of the factory.
+ */
+ @JsonProperty(value = "vstsConfiguration")
+ private FactoryVSTSConfiguration vstsConfiguration;
+
+ /**
+ * Get the factory resource id.
+ *
+ * @return the factoryResourceId value
+ */
+ public String factoryResourceId() {
+ return this.factoryResourceId;
+ }
+
+ /**
+ * Set the factory resource id.
+ *
+ * @param factoryResourceId the factoryResourceId value to set
+ * @return the FactoryRepoUpdate object itself.
+ */
+ public FactoryRepoUpdate withFactoryResourceId(String factoryResourceId) {
+ this.factoryResourceId = factoryResourceId;
+ return this;
+ }
+
+ /**
+ * Get the resource group name.
+ *
+ * @return the resourceGroupName value
+ */
+ public String resourceGroupName() {
+ return this.resourceGroupName;
+ }
+
+ /**
+ * Set the resource group name.
+ *
+ * @param resourceGroupName the resourceGroupName value to set
+ * @return the FactoryRepoUpdate object itself.
+ */
+ public FactoryRepoUpdate withResourceGroupName(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ /**
+ * Get vSTS repo information of the factory.
+ *
+ * @return the vstsConfiguration value
+ */
+ public FactoryVSTSConfiguration vstsConfiguration() {
+ return this.vstsConfiguration;
+ }
+
+ /**
+ * Set vSTS repo information of the factory.
+ *
+ * @param vstsConfiguration the vstsConfiguration value to set
+ * @return the FactoryRepoUpdate object itself.
+ */
+ public FactoryRepoUpdate withVstsConfiguration(FactoryVSTSConfiguration vstsConfiguration) {
+ this.vstsConfiguration = vstsConfiguration;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FactoryUpdateParameters.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FactoryUpdateParameters.java
new file mode 100644
index 0000000000000..3c5a370b064ec
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FactoryUpdateParameters.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Parameters for updating a factory resource.
+ */
+public class FactoryUpdateParameters {
+ /**
+ * The resource tags.
+ */
+ @JsonProperty(value = "tags")
+ private Map tags;
+
+ /**
+ * Managed service identity of the factory.
+ */
+ @JsonProperty(value = "identity")
+ private FactoryIdentity identity;
+
+ /**
+ * Get the resource tags.
+ *
+ * @return the tags value
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set the resource tags.
+ *
+ * @param tags the tags value to set
+ * @return the FactoryUpdateParameters object itself.
+ */
+ public FactoryUpdateParameters withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ /**
+ * Get managed service identity of the factory.
+ *
+ * @return the identity value
+ */
+ public FactoryIdentity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set managed service identity of the factory.
+ *
+ * @param identity the identity value to set
+ * @return the FactoryUpdateParameters object itself.
+ */
+ public FactoryUpdateParameters withIdentity(FactoryIdentity identity) {
+ this.identity = identity;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FactoryVSTSConfiguration.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FactoryVSTSConfiguration.java
new file mode 100644
index 0000000000000..d13b5dc79c937
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FactoryVSTSConfiguration.java
@@ -0,0 +1,199 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/**
+ * Factory's VSTS repo information.
+ */
+public class FactoryVSTSConfiguration {
+ /**
+ * VSTS account name.
+ */
+ @JsonProperty(value = "accountName")
+ private String accountName;
+
+ /**
+ * VSTS project name.
+ */
+ @JsonProperty(value = "projectName")
+ private String projectName;
+
+ /**
+ * VSTS repository name.
+ */
+ @JsonProperty(value = "repositoryName")
+ private String repositoryName;
+
+ /**
+ * VSTS collaboration branch.
+ */
+ @JsonProperty(value = "collaborationBranch")
+ private String collaborationBranch;
+
+ /**
+ * VSTS root folder.
+ */
+ @JsonProperty(value = "rootFolder")
+ private String rootFolder;
+
+ /**
+ * VSTS last commit id.
+ */
+ @JsonProperty(value = "lastCommitId")
+ private String lastCommitId;
+
+ /**
+ * VSTS tenant id.
+ */
+ @JsonProperty(value = "tenantId")
+ private String tenantId;
+
+ /**
+ * Get vSTS account name.
+ *
+ * @return the accountName value
+ */
+ public String accountName() {
+ return this.accountName;
+ }
+
+ /**
+ * Set vSTS account name.
+ *
+ * @param accountName the accountName value to set
+ * @return the FactoryVSTSConfiguration object itself.
+ */
+ public FactoryVSTSConfiguration withAccountName(String accountName) {
+ this.accountName = accountName;
+ return this;
+ }
+
+ /**
+ * Get vSTS project name.
+ *
+ * @return the projectName value
+ */
+ public String projectName() {
+ return this.projectName;
+ }
+
+ /**
+ * Set vSTS project name.
+ *
+ * @param projectName the projectName value to set
+ * @return the FactoryVSTSConfiguration object itself.
+ */
+ public FactoryVSTSConfiguration withProjectName(String projectName) {
+ this.projectName = projectName;
+ return this;
+ }
+
+ /**
+ * Get vSTS repository name.
+ *
+ * @return the repositoryName value
+ */
+ public String repositoryName() {
+ return this.repositoryName;
+ }
+
+ /**
+ * Set vSTS repository name.
+ *
+ * @param repositoryName the repositoryName value to set
+ * @return the FactoryVSTSConfiguration object itself.
+ */
+ public FactoryVSTSConfiguration withRepositoryName(String repositoryName) {
+ this.repositoryName = repositoryName;
+ return this;
+ }
+
+ /**
+ * Get vSTS collaboration branch.
+ *
+ * @return the collaborationBranch value
+ */
+ public String collaborationBranch() {
+ return this.collaborationBranch;
+ }
+
+ /**
+ * Set vSTS collaboration branch.
+ *
+ * @param collaborationBranch the collaborationBranch value to set
+ * @return the FactoryVSTSConfiguration object itself.
+ */
+ public FactoryVSTSConfiguration withCollaborationBranch(String collaborationBranch) {
+ this.collaborationBranch = collaborationBranch;
+ return this;
+ }
+
+ /**
+ * Get vSTS root folder.
+ *
+ * @return the rootFolder value
+ */
+ public String rootFolder() {
+ return this.rootFolder;
+ }
+
+ /**
+ * Set vSTS root folder.
+ *
+ * @param rootFolder the rootFolder value to set
+ * @return the FactoryVSTSConfiguration object itself.
+ */
+ public FactoryVSTSConfiguration withRootFolder(String rootFolder) {
+ this.rootFolder = rootFolder;
+ return this;
+ }
+
+ /**
+ * Get vSTS last commit id.
+ *
+ * @return the lastCommitId value
+ */
+ public String lastCommitId() {
+ return this.lastCommitId;
+ }
+
+ /**
+ * Set vSTS last commit id.
+ *
+ * @param lastCommitId the lastCommitId value to set
+ * @return the FactoryVSTSConfiguration object itself.
+ */
+ public FactoryVSTSConfiguration withLastCommitId(String lastCommitId) {
+ this.lastCommitId = lastCommitId;
+ return this;
+ }
+
+ /**
+ * Get vSTS tenant id.
+ *
+ * @return the tenantId value
+ */
+ public String tenantId() {
+ return this.tenantId;
+ }
+
+ /**
+ * Set vSTS tenant id.
+ *
+ * @param tenantId the tenantId value to set
+ * @return the FactoryVSTSConfiguration object itself.
+ */
+ public FactoryVSTSConfiguration withTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FileServerLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FileServerLinkedService.java
new file mode 100644
index 0000000000000..d0a880a5f2692
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FileServerLinkedService.java
@@ -0,0 +1,132 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * File system linked service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = FileServerLinkedService.class)
+@JsonTypeName("FileServer")
+@JsonFlatten
+public class FileServerLinkedService extends LinkedServiceInner {
+ /**
+ * Host name of the server. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.host", required = true)
+ private Object host;
+
+ /**
+ * User ID to logon the server. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.userId")
+ private Object userId;
+
+ /**
+ * Password to logon the server.
+ */
+ @JsonProperty(value = "typeProperties.password")
+ private SecretBase password;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * Get host name of the server. Type: string (or Expression with resultType string).
+ *
+ * @return the host value
+ */
+ public Object host() {
+ return this.host;
+ }
+
+ /**
+ * Set host name of the server. Type: string (or Expression with resultType string).
+ *
+ * @param host the host value to set
+ * @return the FileServerLinkedService object itself.
+ */
+ public FileServerLinkedService withHost(Object host) {
+ this.host = host;
+ return this;
+ }
+
+ /**
+ * Get user ID to logon the server. Type: string (or Expression with resultType string).
+ *
+ * @return the userId value
+ */
+ public Object userId() {
+ return this.userId;
+ }
+
+ /**
+ * Set user ID to logon the server. Type: string (or Expression with resultType string).
+ *
+ * @param userId the userId value to set
+ * @return the FileServerLinkedService object itself.
+ */
+ public FileServerLinkedService withUserId(Object userId) {
+ this.userId = userId;
+ return this;
+ }
+
+ /**
+ * Get password to logon the server.
+ *
+ * @return the password value
+ */
+ public SecretBase password() {
+ return this.password;
+ }
+
+ /**
+ * Set password to logon the server.
+ *
+ * @param password the password value to set
+ * @return the FileServerLinkedService object itself.
+ */
+ public FileServerLinkedService withPassword(SecretBase password) {
+ this.password = password;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the FileServerLinkedService object itself.
+ */
+ public FileServerLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FileShareDataset.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FileShareDataset.java
new file mode 100644
index 0000000000000..75c964486d41a
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FileShareDataset.java
@@ -0,0 +1,158 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.DatasetInner;
+
+/**
+ * An on-premises file system dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = FileShareDataset.class)
+@JsonTypeName("FileShare")
+@JsonFlatten
+public class FileShareDataset extends DatasetInner {
+ /**
+ * The path of the on-premises file system. Type: string (or Expression
+ * with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.folderPath")
+ private Object folderPath;
+
+ /**
+ * The name of the on-premises file system. Type: string (or Expression
+ * with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.fileName")
+ private Object fileName;
+
+ /**
+ * The format of the files.
+ */
+ @JsonProperty(value = "typeProperties.format")
+ private DatasetStorageFormat format;
+
+ /**
+ * Specify a filter to be used to select a subset of files in the
+ * folderPath rather than all files. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.fileFilter")
+ private Object fileFilter;
+
+ /**
+ * The data compression method used for the file system.
+ */
+ @JsonProperty(value = "typeProperties.compression")
+ private DatasetCompression compression;
+
+ /**
+ * Get the path of the on-premises file system. Type: string (or Expression with resultType string).
+ *
+ * @return the folderPath value
+ */
+ public Object folderPath() {
+ return this.folderPath;
+ }
+
+ /**
+ * Set the path of the on-premises file system. Type: string (or Expression with resultType string).
+ *
+ * @param folderPath the folderPath value to set
+ * @return the FileShareDataset object itself.
+ */
+ public FileShareDataset withFolderPath(Object folderPath) {
+ this.folderPath = folderPath;
+ return this;
+ }
+
+ /**
+ * Get the name of the on-premises file system. Type: string (or Expression with resultType string).
+ *
+ * @return the fileName value
+ */
+ public Object fileName() {
+ return this.fileName;
+ }
+
+ /**
+ * Set the name of the on-premises file system. Type: string (or Expression with resultType string).
+ *
+ * @param fileName the fileName value to set
+ * @return the FileShareDataset object itself.
+ */
+ public FileShareDataset withFileName(Object fileName) {
+ this.fileName = fileName;
+ return this;
+ }
+
+ /**
+ * Get the format of the files.
+ *
+ * @return the format value
+ */
+ public DatasetStorageFormat format() {
+ return this.format;
+ }
+
+ /**
+ * Set the format of the files.
+ *
+ * @param format the format value to set
+ * @return the FileShareDataset object itself.
+ */
+ public FileShareDataset withFormat(DatasetStorageFormat format) {
+ this.format = format;
+ return this;
+ }
+
+ /**
+ * Get specify a filter to be used to select a subset of files in the folderPath rather than all files. Type: string (or Expression with resultType string).
+ *
+ * @return the fileFilter value
+ */
+ public Object fileFilter() {
+ return this.fileFilter;
+ }
+
+ /**
+ * Set specify a filter to be used to select a subset of files in the folderPath rather than all files. Type: string (or Expression with resultType string).
+ *
+ * @param fileFilter the fileFilter value to set
+ * @return the FileShareDataset object itself.
+ */
+ public FileShareDataset withFileFilter(Object fileFilter) {
+ this.fileFilter = fileFilter;
+ return this;
+ }
+
+ /**
+ * Get the data compression method used for the file system.
+ *
+ * @return the compression value
+ */
+ public DatasetCompression compression() {
+ return this.compression;
+ }
+
+ /**
+ * Set the data compression method used for the file system.
+ *
+ * @param compression the compression value to set
+ * @return the FileShareDataset object itself.
+ */
+ public FileShareDataset withCompression(DatasetCompression compression) {
+ this.compression = compression;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FileSystemSink.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FileSystemSink.java
new file mode 100644
index 0000000000000..e8b6a5ce2665a
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FileSystemSink.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity file system sink.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = FileSystemSink.class)
+@JsonTypeName("FileSystemSink")
+public class FileSystemSink extends CopySink {
+ /**
+ * The type of copy behavior for copy sink.
+ */
+ @JsonProperty(value = "copyBehavior")
+ private Object copyBehavior;
+
+ /**
+ * Get the type of copy behavior for copy sink.
+ *
+ * @return the copyBehavior value
+ */
+ public Object copyBehavior() {
+ return this.copyBehavior;
+ }
+
+ /**
+ * Set the type of copy behavior for copy sink.
+ *
+ * @param copyBehavior the copyBehavior value to set
+ * @return the FileSystemSink object itself.
+ */
+ public FileSystemSink withCopyBehavior(Object copyBehavior) {
+ this.copyBehavior = copyBehavior;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FileSystemSource.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FileSystemSource.java
new file mode 100644
index 0000000000000..5d6e467d0ffa3
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FileSystemSource.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/**
+ * A copy activity file system source.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = FileSystemSource.class)
+@JsonTypeName("FileSystemSource")
+public class FileSystemSource extends CopySource {
+ /**
+ * If true, files under the folder path will be read recursively. Default
+ * is true. Type: boolean (or Expression with resultType boolean).
+ */
+ @JsonProperty(value = "recursive")
+ private Object recursive;
+
+ /**
+ * Get if true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
+ *
+ * @return the recursive value
+ */
+ public Object recursive() {
+ return this.recursive;
+ }
+
+ /**
+ * Set if true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean).
+ *
+ * @param recursive the recursive value to set
+ * @return the FileSystemSource object itself.
+ */
+ public FileSystemSource withRecursive(Object recursive) {
+ this.recursive = recursive;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FilterActivity.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FilterActivity.java
new file mode 100644
index 0000000000000..0bcdf6c4c8272
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FilterActivity.java
@@ -0,0 +1,75 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Filter and return results from input array based on the conditions.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = FilterActivity.class)
+@JsonTypeName("Filter")
+@JsonFlatten
+public class FilterActivity extends ControlActivity {
+ /**
+ * Input array on which filter should be applied.
+ */
+ @JsonProperty(value = "typeProperties.items", required = true)
+ private Expression items;
+
+ /**
+ * Condition to be used for filtering the input.
+ */
+ @JsonProperty(value = "typeProperties.condition", required = true)
+ private Expression condition;
+
+ /**
+ * Get input array on which filter should be applied.
+ *
+ * @return the items value
+ */
+ public Expression items() {
+ return this.items;
+ }
+
+ /**
+ * Set input array on which filter should be applied.
+ *
+ * @param items the items value to set
+ * @return the FilterActivity object itself.
+ */
+ public FilterActivity withItems(Expression items) {
+ this.items = items;
+ return this;
+ }
+
+ /**
+ * Get condition to be used for filtering the input.
+ *
+ * @return the condition value
+ */
+ public Expression condition() {
+ return this.condition;
+ }
+
+ /**
+ * Set condition to be used for filtering the input.
+ *
+ * @param condition the condition value to set
+ * @return the FilterActivity object itself.
+ */
+ public FilterActivity withCondition(Expression condition) {
+ this.condition = condition;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ForEachActivity.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ForEachActivity.java
new file mode 100644
index 0000000000000..80a923a4bd963
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/ForEachActivity.java
@@ -0,0 +1,130 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * This activity is used for iterating over a collection and execute given
+ * activities.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = ForEachActivity.class)
+@JsonTypeName("ForEach")
+@JsonFlatten
+public class ForEachActivity extends ControlActivity {
+ /**
+ * Should the loop be executed in sequence or in parallel (max 50).
+ */
+ @JsonProperty(value = "typeProperties.isSequential")
+ private Boolean isSequential;
+
+ /**
+ * Batch count to be used for controlling the number of parallel execution
+ * (when isSequential is set to false).
+ */
+ @JsonProperty(value = "typeProperties.batchCount")
+ private Integer batchCount;
+
+ /**
+ * Collection to iterate.
+ */
+ @JsonProperty(value = "typeProperties.items", required = true)
+ private Expression items;
+
+ /**
+ * List of activities to execute .
+ */
+ @JsonProperty(value = "typeProperties.activities", required = true)
+ private List activities;
+
+ /**
+ * Get should the loop be executed in sequence or in parallel (max 50).
+ *
+ * @return the isSequential value
+ */
+ public Boolean isSequential() {
+ return this.isSequential;
+ }
+
+ /**
+ * Set should the loop be executed in sequence or in parallel (max 50).
+ *
+ * @param isSequential the isSequential value to set
+ * @return the ForEachActivity object itself.
+ */
+ public ForEachActivity withIsSequential(Boolean isSequential) {
+ this.isSequential = isSequential;
+ return this;
+ }
+
+ /**
+ * Get batch count to be used for controlling the number of parallel execution (when isSequential is set to false).
+ *
+ * @return the batchCount value
+ */
+ public Integer batchCount() {
+ return this.batchCount;
+ }
+
+ /**
+ * Set batch count to be used for controlling the number of parallel execution (when isSequential is set to false).
+ *
+ * @param batchCount the batchCount value to set
+ * @return the ForEachActivity object itself.
+ */
+ public ForEachActivity withBatchCount(Integer batchCount) {
+ this.batchCount = batchCount;
+ return this;
+ }
+
+ /**
+ * Get collection to iterate.
+ *
+ * @return the items value
+ */
+ public Expression items() {
+ return this.items;
+ }
+
+ /**
+ * Set collection to iterate.
+ *
+ * @param items the items value to set
+ * @return the ForEachActivity object itself.
+ */
+ public ForEachActivity withItems(Expression items) {
+ this.items = items;
+ return this;
+ }
+
+ /**
+ * Get list of activities to execute .
+ *
+ * @return the activities value
+ */
+ public List activities() {
+ return this.activities;
+ }
+
+ /**
+ * Set list of activities to execute .
+ *
+ * @param activities the activities value to set
+ * @return the ForEachActivity object itself.
+ */
+ public ForEachActivity withActivities(List activities) {
+ this.activities = activities;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FtpAuthenticationType.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FtpAuthenticationType.java
new file mode 100644
index 0000000000000..8488ab3f45531
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FtpAuthenticationType.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.Collection;
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.microsoft.rest.ExpandableStringEnum;
+
+/**
+ * Defines values for FtpAuthenticationType.
+ */
+public final class FtpAuthenticationType extends ExpandableStringEnum {
+ /** Static value Basic for FtpAuthenticationType. */
+ public static final FtpAuthenticationType BASIC = fromString("Basic");
+
+ /** Static value Anonymous for FtpAuthenticationType. */
+ public static final FtpAuthenticationType ANONYMOUS = fromString("Anonymous");
+
+ /**
+ * Creates or finds a FtpAuthenticationType from its string representation.
+ * @param name a name to look for
+ * @return the corresponding FtpAuthenticationType
+ */
+ @JsonCreator
+ public static FtpAuthenticationType fromString(String name) {
+ return fromString(name, FtpAuthenticationType.class);
+ }
+
+ /**
+ * @return known FtpAuthenticationType values
+ */
+ public static Collection values() {
+ return values(FtpAuthenticationType.class);
+ }
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FtpServerLinkedService.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FtpServerLinkedService.java
new file mode 100644
index 0000000000000..7eba5f22bdb87
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/FtpServerLinkedService.java
@@ -0,0 +1,242 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+import com.microsoft.azure.management.datafactory.v2017_09_01_preview.implementation.LinkedServiceInner;
+
+/**
+ * A FTP server Linked Service.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = FtpServerLinkedService.class)
+@JsonTypeName("FtpServer")
+@JsonFlatten
+public class FtpServerLinkedService extends LinkedServiceInner {
+ /**
+ * Host name of the FTP server. Type: string (or Expression with resultType
+ * string).
+ */
+ @JsonProperty(value = "typeProperties.host", required = true)
+ private Object host;
+
+ /**
+ * The TCP port number that the FTP server uses to listen for client
+ * connections. Default value is 21. Type: integer (or Expression with
+ * resultType integer), minimum: 0.
+ */
+ @JsonProperty(value = "typeProperties.port")
+ private Object port;
+
+ /**
+ * The authentication type to be used to connect to the FTP server.
+ * Possible values include: 'Basic', 'Anonymous'.
+ */
+ @JsonProperty(value = "typeProperties.authenticationType")
+ private FtpAuthenticationType authenticationType;
+
+ /**
+ * Username to logon the FTP server. Type: string (or Expression with
+ * resultType string).
+ */
+ @JsonProperty(value = "typeProperties.userName")
+ private Object userName;
+
+ /**
+ * Password to logon the FTP server.
+ */
+ @JsonProperty(value = "typeProperties.password")
+ private SecretBase password;
+
+ /**
+ * The encrypted credential used for authentication. Credentials are
+ * encrypted using the integration runtime credential manager. Type: string
+ * (or Expression with resultType string).
+ */
+ @JsonProperty(value = "typeProperties.encryptedCredential")
+ private Object encryptedCredential;
+
+ /**
+ * If true, connect to the FTP server over SSL/TLS channel. Default value
+ * is true. Type: boolean (or Expression with resultType boolean).
+ */
+ @JsonProperty(value = "typeProperties.enableSsl")
+ private Object enableSsl;
+
+ /**
+ * If true, validate the FTP server SSL certificate when connect over
+ * SSL/TLS channel. Default value is true. Type: boolean (or Expression
+ * with resultType boolean).
+ */
+ @JsonProperty(value = "typeProperties.enableServerCertificateValidation")
+ private Object enableServerCertificateValidation;
+
+ /**
+ * Get host name of the FTP server. Type: string (or Expression with resultType string).
+ *
+ * @return the host value
+ */
+ public Object host() {
+ return this.host;
+ }
+
+ /**
+ * Set host name of the FTP server. Type: string (or Expression with resultType string).
+ *
+ * @param host the host value to set
+ * @return the FtpServerLinkedService object itself.
+ */
+ public FtpServerLinkedService withHost(Object host) {
+ this.host = host;
+ return this;
+ }
+
+ /**
+ * Get the TCP port number that the FTP server uses to listen for client connections. Default value is 21. Type: integer (or Expression with resultType integer), minimum: 0.
+ *
+ * @return the port value
+ */
+ public Object port() {
+ return this.port;
+ }
+
+ /**
+ * Set the TCP port number that the FTP server uses to listen for client connections. Default value is 21. Type: integer (or Expression with resultType integer), minimum: 0.
+ *
+ * @param port the port value to set
+ * @return the FtpServerLinkedService object itself.
+ */
+ public FtpServerLinkedService withPort(Object port) {
+ this.port = port;
+ return this;
+ }
+
+ /**
+ * Get the authentication type to be used to connect to the FTP server. Possible values include: 'Basic', 'Anonymous'.
+ *
+ * @return the authenticationType value
+ */
+ public FtpAuthenticationType authenticationType() {
+ return this.authenticationType;
+ }
+
+ /**
+ * Set the authentication type to be used to connect to the FTP server. Possible values include: 'Basic', 'Anonymous'.
+ *
+ * @param authenticationType the authenticationType value to set
+ * @return the FtpServerLinkedService object itself.
+ */
+ public FtpServerLinkedService withAuthenticationType(FtpAuthenticationType authenticationType) {
+ this.authenticationType = authenticationType;
+ return this;
+ }
+
+ /**
+ * Get username to logon the FTP server. Type: string (or Expression with resultType string).
+ *
+ * @return the userName value
+ */
+ public Object userName() {
+ return this.userName;
+ }
+
+ /**
+ * Set username to logon the FTP server. Type: string (or Expression with resultType string).
+ *
+ * @param userName the userName value to set
+ * @return the FtpServerLinkedService object itself.
+ */
+ public FtpServerLinkedService withUserName(Object userName) {
+ this.userName = userName;
+ return this;
+ }
+
+ /**
+ * Get password to logon the FTP server.
+ *
+ * @return the password value
+ */
+ public SecretBase password() {
+ return this.password;
+ }
+
+ /**
+ * Set password to logon the FTP server.
+ *
+ * @param password the password value to set
+ * @return the FtpServerLinkedService object itself.
+ */
+ public FtpServerLinkedService withPassword(SecretBase password) {
+ this.password = password;
+ return this;
+ }
+
+ /**
+ * Get the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @return the encryptedCredential value
+ */
+ public Object encryptedCredential() {
+ return this.encryptedCredential;
+ }
+
+ /**
+ * Set the encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).
+ *
+ * @param encryptedCredential the encryptedCredential value to set
+ * @return the FtpServerLinkedService object itself.
+ */
+ public FtpServerLinkedService withEncryptedCredential(Object encryptedCredential) {
+ this.encryptedCredential = encryptedCredential;
+ return this;
+ }
+
+ /**
+ * Get if true, connect to the FTP server over SSL/TLS channel. Default value is true. Type: boolean (or Expression with resultType boolean).
+ *
+ * @return the enableSsl value
+ */
+ public Object enableSsl() {
+ return this.enableSsl;
+ }
+
+ /**
+ * Set if true, connect to the FTP server over SSL/TLS channel. Default value is true. Type: boolean (or Expression with resultType boolean).
+ *
+ * @param enableSsl the enableSsl value to set
+ * @return the FtpServerLinkedService object itself.
+ */
+ public FtpServerLinkedService withEnableSsl(Object enableSsl) {
+ this.enableSsl = enableSsl;
+ return this;
+ }
+
+ /**
+ * Get if true, validate the FTP server SSL certificate when connect over SSL/TLS channel. Default value is true. Type: boolean (or Expression with resultType boolean).
+ *
+ * @return the enableServerCertificateValidation value
+ */
+ public Object enableServerCertificateValidation() {
+ return this.enableServerCertificateValidation;
+ }
+
+ /**
+ * Set if true, validate the FTP server SSL certificate when connect over SSL/TLS channel. Default value is true. Type: boolean (or Expression with resultType boolean).
+ *
+ * @param enableServerCertificateValidation the enableServerCertificateValidation value to set
+ * @return the FtpServerLinkedService object itself.
+ */
+ public FtpServerLinkedService withEnableServerCertificateValidation(Object enableServerCertificateValidation) {
+ this.enableServerCertificateValidation = enableServerCertificateValidation;
+ return this;
+ }
+
+}
diff --git a/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/GetMetadataActivity.java b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/GetMetadataActivity.java
new file mode 100644
index 0000000000000..fad68421e4e00
--- /dev/null
+++ b/sdk/datafactory/mgmt-v2017_09_01_preview/src/main/java/com/microsoft/azure/management/datafactory/v2017_09_01_preview/GetMetadataActivity.java
@@ -0,0 +1,76 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.datafactory.v2017_09_01_preview;
+
+import java.util.List;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+import com.microsoft.rest.serializer.JsonFlatten;
+
+/**
+ * Activity to get metadata of dataset.
+ */
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type", defaultImpl = GetMetadataActivity.class)
+@JsonTypeName("GetMetadata")
+@JsonFlatten
+public class GetMetadataActivity extends ExecutionActivity {
+ /**
+ * GetMetadata activity dataset reference.
+ */
+ @JsonProperty(value = "typeProperties.dataset", required = true)
+ private DatasetReference dataset;
+
+ /**
+ * Fields of metadata to get from dataset.
+ */
+ @JsonProperty(value = "typeProperties.fieldList")
+ private List