scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private RetryOptions retryOptions;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the retry options for the HTTP pipeline retry policy.
+ *
+ * This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}.
+ *
+ * @param retryOptions the retry options for the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryOptions(RetryOptions retryOptions) {
+ this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval
+ = Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of Azuredatatransfer service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Azuredatatransfer service API instance.
+ */
+ public AzuredatatransferManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder.append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.azuredatatransfer")
+ .append("/")
+ .append(clientVersion);
+ if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
+ userAgentBuilder.append(" (")
+ .append(Configuration.getGlobalConfiguration().get("java.version"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.name"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.version"))
+ .append("; auto-generated)");
+ } else {
+ userAgentBuilder.append(" (auto-generated)");
+ }
+
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ if (retryOptions != null) {
+ retryPolicy = new RetryPolicy(retryOptions);
+ } else {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new AddHeadersFromContextPolicy());
+ policies.add(new RequestIdPolicy());
+ policies.addAll(this.policies.stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new BearerTokenAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies.addAll(this.policies.stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline = new HttpPipelineBuilder().httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new AzuredatatransferManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * Gets the resource collection API of AzureDataTransfers.
+ *
+ * @return Resource collection API of AzureDataTransfers.
+ */
+ public AzureDataTransfers azureDataTransfers() {
+ if (this.azureDataTransfers == null) {
+ this.azureDataTransfers = new AzureDataTransfersImpl(clientObject.getAzureDataTransfers(), this);
+ }
+ return azureDataTransfers;
+ }
+
+ /**
+ * Gets the resource collection API of Operations.
+ *
+ * @return Resource collection API of Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /**
+ * Gets the resource collection API of Connections. It manages Connection.
+ *
+ * @return Resource collection API of Connections.
+ */
+ public Connections connections() {
+ if (this.connections == null) {
+ this.connections = new ConnectionsImpl(clientObject.getConnections(), this);
+ }
+ return connections;
+ }
+
+ /**
+ * Gets the resource collection API of Pipelines. It manages Pipeline.
+ *
+ * @return Resource collection API of Pipelines.
+ */
+ public Pipelines pipelines() {
+ if (this.pipelines == null) {
+ this.pipelines = new PipelinesImpl(clientObject.getPipelines(), this);
+ }
+ return pipelines;
+ }
+
+ /**
+ * Gets the resource collection API of Flows. It manages Flow.
+ *
+ * @return Resource collection API of Flows.
+ */
+ public Flows flows() {
+ if (this.flows == null) {
+ this.flows = new FlowsImpl(clientObject.getFlows(), this);
+ }
+ return flows;
+ }
+
+ /**
+ * Gets wrapped service client Azuredatatransferrp providing direct access to the underlying auto-generated API
+ * implementation, based on Azure REST API.
+ *
+ * @return Wrapped service client Azuredatatransferrp.
+ */
+ public Azuredatatransferrp serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/AzureDataTransfersClient.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/AzureDataTransfersClient.java
new file mode 100644
index 000000000000..798dc2a9dc28
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/AzureDataTransfersClient.java
@@ -0,0 +1,69 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.SchemasListResultInner;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.ValidateSchemaResultInner;
+import com.azure.resourcemanager.azuredatatransfer.models.ListApprovedSchemasRequest;
+import com.azure.resourcemanager.azuredatatransfer.models.Schema;
+
+/**
+ * An instance of this class provides access to all the operations defined in AzureDataTransfersClient.
+ */
+public interface AzureDataTransfersClient {
+ /**
+ * Lists approved schemas for Azure Data Transfer.
+ *
+ * @param body The request body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the schemas list result along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listApprovedSchemasWithResponse(ListApprovedSchemasRequest body, Context context);
+
+ /**
+ * Lists approved schemas for Azure Data Transfer.
+ *
+ * @param body The request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the schemas list result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SchemasListResultInner listApprovedSchemas(ListApprovedSchemasRequest body);
+
+ /**
+ * Validates a schema for Azure Data Transfer.
+ *
+ * @param body The request body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the schema validation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response validateSchemaWithResponse(Schema body, Context context);
+
+ /**
+ * Validates a schema for Azure Data Transfer.
+ *
+ * @param body The request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the schema validation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ValidateSchemaResultInner validateSchema(Schema body);
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/Azuredatatransferrp.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/Azuredatatransferrp.java
new file mode 100644
index 000000000000..fc82db85337c
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/Azuredatatransferrp.java
@@ -0,0 +1,83 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/**
+ * The interface for Azuredatatransferrp class.
+ */
+public interface Azuredatatransferrp {
+ /**
+ * Gets The ID of the target subscription. The value must be an UUID.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the AzureDataTransfersClient object to access its operations.
+ *
+ * @return the AzureDataTransfersClient object.
+ */
+ AzureDataTransfersClient getAzureDataTransfers();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the ConnectionsClient object to access its operations.
+ *
+ * @return the ConnectionsClient object.
+ */
+ ConnectionsClient getConnections();
+
+ /**
+ * Gets the PipelinesClient object to access its operations.
+ *
+ * @return the PipelinesClient object.
+ */
+ PipelinesClient getPipelines();
+
+ /**
+ * Gets the FlowsClient object to access its operations.
+ *
+ * @return the FlowsClient object.
+ */
+ FlowsClient getFlows();
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/ConnectionsClient.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/ConnectionsClient.java
new file mode 100644
index 000000000000..d72abf3e5988
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/ConnectionsClient.java
@@ -0,0 +1,356 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.ConnectionInner;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.PendingConnectionInner;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.PendingFlowInner;
+import com.azure.resourcemanager.azuredatatransfer.models.ConnectionsPatch;
+import com.azure.resourcemanager.azuredatatransfer.models.ResourceBody;
+
+/**
+ * An instance of this class provides access to all the operations defined in ConnectionsClient.
+ */
+public interface ConnectionsClient {
+ /**
+ * Gets connections in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connections in a subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription();
+
+ /**
+ * Gets connections in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connections in a subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription(Context context);
+
+ /**
+ * Gets connections in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connections in a resource group as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets connections in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connections in a resource group as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets connection resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connection resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String connectionName,
+ Context context);
+
+ /**
+ * Gets connection resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connection resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionInner getByResourceGroup(String resourceGroupName, String connectionName);
+
+ /**
+ * Creates or updates the connection resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param resource Connection body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the connection resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(String resourceGroupName, String connectionName,
+ ConnectionInner resource, Context context);
+
+ /**
+ * Creates or updates the connection resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param resource Connection body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionInner createOrUpdate(String resourceGroupName, String connectionName, ConnectionInner resource);
+
+ /**
+ * Updates the connection resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param properties Connection body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ConnectionInner> beginUpdate(String resourceGroupName,
+ String connectionName, ConnectionsPatch properties);
+
+ /**
+ * Updates the connection resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param properties Connection body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ConnectionInner> beginUpdate(String resourceGroupName,
+ String connectionName, ConnectionsPatch properties, Context context);
+
+ /**
+ * Updates the connection resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param properties Connection body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionInner update(String resourceGroupName, String connectionName, ConnectionsPatch properties);
+
+ /**
+ * Updates the connection resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param properties Connection body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionInner update(String resourceGroupName, String connectionName, ConnectionsPatch properties,
+ Context context);
+
+ /**
+ * Deletes the connection resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String connectionName);
+
+ /**
+ * Deletes the connection resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String connectionName, Context context);
+
+ /**
+ * Deletes the connection resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String connectionName);
+
+ /**
+ * Deletes the connection resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String connectionName, Context context);
+
+ /**
+ * Links the connection to its pending connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param body Connection body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ConnectionInner> beginLink(String resourceGroupName, String connectionName,
+ ResourceBody body);
+
+ /**
+ * Links the connection to its pending connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param body Connection body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ConnectionInner> beginLink(String resourceGroupName, String connectionName,
+ ResourceBody body, Context context);
+
+ /**
+ * Links the connection to its pending connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param body Connection body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionInner link(String resourceGroupName, String connectionName, ResourceBody body);
+
+ /**
+ * Links the connection to its pending connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param body Connection body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionInner link(String resourceGroupName, String connectionName, ResourceBody body, Context context);
+
+ /**
+ * Lists all pending connections for a connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a PendingConnection list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String connectionName);
+
+ /**
+ * Lists all pending connections for a connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a PendingConnection list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String connectionName, Context context);
+
+ /**
+ * Lists all pending flows for a connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a PendingFlow list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listPendingFlowsList(String resourceGroupName, String connectionName);
+
+ /**
+ * Lists all pending flows for a connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of a PendingFlow list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listPendingFlowsList(String resourceGroupName, String connectionName,
+ Context context);
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/FlowsClient.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/FlowsClient.java
new file mode 100644
index 000000000000..2eb3779ca08a
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/FlowsClient.java
@@ -0,0 +1,871 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.FlowInner;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.GetDestinationEndpointPortsResultInner;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.GetDestinationEndpointsResultInner;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.GetStreamConnectionStringResultInner;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.StreamSourceAddressesInner;
+import com.azure.resourcemanager.azuredatatransfer.models.FlowsPatch;
+import com.azure.resourcemanager.azuredatatransfer.models.ResourceBody;
+import com.azure.resourcemanager.azuredatatransfer.models.SetDestinationEndpointPorts;
+import com.azure.resourcemanager.azuredatatransfer.models.SetDestinationEndpoints;
+import com.azure.resourcemanager.azuredatatransfer.models.SetSourceAddresses;
+import com.azure.resourcemanager.azuredatatransfer.models.SetStreamPassphrase;
+
+/**
+ * An instance of this class provides access to all the operations defined in FlowsClient.
+ */
+public interface FlowsClient {
+ /**
+ * Gets flows in a connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return flows in a connection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByConnection(String resourceGroupName, String connectionName);
+
+ /**
+ * Gets flows in a connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return flows in a connection as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByConnection(String resourceGroupName, String connectionName, Context context);
+
+ /**
+ * Gets flow resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return flow resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String connectionName, String flowName,
+ Context context);
+
+ /**
+ * Gets flow resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return flow resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner get(String resourceGroupName, String connectionName, String flowName);
+
+ /**
+ * Creates or updates the flow resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param resource Flow body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(String resourceGroupName, String connectionName, String flowName,
+ FlowInner resource, Context context);
+
+ /**
+ * Creates or updates the flow resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param resource Flow body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner createOrUpdate(String resourceGroupName, String connectionName, String flowName, FlowInner resource);
+
+ /**
+ * Updates the flow resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param properties Flow body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginUpdate(String resourceGroupName, String connectionName,
+ String flowName, FlowsPatch properties);
+
+ /**
+ * Updates the flow resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param properties Flow body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginUpdate(String resourceGroupName, String connectionName,
+ String flowName, FlowsPatch properties, Context context);
+
+ /**
+ * Updates the flow resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param properties Flow body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner update(String resourceGroupName, String connectionName, String flowName, FlowsPatch properties);
+
+ /**
+ * Updates the flow resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param properties Flow body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner update(String resourceGroupName, String connectionName, String flowName, FlowsPatch properties,
+ Context context);
+
+ /**
+ * Deletes the flow resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String connectionName, String flowName);
+
+ /**
+ * Deletes the flow resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String connectionName, String flowName,
+ Context context);
+
+ /**
+ * Deletes the flow resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String connectionName, String flowName);
+
+ /**
+ * Deletes the flow resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String connectionName, String flowName, Context context);
+
+ /**
+ * Disables the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginDisable(String resourceGroupName, String connectionName,
+ String flowName);
+
+ /**
+ * Disables the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginDisable(String resourceGroupName, String connectionName,
+ String flowName, Context context);
+
+ /**
+ * Disables the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner disable(String resourceGroupName, String connectionName, String flowName);
+
+ /**
+ * Disables the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner disable(String resourceGroupName, String connectionName, String flowName, Context context);
+
+ /**
+ * Enables the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginEnable(String resourceGroupName, String connectionName,
+ String flowName);
+
+ /**
+ * Enables the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginEnable(String resourceGroupName, String connectionName,
+ String flowName, Context context);
+
+ /**
+ * Enables the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner enable(String resourceGroupName, String connectionName, String flowName);
+
+ /**
+ * Enables the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner enable(String resourceGroupName, String connectionName, String flowName, Context context);
+
+ /**
+ * Generate a compliant passphrase for the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginGeneratePassphrase(String resourceGroupName,
+ String connectionName, String flowName);
+
+ /**
+ * Generate a compliant passphrase for the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginGeneratePassphrase(String resourceGroupName,
+ String connectionName, String flowName, Context context);
+
+ /**
+ * Generate a compliant passphrase for the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner generatePassphrase(String resourceGroupName, String connectionName, String flowName);
+
+ /**
+ * Generate a compliant passphrase for the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner generatePassphrase(String resourceGroupName, String connectionName, String flowName, Context context);
+
+ /**
+ * Get the destination endpoint ports for the specified flow and stream ID.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the destination endpoint ports for the specified flow and stream ID along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getDestinationEndpointPortsWithResponse(String resourceGroupName,
+ String connectionName, String flowName, Context context);
+
+ /**
+ * Get the destination endpoint ports for the specified flow and stream ID.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the destination endpoint ports for the specified flow and stream ID.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GetDestinationEndpointPortsResultInner getDestinationEndpointPorts(String resourceGroupName, String connectionName,
+ String flowName);
+
+ /**
+ * Get the destination endpoints for the specified flow and stream ID.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the destination endpoints for the specified flow and stream ID along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getDestinationEndpointsWithResponse(String resourceGroupName,
+ String connectionName, String flowName, Context context);
+
+ /**
+ * Get the destination endpoints for the specified flow and stream ID.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the destination endpoints for the specified flow and stream ID.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GetDestinationEndpointsResultInner getDestinationEndpoints(String resourceGroupName, String connectionName,
+ String flowName);
+
+ /**
+ * Get the source addresses for the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the source addresses for the specified flow along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getSourceAddressesWithResponse(String resourceGroupName, String connectionName,
+ String flowName, Context context);
+
+ /**
+ * Get the source addresses for the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the source addresses for the specified flow.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StreamSourceAddressesInner getSourceAddresses(String resourceGroupName, String connectionName, String flowName);
+
+ /**
+ * Get the connection string for the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the connection string for the specified flow along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getStreamConnectionStringWithResponse(String resourceGroupName,
+ String connectionName, String flowName, Context context);
+
+ /**
+ * Get the connection string for the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the connection string for the specified flow.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GetStreamConnectionStringResultInner getStreamConnectionString(String resourceGroupName, String connectionName,
+ String flowName);
+
+ /**
+ * Links the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Flow body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginLink(String resourceGroupName, String connectionName,
+ String flowName, ResourceBody body);
+
+ /**
+ * Links the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Flow body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginLink(String resourceGroupName, String connectionName,
+ String flowName, ResourceBody body, Context context);
+
+ /**
+ * Links the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Flow body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner link(String resourceGroupName, String connectionName, String flowName, ResourceBody body);
+
+ /**
+ * Links the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Flow body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner link(String resourceGroupName, String connectionName, String flowName, ResourceBody body,
+ Context context);
+
+ /**
+ * Set the destination endpoint ports for the specified flow and stream ID.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Stream ID destination endpoint ports wanted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginSetDestinationEndpointPorts(String resourceGroupName,
+ String connectionName, String flowName, SetDestinationEndpointPorts body);
+
+ /**
+ * Set the destination endpoint ports for the specified flow and stream ID.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Stream ID destination endpoint ports wanted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginSetDestinationEndpointPorts(String resourceGroupName,
+ String connectionName, String flowName, SetDestinationEndpointPorts body, Context context);
+
+ /**
+ * Set the destination endpoint ports for the specified flow and stream ID.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Stream ID destination endpoint ports wanted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner setDestinationEndpointPorts(String resourceGroupName, String connectionName, String flowName,
+ SetDestinationEndpointPorts body);
+
+ /**
+ * Set the destination endpoint ports for the specified flow and stream ID.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Stream ID destination endpoint ports wanted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner setDestinationEndpointPorts(String resourceGroupName, String connectionName, String flowName,
+ SetDestinationEndpointPorts body, Context context);
+
+ /**
+ * Set the destination endpoints for the specified flow and stream ID.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Stream ID destination endpoints wanted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginSetDestinationEndpoints(String resourceGroupName,
+ String connectionName, String flowName, SetDestinationEndpoints body);
+
+ /**
+ * Set the destination endpoints for the specified flow and stream ID.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Stream ID destination endpoints wanted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginSetDestinationEndpoints(String resourceGroupName,
+ String connectionName, String flowName, SetDestinationEndpoints body, Context context);
+
+ /**
+ * Set the destination endpoints for the specified flow and stream ID.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Stream ID destination endpoints wanted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner setDestinationEndpoints(String resourceGroupName, String connectionName, String flowName,
+ SetDestinationEndpoints body);
+
+ /**
+ * Set the destination endpoints for the specified flow and stream ID.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Stream ID destination endpoints wanted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner setDestinationEndpoints(String resourceGroupName, String connectionName, String flowName,
+ SetDestinationEndpoints body, Context context);
+
+ /**
+ * Sets the passphrase of the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Passphrase to set.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginSetPassphrase(String resourceGroupName, String connectionName,
+ String flowName, SetStreamPassphrase body);
+
+ /**
+ * Sets the passphrase of the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Passphrase to set.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginSetPassphrase(String resourceGroupName, String connectionName,
+ String flowName, SetStreamPassphrase body, Context context);
+
+ /**
+ * Sets the passphrase of the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Passphrase to set.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner setPassphrase(String resourceGroupName, String connectionName, String flowName, SetStreamPassphrase body);
+
+ /**
+ * Sets the passphrase of the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Passphrase to set.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner setPassphrase(String resourceGroupName, String connectionName, String flowName, SetStreamPassphrase body,
+ Context context);
+
+ /**
+ * Set the source addresses for the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Source addresses wanted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginSetSourceAddresses(String resourceGroupName,
+ String connectionName, String flowName, SetSourceAddresses body);
+
+ /**
+ * Set the source addresses for the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Source addresses wanted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FlowInner> beginSetSourceAddresses(String resourceGroupName,
+ String connectionName, String flowName, SetSourceAddresses body, Context context);
+
+ /**
+ * Set the source addresses for the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Source addresses wanted.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner setSourceAddresses(String resourceGroupName, String connectionName, String flowName,
+ SetSourceAddresses body);
+
+ /**
+ * Set the source addresses for the specified flow.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param connectionName The name for the connection that is to be requested.
+ * @param flowName The name for the flow that is to be onboarded.
+ * @param body Source addresses wanted.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the flow resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FlowInner setSourceAddresses(String resourceGroupName, String connectionName, String flowName,
+ SetSourceAddresses body, Context context);
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/OperationsClient.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/OperationsClient.java
new file mode 100644
index 000000000000..4a1a7639f5e8
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/OperationsClient.java
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.OperationInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in OperationsClient.
+ */
+public interface OperationsClient {
+ /**
+ * List the operations for the provider.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of REST API operations supported by an Azure Resource Provider as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List the operations for the provider.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of REST API operations supported by an Azure Resource Provider as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/PipelinesClient.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/PipelinesClient.java
new file mode 100644
index 000000000000..e00f02f9046e
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/PipelinesClient.java
@@ -0,0 +1,515 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.ConnectionInner;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.ListFlowsByPipelineResultInner;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.PipelineInner;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.SchemasListResultInner;
+import com.azure.resourcemanager.azuredatatransfer.models.Action;
+import com.azure.resourcemanager.azuredatatransfer.models.ConnectionIdList;
+import com.azure.resourcemanager.azuredatatransfer.models.PipelinesPatch;
+import com.azure.resourcemanager.azuredatatransfer.models.ResourceBody;
+import com.azure.resourcemanager.azuredatatransfer.models.Schema;
+
+/**
+ * An instance of this class provides access to all the operations defined in PipelinesClient.
+ */
+public interface PipelinesClient {
+ /**
+ * Gets pipelines in a subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return pipelines in a subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription();
+
+ /**
+ * Gets pipelines in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return pipelines in a subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySubscription(Context context);
+
+ /**
+ * Gets pipelines in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return pipelines in a resource group as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets pipelines in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return pipelines in a resource group as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets pipeline resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return pipeline resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String pipelineName,
+ Context context);
+
+ /**
+ * Gets pipeline resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return pipeline resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PipelineInner getByResourceGroup(String resourceGroupName, String pipelineName);
+
+ /**
+ * Creates or updates the pipeline resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param resource Pipeline body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the pipeline resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PipelineInner> beginCreateOrUpdate(String resourceGroupName,
+ String pipelineName, PipelineInner resource);
+
+ /**
+ * Creates or updates the pipeline resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param resource Pipeline body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the pipeline resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PipelineInner> beginCreateOrUpdate(String resourceGroupName,
+ String pipelineName, PipelineInner resource, Context context);
+
+ /**
+ * Creates or updates the pipeline resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param resource Pipeline body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the pipeline resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PipelineInner createOrUpdate(String resourceGroupName, String pipelineName, PipelineInner resource);
+
+ /**
+ * Creates or updates the pipeline resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param resource Pipeline body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the pipeline resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PipelineInner createOrUpdate(String resourceGroupName, String pipelineName, PipelineInner resource,
+ Context context);
+
+ /**
+ * Updates the pipeline resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param properties Pipeline body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the pipeline resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PipelineInner> beginUpdate(String resourceGroupName, String pipelineName,
+ PipelinesPatch properties);
+
+ /**
+ * Updates the pipeline resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param properties Pipeline body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the pipeline resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PipelineInner> beginUpdate(String resourceGroupName, String pipelineName,
+ PipelinesPatch properties, Context context);
+
+ /**
+ * Updates the pipeline resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param properties Pipeline body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the pipeline resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PipelineInner update(String resourceGroupName, String pipelineName, PipelinesPatch properties);
+
+ /**
+ * Updates the pipeline resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param properties Pipeline body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the pipeline resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PipelineInner update(String resourceGroupName, String pipelineName, PipelinesPatch properties, Context context);
+
+ /**
+ * Deletes the pipeline resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String pipelineName);
+
+ /**
+ * Deletes the pipeline resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String pipelineName, Context context);
+
+ /**
+ * Deletes the pipeline resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String pipelineName);
+
+ /**
+ * Deletes the pipeline resource.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String pipelineName, Context context);
+
+ /**
+ * Approves the specified connection in a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param body Connection body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ConnectionInner> beginApproveConnection(String resourceGroupName,
+ String pipelineName, ResourceBody body);
+
+ /**
+ * Approves the specified connection in a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param body Connection body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ConnectionInner> beginApproveConnection(String resourceGroupName,
+ String pipelineName, ResourceBody body, Context context);
+
+ /**
+ * Approves the specified connection in a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param body Connection body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionInner approveConnection(String resourceGroupName, String pipelineName, ResourceBody body);
+
+ /**
+ * Approves the specified connection in a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param body Connection body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionInner approveConnection(String resourceGroupName, String pipelineName, ResourceBody body,
+ Context context);
+
+ /**
+ * Executes a privileged action for a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param body Action to execute.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the pipeline resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PipelineInner> beginExecuteAction(String resourceGroupName,
+ String pipelineName, Action body);
+
+ /**
+ * Executes a privileged action for a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param body Action to execute.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the pipeline resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PipelineInner> beginExecuteAction(String resourceGroupName,
+ String pipelineName, Action body, Context context);
+
+ /**
+ * Executes a privileged action for a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param body Action to execute.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the pipeline resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PipelineInner executeAction(String resourceGroupName, String pipelineName, Action body);
+
+ /**
+ * Executes a privileged action for a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param body Action to execute.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the pipeline resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PipelineInner executeAction(String resourceGroupName, String pipelineName, Action body, Context context);
+
+ /**
+ * Lists the flows in a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param connections Connection(s) to retrieve flows of.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an array of flow resources along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(String resourceGroupName, String pipelineName,
+ ConnectionIdList connections, Context context);
+
+ /**
+ * Lists the flows in a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an array of flow resources.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ListFlowsByPipelineResultInner list(String resourceGroupName, String pipelineName);
+
+ /**
+ * Lists the schemas for the specified connection in a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param body Schema(s) to retrieve.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the schemas list result along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listSchemasListWithResponse(String resourceGroupName, String pipelineName,
+ Schema body, Context context);
+
+ /**
+ * Lists the schemas for the specified connection in a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param body Schema(s) to retrieve.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the schemas list result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SchemasListResultInner listSchemasList(String resourceGroupName, String pipelineName, Schema body);
+
+ /**
+ * Rejects the specified connection in a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param body Connection body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ConnectionInner> beginRejectConnection(String resourceGroupName,
+ String pipelineName, ResourceBody body);
+
+ /**
+ * Rejects the specified connection in a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param body Connection body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ConnectionInner> beginRejectConnection(String resourceGroupName,
+ String pipelineName, ResourceBody body, Context context);
+
+ /**
+ * Rejects the specified connection in a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param body Connection body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionInner rejectConnection(String resourceGroupName, String pipelineName, ResourceBody body);
+
+ /**
+ * Rejects the specified connection in a pipeline.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param pipelineName The name for the pipeline that is to be requested.
+ * @param body Connection body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the connection resource definition.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConnectionInner rejectConnection(String resourceGroupName, String pipelineName, ResourceBody body, Context context);
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/ConnectionInner.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/ConnectionInner.java
new file mode 100644
index 000000000000..1d323d235b47
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/ConnectionInner.java
@@ -0,0 +1,224 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.azuredatatransfer.models.ConnectionProperties;
+import com.azure.resourcemanager.azuredatatransfer.models.ManagedServiceIdentity;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * The connection resource definition.
+ */
+@Fluent
+public final class ConnectionInner extends Resource {
+ /*
+ * Properties of connection
+ */
+ private ConnectionProperties properties;
+
+ /*
+ * The managed service identities assigned to this resource.
+ */
+ private ManagedServiceIdentity identity;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of ConnectionInner class.
+ */
+ public ConnectionInner() {
+ }
+
+ /**
+ * Get the properties property: Properties of connection.
+ *
+ * @return the properties value.
+ */
+ public ConnectionProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Properties of connection.
+ *
+ * @param properties the properties value to set.
+ * @return the ConnectionInner object itself.
+ */
+ public ConnectionInner withProperties(ConnectionProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the identity property: The managed service identities assigned to this resource.
+ *
+ * @return the identity value.
+ */
+ public ManagedServiceIdentity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: The managed service identities assigned to this resource.
+ *
+ * @param identity the identity value to set.
+ * @return the ConnectionInner object itself.
+ */
+ public ConnectionInner withIdentity(ManagedServiceIdentity identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ConnectionInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ConnectionInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ if (identity() != null) {
+ identity().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("location", location());
+ jsonWriter.writeMapField("tags", tags(), (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("properties", this.properties);
+ jsonWriter.writeJsonField("identity", this.identity);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ConnectionInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ConnectionInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ConnectionInner.
+ */
+ public static ConnectionInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ConnectionInner deserializedConnectionInner = new ConnectionInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedConnectionInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedConnectionInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedConnectionInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedConnectionInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedConnectionInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedConnectionInner.properties = ConnectionProperties.fromJson(reader);
+ } else if ("identity".equals(fieldName)) {
+ deserializedConnectionInner.identity = ManagedServiceIdentity.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedConnectionInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedConnectionInner;
+ });
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/FlowInner.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/FlowInner.java
new file mode 100644
index 000000000000..0f58ff49f081
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/FlowInner.java
@@ -0,0 +1,255 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.azuredatatransfer.models.ManagedServiceIdentity;
+import com.azure.resourcemanager.azuredatatransfer.models.Plan;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * The flow resource definition.
+ */
+@Fluent
+public final class FlowInner extends Resource {
+ /*
+ * Properties of flow
+ */
+ private FlowPropertiesInner properties;
+
+ /*
+ * Details of the resource plan.
+ */
+ private Plan plan;
+
+ /*
+ * The managed service identities assigned to this resource.
+ */
+ private ManagedServiceIdentity identity;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of FlowInner class.
+ */
+ public FlowInner() {
+ }
+
+ /**
+ * Get the properties property: Properties of flow.
+ *
+ * @return the properties value.
+ */
+ public FlowPropertiesInner properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Properties of flow.
+ *
+ * @param properties the properties value to set.
+ * @return the FlowInner object itself.
+ */
+ public FlowInner withProperties(FlowPropertiesInner properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the plan property: Details of the resource plan.
+ *
+ * @return the plan value.
+ */
+ public Plan plan() {
+ return this.plan;
+ }
+
+ /**
+ * Set the plan property: Details of the resource plan.
+ *
+ * @param plan the plan value to set.
+ * @return the FlowInner object itself.
+ */
+ public FlowInner withPlan(Plan plan) {
+ this.plan = plan;
+ return this;
+ }
+
+ /**
+ * Get the identity property: The managed service identities assigned to this resource.
+ *
+ * @return the identity value.
+ */
+ public ManagedServiceIdentity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: The managed service identities assigned to this resource.
+ *
+ * @param identity the identity value to set.
+ * @return the FlowInner object itself.
+ */
+ public FlowInner withIdentity(ManagedServiceIdentity identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public FlowInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public FlowInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ if (plan() != null) {
+ plan().validate();
+ }
+ if (identity() != null) {
+ identity().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("location", location());
+ jsonWriter.writeMapField("tags", tags(), (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("properties", this.properties);
+ jsonWriter.writeJsonField("plan", this.plan);
+ jsonWriter.writeJsonField("identity", this.identity);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of FlowInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of FlowInner if the JsonReader was pointing to an instance of it, or null if it was pointing
+ * to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the FlowInner.
+ */
+ public static FlowInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ FlowInner deserializedFlowInner = new FlowInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedFlowInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedFlowInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedFlowInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedFlowInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedFlowInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedFlowInner.properties = FlowPropertiesInner.fromJson(reader);
+ } else if ("plan".equals(fieldName)) {
+ deserializedFlowInner.plan = Plan.fromJson(reader);
+ } else if ("identity".equals(fieldName)) {
+ deserializedFlowInner.identity = ManagedServiceIdentity.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedFlowInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedFlowInner;
+ });
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/FlowPropertiesInner.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/FlowPropertiesInner.java
new file mode 100644
index 000000000000..48f493899d02
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/FlowPropertiesInner.java
@@ -0,0 +1,853 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.azuredatatransfer.models.ApiFlowOptions;
+import com.azure.resourcemanager.azuredatatransfer.models.DataType;
+import com.azure.resourcemanager.azuredatatransfer.models.FlowStatus;
+import com.azure.resourcemanager.azuredatatransfer.models.FlowType;
+import com.azure.resourcemanager.azuredatatransfer.models.ForceDisabledStatus;
+import com.azure.resourcemanager.azuredatatransfer.models.LinkStatus;
+import com.azure.resourcemanager.azuredatatransfer.models.MessagingOptions;
+import com.azure.resourcemanager.azuredatatransfer.models.ProvisioningState;
+import com.azure.resourcemanager.azuredatatransfer.models.Schema;
+import com.azure.resourcemanager.azuredatatransfer.models.SelectedResource;
+import com.azure.resourcemanager.azuredatatransfer.models.StreamProtocol;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Properties of flow.
+ */
+@Fluent
+public final class FlowPropertiesInner implements JsonSerializable {
+ /*
+ * The connection associated with this flow
+ */
+ private SelectedResource connection;
+
+ /*
+ * Dataflow GUID associated with this flow
+ */
+ private String flowId;
+
+ /*
+ * AME, PME, or TORUS only! AKV Chain Containing SAS Token
+ */
+ private String keyVaultUri;
+
+ /*
+ * Link status of the current flow
+ */
+ private LinkStatus linkStatus;
+
+ /*
+ * Resource ID of the linked flow
+ */
+ private String linkedFlowId;
+
+ /*
+ * Status of the current flow
+ */
+ private FlowStatus status;
+
+ /*
+ * Force disablement status of the current flow
+ */
+ private List forceDisabledStatus;
+
+ /*
+ * Storage Account
+ */
+ private String storageAccountName;
+
+ /*
+ * Storage Account ID
+ */
+ private String storageAccountId;
+
+ /*
+ * Storage Container Name
+ */
+ private String storageContainerName;
+
+ /*
+ * Storage Table Name
+ */
+ private String storageTableName;
+
+ /*
+ * Service Bus Queue ID
+ */
+ private String serviceBusQueueId;
+
+ /*
+ * The flow type for this flow
+ */
+ private FlowType flowType;
+
+ /*
+ * Transfer Storage Blobs or Tables
+ */
+ private DataType dataType;
+
+ /*
+ * Provisioning state of the flow
+ */
+ private ProvisioningState provisioningState;
+
+ /*
+ * The policies for this flow
+ */
+ private List policies;
+
+ /*
+ * The selected schema for this flow
+ */
+ private Schema schema;
+
+ /*
+ * The messaging options for this flow
+ */
+ private MessagingOptions messagingOptions;
+
+ /*
+ * The API Flow configuration options for Azure Data Transfer API Flow type.
+ */
+ private ApiFlowOptions apiFlowOptions;
+
+ /*
+ * The URI to the customer managed key for this flow
+ */
+ private String customerManagedKeyVaultUri;
+
+ /*
+ * The flow stream identifier
+ */
+ private String streamId;
+
+ /*
+ * The protocol of the stream
+ */
+ private StreamProtocol streamProtocol;
+
+ /*
+ * The latency of the stream in milliseconds
+ */
+ private Long streamLatency;
+
+ /*
+ * The passphrase used for SRT streams
+ */
+ private String passphrase;
+
+ /*
+ * The source IP address and CIDR ranges of the stream
+ */
+ private StreamSourceAddressesInner sourceAddresses;
+
+ /*
+ * The destination endpoints of the stream
+ */
+ private List destinationEndpoints;
+
+ /*
+ * The destination endpoint ports of the stream
+ */
+ private List destinationEndpointPorts;
+
+ /*
+ * Event Hub ID
+ */
+ private String eventHubId;
+
+ /*
+ * Event Hub Consumer Group
+ */
+ private String consumerGroup;
+
+ /**
+ * Creates an instance of FlowPropertiesInner class.
+ */
+ public FlowPropertiesInner() {
+ }
+
+ /**
+ * Get the connection property: The connection associated with this flow.
+ *
+ * @return the connection value.
+ */
+ public SelectedResource connection() {
+ return this.connection;
+ }
+
+ /**
+ * Set the connection property: The connection associated with this flow.
+ *
+ * @param connection the connection value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withConnection(SelectedResource connection) {
+ this.connection = connection;
+ return this;
+ }
+
+ /**
+ * Get the flowId property: Dataflow GUID associated with this flow.
+ *
+ * @return the flowId value.
+ */
+ public String flowId() {
+ return this.flowId;
+ }
+
+ /**
+ * Get the keyVaultUri property: AME, PME, or TORUS only! AKV Chain Containing SAS Token.
+ *
+ * @return the keyVaultUri value.
+ */
+ public String keyVaultUri() {
+ return this.keyVaultUri;
+ }
+
+ /**
+ * Set the keyVaultUri property: AME, PME, or TORUS only! AKV Chain Containing SAS Token.
+ *
+ * @param keyVaultUri the keyVaultUri value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withKeyVaultUri(String keyVaultUri) {
+ this.keyVaultUri = keyVaultUri;
+ return this;
+ }
+
+ /**
+ * Get the linkStatus property: Link status of the current flow.
+ *
+ * @return the linkStatus value.
+ */
+ public LinkStatus linkStatus() {
+ return this.linkStatus;
+ }
+
+ /**
+ * Get the linkedFlowId property: Resource ID of the linked flow.
+ *
+ * @return the linkedFlowId value.
+ */
+ public String linkedFlowId() {
+ return this.linkedFlowId;
+ }
+
+ /**
+ * Get the status property: Status of the current flow.
+ *
+ * @return the status value.
+ */
+ public FlowStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: Status of the current flow.
+ *
+ * @param status the status value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withStatus(FlowStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the forceDisabledStatus property: Force disablement status of the current flow.
+ *
+ * @return the forceDisabledStatus value.
+ */
+ public List forceDisabledStatus() {
+ return this.forceDisabledStatus;
+ }
+
+ /**
+ * Get the storageAccountName property: Storage Account.
+ *
+ * @return the storageAccountName value.
+ */
+ public String storageAccountName() {
+ return this.storageAccountName;
+ }
+
+ /**
+ * Set the storageAccountName property: Storage Account.
+ *
+ * @param storageAccountName the storageAccountName value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withStorageAccountName(String storageAccountName) {
+ this.storageAccountName = storageAccountName;
+ return this;
+ }
+
+ /**
+ * Get the storageAccountId property: Storage Account ID.
+ *
+ * @return the storageAccountId value.
+ */
+ public String storageAccountId() {
+ return this.storageAccountId;
+ }
+
+ /**
+ * Set the storageAccountId property: Storage Account ID.
+ *
+ * @param storageAccountId the storageAccountId value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withStorageAccountId(String storageAccountId) {
+ this.storageAccountId = storageAccountId;
+ return this;
+ }
+
+ /**
+ * Get the storageContainerName property: Storage Container Name.
+ *
+ * @return the storageContainerName value.
+ */
+ public String storageContainerName() {
+ return this.storageContainerName;
+ }
+
+ /**
+ * Set the storageContainerName property: Storage Container Name.
+ *
+ * @param storageContainerName the storageContainerName value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withStorageContainerName(String storageContainerName) {
+ this.storageContainerName = storageContainerName;
+ return this;
+ }
+
+ /**
+ * Get the storageTableName property: Storage Table Name.
+ *
+ * @return the storageTableName value.
+ */
+ public String storageTableName() {
+ return this.storageTableName;
+ }
+
+ /**
+ * Set the storageTableName property: Storage Table Name.
+ *
+ * @param storageTableName the storageTableName value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withStorageTableName(String storageTableName) {
+ this.storageTableName = storageTableName;
+ return this;
+ }
+
+ /**
+ * Get the serviceBusQueueId property: Service Bus Queue ID.
+ *
+ * @return the serviceBusQueueId value.
+ */
+ public String serviceBusQueueId() {
+ return this.serviceBusQueueId;
+ }
+
+ /**
+ * Set the serviceBusQueueId property: Service Bus Queue ID.
+ *
+ * @param serviceBusQueueId the serviceBusQueueId value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withServiceBusQueueId(String serviceBusQueueId) {
+ this.serviceBusQueueId = serviceBusQueueId;
+ return this;
+ }
+
+ /**
+ * Get the flowType property: The flow type for this flow.
+ *
+ * @return the flowType value.
+ */
+ public FlowType flowType() {
+ return this.flowType;
+ }
+
+ /**
+ * Set the flowType property: The flow type for this flow.
+ *
+ * @param flowType the flowType value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withFlowType(FlowType flowType) {
+ this.flowType = flowType;
+ return this;
+ }
+
+ /**
+ * Get the dataType property: Transfer Storage Blobs or Tables.
+ *
+ * @return the dataType value.
+ */
+ public DataType dataType() {
+ return this.dataType;
+ }
+
+ /**
+ * Set the dataType property: Transfer Storage Blobs or Tables.
+ *
+ * @param dataType the dataType value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withDataType(DataType dataType) {
+ this.dataType = dataType;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the flow.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the policies property: The policies for this flow.
+ *
+ * @return the policies value.
+ */
+ public List policies() {
+ return this.policies;
+ }
+
+ /**
+ * Set the policies property: The policies for this flow.
+ *
+ * @param policies the policies value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withPolicies(List policies) {
+ this.policies = policies;
+ return this;
+ }
+
+ /**
+ * Get the schema property: The selected schema for this flow.
+ *
+ * @return the schema value.
+ */
+ public Schema schema() {
+ return this.schema;
+ }
+
+ /**
+ * Set the schema property: The selected schema for this flow.
+ *
+ * @param schema the schema value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withSchema(Schema schema) {
+ this.schema = schema;
+ return this;
+ }
+
+ /**
+ * Get the messagingOptions property: The messaging options for this flow.
+ *
+ * @return the messagingOptions value.
+ */
+ public MessagingOptions messagingOptions() {
+ return this.messagingOptions;
+ }
+
+ /**
+ * Set the messagingOptions property: The messaging options for this flow.
+ *
+ * @param messagingOptions the messagingOptions value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withMessagingOptions(MessagingOptions messagingOptions) {
+ this.messagingOptions = messagingOptions;
+ return this;
+ }
+
+ /**
+ * Get the apiFlowOptions property: The API Flow configuration options for Azure Data Transfer API Flow type.
+ *
+ * @return the apiFlowOptions value.
+ */
+ public ApiFlowOptions apiFlowOptions() {
+ return this.apiFlowOptions;
+ }
+
+ /**
+ * Set the apiFlowOptions property: The API Flow configuration options for Azure Data Transfer API Flow type.
+ *
+ * @param apiFlowOptions the apiFlowOptions value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withApiFlowOptions(ApiFlowOptions apiFlowOptions) {
+ this.apiFlowOptions = apiFlowOptions;
+ return this;
+ }
+
+ /**
+ * Get the customerManagedKeyVaultUri property: The URI to the customer managed key for this flow.
+ *
+ * @return the customerManagedKeyVaultUri value.
+ */
+ public String customerManagedKeyVaultUri() {
+ return this.customerManagedKeyVaultUri;
+ }
+
+ /**
+ * Set the customerManagedKeyVaultUri property: The URI to the customer managed key for this flow.
+ *
+ * @param customerManagedKeyVaultUri the customerManagedKeyVaultUri value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withCustomerManagedKeyVaultUri(String customerManagedKeyVaultUri) {
+ this.customerManagedKeyVaultUri = customerManagedKeyVaultUri;
+ return this;
+ }
+
+ /**
+ * Get the streamId property: The flow stream identifier.
+ *
+ * @return the streamId value.
+ */
+ public String streamId() {
+ return this.streamId;
+ }
+
+ /**
+ * Set the streamId property: The flow stream identifier.
+ *
+ * @param streamId the streamId value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withStreamId(String streamId) {
+ this.streamId = streamId;
+ return this;
+ }
+
+ /**
+ * Get the streamProtocol property: The protocol of the stream.
+ *
+ * @return the streamProtocol value.
+ */
+ public StreamProtocol streamProtocol() {
+ return this.streamProtocol;
+ }
+
+ /**
+ * Set the streamProtocol property: The protocol of the stream.
+ *
+ * @param streamProtocol the streamProtocol value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withStreamProtocol(StreamProtocol streamProtocol) {
+ this.streamProtocol = streamProtocol;
+ return this;
+ }
+
+ /**
+ * Get the streamLatency property: The latency of the stream in milliseconds.
+ *
+ * @return the streamLatency value.
+ */
+ public Long streamLatency() {
+ return this.streamLatency;
+ }
+
+ /**
+ * Set the streamLatency property: The latency of the stream in milliseconds.
+ *
+ * @param streamLatency the streamLatency value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withStreamLatency(Long streamLatency) {
+ this.streamLatency = streamLatency;
+ return this;
+ }
+
+ /**
+ * Get the passphrase property: The passphrase used for SRT streams.
+ *
+ * @return the passphrase value.
+ */
+ public String passphrase() {
+ return this.passphrase;
+ }
+
+ /**
+ * Set the passphrase property: The passphrase used for SRT streams.
+ *
+ * @param passphrase the passphrase value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withPassphrase(String passphrase) {
+ this.passphrase = passphrase;
+ return this;
+ }
+
+ /**
+ * Get the sourceAddresses property: The source IP address and CIDR ranges of the stream.
+ *
+ * @return the sourceAddresses value.
+ */
+ public StreamSourceAddressesInner sourceAddresses() {
+ return this.sourceAddresses;
+ }
+
+ /**
+ * Set the sourceAddresses property: The source IP address and CIDR ranges of the stream.
+ *
+ * @param sourceAddresses the sourceAddresses value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withSourceAddresses(StreamSourceAddressesInner sourceAddresses) {
+ this.sourceAddresses = sourceAddresses;
+ return this;
+ }
+
+ /**
+ * Get the destinationEndpoints property: The destination endpoints of the stream.
+ *
+ * @return the destinationEndpoints value.
+ */
+ public List destinationEndpoints() {
+ return this.destinationEndpoints;
+ }
+
+ /**
+ * Set the destinationEndpoints property: The destination endpoints of the stream.
+ *
+ * @param destinationEndpoints the destinationEndpoints value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withDestinationEndpoints(List destinationEndpoints) {
+ this.destinationEndpoints = destinationEndpoints;
+ return this;
+ }
+
+ /**
+ * Get the destinationEndpointPorts property: The destination endpoint ports of the stream.
+ *
+ * @return the destinationEndpointPorts value.
+ */
+ public List destinationEndpointPorts() {
+ return this.destinationEndpointPorts;
+ }
+
+ /**
+ * Set the destinationEndpointPorts property: The destination endpoint ports of the stream.
+ *
+ * @param destinationEndpointPorts the destinationEndpointPorts value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withDestinationEndpointPorts(List destinationEndpointPorts) {
+ this.destinationEndpointPorts = destinationEndpointPorts;
+ return this;
+ }
+
+ /**
+ * Get the eventHubId property: Event Hub ID.
+ *
+ * @return the eventHubId value.
+ */
+ public String eventHubId() {
+ return this.eventHubId;
+ }
+
+ /**
+ * Set the eventHubId property: Event Hub ID.
+ *
+ * @param eventHubId the eventHubId value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withEventHubId(String eventHubId) {
+ this.eventHubId = eventHubId;
+ return this;
+ }
+
+ /**
+ * Get the consumerGroup property: Event Hub Consumer Group.
+ *
+ * @return the consumerGroup value.
+ */
+ public String consumerGroup() {
+ return this.consumerGroup;
+ }
+
+ /**
+ * Set the consumerGroup property: Event Hub Consumer Group.
+ *
+ * @param consumerGroup the consumerGroup value to set.
+ * @return the FlowPropertiesInner object itself.
+ */
+ public FlowPropertiesInner withConsumerGroup(String consumerGroup) {
+ this.consumerGroup = consumerGroup;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (connection() != null) {
+ connection().validate();
+ }
+ if (schema() != null) {
+ schema().validate();
+ }
+ if (messagingOptions() != null) {
+ messagingOptions().validate();
+ }
+ if (apiFlowOptions() != null) {
+ apiFlowOptions().validate();
+ }
+ if (sourceAddresses() != null) {
+ sourceAddresses().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("connection", this.connection);
+ jsonWriter.writeStringField("keyVaultUri", this.keyVaultUri);
+ jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+ jsonWriter.writeStringField("storageAccountName", this.storageAccountName);
+ jsonWriter.writeStringField("storageAccountId", this.storageAccountId);
+ jsonWriter.writeStringField("storageContainerName", this.storageContainerName);
+ jsonWriter.writeStringField("storageTableName", this.storageTableName);
+ jsonWriter.writeStringField("serviceBusQueueId", this.serviceBusQueueId);
+ jsonWriter.writeStringField("flowType", this.flowType == null ? null : this.flowType.toString());
+ jsonWriter.writeStringField("dataType", this.dataType == null ? null : this.dataType.toString());
+ jsonWriter.writeArrayField("policies", this.policies, (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("schema", this.schema);
+ jsonWriter.writeJsonField("messagingOptions", this.messagingOptions);
+ jsonWriter.writeJsonField("apiFlowOptions", this.apiFlowOptions);
+ jsonWriter.writeStringField("customerManagedKeyVaultUri", this.customerManagedKeyVaultUri);
+ jsonWriter.writeStringField("streamId", this.streamId);
+ jsonWriter.writeStringField("streamProtocol",
+ this.streamProtocol == null ? null : this.streamProtocol.toString());
+ jsonWriter.writeNumberField("streamLatency", this.streamLatency);
+ jsonWriter.writeStringField("passphrase", this.passphrase);
+ jsonWriter.writeJsonField("sourceAddresses", this.sourceAddresses);
+ jsonWriter.writeArrayField("destinationEndpoints", this.destinationEndpoints,
+ (writer, element) -> writer.writeString(element));
+ jsonWriter.writeArrayField("destinationEndpointPorts", this.destinationEndpointPorts,
+ (writer, element) -> writer.writeLong(element));
+ jsonWriter.writeStringField("eventHubId", this.eventHubId);
+ jsonWriter.writeStringField("consumerGroup", this.consumerGroup);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of FlowPropertiesInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of FlowPropertiesInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the FlowPropertiesInner.
+ */
+ public static FlowPropertiesInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ FlowPropertiesInner deserializedFlowPropertiesInner = new FlowPropertiesInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("connection".equals(fieldName)) {
+ deserializedFlowPropertiesInner.connection = SelectedResource.fromJson(reader);
+ } else if ("flowId".equals(fieldName)) {
+ deserializedFlowPropertiesInner.flowId = reader.getString();
+ } else if ("keyVaultUri".equals(fieldName)) {
+ deserializedFlowPropertiesInner.keyVaultUri = reader.getString();
+ } else if ("linkStatus".equals(fieldName)) {
+ deserializedFlowPropertiesInner.linkStatus = LinkStatus.fromString(reader.getString());
+ } else if ("linkedFlowId".equals(fieldName)) {
+ deserializedFlowPropertiesInner.linkedFlowId = reader.getString();
+ } else if ("status".equals(fieldName)) {
+ deserializedFlowPropertiesInner.status = FlowStatus.fromString(reader.getString());
+ } else if ("forceDisabledStatus".equals(fieldName)) {
+ List forceDisabledStatus
+ = reader.readArray(reader1 -> ForceDisabledStatus.fromString(reader1.getString()));
+ deserializedFlowPropertiesInner.forceDisabledStatus = forceDisabledStatus;
+ } else if ("storageAccountName".equals(fieldName)) {
+ deserializedFlowPropertiesInner.storageAccountName = reader.getString();
+ } else if ("storageAccountId".equals(fieldName)) {
+ deserializedFlowPropertiesInner.storageAccountId = reader.getString();
+ } else if ("storageContainerName".equals(fieldName)) {
+ deserializedFlowPropertiesInner.storageContainerName = reader.getString();
+ } else if ("storageTableName".equals(fieldName)) {
+ deserializedFlowPropertiesInner.storageTableName = reader.getString();
+ } else if ("serviceBusQueueId".equals(fieldName)) {
+ deserializedFlowPropertiesInner.serviceBusQueueId = reader.getString();
+ } else if ("flowType".equals(fieldName)) {
+ deserializedFlowPropertiesInner.flowType = FlowType.fromString(reader.getString());
+ } else if ("dataType".equals(fieldName)) {
+ deserializedFlowPropertiesInner.dataType = DataType.fromString(reader.getString());
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedFlowPropertiesInner.provisioningState
+ = ProvisioningState.fromString(reader.getString());
+ } else if ("policies".equals(fieldName)) {
+ List policies = reader.readArray(reader1 -> reader1.getString());
+ deserializedFlowPropertiesInner.policies = policies;
+ } else if ("schema".equals(fieldName)) {
+ deserializedFlowPropertiesInner.schema = Schema.fromJson(reader);
+ } else if ("messagingOptions".equals(fieldName)) {
+ deserializedFlowPropertiesInner.messagingOptions = MessagingOptions.fromJson(reader);
+ } else if ("apiFlowOptions".equals(fieldName)) {
+ deserializedFlowPropertiesInner.apiFlowOptions = ApiFlowOptions.fromJson(reader);
+ } else if ("customerManagedKeyVaultUri".equals(fieldName)) {
+ deserializedFlowPropertiesInner.customerManagedKeyVaultUri = reader.getString();
+ } else if ("streamId".equals(fieldName)) {
+ deserializedFlowPropertiesInner.streamId = reader.getString();
+ } else if ("streamProtocol".equals(fieldName)) {
+ deserializedFlowPropertiesInner.streamProtocol = StreamProtocol.fromString(reader.getString());
+ } else if ("streamLatency".equals(fieldName)) {
+ deserializedFlowPropertiesInner.streamLatency = reader.getNullable(JsonReader::getLong);
+ } else if ("passphrase".equals(fieldName)) {
+ deserializedFlowPropertiesInner.passphrase = reader.getString();
+ } else if ("sourceAddresses".equals(fieldName)) {
+ deserializedFlowPropertiesInner.sourceAddresses = StreamSourceAddressesInner.fromJson(reader);
+ } else if ("destinationEndpoints".equals(fieldName)) {
+ List destinationEndpoints = reader.readArray(reader1 -> reader1.getString());
+ deserializedFlowPropertiesInner.destinationEndpoints = destinationEndpoints;
+ } else if ("destinationEndpointPorts".equals(fieldName)) {
+ List destinationEndpointPorts = reader.readArray(reader1 -> reader1.getLong());
+ deserializedFlowPropertiesInner.destinationEndpointPorts = destinationEndpointPorts;
+ } else if ("eventHubId".equals(fieldName)) {
+ deserializedFlowPropertiesInner.eventHubId = reader.getString();
+ } else if ("consumerGroup".equals(fieldName)) {
+ deserializedFlowPropertiesInner.consumerGroup = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedFlowPropertiesInner;
+ });
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/GetDestinationEndpointPortsResultInner.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/GetDestinationEndpointPortsResultInner.java
new file mode 100644
index 000000000000..8861e1d9b703
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/GetDestinationEndpointPortsResultInner.java
@@ -0,0 +1,97 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * List of destination endpoint ports for the flow stream.
+ */
+@Fluent
+public final class GetDestinationEndpointPortsResultInner
+ implements JsonSerializable {
+ /*
+ * The destination endpoint port for the flow stream
+ */
+ private List ports;
+
+ /**
+ * Creates an instance of GetDestinationEndpointPortsResultInner class.
+ */
+ public GetDestinationEndpointPortsResultInner() {
+ }
+
+ /**
+ * Get the ports property: The destination endpoint port for the flow stream.
+ *
+ * @return the ports value.
+ */
+ public List ports() {
+ return this.ports;
+ }
+
+ /**
+ * Set the ports property: The destination endpoint port for the flow stream.
+ *
+ * @param ports the ports value to set.
+ * @return the GetDestinationEndpointPortsResultInner object itself.
+ */
+ public GetDestinationEndpointPortsResultInner withPorts(List ports) {
+ this.ports = ports;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("ports", this.ports, (writer, element) -> writer.writeLong(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of GetDestinationEndpointPortsResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of GetDestinationEndpointPortsResultInner if the JsonReader was pointing to an instance of
+ * it, or null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the GetDestinationEndpointPortsResultInner.
+ */
+ public static GetDestinationEndpointPortsResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ GetDestinationEndpointPortsResultInner deserializedGetDestinationEndpointPortsResultInner
+ = new GetDestinationEndpointPortsResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("ports".equals(fieldName)) {
+ List ports = reader.readArray(reader1 -> reader1.getLong());
+ deserializedGetDestinationEndpointPortsResultInner.ports = ports;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedGetDestinationEndpointPortsResultInner;
+ });
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/GetDestinationEndpointsResultInner.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/GetDestinationEndpointsResultInner.java
new file mode 100644
index 000000000000..7fb64f441174
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/GetDestinationEndpointsResultInner.java
@@ -0,0 +1,96 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * List of destination endpoints for the flow stream.
+ */
+@Fluent
+public final class GetDestinationEndpointsResultInner implements JsonSerializable {
+ /*
+ * The destination endpoints for the flow stream
+ */
+ private List endpoints;
+
+ /**
+ * Creates an instance of GetDestinationEndpointsResultInner class.
+ */
+ public GetDestinationEndpointsResultInner() {
+ }
+
+ /**
+ * Get the endpoints property: The destination endpoints for the flow stream.
+ *
+ * @return the endpoints value.
+ */
+ public List endpoints() {
+ return this.endpoints;
+ }
+
+ /**
+ * Set the endpoints property: The destination endpoints for the flow stream.
+ *
+ * @param endpoints the endpoints value to set.
+ * @return the GetDestinationEndpointsResultInner object itself.
+ */
+ public GetDestinationEndpointsResultInner withEndpoints(List endpoints) {
+ this.endpoints = endpoints;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("endpoints", this.endpoints, (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of GetDestinationEndpointsResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of GetDestinationEndpointsResultInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the GetDestinationEndpointsResultInner.
+ */
+ public static GetDestinationEndpointsResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ GetDestinationEndpointsResultInner deserializedGetDestinationEndpointsResultInner
+ = new GetDestinationEndpointsResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("endpoints".equals(fieldName)) {
+ List endpoints = reader.readArray(reader1 -> reader1.getString());
+ deserializedGetDestinationEndpointsResultInner.endpoints = endpoints;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedGetDestinationEndpointsResultInner;
+ });
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/GetStreamConnectionStringResultInner.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/GetStreamConnectionStringResultInner.java
new file mode 100644
index 000000000000..78476081e3c3
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/GetStreamConnectionStringResultInner.java
@@ -0,0 +1,95 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * The connection string for the specified streaming flow.
+ */
+@Fluent
+public final class GetStreamConnectionStringResultInner
+ implements JsonSerializable {
+ /*
+ * The connection string for the specified streaming flow
+ */
+ private String connectionString;
+
+ /**
+ * Creates an instance of GetStreamConnectionStringResultInner class.
+ */
+ public GetStreamConnectionStringResultInner() {
+ }
+
+ /**
+ * Get the connectionString property: The connection string for the specified streaming flow.
+ *
+ * @return the connectionString value.
+ */
+ public String connectionString() {
+ return this.connectionString;
+ }
+
+ /**
+ * Set the connectionString property: The connection string for the specified streaming flow.
+ *
+ * @param connectionString the connectionString value to set.
+ * @return the GetStreamConnectionStringResultInner object itself.
+ */
+ public GetStreamConnectionStringResultInner withConnectionString(String connectionString) {
+ this.connectionString = connectionString;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("connectionString", this.connectionString);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of GetStreamConnectionStringResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of GetStreamConnectionStringResultInner if the JsonReader was pointing to an instance of it,
+ * or null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the GetStreamConnectionStringResultInner.
+ */
+ public static GetStreamConnectionStringResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ GetStreamConnectionStringResultInner deserializedGetStreamConnectionStringResultInner
+ = new GetStreamConnectionStringResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("connectionString".equals(fieldName)) {
+ deserializedGetStreamConnectionStringResultInner.connectionString = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedGetStreamConnectionStringResultInner;
+ });
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/ListFlowsByPipelineResultInner.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/ListFlowsByPipelineResultInner.java
new file mode 100644
index 000000000000..13a0edc15a48
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/ListFlowsByPipelineResultInner.java
@@ -0,0 +1,101 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.azuredatatransfer.models.ListFlowsByPipelineConnection;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * An array of flow resources.
+ */
+@Fluent
+public final class ListFlowsByPipelineResultInner implements JsonSerializable {
+ /*
+ * List flows by pipeline result by connection
+ */
+ private List value;
+
+ /**
+ * Creates an instance of ListFlowsByPipelineResultInner class.
+ */
+ public ListFlowsByPipelineResultInner() {
+ }
+
+ /**
+ * Get the value property: List flows by pipeline result by connection.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: List flows by pipeline result by connection.
+ *
+ * @param value the value value to set.
+ * @return the ListFlowsByPipelineResultInner object itself.
+ */
+ public ListFlowsByPipelineResultInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ListFlowsByPipelineResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ListFlowsByPipelineResultInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the ListFlowsByPipelineResultInner.
+ */
+ public static ListFlowsByPipelineResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ListFlowsByPipelineResultInner deserializedListFlowsByPipelineResultInner
+ = new ListFlowsByPipelineResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("value".equals(fieldName)) {
+ List value
+ = reader.readArray(reader1 -> ListFlowsByPipelineConnection.fromJson(reader1));
+ deserializedListFlowsByPipelineResultInner.value = value;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedListFlowsByPipelineResultInner;
+ });
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/OperationInner.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/OperationInner.java
new file mode 100644
index 000000000000..5bd52d73a3d0
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/OperationInner.java
@@ -0,0 +1,172 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.azuredatatransfer.models.ActionType;
+import com.azure.resourcemanager.azuredatatransfer.models.OperationDisplay;
+import com.azure.resourcemanager.azuredatatransfer.models.Origin;
+import java.io.IOException;
+
+/**
+ * REST API Operation
+ *
+ * Details of a REST API operation, returned from the Resource Provider Operations API.
+ */
+@Fluent
+public final class OperationInner implements JsonSerializable {
+ /*
+ * The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action"
+ */
+ private String name;
+
+ /*
+ * Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for
+ * ARM/control-plane operations.
+ */
+ private Boolean isDataAction;
+
+ /*
+ * Localized display information for this particular operation.
+ */
+ private OperationDisplay display;
+
+ /*
+ * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default
+ * value is "user,system"
+ */
+ private Origin origin;
+
+ /*
+ * Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
+ */
+ private ActionType actionType;
+
+ /**
+ * Creates an instance of OperationInner class.
+ */
+ public OperationInner() {
+ }
+
+ /**
+ * Get the name property: The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action".
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the isDataAction property: Whether the operation applies to data-plane. This is "true" for data-plane
+ * operations and "false" for ARM/control-plane operations.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Get the display property: Localized display information for this particular operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display property: Localized display information for this particular operation.
+ *
+ * @param display the display value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withDisplay(OperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get the origin property: The intended executor of the operation; as in Resource Based Access Control (RBAC) and
+ * audit logs UX. Default value is "user,system".
+ *
+ * @return the origin value.
+ */
+ public Origin origin() {
+ return this.origin;
+ }
+
+ /**
+ * Get the actionType property: Enum. Indicates the action type. "Internal" refers to actions that are for internal
+ * only APIs.
+ *
+ * @return the actionType value.
+ */
+ public ActionType actionType() {
+ return this.actionType;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("display", this.display);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of OperationInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of OperationInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the OperationInner.
+ */
+ public static OperationInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ OperationInner deserializedOperationInner = new OperationInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("name".equals(fieldName)) {
+ deserializedOperationInner.name = reader.getString();
+ } else if ("isDataAction".equals(fieldName)) {
+ deserializedOperationInner.isDataAction = reader.getNullable(JsonReader::getBoolean);
+ } else if ("display".equals(fieldName)) {
+ deserializedOperationInner.display = OperationDisplay.fromJson(reader);
+ } else if ("origin".equals(fieldName)) {
+ deserializedOperationInner.origin = Origin.fromString(reader.getString());
+ } else if ("actionType".equals(fieldName)) {
+ deserializedOperationInner.actionType = ActionType.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedOperationInner;
+ });
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/PendingConnectionInner.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/PendingConnectionInner.java
new file mode 100644
index 000000000000..da550adf907f
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/PendingConnectionInner.java
@@ -0,0 +1,741 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.CoreUtils;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.azuredatatransfer.models.ConnectionStatus;
+import com.azure.resourcemanager.azuredatatransfer.models.Direction;
+import com.azure.resourcemanager.azuredatatransfer.models.FlowType;
+import com.azure.resourcemanager.azuredatatransfer.models.ForceDisabledStatus;
+import com.azure.resourcemanager.azuredatatransfer.models.LinkStatus;
+import com.azure.resourcemanager.azuredatatransfer.models.ProvisioningState;
+import com.azure.resourcemanager.azuredatatransfer.models.Schema;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Pending connection object.
+ */
+@Fluent
+public final class PendingConnectionInner implements JsonSerializable {
+ /*
+ * Pipeline to use to transfer data
+ */
+ private String pipeline;
+
+ /*
+ * Direction of data movement
+ */
+ private Direction direction;
+
+ /*
+ * Justification for the connection request
+ */
+ private String justification;
+
+ /*
+ * Status of the connection
+ */
+ private ConnectionStatus status;
+
+ /*
+ * Force disablement status of the current connection
+ */
+ private List forceDisabledStatus;
+
+ /*
+ * Reason for status
+ */
+ private String statusReason;
+
+ /*
+ * Link status of the current connection
+ */
+ private LinkStatus linkStatus;
+
+ /*
+ * Resource ID of the linked connection
+ */
+ private String linkedConnectionId;
+
+ /*
+ * The flow types being requested for this connection
+ */
+ private List flowTypes;
+
+ /*
+ * Requirement ID of the connection
+ */
+ private String requirementId;
+
+ /*
+ * Subscription ID to link cloud subscriptions together
+ */
+ private String remoteSubscriptionId;
+
+ /*
+ * Approver of this connection request
+ */
+ private String approver;
+
+ /*
+ * PIN to link requests together
+ */
+ private String pin;
+
+ /*
+ * The timestamp that this connection request was submitted at
+ */
+ private OffsetDateTime dateSubmitted;
+
+ /*
+ * The primary contact for this connection request
+ */
+ private String primaryContact;
+
+ /*
+ * The secondary contacts for this connection request
+ */
+ private List secondaryContacts;
+
+ /*
+ * Provisioning state of the connection
+ */
+ private ProvisioningState provisioningState;
+
+ /*
+ * The policies for this connection
+ */
+ private List policies;
+
+ /*
+ * The schemas for this connection
+ */
+ private List schemas;
+
+ /*
+ * The schema URIs for this connection
+ */
+ private List schemaUris;
+
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private ConnectionInner properties;
+
+ /*
+ * Resource tags.
+ */
+ private Map tags;
+
+ /*
+ * The geo-location where the resource lives
+ */
+ private String location;
+
+ /*
+ * Fully qualified resource ID for the resource. Ex -
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{
+ * resourceType}/{resourceName}
+ */
+ private String id;
+
+ /*
+ * The name of the resource
+ */
+ private String name;
+
+ /*
+ * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ */
+ private String type;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * Subscription ID of the pending connection.
+ */
+ private String subscriptionId;
+
+ /**
+ * Creates an instance of PendingConnectionInner class.
+ */
+ public PendingConnectionInner() {
+ }
+
+ /**
+ * Get the pipeline property: Pipeline to use to transfer data.
+ *
+ * @return the pipeline value.
+ */
+ public String pipeline() {
+ return this.pipeline;
+ }
+
+ /**
+ * Set the pipeline property: Pipeline to use to transfer data.
+ *
+ * @param pipeline the pipeline value to set.
+ * @return the PendingConnectionInner object itself.
+ */
+ public PendingConnectionInner withPipeline(String pipeline) {
+ this.pipeline = pipeline;
+ return this;
+ }
+
+ /**
+ * Get the direction property: Direction of data movement.
+ *
+ * @return the direction value.
+ */
+ public Direction direction() {
+ return this.direction;
+ }
+
+ /**
+ * Set the direction property: Direction of data movement.
+ *
+ * @param direction the direction value to set.
+ * @return the PendingConnectionInner object itself.
+ */
+ public PendingConnectionInner withDirection(Direction direction) {
+ this.direction = direction;
+ return this;
+ }
+
+ /**
+ * Get the justification property: Justification for the connection request.
+ *
+ * @return the justification value.
+ */
+ public String justification() {
+ return this.justification;
+ }
+
+ /**
+ * Set the justification property: Justification for the connection request.
+ *
+ * @param justification the justification value to set.
+ * @return the PendingConnectionInner object itself.
+ */
+ public PendingConnectionInner withJustification(String justification) {
+ this.justification = justification;
+ return this;
+ }
+
+ /**
+ * Get the status property: Status of the connection.
+ *
+ * @return the status value.
+ */
+ public ConnectionStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Get the forceDisabledStatus property: Force disablement status of the current connection.
+ *
+ * @return the forceDisabledStatus value.
+ */
+ public List forceDisabledStatus() {
+ return this.forceDisabledStatus;
+ }
+
+ /**
+ * Get the statusReason property: Reason for status.
+ *
+ * @return the statusReason value.
+ */
+ public String statusReason() {
+ return this.statusReason;
+ }
+
+ /**
+ * Get the linkStatus property: Link status of the current connection.
+ *
+ * @return the linkStatus value.
+ */
+ public LinkStatus linkStatus() {
+ return this.linkStatus;
+ }
+
+ /**
+ * Get the linkedConnectionId property: Resource ID of the linked connection.
+ *
+ * @return the linkedConnectionId value.
+ */
+ public String linkedConnectionId() {
+ return this.linkedConnectionId;
+ }
+
+ /**
+ * Get the flowTypes property: The flow types being requested for this connection.
+ *
+ * @return the flowTypes value.
+ */
+ public List flowTypes() {
+ return this.flowTypes;
+ }
+
+ /**
+ * Set the flowTypes property: The flow types being requested for this connection.
+ *
+ * @param flowTypes the flowTypes value to set.
+ * @return the PendingConnectionInner object itself.
+ */
+ public PendingConnectionInner withFlowTypes(List flowTypes) {
+ this.flowTypes = flowTypes;
+ return this;
+ }
+
+ /**
+ * Get the requirementId property: Requirement ID of the connection.
+ *
+ * @return the requirementId value.
+ */
+ public String requirementId() {
+ return this.requirementId;
+ }
+
+ /**
+ * Set the requirementId property: Requirement ID of the connection.
+ *
+ * @param requirementId the requirementId value to set.
+ * @return the PendingConnectionInner object itself.
+ */
+ public PendingConnectionInner withRequirementId(String requirementId) {
+ this.requirementId = requirementId;
+ return this;
+ }
+
+ /**
+ * Get the remoteSubscriptionId property: Subscription ID to link cloud subscriptions together.
+ *
+ * @return the remoteSubscriptionId value.
+ */
+ public String remoteSubscriptionId() {
+ return this.remoteSubscriptionId;
+ }
+
+ /**
+ * Set the remoteSubscriptionId property: Subscription ID to link cloud subscriptions together.
+ *
+ * @param remoteSubscriptionId the remoteSubscriptionId value to set.
+ * @return the PendingConnectionInner object itself.
+ */
+ public PendingConnectionInner withRemoteSubscriptionId(String remoteSubscriptionId) {
+ this.remoteSubscriptionId = remoteSubscriptionId;
+ return this;
+ }
+
+ /**
+ * Get the approver property: Approver of this connection request.
+ *
+ * @return the approver value.
+ */
+ public String approver() {
+ return this.approver;
+ }
+
+ /**
+ * Get the pin property: PIN to link requests together.
+ *
+ * @return the pin value.
+ */
+ public String pin() {
+ return this.pin;
+ }
+
+ /**
+ * Set the pin property: PIN to link requests together.
+ *
+ * @param pin the pin value to set.
+ * @return the PendingConnectionInner object itself.
+ */
+ public PendingConnectionInner withPin(String pin) {
+ this.pin = pin;
+ return this;
+ }
+
+ /**
+ * Get the dateSubmitted property: The timestamp that this connection request was submitted at.
+ *
+ * @return the dateSubmitted value.
+ */
+ public OffsetDateTime dateSubmitted() {
+ return this.dateSubmitted;
+ }
+
+ /**
+ * Get the primaryContact property: The primary contact for this connection request.
+ *
+ * @return the primaryContact value.
+ */
+ public String primaryContact() {
+ return this.primaryContact;
+ }
+
+ /**
+ * Set the primaryContact property: The primary contact for this connection request.
+ *
+ * @param primaryContact the primaryContact value to set.
+ * @return the PendingConnectionInner object itself.
+ */
+ public PendingConnectionInner withPrimaryContact(String primaryContact) {
+ this.primaryContact = primaryContact;
+ return this;
+ }
+
+ /**
+ * Get the secondaryContacts property: The secondary contacts for this connection request.
+ *
+ * @return the secondaryContacts value.
+ */
+ public List secondaryContacts() {
+ return this.secondaryContacts;
+ }
+
+ /**
+ * Set the secondaryContacts property: The secondary contacts for this connection request.
+ *
+ * @param secondaryContacts the secondaryContacts value to set.
+ * @return the PendingConnectionInner object itself.
+ */
+ public PendingConnectionInner withSecondaryContacts(List secondaryContacts) {
+ this.secondaryContacts = secondaryContacts;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the connection.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the policies property: The policies for this connection.
+ *
+ * @return the policies value.
+ */
+ public List policies() {
+ return this.policies;
+ }
+
+ /**
+ * Set the policies property: The policies for this connection.
+ *
+ * @param policies the policies value to set.
+ * @return the PendingConnectionInner object itself.
+ */
+ public PendingConnectionInner withPolicies(List policies) {
+ this.policies = policies;
+ return this;
+ }
+
+ /**
+ * Get the schemas property: The schemas for this connection.
+ *
+ * @return the schemas value.
+ */
+ public List schemas() {
+ return this.schemas;
+ }
+
+ /**
+ * Set the schemas property: The schemas for this connection.
+ *
+ * @param schemas the schemas value to set.
+ * @return the PendingConnectionInner object itself.
+ */
+ public PendingConnectionInner withSchemas(List schemas) {
+ this.schemas = schemas;
+ return this;
+ }
+
+ /**
+ * Get the schemaUris property: The schema URIs for this connection.
+ *
+ * @return the schemaUris value.
+ */
+ public List schemaUris() {
+ return this.schemaUris;
+ }
+
+ /**
+ * Set the schemaUris property: The schema URIs for this connection.
+ *
+ * @param schemaUris the schemaUris value to set.
+ * @return the PendingConnectionInner object itself.
+ */
+ public PendingConnectionInner withSchemaUris(List schemaUris) {
+ this.schemaUris = schemaUris;
+ return this;
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public ConnectionInner properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the PendingConnectionInner object itself.
+ */
+ public PendingConnectionInner withProperties(ConnectionInner properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the tags property: Resource tags.
+ *
+ * @return the tags value.
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set the tags property: Resource tags.
+ *
+ * @param tags the tags value to set.
+ * @return the PendingConnectionInner object itself.
+ */
+ public PendingConnectionInner withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ /**
+ * Get the location property: The geo-location where the resource lives.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: The geo-location where the resource lives.
+ *
+ * @param location the location value to set.
+ * @return the PendingConnectionInner object itself.
+ */
+ public PendingConnectionInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource ID for the resource. Ex -
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ * "Microsoft.Storage/storageAccounts".
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the subscriptionId property: Subscription ID of the pending connection.
+ *
+ * @return the subscriptionId value.
+ */
+ public String subscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (pipeline() == null) {
+ throw LOGGER.atError()
+ .log(
+ new IllegalArgumentException("Missing required property pipeline in model PendingConnectionInner"));
+ }
+ if (schemas() != null) {
+ schemas().forEach(e -> e.validate());
+ }
+ if (properties() != null) {
+ properties().validate();
+ }
+ if (location() == null) {
+ throw LOGGER.atError()
+ .log(
+ new IllegalArgumentException("Missing required property location in model PendingConnectionInner"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(PendingConnectionInner.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("pipeline", this.pipeline);
+ jsonWriter.writeStringField("location", this.location);
+ jsonWriter.writeStringField("direction", this.direction == null ? null : this.direction.toString());
+ jsonWriter.writeStringField("justification", this.justification);
+ jsonWriter.writeArrayField("flowTypes", this.flowTypes,
+ (writer, element) -> writer.writeString(element == null ? null : element.toString()));
+ jsonWriter.writeStringField("requirementId", this.requirementId);
+ jsonWriter.writeStringField("remoteSubscriptionId", this.remoteSubscriptionId);
+ jsonWriter.writeStringField("pin", this.pin);
+ jsonWriter.writeStringField("primaryContact", this.primaryContact);
+ jsonWriter.writeArrayField("secondaryContacts", this.secondaryContacts,
+ (writer, element) -> writer.writeString(element));
+ jsonWriter.writeArrayField("policies", this.policies, (writer, element) -> writer.writeString(element));
+ jsonWriter.writeArrayField("schemas", this.schemas, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeArrayField("schemaUris", this.schemaUris, (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("properties", this.properties);
+ jsonWriter.writeMapField("tags", this.tags, (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PendingConnectionInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PendingConnectionInner if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the PendingConnectionInner.
+ */
+ public static PendingConnectionInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ PendingConnectionInner deserializedPendingConnectionInner = new PendingConnectionInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("pipeline".equals(fieldName)) {
+ deserializedPendingConnectionInner.pipeline = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedPendingConnectionInner.location = reader.getString();
+ } else if ("direction".equals(fieldName)) {
+ deserializedPendingConnectionInner.direction = Direction.fromString(reader.getString());
+ } else if ("justification".equals(fieldName)) {
+ deserializedPendingConnectionInner.justification = reader.getString();
+ } else if ("status".equals(fieldName)) {
+ deserializedPendingConnectionInner.status = ConnectionStatus.fromString(reader.getString());
+ } else if ("forceDisabledStatus".equals(fieldName)) {
+ List forceDisabledStatus
+ = reader.readArray(reader1 -> ForceDisabledStatus.fromString(reader1.getString()));
+ deserializedPendingConnectionInner.forceDisabledStatus = forceDisabledStatus;
+ } else if ("statusReason".equals(fieldName)) {
+ deserializedPendingConnectionInner.statusReason = reader.getString();
+ } else if ("linkStatus".equals(fieldName)) {
+ deserializedPendingConnectionInner.linkStatus = LinkStatus.fromString(reader.getString());
+ } else if ("linkedConnectionId".equals(fieldName)) {
+ deserializedPendingConnectionInner.linkedConnectionId = reader.getString();
+ } else if ("flowTypes".equals(fieldName)) {
+ List flowTypes = reader.readArray(reader1 -> FlowType.fromString(reader1.getString()));
+ deserializedPendingConnectionInner.flowTypes = flowTypes;
+ } else if ("requirementId".equals(fieldName)) {
+ deserializedPendingConnectionInner.requirementId = reader.getString();
+ } else if ("remoteSubscriptionId".equals(fieldName)) {
+ deserializedPendingConnectionInner.remoteSubscriptionId = reader.getString();
+ } else if ("approver".equals(fieldName)) {
+ deserializedPendingConnectionInner.approver = reader.getString();
+ } else if ("pin".equals(fieldName)) {
+ deserializedPendingConnectionInner.pin = reader.getString();
+ } else if ("dateSubmitted".equals(fieldName)) {
+ deserializedPendingConnectionInner.dateSubmitted = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("primaryContact".equals(fieldName)) {
+ deserializedPendingConnectionInner.primaryContact = reader.getString();
+ } else if ("secondaryContacts".equals(fieldName)) {
+ List secondaryContacts = reader.readArray(reader1 -> reader1.getString());
+ deserializedPendingConnectionInner.secondaryContacts = secondaryContacts;
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedPendingConnectionInner.provisioningState
+ = ProvisioningState.fromString(reader.getString());
+ } else if ("policies".equals(fieldName)) {
+ List policies = reader.readArray(reader1 -> reader1.getString());
+ deserializedPendingConnectionInner.policies = policies;
+ } else if ("schemas".equals(fieldName)) {
+ List schemas = reader.readArray(reader1 -> Schema.fromJson(reader1));
+ deserializedPendingConnectionInner.schemas = schemas;
+ } else if ("schemaUris".equals(fieldName)) {
+ List schemaUris = reader.readArray(reader1 -> reader1.getString());
+ deserializedPendingConnectionInner.schemaUris = schemaUris;
+ } else if ("properties".equals(fieldName)) {
+ deserializedPendingConnectionInner.properties = ConnectionInner.fromJson(reader);
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedPendingConnectionInner.tags = tags;
+ } else if ("id".equals(fieldName)) {
+ deserializedPendingConnectionInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedPendingConnectionInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedPendingConnectionInner.type = reader.getString();
+ } else if ("systemData".equals(fieldName)) {
+ deserializedPendingConnectionInner.systemData = SystemData.fromJson(reader);
+ } else if ("subscriptionId".equals(fieldName)) {
+ deserializedPendingConnectionInner.subscriptionId = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedPendingConnectionInner;
+ });
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/PendingFlowInner.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/PendingFlowInner.java
new file mode 100644
index 000000000000..f36028fa97a3
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/PendingFlowInner.java
@@ -0,0 +1,1050 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.azuredatatransfer.models.ApiFlowOptions;
+import com.azure.resourcemanager.azuredatatransfer.models.DataType;
+import com.azure.resourcemanager.azuredatatransfer.models.FlowStatus;
+import com.azure.resourcemanager.azuredatatransfer.models.FlowType;
+import com.azure.resourcemanager.azuredatatransfer.models.ForceDisabledStatus;
+import com.azure.resourcemanager.azuredatatransfer.models.LinkStatus;
+import com.azure.resourcemanager.azuredatatransfer.models.MessagingOptions;
+import com.azure.resourcemanager.azuredatatransfer.models.ProvisioningState;
+import com.azure.resourcemanager.azuredatatransfer.models.Schema;
+import com.azure.resourcemanager.azuredatatransfer.models.SelectedResource;
+import com.azure.resourcemanager.azuredatatransfer.models.StreamProtocol;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Pending flow object.
+ */
+@Fluent
+public final class PendingFlowInner implements JsonSerializable {
+ /*
+ * The connection associated with this flow
+ */
+ private SelectedResource connection;
+
+ /*
+ * Dataflow GUID associated with this flow
+ */
+ private String flowId;
+
+ /*
+ * AME, PME, or TORUS only! AKV Chain Containing SAS Token
+ */
+ private String keyVaultUri;
+
+ /*
+ * Link status of the current flow
+ */
+ private LinkStatus linkStatus;
+
+ /*
+ * Resource ID of the linked flow
+ */
+ private String linkedFlowId;
+
+ /*
+ * Status of the current flow
+ */
+ private FlowStatus status;
+
+ /*
+ * Force disablement status of the current flow
+ */
+ private List forceDisabledStatus;
+
+ /*
+ * Storage Account
+ */
+ private String storageAccountName;
+
+ /*
+ * Storage Account ID
+ */
+ private String storageAccountId;
+
+ /*
+ * Storage Container Name
+ */
+ private String storageContainerName;
+
+ /*
+ * Storage Table Name
+ */
+ private String storageTableName;
+
+ /*
+ * Service Bus Queue ID
+ */
+ private String serviceBusQueueId;
+
+ /*
+ * The flow type for this flow
+ */
+ private FlowType flowType;
+
+ /*
+ * Transfer Storage Blobs or Tables
+ */
+ private DataType dataType;
+
+ /*
+ * Provisioning state of the flow
+ */
+ private ProvisioningState provisioningState;
+
+ /*
+ * The policies for this flow
+ */
+ private List policies;
+
+ /*
+ * The selected schema for this flow
+ */
+ private Schema schema;
+
+ /*
+ * The messaging options for this flow
+ */
+ private MessagingOptions messagingOptions;
+
+ /*
+ * The API Flow configuration options for Azure Data Transfer API Flow type.
+ */
+ private ApiFlowOptions apiFlowOptions;
+
+ /*
+ * The URI to the customer managed key for this flow
+ */
+ private String customerManagedKeyVaultUri;
+
+ /*
+ * The flow stream identifier
+ */
+ private String streamId;
+
+ /*
+ * The protocol of the stream
+ */
+ private StreamProtocol streamProtocol;
+
+ /*
+ * The latency of the stream in milliseconds
+ */
+ private Long streamLatency;
+
+ /*
+ * The passphrase used for SRT streams
+ */
+ private String passphrase;
+
+ /*
+ * The source IP address and CIDR ranges of the stream
+ */
+ private StreamSourceAddressesInner sourceAddresses;
+
+ /*
+ * The destination endpoints of the stream
+ */
+ private List destinationEndpoints;
+
+ /*
+ * The destination endpoint ports of the stream
+ */
+ private List destinationEndpointPorts;
+
+ /*
+ * Event Hub ID
+ */
+ private String eventHubId;
+
+ /*
+ * Event Hub Consumer Group
+ */
+ private String consumerGroup;
+
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private FlowInner properties;
+
+ /*
+ * Resource tags.
+ */
+ private Map tags;
+
+ /*
+ * The geo-location where the resource lives
+ */
+ private String location;
+
+ /*
+ * Fully qualified resource ID for the resource. Ex -
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{
+ * resourceType}/{resourceName}
+ */
+ private String id;
+
+ /*
+ * The name of the resource
+ */
+ private String name;
+
+ /*
+ * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
+ */
+ private String type;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * Subscription ID of the pending flow.
+ */
+ private String subscriptionId;
+
+ /*
+ * Connection ID of the pending flow.
+ */
+ private String connectionId;
+
+ /**
+ * Creates an instance of PendingFlowInner class.
+ */
+ public PendingFlowInner() {
+ }
+
+ /**
+ * Get the connection property: The connection associated with this flow.
+ *
+ * @return the connection value.
+ */
+ public SelectedResource connection() {
+ return this.connection;
+ }
+
+ /**
+ * Set the connection property: The connection associated with this flow.
+ *
+ * @param connection the connection value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withConnection(SelectedResource connection) {
+ this.connection = connection;
+ return this;
+ }
+
+ /**
+ * Get the flowId property: Dataflow GUID associated with this flow.
+ *
+ * @return the flowId value.
+ */
+ public String flowId() {
+ return this.flowId;
+ }
+
+ /**
+ * Get the keyVaultUri property: AME, PME, or TORUS only! AKV Chain Containing SAS Token.
+ *
+ * @return the keyVaultUri value.
+ */
+ public String keyVaultUri() {
+ return this.keyVaultUri;
+ }
+
+ /**
+ * Set the keyVaultUri property: AME, PME, or TORUS only! AKV Chain Containing SAS Token.
+ *
+ * @param keyVaultUri the keyVaultUri value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withKeyVaultUri(String keyVaultUri) {
+ this.keyVaultUri = keyVaultUri;
+ return this;
+ }
+
+ /**
+ * Get the linkStatus property: Link status of the current flow.
+ *
+ * @return the linkStatus value.
+ */
+ public LinkStatus linkStatus() {
+ return this.linkStatus;
+ }
+
+ /**
+ * Get the linkedFlowId property: Resource ID of the linked flow.
+ *
+ * @return the linkedFlowId value.
+ */
+ public String linkedFlowId() {
+ return this.linkedFlowId;
+ }
+
+ /**
+ * Get the status property: Status of the current flow.
+ *
+ * @return the status value.
+ */
+ public FlowStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: Status of the current flow.
+ *
+ * @param status the status value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withStatus(FlowStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the forceDisabledStatus property: Force disablement status of the current flow.
+ *
+ * @return the forceDisabledStatus value.
+ */
+ public List forceDisabledStatus() {
+ return this.forceDisabledStatus;
+ }
+
+ /**
+ * Get the storageAccountName property: Storage Account.
+ *
+ * @return the storageAccountName value.
+ */
+ public String storageAccountName() {
+ return this.storageAccountName;
+ }
+
+ /**
+ * Set the storageAccountName property: Storage Account.
+ *
+ * @param storageAccountName the storageAccountName value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withStorageAccountName(String storageAccountName) {
+ this.storageAccountName = storageAccountName;
+ return this;
+ }
+
+ /**
+ * Get the storageAccountId property: Storage Account ID.
+ *
+ * @return the storageAccountId value.
+ */
+ public String storageAccountId() {
+ return this.storageAccountId;
+ }
+
+ /**
+ * Set the storageAccountId property: Storage Account ID.
+ *
+ * @param storageAccountId the storageAccountId value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withStorageAccountId(String storageAccountId) {
+ this.storageAccountId = storageAccountId;
+ return this;
+ }
+
+ /**
+ * Get the storageContainerName property: Storage Container Name.
+ *
+ * @return the storageContainerName value.
+ */
+ public String storageContainerName() {
+ return this.storageContainerName;
+ }
+
+ /**
+ * Set the storageContainerName property: Storage Container Name.
+ *
+ * @param storageContainerName the storageContainerName value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withStorageContainerName(String storageContainerName) {
+ this.storageContainerName = storageContainerName;
+ return this;
+ }
+
+ /**
+ * Get the storageTableName property: Storage Table Name.
+ *
+ * @return the storageTableName value.
+ */
+ public String storageTableName() {
+ return this.storageTableName;
+ }
+
+ /**
+ * Set the storageTableName property: Storage Table Name.
+ *
+ * @param storageTableName the storageTableName value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withStorageTableName(String storageTableName) {
+ this.storageTableName = storageTableName;
+ return this;
+ }
+
+ /**
+ * Get the serviceBusQueueId property: Service Bus Queue ID.
+ *
+ * @return the serviceBusQueueId value.
+ */
+ public String serviceBusQueueId() {
+ return this.serviceBusQueueId;
+ }
+
+ /**
+ * Set the serviceBusQueueId property: Service Bus Queue ID.
+ *
+ * @param serviceBusQueueId the serviceBusQueueId value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withServiceBusQueueId(String serviceBusQueueId) {
+ this.serviceBusQueueId = serviceBusQueueId;
+ return this;
+ }
+
+ /**
+ * Get the flowType property: The flow type for this flow.
+ *
+ * @return the flowType value.
+ */
+ public FlowType flowType() {
+ return this.flowType;
+ }
+
+ /**
+ * Set the flowType property: The flow type for this flow.
+ *
+ * @param flowType the flowType value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withFlowType(FlowType flowType) {
+ this.flowType = flowType;
+ return this;
+ }
+
+ /**
+ * Get the dataType property: Transfer Storage Blobs or Tables.
+ *
+ * @return the dataType value.
+ */
+ public DataType dataType() {
+ return this.dataType;
+ }
+
+ /**
+ * Set the dataType property: Transfer Storage Blobs or Tables.
+ *
+ * @param dataType the dataType value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withDataType(DataType dataType) {
+ this.dataType = dataType;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the flow.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the policies property: The policies for this flow.
+ *
+ * @return the policies value.
+ */
+ public List policies() {
+ return this.policies;
+ }
+
+ /**
+ * Set the policies property: The policies for this flow.
+ *
+ * @param policies the policies value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withPolicies(List policies) {
+ this.policies = policies;
+ return this;
+ }
+
+ /**
+ * Get the schema property: The selected schema for this flow.
+ *
+ * @return the schema value.
+ */
+ public Schema schema() {
+ return this.schema;
+ }
+
+ /**
+ * Set the schema property: The selected schema for this flow.
+ *
+ * @param schema the schema value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withSchema(Schema schema) {
+ this.schema = schema;
+ return this;
+ }
+
+ /**
+ * Get the messagingOptions property: The messaging options for this flow.
+ *
+ * @return the messagingOptions value.
+ */
+ public MessagingOptions messagingOptions() {
+ return this.messagingOptions;
+ }
+
+ /**
+ * Set the messagingOptions property: The messaging options for this flow.
+ *
+ * @param messagingOptions the messagingOptions value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withMessagingOptions(MessagingOptions messagingOptions) {
+ this.messagingOptions = messagingOptions;
+ return this;
+ }
+
+ /**
+ * Get the apiFlowOptions property: The API Flow configuration options for Azure Data Transfer API Flow type.
+ *
+ * @return the apiFlowOptions value.
+ */
+ public ApiFlowOptions apiFlowOptions() {
+ return this.apiFlowOptions;
+ }
+
+ /**
+ * Set the apiFlowOptions property: The API Flow configuration options for Azure Data Transfer API Flow type.
+ *
+ * @param apiFlowOptions the apiFlowOptions value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withApiFlowOptions(ApiFlowOptions apiFlowOptions) {
+ this.apiFlowOptions = apiFlowOptions;
+ return this;
+ }
+
+ /**
+ * Get the customerManagedKeyVaultUri property: The URI to the customer managed key for this flow.
+ *
+ * @return the customerManagedKeyVaultUri value.
+ */
+ public String customerManagedKeyVaultUri() {
+ return this.customerManagedKeyVaultUri;
+ }
+
+ /**
+ * Set the customerManagedKeyVaultUri property: The URI to the customer managed key for this flow.
+ *
+ * @param customerManagedKeyVaultUri the customerManagedKeyVaultUri value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withCustomerManagedKeyVaultUri(String customerManagedKeyVaultUri) {
+ this.customerManagedKeyVaultUri = customerManagedKeyVaultUri;
+ return this;
+ }
+
+ /**
+ * Get the streamId property: The flow stream identifier.
+ *
+ * @return the streamId value.
+ */
+ public String streamId() {
+ return this.streamId;
+ }
+
+ /**
+ * Set the streamId property: The flow stream identifier.
+ *
+ * @param streamId the streamId value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withStreamId(String streamId) {
+ this.streamId = streamId;
+ return this;
+ }
+
+ /**
+ * Get the streamProtocol property: The protocol of the stream.
+ *
+ * @return the streamProtocol value.
+ */
+ public StreamProtocol streamProtocol() {
+ return this.streamProtocol;
+ }
+
+ /**
+ * Set the streamProtocol property: The protocol of the stream.
+ *
+ * @param streamProtocol the streamProtocol value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withStreamProtocol(StreamProtocol streamProtocol) {
+ this.streamProtocol = streamProtocol;
+ return this;
+ }
+
+ /**
+ * Get the streamLatency property: The latency of the stream in milliseconds.
+ *
+ * @return the streamLatency value.
+ */
+ public Long streamLatency() {
+ return this.streamLatency;
+ }
+
+ /**
+ * Set the streamLatency property: The latency of the stream in milliseconds.
+ *
+ * @param streamLatency the streamLatency value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withStreamLatency(Long streamLatency) {
+ this.streamLatency = streamLatency;
+ return this;
+ }
+
+ /**
+ * Get the passphrase property: The passphrase used for SRT streams.
+ *
+ * @return the passphrase value.
+ */
+ public String passphrase() {
+ return this.passphrase;
+ }
+
+ /**
+ * Set the passphrase property: The passphrase used for SRT streams.
+ *
+ * @param passphrase the passphrase value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withPassphrase(String passphrase) {
+ this.passphrase = passphrase;
+ return this;
+ }
+
+ /**
+ * Get the sourceAddresses property: The source IP address and CIDR ranges of the stream.
+ *
+ * @return the sourceAddresses value.
+ */
+ public StreamSourceAddressesInner sourceAddresses() {
+ return this.sourceAddresses;
+ }
+
+ /**
+ * Set the sourceAddresses property: The source IP address and CIDR ranges of the stream.
+ *
+ * @param sourceAddresses the sourceAddresses value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withSourceAddresses(StreamSourceAddressesInner sourceAddresses) {
+ this.sourceAddresses = sourceAddresses;
+ return this;
+ }
+
+ /**
+ * Get the destinationEndpoints property: The destination endpoints of the stream.
+ *
+ * @return the destinationEndpoints value.
+ */
+ public List destinationEndpoints() {
+ return this.destinationEndpoints;
+ }
+
+ /**
+ * Set the destinationEndpoints property: The destination endpoints of the stream.
+ *
+ * @param destinationEndpoints the destinationEndpoints value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withDestinationEndpoints(List destinationEndpoints) {
+ this.destinationEndpoints = destinationEndpoints;
+ return this;
+ }
+
+ /**
+ * Get the destinationEndpointPorts property: The destination endpoint ports of the stream.
+ *
+ * @return the destinationEndpointPorts value.
+ */
+ public List destinationEndpointPorts() {
+ return this.destinationEndpointPorts;
+ }
+
+ /**
+ * Set the destinationEndpointPorts property: The destination endpoint ports of the stream.
+ *
+ * @param destinationEndpointPorts the destinationEndpointPorts value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withDestinationEndpointPorts(List destinationEndpointPorts) {
+ this.destinationEndpointPorts = destinationEndpointPorts;
+ return this;
+ }
+
+ /**
+ * Get the eventHubId property: Event Hub ID.
+ *
+ * @return the eventHubId value.
+ */
+ public String eventHubId() {
+ return this.eventHubId;
+ }
+
+ /**
+ * Set the eventHubId property: Event Hub ID.
+ *
+ * @param eventHubId the eventHubId value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withEventHubId(String eventHubId) {
+ this.eventHubId = eventHubId;
+ return this;
+ }
+
+ /**
+ * Get the consumerGroup property: Event Hub Consumer Group.
+ *
+ * @return the consumerGroup value.
+ */
+ public String consumerGroup() {
+ return this.consumerGroup;
+ }
+
+ /**
+ * Set the consumerGroup property: Event Hub Consumer Group.
+ *
+ * @param consumerGroup the consumerGroup value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withConsumerGroup(String consumerGroup) {
+ this.consumerGroup = consumerGroup;
+ return this;
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public FlowInner properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withProperties(FlowInner properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the tags property: Resource tags.
+ *
+ * @return the tags value.
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set the tags property: Resource tags.
+ *
+ * @param tags the tags value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ /**
+ * Get the location property: The geo-location where the resource lives.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: The geo-location where the resource lives.
+ *
+ * @param location the location value to set.
+ * @return the PendingFlowInner object itself.
+ */
+ public PendingFlowInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource ID for the resource. Ex -
+ * /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the type property: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or
+ * "Microsoft.Storage/storageAccounts".
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the subscriptionId property: Subscription ID of the pending flow.
+ *
+ * @return the subscriptionId value.
+ */
+ public String subscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /**
+ * Get the connectionId property: Connection ID of the pending flow.
+ *
+ * @return the connectionId value.
+ */
+ public String connectionId() {
+ return this.connectionId;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (connection() != null) {
+ connection().validate();
+ }
+ if (schema() != null) {
+ schema().validate();
+ }
+ if (messagingOptions() != null) {
+ messagingOptions().validate();
+ }
+ if (apiFlowOptions() != null) {
+ apiFlowOptions().validate();
+ }
+ if (sourceAddresses() != null) {
+ sourceAddresses().validate();
+ }
+ if (properties() != null) {
+ properties().validate();
+ }
+ if (location() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException("Missing required property location in model PendingFlowInner"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(PendingFlowInner.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("location", this.location);
+ jsonWriter.writeJsonField("connection", this.connection);
+ jsonWriter.writeStringField("keyVaultUri", this.keyVaultUri);
+ jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+ jsonWriter.writeStringField("storageAccountName", this.storageAccountName);
+ jsonWriter.writeStringField("storageAccountId", this.storageAccountId);
+ jsonWriter.writeStringField("storageContainerName", this.storageContainerName);
+ jsonWriter.writeStringField("storageTableName", this.storageTableName);
+ jsonWriter.writeStringField("serviceBusQueueId", this.serviceBusQueueId);
+ jsonWriter.writeStringField("flowType", this.flowType == null ? null : this.flowType.toString());
+ jsonWriter.writeStringField("dataType", this.dataType == null ? null : this.dataType.toString());
+ jsonWriter.writeArrayField("policies", this.policies, (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("schema", this.schema);
+ jsonWriter.writeJsonField("messagingOptions", this.messagingOptions);
+ jsonWriter.writeJsonField("apiFlowOptions", this.apiFlowOptions);
+ jsonWriter.writeStringField("customerManagedKeyVaultUri", this.customerManagedKeyVaultUri);
+ jsonWriter.writeStringField("streamId", this.streamId);
+ jsonWriter.writeStringField("streamProtocol",
+ this.streamProtocol == null ? null : this.streamProtocol.toString());
+ jsonWriter.writeNumberField("streamLatency", this.streamLatency);
+ jsonWriter.writeStringField("passphrase", this.passphrase);
+ jsonWriter.writeJsonField("sourceAddresses", this.sourceAddresses);
+ jsonWriter.writeArrayField("destinationEndpoints", this.destinationEndpoints,
+ (writer, element) -> writer.writeString(element));
+ jsonWriter.writeArrayField("destinationEndpointPorts", this.destinationEndpointPorts,
+ (writer, element) -> writer.writeLong(element));
+ jsonWriter.writeStringField("eventHubId", this.eventHubId);
+ jsonWriter.writeStringField("consumerGroup", this.consumerGroup);
+ jsonWriter.writeJsonField("properties", this.properties);
+ jsonWriter.writeMapField("tags", this.tags, (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PendingFlowInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PendingFlowInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the PendingFlowInner.
+ */
+ public static PendingFlowInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ PendingFlowInner deserializedPendingFlowInner = new PendingFlowInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("location".equals(fieldName)) {
+ deserializedPendingFlowInner.location = reader.getString();
+ } else if ("connection".equals(fieldName)) {
+ deserializedPendingFlowInner.connection = SelectedResource.fromJson(reader);
+ } else if ("flowId".equals(fieldName)) {
+ deserializedPendingFlowInner.flowId = reader.getString();
+ } else if ("keyVaultUri".equals(fieldName)) {
+ deserializedPendingFlowInner.keyVaultUri = reader.getString();
+ } else if ("linkStatus".equals(fieldName)) {
+ deserializedPendingFlowInner.linkStatus = LinkStatus.fromString(reader.getString());
+ } else if ("linkedFlowId".equals(fieldName)) {
+ deserializedPendingFlowInner.linkedFlowId = reader.getString();
+ } else if ("status".equals(fieldName)) {
+ deserializedPendingFlowInner.status = FlowStatus.fromString(reader.getString());
+ } else if ("forceDisabledStatus".equals(fieldName)) {
+ List forceDisabledStatus
+ = reader.readArray(reader1 -> ForceDisabledStatus.fromString(reader1.getString()));
+ deserializedPendingFlowInner.forceDisabledStatus = forceDisabledStatus;
+ } else if ("storageAccountName".equals(fieldName)) {
+ deserializedPendingFlowInner.storageAccountName = reader.getString();
+ } else if ("storageAccountId".equals(fieldName)) {
+ deserializedPendingFlowInner.storageAccountId = reader.getString();
+ } else if ("storageContainerName".equals(fieldName)) {
+ deserializedPendingFlowInner.storageContainerName = reader.getString();
+ } else if ("storageTableName".equals(fieldName)) {
+ deserializedPendingFlowInner.storageTableName = reader.getString();
+ } else if ("serviceBusQueueId".equals(fieldName)) {
+ deserializedPendingFlowInner.serviceBusQueueId = reader.getString();
+ } else if ("flowType".equals(fieldName)) {
+ deserializedPendingFlowInner.flowType = FlowType.fromString(reader.getString());
+ } else if ("dataType".equals(fieldName)) {
+ deserializedPendingFlowInner.dataType = DataType.fromString(reader.getString());
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedPendingFlowInner.provisioningState = ProvisioningState.fromString(reader.getString());
+ } else if ("policies".equals(fieldName)) {
+ List policies = reader.readArray(reader1 -> reader1.getString());
+ deserializedPendingFlowInner.policies = policies;
+ } else if ("schema".equals(fieldName)) {
+ deserializedPendingFlowInner.schema = Schema.fromJson(reader);
+ } else if ("messagingOptions".equals(fieldName)) {
+ deserializedPendingFlowInner.messagingOptions = MessagingOptions.fromJson(reader);
+ } else if ("apiFlowOptions".equals(fieldName)) {
+ deserializedPendingFlowInner.apiFlowOptions = ApiFlowOptions.fromJson(reader);
+ } else if ("customerManagedKeyVaultUri".equals(fieldName)) {
+ deserializedPendingFlowInner.customerManagedKeyVaultUri = reader.getString();
+ } else if ("streamId".equals(fieldName)) {
+ deserializedPendingFlowInner.streamId = reader.getString();
+ } else if ("streamProtocol".equals(fieldName)) {
+ deserializedPendingFlowInner.streamProtocol = StreamProtocol.fromString(reader.getString());
+ } else if ("streamLatency".equals(fieldName)) {
+ deserializedPendingFlowInner.streamLatency = reader.getNullable(JsonReader::getLong);
+ } else if ("passphrase".equals(fieldName)) {
+ deserializedPendingFlowInner.passphrase = reader.getString();
+ } else if ("sourceAddresses".equals(fieldName)) {
+ deserializedPendingFlowInner.sourceAddresses = StreamSourceAddressesInner.fromJson(reader);
+ } else if ("destinationEndpoints".equals(fieldName)) {
+ List destinationEndpoints = reader.readArray(reader1 -> reader1.getString());
+ deserializedPendingFlowInner.destinationEndpoints = destinationEndpoints;
+ } else if ("destinationEndpointPorts".equals(fieldName)) {
+ List destinationEndpointPorts = reader.readArray(reader1 -> reader1.getLong());
+ deserializedPendingFlowInner.destinationEndpointPorts = destinationEndpointPorts;
+ } else if ("eventHubId".equals(fieldName)) {
+ deserializedPendingFlowInner.eventHubId = reader.getString();
+ } else if ("consumerGroup".equals(fieldName)) {
+ deserializedPendingFlowInner.consumerGroup = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedPendingFlowInner.properties = FlowInner.fromJson(reader);
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedPendingFlowInner.tags = tags;
+ } else if ("id".equals(fieldName)) {
+ deserializedPendingFlowInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedPendingFlowInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedPendingFlowInner.type = reader.getString();
+ } else if ("systemData".equals(fieldName)) {
+ deserializedPendingFlowInner.systemData = SystemData.fromJson(reader);
+ } else if ("subscriptionId".equals(fieldName)) {
+ deserializedPendingFlowInner.subscriptionId = reader.getString();
+ } else if ("connectionId".equals(fieldName)) {
+ deserializedPendingFlowInner.connectionId = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedPendingFlowInner;
+ });
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/PipelineInner.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/PipelineInner.java
new file mode 100644
index 000000000000..2f322714cf22
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/PipelineInner.java
@@ -0,0 +1,224 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.azuredatatransfer.models.ManagedServiceIdentity;
+import com.azure.resourcemanager.azuredatatransfer.models.PipelineProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * The pipeline resource definition.
+ */
+@Fluent
+public final class PipelineInner extends Resource {
+ /*
+ * Properties of pipeline
+ */
+ private PipelineProperties properties;
+
+ /*
+ * The managed service identities assigned to this resource.
+ */
+ private ManagedServiceIdentity identity;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of PipelineInner class.
+ */
+ public PipelineInner() {
+ }
+
+ /**
+ * Get the properties property: Properties of pipeline.
+ *
+ * @return the properties value.
+ */
+ public PipelineProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Properties of pipeline.
+ *
+ * @param properties the properties value to set.
+ * @return the PipelineInner object itself.
+ */
+ public PipelineInner withProperties(PipelineProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the identity property: The managed service identities assigned to this resource.
+ *
+ * @return the identity value.
+ */
+ public ManagedServiceIdentity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: The managed service identities assigned to this resource.
+ *
+ * @param identity the identity value to set.
+ * @return the PipelineInner object itself.
+ */
+ public PipelineInner withIdentity(ManagedServiceIdentity identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public PipelineInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public PipelineInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ if (identity() != null) {
+ identity().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("location", location());
+ jsonWriter.writeMapField("tags", tags(), (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("properties", this.properties);
+ jsonWriter.writeJsonField("identity", this.identity);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PipelineInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PipelineInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the PipelineInner.
+ */
+ public static PipelineInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ PipelineInner deserializedPipelineInner = new PipelineInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedPipelineInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedPipelineInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedPipelineInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedPipelineInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedPipelineInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedPipelineInner.properties = PipelineProperties.fromJson(reader);
+ } else if ("identity".equals(fieldName)) {
+ deserializedPipelineInner.identity = ManagedServiceIdentity.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedPipelineInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedPipelineInner;
+ });
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/SchemasListResultInner.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/SchemasListResultInner.java
new file mode 100644
index 000000000000..61d95e5e482e
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/SchemasListResultInner.java
@@ -0,0 +1,99 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.azuredatatransfer.models.Schema;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The schemas list result.
+ */
+@Fluent
+public final class SchemasListResultInner implements JsonSerializable {
+ /*
+ * Schemas array.
+ */
+ private List value;
+
+ /**
+ * Creates an instance of SchemasListResultInner class.
+ */
+ public SchemasListResultInner() {
+ }
+
+ /**
+ * Get the value property: Schemas array.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: Schemas array.
+ *
+ * @param value the value value to set.
+ * @return the SchemasListResultInner object itself.
+ */
+ public SchemasListResultInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SchemasListResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SchemasListResultInner if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the SchemasListResultInner.
+ */
+ public static SchemasListResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SchemasListResultInner deserializedSchemasListResultInner = new SchemasListResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("value".equals(fieldName)) {
+ List value = reader.readArray(reader1 -> Schema.fromJson(reader1));
+ deserializedSchemasListResultInner.value = value;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSchemasListResultInner;
+ });
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/StreamSourceAddressesInner.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/StreamSourceAddressesInner.java
new file mode 100644
index 000000000000..f28a5bf235bd
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/StreamSourceAddressesInner.java
@@ -0,0 +1,96 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The source IP address and CIDR ranges of the stream.
+ */
+@Fluent
+public final class StreamSourceAddressesInner implements JsonSerializable {
+ /*
+ * A source IP address or CIDR range
+ */
+ private List sourceAddresses;
+
+ /**
+ * Creates an instance of StreamSourceAddressesInner class.
+ */
+ public StreamSourceAddressesInner() {
+ }
+
+ /**
+ * Get the sourceAddresses property: A source IP address or CIDR range.
+ *
+ * @return the sourceAddresses value.
+ */
+ public List sourceAddresses() {
+ return this.sourceAddresses;
+ }
+
+ /**
+ * Set the sourceAddresses property: A source IP address or CIDR range.
+ *
+ * @param sourceAddresses the sourceAddresses value to set.
+ * @return the StreamSourceAddressesInner object itself.
+ */
+ public StreamSourceAddressesInner withSourceAddresses(List sourceAddresses) {
+ this.sourceAddresses = sourceAddresses;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("sourceAddresses", this.sourceAddresses,
+ (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of StreamSourceAddressesInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of StreamSourceAddressesInner if the JsonReader was pointing to an instance of it, or null if
+ * it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the StreamSourceAddressesInner.
+ */
+ public static StreamSourceAddressesInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ StreamSourceAddressesInner deserializedStreamSourceAddressesInner = new StreamSourceAddressesInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("sourceAddresses".equals(fieldName)) {
+ List sourceAddresses = reader.readArray(reader1 -> reader1.getString());
+ deserializedStreamSourceAddressesInner.sourceAddresses = sourceAddresses;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedStreamSourceAddressesInner;
+ });
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/ValidateSchemaResultInner.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/ValidateSchemaResultInner.java
new file mode 100644
index 000000000000..e6d790a0a8aa
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/ValidateSchemaResultInner.java
@@ -0,0 +1,122 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.azuredatatransfer.models.ValidateSchemaStatus;
+import java.io.IOException;
+
+/**
+ * Result of the schema validation.
+ */
+@Fluent
+public final class ValidateSchemaResultInner implements JsonSerializable {
+ /*
+ * Validation status of the schema
+ */
+ private ValidateSchemaStatus status;
+
+ /*
+ * Message describing the schema validation
+ */
+ private String message;
+
+ /**
+ * Creates an instance of ValidateSchemaResultInner class.
+ */
+ public ValidateSchemaResultInner() {
+ }
+
+ /**
+ * Get the status property: Validation status of the schema.
+ *
+ * @return the status value.
+ */
+ public ValidateSchemaStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: Validation status of the schema.
+ *
+ * @param status the status value to set.
+ * @return the ValidateSchemaResultInner object itself.
+ */
+ public ValidateSchemaResultInner withStatus(ValidateSchemaStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the message property: Message describing the schema validation.
+ *
+ * @return the message value.
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set the message property: Message describing the schema validation.
+ *
+ * @param message the message value to set.
+ * @return the ValidateSchemaResultInner object itself.
+ */
+ public ValidateSchemaResultInner withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+ jsonWriter.writeStringField("message", this.message);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ValidateSchemaResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ValidateSchemaResultInner if the JsonReader was pointing to an instance of it, or null if
+ * it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the ValidateSchemaResultInner.
+ */
+ public static ValidateSchemaResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ValidateSchemaResultInner deserializedValidateSchemaResultInner = new ValidateSchemaResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("status".equals(fieldName)) {
+ deserializedValidateSchemaResultInner.status = ValidateSchemaStatus.fromString(reader.getString());
+ } else if ("message".equals(fieldName)) {
+ deserializedValidateSchemaResultInner.message = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedValidateSchemaResultInner;
+ });
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/package-info.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/package-info.java
new file mode 100644
index 000000000000..43ab1b5329bd
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/models/package-info.java
@@ -0,0 +1,9 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/**
+ * Package containing the inner data models for Azuredatatransferrp.
+ * Azure Data Transfer service resource provider.
+ */
+package com.azure.resourcemanager.azuredatatransfer.fluent.models;
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/package-info.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/package-info.java
new file mode 100644
index 000000000000..b403d1e178c0
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/fluent/package-info.java
@@ -0,0 +1,9 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/**
+ * Package containing the service clients for Azuredatatransferrp.
+ * Azure Data Transfer service resource provider.
+ */
+package com.azure.resourcemanager.azuredatatransfer.fluent;
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/AzureDataTransfersClientImpl.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/AzureDataTransfersClientImpl.java
new file mode 100644
index 000000000000..2f98f1e8536c
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/AzureDataTransfersClientImpl.java
@@ -0,0 +1,266 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Post;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.azuredatatransfer.fluent.AzureDataTransfersClient;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.SchemasListResultInner;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.ValidateSchemaResultInner;
+import com.azure.resourcemanager.azuredatatransfer.models.ListApprovedSchemasRequest;
+import com.azure.resourcemanager.azuredatatransfer.models.Schema;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in AzureDataTransfersClient.
+ */
+public final class AzureDataTransfersClientImpl implements AzureDataTransfersClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final AzureDataTransfersService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final AzuredatatransferrpImpl client;
+
+ /**
+ * Initializes an instance of AzureDataTransfersClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ AzureDataTransfersClientImpl(AzuredatatransferrpImpl client) {
+ this.service = RestProxy.create(AzureDataTransfersService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AzuredatatransferrpAzureDataTransfers to be used by the proxy service
+ * to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "AzuredatatransferrpA")
+ public interface AzureDataTransfersService {
+ @Headers({ "Content-Type: application/json" })
+ @Post("/providers/Microsoft.AzureDataTransfer/listApprovedSchemas")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listApprovedSchemas(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") ListApprovedSchemasRequest body, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/providers/Microsoft.AzureDataTransfer/listApprovedSchemas")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listApprovedSchemasSync(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") ListApprovedSchemasRequest body, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/providers/Microsoft.AzureDataTransfer/validateSchema")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> validateSchema(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @BodyParam("application/json") Schema body,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/providers/Microsoft.AzureDataTransfer/validateSchema")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response validateSchemaSync(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @BodyParam("application/json") Schema body,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * Lists approved schemas for Azure Data Transfer.
+ *
+ * @param body The request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the schemas list result along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listApprovedSchemasWithResponseAsync(ListApprovedSchemasRequest body) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (body == null) {
+ return Mono.error(new IllegalArgumentException("Parameter body is required and cannot be null."));
+ } else {
+ body.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listApprovedSchemas(this.client.getEndpoint(), this.client.getApiVersion(),
+ body, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Lists approved schemas for Azure Data Transfer.
+ *
+ * @param body The request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the schemas list result on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono listApprovedSchemasAsync(ListApprovedSchemasRequest body) {
+ return listApprovedSchemasWithResponseAsync(body).flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Lists approved schemas for Azure Data Transfer.
+ *
+ * @param body The request body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the schemas list result along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response listApprovedSchemasWithResponse(ListApprovedSchemasRequest body,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (body == null) {
+ throw LOGGER.atError().log(new IllegalArgumentException("Parameter body is required and cannot be null."));
+ } else {
+ body.validate();
+ }
+ final String accept = "application/json";
+ return service.listApprovedSchemasSync(this.client.getEndpoint(), this.client.getApiVersion(), body, accept,
+ context);
+ }
+
+ /**
+ * Lists approved schemas for Azure Data Transfer.
+ *
+ * @param body The request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the schemas list result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SchemasListResultInner listApprovedSchemas(ListApprovedSchemasRequest body) {
+ return listApprovedSchemasWithResponse(body, Context.NONE).getValue();
+ }
+
+ /**
+ * Validates a schema for Azure Data Transfer.
+ *
+ * @param body The request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the schema validation along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> validateSchemaWithResponseAsync(Schema body) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (body == null) {
+ return Mono.error(new IllegalArgumentException("Parameter body is required and cannot be null."));
+ } else {
+ body.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.validateSchema(this.client.getEndpoint(), this.client.getApiVersion(), body,
+ accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Validates a schema for Azure Data Transfer.
+ *
+ * @param body The request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the schema validation on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono validateSchemaAsync(Schema body) {
+ return validateSchemaWithResponseAsync(body).flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Validates a schema for Azure Data Transfer.
+ *
+ * @param body The request body.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the schema validation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response validateSchemaWithResponse(Schema body, Context context) {
+ if (this.client.getEndpoint() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (body == null) {
+ throw LOGGER.atError().log(new IllegalArgumentException("Parameter body is required and cannot be null."));
+ } else {
+ body.validate();
+ }
+ final String accept = "application/json";
+ return service.validateSchemaSync(this.client.getEndpoint(), this.client.getApiVersion(), body, accept,
+ context);
+ }
+
+ /**
+ * Validates a schema for Azure Data Transfer.
+ *
+ * @param body The request body.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the schema validation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ValidateSchemaResultInner validateSchema(Schema body) {
+ return validateSchemaWithResponse(body, Context.NONE).getValue();
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(AzureDataTransfersClientImpl.class);
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/AzureDataTransfersImpl.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/AzureDataTransfersImpl.java
new file mode 100644
index 000000000000..4660e163b0fe
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/AzureDataTransfersImpl.java
@@ -0,0 +1,79 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.implementation;
+
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.azuredatatransfer.fluent.AzureDataTransfersClient;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.SchemasListResultInner;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.ValidateSchemaResultInner;
+import com.azure.resourcemanager.azuredatatransfer.models.AzureDataTransfers;
+import com.azure.resourcemanager.azuredatatransfer.models.ListApprovedSchemasRequest;
+import com.azure.resourcemanager.azuredatatransfer.models.Schema;
+import com.azure.resourcemanager.azuredatatransfer.models.SchemasListResult;
+import com.azure.resourcemanager.azuredatatransfer.models.ValidateSchemaResult;
+
+public final class AzureDataTransfersImpl implements AzureDataTransfers {
+ private static final ClientLogger LOGGER = new ClientLogger(AzureDataTransfersImpl.class);
+
+ private final AzureDataTransfersClient innerClient;
+
+ private final com.azure.resourcemanager.azuredatatransfer.AzuredatatransferManager serviceManager;
+
+ public AzureDataTransfersImpl(AzureDataTransfersClient innerClient,
+ com.azure.resourcemanager.azuredatatransfer.AzuredatatransferManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response listApprovedSchemasWithResponse(ListApprovedSchemasRequest body,
+ Context context) {
+ Response inner = this.serviceClient().listApprovedSchemasWithResponse(body, context);
+ if (inner != null) {
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new SchemasListResultImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public SchemasListResult listApprovedSchemas(ListApprovedSchemasRequest body) {
+ SchemasListResultInner inner = this.serviceClient().listApprovedSchemas(body);
+ if (inner != null) {
+ return new SchemasListResultImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response validateSchemaWithResponse(Schema body, Context context) {
+ Response inner = this.serviceClient().validateSchemaWithResponse(body, context);
+ if (inner != null) {
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new ValidateSchemaResultImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public ValidateSchemaResult validateSchema(Schema body) {
+ ValidateSchemaResultInner inner = this.serviceClient().validateSchema(body);
+ if (inner != null) {
+ return new ValidateSchemaResultImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ private AzureDataTransfersClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.azuredatatransfer.AzuredatatransferManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/AzuredatatransferrpBuilder.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/AzuredatatransferrpBuilder.java
new file mode 100644
index 000000000000..b446bed9a0c9
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/AzuredatatransferrpBuilder.java
@@ -0,0 +1,138 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.implementation;
+
+import com.azure.core.annotation.ServiceClientBuilder;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.AzureEnvironment;
+import com.azure.core.management.serializer.SerializerFactory;
+import com.azure.core.util.serializer.SerializerAdapter;
+import java.time.Duration;
+
+/**
+ * A builder for creating a new instance of the AzuredatatransferrpImpl type.
+ */
+@ServiceClientBuilder(serviceClients = { AzuredatatransferrpImpl.class })
+public final class AzuredatatransferrpBuilder {
+ /*
+ * The ID of the target subscription. The value must be an UUID.
+ */
+ private String subscriptionId;
+
+ /**
+ * Sets The ID of the target subscription. The value must be an UUID.
+ *
+ * @param subscriptionId the subscriptionId value.
+ * @return the AzuredatatransferrpBuilder.
+ */
+ public AzuredatatransferrpBuilder subscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /*
+ * server parameter
+ */
+ private String endpoint;
+
+ /**
+ * Sets server parameter.
+ *
+ * @param endpoint the endpoint value.
+ * @return the AzuredatatransferrpBuilder.
+ */
+ public AzuredatatransferrpBuilder endpoint(String endpoint) {
+ this.endpoint = endpoint;
+ return this;
+ }
+
+ /*
+ * The environment to connect to
+ */
+ private AzureEnvironment environment;
+
+ /**
+ * Sets The environment to connect to.
+ *
+ * @param environment the environment value.
+ * @return the AzuredatatransferrpBuilder.
+ */
+ public AzuredatatransferrpBuilder environment(AzureEnvironment environment) {
+ this.environment = environment;
+ return this;
+ }
+
+ /*
+ * The HTTP pipeline to send requests through
+ */
+ private HttpPipeline pipeline;
+
+ /**
+ * Sets The HTTP pipeline to send requests through.
+ *
+ * @param pipeline the pipeline value.
+ * @return the AzuredatatransferrpBuilder.
+ */
+ public AzuredatatransferrpBuilder pipeline(HttpPipeline pipeline) {
+ this.pipeline = pipeline;
+ return this;
+ }
+
+ /*
+ * The default poll interval for long-running operation
+ */
+ private Duration defaultPollInterval;
+
+ /**
+ * Sets The default poll interval for long-running operation.
+ *
+ * @param defaultPollInterval the defaultPollInterval value.
+ * @return the AzuredatatransferrpBuilder.
+ */
+ public AzuredatatransferrpBuilder defaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval = defaultPollInterval;
+ return this;
+ }
+
+ /*
+ * The serializer to serialize an object into a string
+ */
+ private SerializerAdapter serializerAdapter;
+
+ /**
+ * Sets The serializer to serialize an object into a string.
+ *
+ * @param serializerAdapter the serializerAdapter value.
+ * @return the AzuredatatransferrpBuilder.
+ */
+ public AzuredatatransferrpBuilder serializerAdapter(SerializerAdapter serializerAdapter) {
+ this.serializerAdapter = serializerAdapter;
+ return this;
+ }
+
+ /**
+ * Builds an instance of AzuredatatransferrpImpl with the provided parameters.
+ *
+ * @return an instance of AzuredatatransferrpImpl.
+ */
+ public AzuredatatransferrpImpl buildClient() {
+ String localEndpoint = (endpoint != null) ? endpoint : "https://management.azure.com";
+ AzureEnvironment localEnvironment = (environment != null) ? environment : AzureEnvironment.AZURE;
+ HttpPipeline localPipeline = (pipeline != null)
+ ? pipeline
+ : new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build();
+ Duration localDefaultPollInterval
+ = (defaultPollInterval != null) ? defaultPollInterval : Duration.ofSeconds(30);
+ SerializerAdapter localSerializerAdapter = (serializerAdapter != null)
+ ? serializerAdapter
+ : SerializerFactory.createDefaultManagementSerializerAdapter();
+ AzuredatatransferrpImpl client = new AzuredatatransferrpImpl(localPipeline, localSerializerAdapter,
+ localDefaultPollInterval, localEnvironment, this.subscriptionId, localEndpoint);
+ return client;
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/AzuredatatransferrpImpl.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/AzuredatatransferrpImpl.java
new file mode 100644
index 000000000000..a2b99a4aaa2c
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/AzuredatatransferrpImpl.java
@@ -0,0 +1,372 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.implementation;
+
+import com.azure.core.annotation.ServiceClient;
+import com.azure.core.http.HttpHeaderName;
+import com.azure.core.http.HttpHeaders;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpResponse;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.AzureEnvironment;
+import com.azure.core.management.exception.ManagementError;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.management.polling.PollerFactory;
+import com.azure.core.management.polling.SyncPollerFactory;
+import com.azure.core.util.BinaryData;
+import com.azure.core.util.Context;
+import com.azure.core.util.CoreUtils;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.AsyncPollResponse;
+import com.azure.core.util.polling.LongRunningOperationStatus;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.core.util.serializer.SerializerAdapter;
+import com.azure.core.util.serializer.SerializerEncoding;
+import com.azure.resourcemanager.azuredatatransfer.fluent.AzureDataTransfersClient;
+import com.azure.resourcemanager.azuredatatransfer.fluent.Azuredatatransferrp;
+import com.azure.resourcemanager.azuredatatransfer.fluent.ConnectionsClient;
+import com.azure.resourcemanager.azuredatatransfer.fluent.FlowsClient;
+import com.azure.resourcemanager.azuredatatransfer.fluent.OperationsClient;
+import com.azure.resourcemanager.azuredatatransfer.fluent.PipelinesClient;
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.nio.ByteBuffer;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import java.time.Duration;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * Initializes a new instance of the AzuredatatransferrpImpl type.
+ */
+@ServiceClient(builder = AzuredatatransferrpBuilder.class)
+public final class AzuredatatransferrpImpl implements Azuredatatransferrp {
+ /**
+ * The ID of the target subscription. The value must be an UUID.
+ */
+ private final String subscriptionId;
+
+ /**
+ * Gets The ID of the target subscription. The value must be an UUID.
+ *
+ * @return the subscriptionId value.
+ */
+ public String getSubscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /**
+ * server parameter.
+ */
+ private final String endpoint;
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ public String getEndpoint() {
+ return this.endpoint;
+ }
+
+ /**
+ * Api Version.
+ */
+ private final String apiVersion;
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ public String getApiVersion() {
+ return this.apiVersion;
+ }
+
+ /**
+ * The HTTP pipeline to send requests through.
+ */
+ private final HttpPipeline httpPipeline;
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ public HttpPipeline getHttpPipeline() {
+ return this.httpPipeline;
+ }
+
+ /**
+ * The serializer to serialize an object into a string.
+ */
+ private final SerializerAdapter serializerAdapter;
+
+ /**
+ * Gets The serializer to serialize an object into a string.
+ *
+ * @return the serializerAdapter value.
+ */
+ SerializerAdapter getSerializerAdapter() {
+ return this.serializerAdapter;
+ }
+
+ /**
+ * The default poll interval for long-running operation.
+ */
+ private final Duration defaultPollInterval;
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ public Duration getDefaultPollInterval() {
+ return this.defaultPollInterval;
+ }
+
+ /**
+ * The AzureDataTransfersClient object to access its operations.
+ */
+ private final AzureDataTransfersClient azureDataTransfers;
+
+ /**
+ * Gets the AzureDataTransfersClient object to access its operations.
+ *
+ * @return the AzureDataTransfersClient object.
+ */
+ public AzureDataTransfersClient getAzureDataTransfers() {
+ return this.azureDataTransfers;
+ }
+
+ /**
+ * The OperationsClient object to access its operations.
+ */
+ private final OperationsClient operations;
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ public OperationsClient getOperations() {
+ return this.operations;
+ }
+
+ /**
+ * The ConnectionsClient object to access its operations.
+ */
+ private final ConnectionsClient connections;
+
+ /**
+ * Gets the ConnectionsClient object to access its operations.
+ *
+ * @return the ConnectionsClient object.
+ */
+ public ConnectionsClient getConnections() {
+ return this.connections;
+ }
+
+ /**
+ * The PipelinesClient object to access its operations.
+ */
+ private final PipelinesClient pipelines;
+
+ /**
+ * Gets the PipelinesClient object to access its operations.
+ *
+ * @return the PipelinesClient object.
+ */
+ public PipelinesClient getPipelines() {
+ return this.pipelines;
+ }
+
+ /**
+ * The FlowsClient object to access its operations.
+ */
+ private final FlowsClient flows;
+
+ /**
+ * Gets the FlowsClient object to access its operations.
+ *
+ * @return the FlowsClient object.
+ */
+ public FlowsClient getFlows() {
+ return this.flows;
+ }
+
+ /**
+ * Initializes an instance of Azuredatatransferrp client.
+ *
+ * @param httpPipeline The HTTP pipeline to send requests through.
+ * @param serializerAdapter The serializer to serialize an object into a string.
+ * @param defaultPollInterval The default poll interval for long-running operation.
+ * @param environment The Azure environment.
+ * @param subscriptionId The ID of the target subscription. The value must be an UUID.
+ * @param endpoint server parameter.
+ */
+ AzuredatatransferrpImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter,
+ Duration defaultPollInterval, AzureEnvironment environment, String subscriptionId, String endpoint) {
+ this.httpPipeline = httpPipeline;
+ this.serializerAdapter = serializerAdapter;
+ this.defaultPollInterval = defaultPollInterval;
+ this.subscriptionId = subscriptionId;
+ this.endpoint = endpoint;
+ this.apiVersion = "2025-04-11-preview";
+ this.azureDataTransfers = new AzureDataTransfersClientImpl(this);
+ this.operations = new OperationsClientImpl(this);
+ this.connections = new ConnectionsClientImpl(this);
+ this.pipelines = new PipelinesClientImpl(this);
+ this.flows = new FlowsClientImpl(this);
+ }
+
+ /**
+ * Gets default client context.
+ *
+ * @return the default client context.
+ */
+ public Context getContext() {
+ return Context.NONE;
+ }
+
+ /**
+ * Merges default client context with provided context.
+ *
+ * @param context the context to be merged with default client context.
+ * @return the merged context.
+ */
+ public Context mergeContext(Context context) {
+ return CoreUtils.mergeContexts(this.getContext(), context);
+ }
+
+ /**
+ * Gets long running operation result.
+ *
+ * @param activationResponse the response of activation operation.
+ * @param httpPipeline the http pipeline.
+ * @param pollResultType type of poll result.
+ * @param finalResultType type of final result.
+ * @param context the context shared by all requests.
+ * @param type of poll result.
+ * @param type of final result.
+ * @return poller flux for poll result and final result.
+ */
+ public PollerFlux, U> getLroResult(Mono>> activationResponse,
+ HttpPipeline httpPipeline, Type pollResultType, Type finalResultType, Context context) {
+ return PollerFactory.create(serializerAdapter, httpPipeline, pollResultType, finalResultType,
+ defaultPollInterval, activationResponse, context);
+ }
+
+ /**
+ * Gets long running operation result.
+ *
+ * @param activationResponse the response of activation operation.
+ * @param pollResultType type of poll result.
+ * @param finalResultType type of final result.
+ * @param context the context shared by all requests.
+ * @param type of poll result.
+ * @param type of final result.
+ * @return SyncPoller for poll result and final result.
+ */
+ public SyncPoller, U> getLroResult(Response activationResponse,
+ Type pollResultType, Type finalResultType, Context context) {
+ return SyncPollerFactory.create(serializerAdapter, httpPipeline, pollResultType, finalResultType,
+ defaultPollInterval, () -> activationResponse, context);
+ }
+
+ /**
+ * Gets the final result, or an error, based on last async poll response.
+ *
+ * @param response the last async poll response.
+ * @param type of poll result.
+ * @param type of final result.
+ * @return the final result, or an error.
+ */
+ public Mono getLroFinalResultOrError(AsyncPollResponse, U> response) {
+ if (response.getStatus() != LongRunningOperationStatus.SUCCESSFULLY_COMPLETED) {
+ String errorMessage;
+ ManagementError managementError = null;
+ HttpResponse errorResponse = null;
+ PollResult.Error lroError = response.getValue().getError();
+ if (lroError != null) {
+ errorResponse = new HttpResponseImpl(lroError.getResponseStatusCode(), lroError.getResponseHeaders(),
+ lroError.getResponseBody());
+
+ errorMessage = response.getValue().getError().getMessage();
+ String errorBody = response.getValue().getError().getResponseBody();
+ if (errorBody != null) {
+ // try to deserialize error body to ManagementError
+ try {
+ managementError = this.getSerializerAdapter()
+ .deserialize(errorBody, ManagementError.class, SerializerEncoding.JSON);
+ if (managementError.getCode() == null || managementError.getMessage() == null) {
+ managementError = null;
+ }
+ } catch (IOException | RuntimeException ioe) {
+ LOGGER.logThrowableAsWarning(ioe);
+ }
+ }
+ } else {
+ // fallback to default error message
+ errorMessage = "Long running operation failed.";
+ }
+ if (managementError == null) {
+ // fallback to default ManagementError
+ managementError = new ManagementError(response.getStatus().toString(), errorMessage);
+ }
+ return Mono.error(new ManagementException(errorMessage, errorResponse, managementError));
+ } else {
+ return response.getFinalResult();
+ }
+ }
+
+ private static final class HttpResponseImpl extends HttpResponse {
+ private final int statusCode;
+
+ private final byte[] responseBody;
+
+ private final HttpHeaders httpHeaders;
+
+ HttpResponseImpl(int statusCode, HttpHeaders httpHeaders, String responseBody) {
+ super(null);
+ this.statusCode = statusCode;
+ this.httpHeaders = httpHeaders;
+ this.responseBody = responseBody == null ? null : responseBody.getBytes(StandardCharsets.UTF_8);
+ }
+
+ public int getStatusCode() {
+ return statusCode;
+ }
+
+ public String getHeaderValue(String s) {
+ return httpHeaders.getValue(HttpHeaderName.fromString(s));
+ }
+
+ public HttpHeaders getHeaders() {
+ return httpHeaders;
+ }
+
+ public Flux getBody() {
+ return Flux.just(ByteBuffer.wrap(responseBody));
+ }
+
+ public Mono getBodyAsByteArray() {
+ return Mono.just(responseBody);
+ }
+
+ public Mono getBodyAsString() {
+ return Mono.just(new String(responseBody, StandardCharsets.UTF_8));
+ }
+
+ public Mono getBodyAsString(Charset charset) {
+ return Mono.just(new String(responseBody, charset));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(AzuredatatransferrpImpl.class);
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/ConnectionImpl.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/ConnectionImpl.java
new file mode 100644
index 000000000000..3a5845f82852
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/ConnectionImpl.java
@@ -0,0 +1,222 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.ConnectionInner;
+import com.azure.resourcemanager.azuredatatransfer.models.Connection;
+import com.azure.resourcemanager.azuredatatransfer.models.ConnectionProperties;
+import com.azure.resourcemanager.azuredatatransfer.models.ConnectionsPatch;
+import com.azure.resourcemanager.azuredatatransfer.models.ManagedServiceIdentity;
+import com.azure.resourcemanager.azuredatatransfer.models.PendingConnection;
+import com.azure.resourcemanager.azuredatatransfer.models.PendingFlow;
+import com.azure.resourcemanager.azuredatatransfer.models.ResourceBody;
+import java.util.Collections;
+import java.util.Map;
+
+public final class ConnectionImpl implements Connection, Connection.Definition, Connection.Update {
+ private ConnectionInner innerObject;
+
+ private final com.azure.resourcemanager.azuredatatransfer.AzuredatatransferManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Map tags() {
+ Map inner = this.innerModel().tags();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public ConnectionProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public ManagedServiceIdentity identity() {
+ return this.innerModel().identity();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public ConnectionInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.azuredatatransfer.AzuredatatransferManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String connectionName;
+
+ private ConnectionsPatch updateProperties;
+
+ public ConnectionImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public Connection create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getConnections()
+ .createOrUpdateWithResponse(resourceGroupName, connectionName, this.innerModel(), Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public Connection create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getConnections()
+ .createOrUpdateWithResponse(resourceGroupName, connectionName, this.innerModel(), context)
+ .getValue();
+ return this;
+ }
+
+ ConnectionImpl(String name, com.azure.resourcemanager.azuredatatransfer.AzuredatatransferManager serviceManager) {
+ this.innerObject = new ConnectionInner();
+ this.serviceManager = serviceManager;
+ this.connectionName = name;
+ }
+
+ public ConnectionImpl update() {
+ this.updateProperties = new ConnectionsPatch();
+ return this;
+ }
+
+ public Connection apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getConnections()
+ .update(resourceGroupName, connectionName, updateProperties, Context.NONE);
+ return this;
+ }
+
+ public Connection apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getConnections()
+ .update(resourceGroupName, connectionName, updateProperties, context);
+ return this;
+ }
+
+ ConnectionImpl(ConnectionInner innerObject,
+ com.azure.resourcemanager.azuredatatransfer.AzuredatatransferManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.connectionName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "connections");
+ }
+
+ public Connection refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getConnections()
+ .getByResourceGroupWithResponse(resourceGroupName, connectionName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public Connection refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getConnections()
+ .getByResourceGroupWithResponse(resourceGroupName, connectionName, context)
+ .getValue();
+ return this;
+ }
+
+ public Connection link(ResourceBody body) {
+ return serviceManager.connections().link(resourceGroupName, connectionName, body);
+ }
+
+ public Connection link(ResourceBody body, Context context) {
+ return serviceManager.connections().link(resourceGroupName, connectionName, body, context);
+ }
+
+ public PagedIterable list() {
+ return serviceManager.connections().list(resourceGroupName, connectionName);
+ }
+
+ public PagedIterable list(Context context) {
+ return serviceManager.connections().list(resourceGroupName, connectionName, context);
+ }
+
+ public PagedIterable listPendingFlowsList() {
+ return serviceManager.connections().listPendingFlowsList(resourceGroupName, connectionName);
+ }
+
+ public PagedIterable listPendingFlowsList(Context context) {
+ return serviceManager.connections().listPendingFlowsList(resourceGroupName, connectionName, context);
+ }
+
+ public ConnectionImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public ConnectionImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public ConnectionImpl withTags(Map tags) {
+ if (isInCreateMode()) {
+ this.innerModel().withTags(tags);
+ return this;
+ } else {
+ this.updateProperties.withTags(tags);
+ return this;
+ }
+ }
+
+ public ConnectionImpl withProperties(ConnectionProperties properties) {
+ this.innerModel().withProperties(properties);
+ return this;
+ }
+
+ public ConnectionImpl withIdentity(ManagedServiceIdentity identity) {
+ if (isInCreateMode()) {
+ this.innerModel().withIdentity(identity);
+ return this;
+ } else {
+ this.updateProperties.withIdentity(identity);
+ return this;
+ }
+ }
+
+ private boolean isInCreateMode() {
+ return this.innerModel().id() == null;
+ }
+}
diff --git a/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/ConnectionsClientImpl.java b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/ConnectionsClientImpl.java
new file mode 100644
index 000000000000..656c8880f6af
--- /dev/null
+++ b/sdk/azuredatatransfer/azure-resourcemanager-azuredatatransfer/src/main/java/com/azure/resourcemanager/azuredatatransfer/implementation/ConnectionsClientImpl.java
@@ -0,0 +1,2139 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azuredatatransfer.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.Patch;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Post;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.BinaryData;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.azuredatatransfer.fluent.ConnectionsClient;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.ConnectionInner;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.PendingConnectionInner;
+import com.azure.resourcemanager.azuredatatransfer.fluent.models.PendingFlowInner;
+import com.azure.resourcemanager.azuredatatransfer.models.ConnectionListResult;
+import com.azure.resourcemanager.azuredatatransfer.models.ConnectionsPatch;
+import com.azure.resourcemanager.azuredatatransfer.models.PendingConnectionListResult;
+import com.azure.resourcemanager.azuredatatransfer.models.PendingFlowListResult;
+import com.azure.resourcemanager.azuredatatransfer.models.ResourceBody;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in ConnectionsClient.
+ */
+public final class ConnectionsClientImpl implements ConnectionsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final ConnectionsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final AzuredatatransferrpImpl client;
+
+ /**
+ * Initializes an instance of ConnectionsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ ConnectionsClientImpl(AzuredatatransferrpImpl client) {
+ this.service
+ = RestProxy.create(ConnectionsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for AzuredatatransferrpConnections to be used by the proxy service to
+ * perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "AzuredatatransferrpC")
+ public interface ConnectionsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.AzureDataTransfer/connections")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listBySubscription(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.AzureDataTransfer/connections")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listBySubscriptionSync(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroup(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByResourceGroupSync(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> getByResourceGroup(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("connectionName") String connectionName, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response getByResourceGroupSync(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("connectionName") String connectionName, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> createOrUpdate(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("connectionName") String connectionName, @BodyParam("application/json") ConnectionInner resource,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response createOrUpdateSync(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("connectionName") String connectionName, @BodyParam("application/json") ConnectionInner resource,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> update(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("connectionName") String connectionName,
+ @BodyParam("application/json") ConnectionsPatch properties, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Patch("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response updateSync(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("connectionName") String connectionName,
+ @BodyParam("application/json") ConnectionsPatch properties, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("connectionName") String connectionName, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response deleteSync(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("connectionName") String connectionName, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/link")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> link(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("connectionName") String connectionName, @BodyParam("application/json") ResourceBody body,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/link")
+ @ExpectedResponses({ 200, 202 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response linkSync(@HostParam("$host") String endpoint, @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("connectionName") String connectionName, @BodyParam("application/json") ResourceBody body,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/listPendingConnections")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("connectionName") String connectionName, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/listPendingConnections")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listSync(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("connectionName") String connectionName, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/listPendingFlows")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listPendingFlowsList(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("connectionName") String connectionName, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Post("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureDataTransfer/connections/{connectionName}/listPendingFlows")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listPendingFlowsListSync(@HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("connectionName") String connectionName, @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listBySubscriptionNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listBySubscriptionNextSync(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceGroupNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByResourceGroupNextSync(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listNextSync(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listPendingFlowsListNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listPendingFlowsListNextSync(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * Gets connections in a subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connections in a subscription along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listBySubscriptionSinglePageAsync() {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listBySubscription(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(),
+ res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets connections in a subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connections in a subscription as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listBySubscriptionAsync() {
+ return new PagedFlux<>(() -> listBySubscriptionSinglePageAsync(),
+ nextLink -> listBySubscriptionNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Gets connections in a subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connections in a subscription along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listBySubscriptionSinglePage() {
+ if (this.client.getEndpoint() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ Response res = service.listBySubscriptionSync(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Gets connections in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connections in a subscription along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listBySubscriptionSinglePage(Context context) {
+ if (this.client.getEndpoint() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ Response res = service.listBySubscriptionSync(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Gets connections in a subscription.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connections in a subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listBySubscription() {
+ return new PagedIterable<>(() -> listBySubscriptionSinglePage(),
+ nextLink -> listBySubscriptionNextSinglePage(nextLink));
+ }
+
+ /**
+ * Gets connections in a subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connections in a subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listBySubscription(Context context) {
+ return new PagedIterable<>(() -> listBySubscriptionSinglePage(context),
+ nextLink -> listBySubscriptionNextSinglePage(nextLink, context));
+ }
+
+ /**
+ * Gets connections in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connections in a resource group along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupSinglePageAsync(String resourceGroupName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByResourceGroup(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(),
+ res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets connections in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connections in a resource group as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(String resourceGroupName) {
+ return new PagedFlux<>(() -> listByResourceGroupSinglePageAsync(resourceGroupName),
+ nextLink -> listByResourceGroupNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Gets connections in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connections in a resource group along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByResourceGroupSinglePage(String resourceGroupName) {
+ if (this.client.getEndpoint() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ Response res = service.listByResourceGroupSync(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), resourceGroupName, accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Gets connections in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connections in a resource group along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByResourceGroupSinglePage(String resourceGroupName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ Response res = service.listByResourceGroupSync(this.client.getEndpoint(),
+ this.client.getApiVersion(), this.client.getSubscriptionId(), resourceGroupName, accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Gets connections in a resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return connections in a resource group as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable