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 ServiceFabricMesh service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the ServiceFabricMesh service API instance.
+ */
+ public ServiceFabricMeshManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder
+ .append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.servicefabricmesh")
+ .append("/")
+ .append("1.0.0-beta.1");
+ 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 ArmChallengeAuthenticationPolicy(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 ServiceFabricMeshManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * 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 Secrets. It manages SecretResourceDescription.
+ *
+ * @return Resource collection API of Secrets.
+ */
+ public Secrets secrets() {
+ if (this.secrets == null) {
+ this.secrets = new SecretsImpl(clientObject.getSecrets(), this);
+ }
+ return secrets;
+ }
+
+ /**
+ * Gets the resource collection API of SecretValues. It manages SecretValueResourceDescription.
+ *
+ * @return Resource collection API of SecretValues.
+ */
+ public SecretValues secretValues() {
+ if (this.secretValues == null) {
+ this.secretValues = new SecretValuesImpl(clientObject.getSecretValues(), this);
+ }
+ return secretValues;
+ }
+
+ /**
+ * Gets the resource collection API of Volumes. It manages VolumeResourceDescription.
+ *
+ * @return Resource collection API of Volumes.
+ */
+ public Volumes volumes() {
+ if (this.volumes == null) {
+ this.volumes = new VolumesImpl(clientObject.getVolumes(), this);
+ }
+ return volumes;
+ }
+
+ /**
+ * Gets the resource collection API of Networks. It manages NetworkResourceDescription.
+ *
+ * @return Resource collection API of Networks.
+ */
+ public Networks networks() {
+ if (this.networks == null) {
+ this.networks = new NetworksImpl(clientObject.getNetworks(), this);
+ }
+ return networks;
+ }
+
+ /**
+ * Gets the resource collection API of Gateways. It manages GatewayResourceDescription.
+ *
+ * @return Resource collection API of Gateways.
+ */
+ public Gateways gateways() {
+ if (this.gateways == null) {
+ this.gateways = new GatewaysImpl(clientObject.getGateways(), this);
+ }
+ return gateways;
+ }
+
+ /**
+ * Gets the resource collection API of Applications. It manages ApplicationResourceDescription.
+ *
+ * @return Resource collection API of Applications.
+ */
+ public Applications applications() {
+ if (this.applications == null) {
+ this.applications = new ApplicationsImpl(clientObject.getApplications(), this);
+ }
+ return applications;
+ }
+
+ /**
+ * Gets the resource collection API of Services.
+ *
+ * @return Resource collection API of Services.
+ */
+ public Services services() {
+ if (this.services == null) {
+ this.services = new ServicesImpl(clientObject.getServices(), this);
+ }
+ return services;
+ }
+
+ /**
+ * Gets the resource collection API of ServiceReplicas.
+ *
+ * @return Resource collection API of ServiceReplicas.
+ */
+ public ServiceReplicas serviceReplicas() {
+ if (this.serviceReplicas == null) {
+ this.serviceReplicas = new ServiceReplicasImpl(clientObject.getServiceReplicas(), this);
+ }
+ return serviceReplicas;
+ }
+
+ /**
+ * Gets the resource collection API of CodePackages.
+ *
+ * @return Resource collection API of CodePackages.
+ */
+ public CodePackages codePackages() {
+ if (this.codePackages == null) {
+ this.codePackages = new CodePackagesImpl(clientObject.getCodePackages(), this);
+ }
+ return codePackages;
+ }
+
+ /**
+ * @return Wrapped service client ServiceFabricMeshManagementClient providing direct access to the underlying
+ * auto-generated API implementation, based on Azure REST API.
+ */
+ public ServiceFabricMeshManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/ApplicationsClient.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/ApplicationsClient.java
new file mode 100644
index 0000000000000..295cb566f803c
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/ApplicationsClient.java
@@ -0,0 +1,174 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.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.util.Context;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.ApplicationResourceDescriptionInner;
+
+/** An instance of this class provides access to all the operations defined in ApplicationsClient. */
+public interface ApplicationsClient {
+ /**
+ * Creates an application resource with the specified name, description and properties. If an application resource
+ * with the same name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param applicationResourceDescription Description for creating a Application resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes an application resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationResourceDescriptionInner create(
+ String resourceGroupName,
+ String applicationResourceName,
+ ApplicationResourceDescriptionInner applicationResourceDescription);
+
+ /**
+ * Creates an application resource with the specified name, description and properties. If an application resource
+ * with the same name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param applicationResourceDescription Description for creating a Application resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes an application resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName,
+ String applicationResourceName,
+ ApplicationResourceDescriptionInner applicationResourceDescription,
+ Context context);
+
+ /**
+ * Gets the information about the application resource with the given name. The information include the description
+ * and other properties of the application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the application resource with the given name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationResourceDescriptionInner getByResourceGroup(String resourceGroupName, String applicationResourceName);
+
+ /**
+ * Gets the information about the application resource with the given name. The information include the description
+ * and other properties of the application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the application resource with the given name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String applicationResourceName, Context context);
+
+ /**
+ * Deletes the application resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException 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 applicationResourceName);
+
+ /**
+ * Deletes the application resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException 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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String applicationResourceName, Context context);
+
+ /**
+ * Gets the information about all application resources in a given resource group. The information include the
+ * description and other properties of the Application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given resource group as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets the information about all application resources in a given resource group. The information include the
+ * description and other properties of the Application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given resource group as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets the information about all application resources in a given resource group. The information include the
+ * description and other properties of the application.
+ *
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given resource group as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets the information about all application resources in a given resource group. The information include the
+ * description and other properties of the application.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given resource group as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/CodePackagesClient.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/CodePackagesClient.java
new file mode 100644
index 0000000000000..309f3deb4afbf
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/CodePackagesClient.java
@@ -0,0 +1,63 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.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.servicefabricmesh.fluent.models.ContainerLogsInner;
+
+/** An instance of this class provides access to all the operations defined in CodePackagesClient. */
+public interface CodePackagesClient {
+ /**
+ * Gets the logs for the container of the specified code package of the service replica.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param serviceResourceName The identity of the service.
+ * @param replicaName Service Fabric replica name.
+ * @param codePackageName The name of code package of the service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the logs for the container of the specified code package of the service replica.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ContainerLogsInner getContainerLogs(
+ String resourceGroupName,
+ String applicationResourceName,
+ String serviceResourceName,
+ String replicaName,
+ String codePackageName);
+
+ /**
+ * Gets the logs for the container of the specified code package of the service replica.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param serviceResourceName The identity of the service.
+ * @param replicaName Service Fabric replica name.
+ * @param codePackageName The name of code package of the service.
+ * @param tail Number of lines to show from the end of the logs. Default is 100.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the logs for the container of the specified code package of the service replica along with {@link
+ * Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getContainerLogsWithResponse(
+ String resourceGroupName,
+ String applicationResourceName,
+ String serviceResourceName,
+ String replicaName,
+ String codePackageName,
+ Integer tail,
+ Context context);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/GatewaysClient.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/GatewaysClient.java
new file mode 100644
index 0000000000000..bc5a6b7d10ac8
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/GatewaysClient.java
@@ -0,0 +1,176 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.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.util.Context;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.GatewayResourceDescriptionInner;
+
+/** An instance of this class provides access to all the operations defined in GatewaysClient. */
+public interface GatewaysClient {
+ /**
+ * Creates a gateway resource with the specified name, description and properties. If a gateway resource with the
+ * same name exists, then it is updated with the specified description and properties. Use gateway resources to
+ * create a gateway for public connectivity for services within your application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @param gatewayResourceDescription Description for creating a Gateway resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GatewayResourceDescriptionInner create(
+ String resourceGroupName,
+ String gatewayResourceName,
+ GatewayResourceDescriptionInner gatewayResourceDescription);
+
+ /**
+ * Creates a gateway resource with the specified name, description and properties. If a gateway resource with the
+ * same name exists, then it is updated with the specified description and properties. Use gateway resources to
+ * create a gateway for public connectivity for services within your application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @param gatewayResourceDescription Description for creating a Gateway resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a gateway resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName,
+ String gatewayResourceName,
+ GatewayResourceDescriptionInner gatewayResourceDescription,
+ Context context);
+
+ /**
+ * Gets the information about the gateway resource with the given name. The information include the description and
+ * other properties of the gateway.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the gateway resource with the given name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GatewayResourceDescriptionInner getByResourceGroup(String resourceGroupName, String gatewayResourceName);
+
+ /**
+ * Gets the information about the gateway resource with the given name. The information include the description and
+ * other properties of the gateway.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the gateway resource with the given name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String gatewayResourceName, Context context);
+
+ /**
+ * Deletes the gateway resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException 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 gatewayResourceName);
+
+ /**
+ * Deletes the gateway resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException 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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String gatewayResourceName, Context context);
+
+ /**
+ * Gets the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the Gateway.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the Gateway.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the gateway.
+ *
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the gateway.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/NetworksClient.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/NetworksClient.java
new file mode 100644
index 0000000000000..21a3547f7095a
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/NetworksClient.java
@@ -0,0 +1,174 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.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.util.Context;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.NetworkResourceDescriptionInner;
+
+/** An instance of this class provides access to all the operations defined in NetworksClient. */
+public interface NetworksClient {
+ /**
+ * Creates a network resource with the specified name, description and properties. If a network resource with the
+ * same name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param networkResourceName The identity of the network.
+ * @param networkResourceDescription Description for creating a Network resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a network resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NetworkResourceDescriptionInner create(
+ String resourceGroupName,
+ String networkResourceName,
+ NetworkResourceDescriptionInner networkResourceDescription);
+
+ /**
+ * Creates a network resource with the specified name, description and properties. If a network resource with the
+ * same name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param networkResourceName The identity of the network.
+ * @param networkResourceDescription Description for creating a Network resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a network resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName,
+ String networkResourceName,
+ NetworkResourceDescriptionInner networkResourceDescription,
+ Context context);
+
+ /**
+ * Gets the information about the network resource with the given name. The information include the description and
+ * other properties of the network.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param networkResourceName The identity of the network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the network resource with the given name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NetworkResourceDescriptionInner getByResourceGroup(String resourceGroupName, String networkResourceName);
+
+ /**
+ * Gets the information about the network resource with the given name. The information include the description and
+ * other properties of the network.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param networkResourceName The identity of the network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the network resource with the given name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String networkResourceName, Context context);
+
+ /**
+ * Deletes the network resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param networkResourceName The identity of the network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException 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 networkResourceName);
+
+ /**
+ * Deletes the network resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param networkResourceName The identity of the network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException 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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String networkResourceName, Context context);
+
+ /**
+ * Gets the information about all network resources in a given resource group. The information include the
+ * description and other properties of the Network.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all network resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets the information about all network resources in a given resource group. The information include the
+ * description and other properties of the Network.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all network resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets the information about all network resources in a given resource group. The information include the
+ * description and other properties of the network.
+ *
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all network resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets the information about all network resources in a given resource group. The information include the
+ * description and other properties of the network.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all network resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/OperationsClient.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/OperationsClient.java
new file mode 100644
index 0000000000000..597e44b63dd51
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/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.servicefabricmesh.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.servicefabricmesh.fluent.models.OperationResultInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * Lists all the available operations provided by Service Fabric SeaBreeze resource provider.
+ *
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the result of the request to list Service Fabric operations as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all the available operations provided by Service Fabric SeaBreeze resource provider.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return describes the result of the request to list Service Fabric operations as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/SecretValuesClient.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/SecretValuesClient.java
new file mode 100644
index 0000000000000..927745c55a27f
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/SecretValuesClient.java
@@ -0,0 +1,202 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.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.util.Context;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.SecretValueInner;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.SecretValueResourceDescriptionInner;
+
+/** An instance of this class provides access to all the operations defined in SecretValuesClient. */
+public interface SecretValuesClient {
+ /**
+ * Creates a new value of the specified secret resource. The name of the value is typically the version identifier.
+ * Once created the value cannot be changed.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @param secretValueResourceName The name of the secret resource value which is typically the version identifier
+ * for the value.
+ * @param secretValueResourceDescription Description for creating a value of a secret resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a value of a secret resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecretValueResourceDescriptionInner create(
+ String resourceGroupName,
+ String secretResourceName,
+ String secretValueResourceName,
+ SecretValueResourceDescriptionInner secretValueResourceDescription);
+
+ /**
+ * Creates a new value of the specified secret resource. The name of the value is typically the version identifier.
+ * Once created the value cannot be changed.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @param secretValueResourceName The name of the secret resource value which is typically the version identifier
+ * for the value.
+ * @param secretValueResourceDescription Description for creating a value of a secret resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a value of a secret resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName,
+ String secretResourceName,
+ String secretValueResourceName,
+ SecretValueResourceDescriptionInner secretValueResourceDescription,
+ Context context);
+
+ /**
+ * Get the information about the specified named secret value resources. The information does not include the actual
+ * value of the secret.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @param secretValueResourceName The name of the secret resource value which is typically the version identifier
+ * for the value.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the specified named secret value resources.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecretValueResourceDescriptionInner get(
+ String resourceGroupName, String secretResourceName, String secretValueResourceName);
+
+ /**
+ * Get the information about the specified named secret value resources. The information does not include the actual
+ * value of the secret.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @param secretValueResourceName The name of the secret resource value which is typically the version identifier
+ * for the value.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the specified named secret value resources along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String secretResourceName, String secretValueResourceName, Context context);
+
+ /**
+ * Deletes the secret value resource identified by the name. The name of the resource is typically the version
+ * associated with that value. Deletion will fail if the specified value is in use.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @param secretValueResourceName The name of the secret resource value which is typically the version identifier
+ * for the value.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException 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 secretResourceName, String secretValueResourceName);
+
+ /**
+ * Deletes the secret value resource identified by the name. The name of the resource is typically the version
+ * associated with that value. Deletion will fail if the specified value is in use.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @param secretValueResourceName The name of the secret resource value which is typically the version identifier
+ * for the value.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException 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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String secretResourceName, String secretValueResourceName, Context context);
+
+ /**
+ * Gets information about all secret value resources of the specified secret resource. The information includes the
+ * names of the secret value resources, but not the actual values.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about all secret value resources of the specified secret resource as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String secretResourceName);
+
+ /**
+ * Gets information about all secret value resources of the specified secret resource. The information includes the
+ * names of the secret value resources, but not the actual values.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return information about all secret value resources of the specified secret resource as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String secretResourceName, Context context);
+
+ /**
+ * Lists the decrypted value of the specified named value of the secret resource. This is a privileged operation.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @param secretValueResourceName The name of the secret resource value which is typically the version identifier
+ * for the value.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type represents the unencrypted value of the secret.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecretValueInner listValue(String resourceGroupName, String secretResourceName, String secretValueResourceName);
+
+ /**
+ * Lists the decrypted value of the specified named value of the secret resource. This is a privileged operation.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @param secretValueResourceName The name of the secret resource value which is typically the version identifier
+ * for the value.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type represents the unencrypted value of the secret along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listValueWithResponse(
+ String resourceGroupName, String secretResourceName, String secretValueResourceName, Context context);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/SecretsClient.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/SecretsClient.java
new file mode 100644
index 0000000000000..31c5cfd3b4038
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/SecretsClient.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.servicefabricmesh.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.util.Context;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.SecretResourceDescriptionInner;
+
+/** An instance of this class provides access to all the operations defined in SecretsClient. */
+public interface SecretsClient {
+ /**
+ * Creates a secret resource with the specified name, description and properties. If a secret resource with the same
+ * name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @param secretResourceDescription Description for creating a secret resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a secret resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecretResourceDescriptionInner create(
+ String resourceGroupName, String secretResourceName, SecretResourceDescriptionInner secretResourceDescription);
+
+ /**
+ * Creates a secret resource with the specified name, description and properties. If a secret resource with the same
+ * name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @param secretResourceDescription Description for creating a secret resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a secret resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName,
+ String secretResourceName,
+ SecretResourceDescriptionInner secretResourceDescription,
+ Context context);
+
+ /**
+ * Gets the information about the secret resource with the given name. The information include the description and
+ * other properties of the secret.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the secret resource with the given name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SecretResourceDescriptionInner getByResourceGroup(String resourceGroupName, String secretResourceName);
+
+ /**
+ * Gets the information about the secret resource with the given name. The information include the description and
+ * other properties of the secret.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the secret resource with the given name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String secretResourceName, Context context);
+
+ /**
+ * Deletes the secret resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException 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 secretResourceName);
+
+ /**
+ * Deletes the secret resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param secretResourceName The name of the secret resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException 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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String secretResourceName, Context context);
+
+ /**
+ * Gets the information about all secret resources in a given resource group. The information include the
+ * description and other properties of the Secret.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all secret resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets the information about all secret resources in a given resource group. The information include the
+ * description and other properties of the Secret.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all secret resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets the information about all secret resources in a given resource group. The information include the
+ * description and other properties of the secret.
+ *
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all secret resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets the information about all secret resources in a given resource group. The information include the
+ * description and other properties of the secret.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all secret resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/ServiceFabricMeshManagementClient.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/ServiceFabricMeshManagementClient.java
new file mode 100644
index 0000000000000..9936bf4518c50
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/ServiceFabricMeshManagementClient.java
@@ -0,0 +1,116 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for ServiceFabricMeshManagementClient class. */
+public interface ServiceFabricMeshManagementClient {
+ /**
+ * Gets The customer subscription identifier.
+ *
+ * @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 OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the SecretsClient object to access its operations.
+ *
+ * @return the SecretsClient object.
+ */
+ SecretsClient getSecrets();
+
+ /**
+ * Gets the SecretValuesClient object to access its operations.
+ *
+ * @return the SecretValuesClient object.
+ */
+ SecretValuesClient getSecretValues();
+
+ /**
+ * Gets the VolumesClient object to access its operations.
+ *
+ * @return the VolumesClient object.
+ */
+ VolumesClient getVolumes();
+
+ /**
+ * Gets the NetworksClient object to access its operations.
+ *
+ * @return the NetworksClient object.
+ */
+ NetworksClient getNetworks();
+
+ /**
+ * Gets the GatewaysClient object to access its operations.
+ *
+ * @return the GatewaysClient object.
+ */
+ GatewaysClient getGateways();
+
+ /**
+ * Gets the ApplicationsClient object to access its operations.
+ *
+ * @return the ApplicationsClient object.
+ */
+ ApplicationsClient getApplications();
+
+ /**
+ * Gets the ServicesClient object to access its operations.
+ *
+ * @return the ServicesClient object.
+ */
+ ServicesClient getServices();
+
+ /**
+ * Gets the ServiceReplicasClient object to access its operations.
+ *
+ * @return the ServiceReplicasClient object.
+ */
+ ServiceReplicasClient getServiceReplicas();
+
+ /**
+ * Gets the CodePackagesClient object to access its operations.
+ *
+ * @return the CodePackagesClient object.
+ */
+ CodePackagesClient getCodePackages();
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/ServiceReplicasClient.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/ServiceReplicasClient.java
new file mode 100644
index 0000000000000..e4dbe4ee2a9d5
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/ServiceReplicasClient.java
@@ -0,0 +1,93 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.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.util.Context;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.ServiceReplicaDescriptionInner;
+
+/** An instance of this class provides access to all the operations defined in ServiceReplicasClient. */
+public interface ServiceReplicasClient {
+ /**
+ * Gets the information about the service replica with the given name. The information include the description and
+ * other properties of the service replica.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param serviceResourceName The identity of the service.
+ * @param replicaName Service Fabric replica name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the service replica with the given name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ServiceReplicaDescriptionInner get(
+ String resourceGroupName, String applicationResourceName, String serviceResourceName, String replicaName);
+
+ /**
+ * Gets the information about the service replica with the given name. The information include the description and
+ * other properties of the service replica.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param serviceResourceName The identity of the service.
+ * @param replicaName Service Fabric replica name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the service replica with the given name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String applicationResourceName,
+ String serviceResourceName,
+ String replicaName,
+ Context context);
+
+ /**
+ * Gets the information about all replicas of a given service of an application. The information includes the
+ * runtime properties of the replica instance.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param serviceResourceName The identity of the service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all replicas of a given service of an application as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String applicationResourceName, String serviceResourceName);
+
+ /**
+ * Gets the information about all replicas of a given service of an application. The information includes the
+ * runtime properties of the replica instance.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param serviceResourceName The identity of the service.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all replicas of a given service of an application as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String applicationResourceName, String serviceResourceName, Context context);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/ServicesClient.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/ServicesClient.java
new file mode 100644
index 0000000000000..3c30f6265622b
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/ServicesClient.java
@@ -0,0 +1,84 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.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.util.Context;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.ServiceResourceDescriptionInner;
+
+/** An instance of this class provides access to all the operations defined in ServicesClient. */
+public interface ServicesClient {
+ /**
+ * Gets the information about the service resource with the given name. The information include the description and
+ * other properties of the service.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param serviceResourceName The identity of the service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the service resource with the given name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ServiceResourceDescriptionInner get(
+ String resourceGroupName, String applicationResourceName, String serviceResourceName);
+
+ /**
+ * Gets the information about the service resource with the given name. The information include the description and
+ * other properties of the service.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param serviceResourceName The identity of the service.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the service resource with the given name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String applicationResourceName, String serviceResourceName, Context context);
+
+ /**
+ * Gets the information about all services of an application resource. The information include the description and
+ * other properties of the Service.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all services of an application resource as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String applicationResourceName);
+
+ /**
+ * Gets the information about all services of an application resource. The information include the description and
+ * other properties of the Service.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all services of an application resource as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String resourceGroupName, String applicationResourceName, Context context);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/VolumesClient.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/VolumesClient.java
new file mode 100644
index 0000000000000..6b271e95c5ff5
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/VolumesClient.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.servicefabricmesh.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.util.Context;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.VolumeResourceDescriptionInner;
+
+/** An instance of this class provides access to all the operations defined in VolumesClient. */
+public interface VolumesClient {
+ /**
+ * Creates a volume resource with the specified name, description and properties. If a volume resource with the same
+ * name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param volumeResourceName The identity of the volume.
+ * @param volumeResourceDescription Description for creating a Volume resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a volume resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeResourceDescriptionInner create(
+ String resourceGroupName, String volumeResourceName, VolumeResourceDescriptionInner volumeResourceDescription);
+
+ /**
+ * Creates a volume resource with the specified name, description and properties. If a volume resource with the same
+ * name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param volumeResourceName The identity of the volume.
+ * @param volumeResourceDescription Description for creating a Volume resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a volume resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName,
+ String volumeResourceName,
+ VolumeResourceDescriptionInner volumeResourceDescription,
+ Context context);
+
+ /**
+ * Gets the information about the volume resource with the given name. The information include the description and
+ * other properties of the volume.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param volumeResourceName The identity of the volume.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the volume resource with the given name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VolumeResourceDescriptionInner getByResourceGroup(String resourceGroupName, String volumeResourceName);
+
+ /**
+ * Gets the information about the volume resource with the given name. The information include the description and
+ * other properties of the volume.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param volumeResourceName The identity of the volume.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the volume resource with the given name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String volumeResourceName, Context context);
+
+ /**
+ * Deletes the volume resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param volumeResourceName The identity of the volume.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException 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 volumeResourceName);
+
+ /**
+ * Deletes the volume resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param volumeResourceName The identity of the volume.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException 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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String volumeResourceName, Context context);
+
+ /**
+ * Gets the information about all volume resources in a given resource group. The information include the
+ * description and other properties of the Volume.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all volume resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets the information about all volume resources in a given resource group. The information include the
+ * description and other properties of the Volume.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all volume resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets the information about all volume resources in a given resource group. The information include the
+ * description and other properties of the volume.
+ *
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all volume resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets the information about all volume resources in a given resource group. The information include the
+ * description and other properties of the volume.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException thrown if the request is
+ * rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all volume resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ApplicationResourceDescriptionInner.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ApplicationResourceDescriptionInner.java
new file mode 100644
index 0000000000000..4a740675cb0c0
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ApplicationResourceDescriptionInner.java
@@ -0,0 +1,219 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.servicefabricmesh.models.DiagnosticsDescription;
+import com.azure.resourcemanager.servicefabricmesh.models.HealthState;
+import com.azure.resourcemanager.servicefabricmesh.models.ResourceStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** This type describes an application resource. */
+@Fluent
+public final class ApplicationResourceDescriptionInner extends Resource {
+ /*
+ * This type describes properties of an application resource.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private ApplicationResourceProperties innerProperties = new ApplicationResourceProperties();
+
+ /**
+ * Get the innerProperties property: This type describes properties of an application resource.
+ *
+ * @return the innerProperties value.
+ */
+ private ApplicationResourceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ApplicationResourceDescriptionInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ApplicationResourceDescriptionInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the description property: User readable description of the application.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: User readable description of the application.
+ *
+ * @param description the description value to set.
+ * @return the ApplicationResourceDescriptionInner object itself.
+ */
+ public ApplicationResourceDescriptionInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApplicationResourceProperties();
+ }
+ this.innerProperties().withDescription(description);
+ return this;
+ }
+
+ /**
+ * Get the services property: Describes the services in the application. This property is used to create or modify
+ * services of the application. On get only the name of the service is returned. The service description can be
+ * obtained by querying for the service resource.
+ *
+ * @return the services value.
+ */
+ public List services() {
+ return this.innerProperties() == null ? null : this.innerProperties().services();
+ }
+
+ /**
+ * Set the services property: Describes the services in the application. This property is used to create or modify
+ * services of the application. On get only the name of the service is returned. The service description can be
+ * obtained by querying for the service resource.
+ *
+ * @param services the services value to set.
+ * @return the ApplicationResourceDescriptionInner object itself.
+ */
+ public ApplicationResourceDescriptionInner withServices(List services) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApplicationResourceProperties();
+ }
+ this.innerProperties().withServices(services);
+ return this;
+ }
+
+ /**
+ * Get the diagnostics property: Describes the diagnostics definition and usage for an application resource.
+ *
+ * @return the diagnostics value.
+ */
+ public DiagnosticsDescription diagnostics() {
+ return this.innerProperties() == null ? null : this.innerProperties().diagnostics();
+ }
+
+ /**
+ * Set the diagnostics property: Describes the diagnostics definition and usage for an application resource.
+ *
+ * @param diagnostics the diagnostics value to set.
+ * @return the ApplicationResourceDescriptionInner object itself.
+ */
+ public ApplicationResourceDescriptionInner withDiagnostics(DiagnosticsDescription diagnostics) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApplicationResourceProperties();
+ }
+ this.innerProperties().withDiagnostics(diagnostics);
+ return this;
+ }
+
+ /**
+ * Get the debugParams property: Internal - used by Visual Studio to setup the debugging session on the local
+ * development environment.
+ *
+ * @return the debugParams value.
+ */
+ public String debugParams() {
+ return this.innerProperties() == null ? null : this.innerProperties().debugParams();
+ }
+
+ /**
+ * Set the debugParams property: Internal - used by Visual Studio to setup the debugging session on the local
+ * development environment.
+ *
+ * @param debugParams the debugParams value to set.
+ * @return the ApplicationResourceDescriptionInner object itself.
+ */
+ public ApplicationResourceDescriptionInner withDebugParams(String debugParams) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApplicationResourceProperties();
+ }
+ this.innerProperties().withDebugParams(debugParams);
+ return this;
+ }
+
+ /**
+ * Get the serviceNames property: Names of the services in the application.
+ *
+ * @return the serviceNames value.
+ */
+ public List serviceNames() {
+ return this.innerProperties() == null ? null : this.innerProperties().serviceNames();
+ }
+
+ /**
+ * Get the status property: Status of the application.
+ *
+ * @return the status value.
+ */
+ public ResourceStatus status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Get the statusDetails property: Gives additional information about the current status of the application.
+ *
+ * @return the statusDetails value.
+ */
+ public String statusDetails() {
+ return this.innerProperties() == null ? null : this.innerProperties().statusDetails();
+ }
+
+ /**
+ * Get the healthState property: Describes the health state of an application resource.
+ *
+ * @return the healthState value.
+ */
+ public HealthState healthState() {
+ return this.innerProperties() == null ? null : this.innerProperties().healthState();
+ }
+
+ /**
+ * Get the unhealthyEvaluation property: When the application's health state is not 'Ok', this additional details
+ * from service fabric Health Manager for the user to know why the application is marked unhealthy.
+ *
+ * @return the unhealthyEvaluation value.
+ */
+ public String unhealthyEvaluation() {
+ return this.innerProperties() == null ? null : this.innerProperties().unhealthyEvaluation();
+ }
+
+ /**
+ * Get the provisioningState property: State of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model ApplicationResourceDescriptionInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ApplicationResourceDescriptionInner.class);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ApplicationResourceProperties.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ApplicationResourceProperties.java
new file mode 100644
index 0000000000000..246b519d7ecd5
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ApplicationResourceProperties.java
@@ -0,0 +1,227 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.servicefabricmesh.models.DiagnosticsDescription;
+import com.azure.resourcemanager.servicefabricmesh.models.HealthState;
+import com.azure.resourcemanager.servicefabricmesh.models.ProvisionedResourceProperties;
+import com.azure.resourcemanager.servicefabricmesh.models.ResourceStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** This type describes properties of an application resource. */
+@Fluent
+public final class ApplicationResourceProperties extends ProvisionedResourceProperties {
+ /*
+ * User readable description of the application.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * Describes the services in the application. This property is used to
+ * create or modify services of the application. On get only the name of
+ * the service is returned. The service description can be obtained by
+ * querying for the service resource.
+ */
+ @JsonProperty(value = "services")
+ private List services;
+
+ /*
+ * Describes the diagnostics definition and usage for an application
+ * resource.
+ */
+ @JsonProperty(value = "diagnostics")
+ private DiagnosticsDescription diagnostics;
+
+ /*
+ * Internal - used by Visual Studio to setup the debugging session on the
+ * local development environment.
+ */
+ @JsonProperty(value = "debugParams")
+ private String debugParams;
+
+ /*
+ * Names of the services in the application.
+ */
+ @JsonProperty(value = "serviceNames", access = JsonProperty.Access.WRITE_ONLY)
+ private List serviceNames;
+
+ /*
+ * Status of the application.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private ResourceStatus status;
+
+ /*
+ * Gives additional information about the current status of the
+ * application.
+ */
+ @JsonProperty(value = "statusDetails", access = JsonProperty.Access.WRITE_ONLY)
+ private String statusDetails;
+
+ /*
+ * Describes the health state of an application resource.
+ */
+ @JsonProperty(value = "healthState", access = JsonProperty.Access.WRITE_ONLY)
+ private HealthState healthState;
+
+ /*
+ * When the application's health state is not 'Ok', this additional details
+ * from service fabric Health Manager for the user to know why the
+ * application is marked unhealthy.
+ */
+ @JsonProperty(value = "unhealthyEvaluation", access = JsonProperty.Access.WRITE_ONLY)
+ private String unhealthyEvaluation;
+
+ /**
+ * Get the description property: User readable description of the application.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: User readable description of the application.
+ *
+ * @param description the description value to set.
+ * @return the ApplicationResourceProperties object itself.
+ */
+ public ApplicationResourceProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the services property: Describes the services in the application. This property is used to create or modify
+ * services of the application. On get only the name of the service is returned. The service description can be
+ * obtained by querying for the service resource.
+ *
+ * @return the services value.
+ */
+ public List services() {
+ return this.services;
+ }
+
+ /**
+ * Set the services property: Describes the services in the application. This property is used to create or modify
+ * services of the application. On get only the name of the service is returned. The service description can be
+ * obtained by querying for the service resource.
+ *
+ * @param services the services value to set.
+ * @return the ApplicationResourceProperties object itself.
+ */
+ public ApplicationResourceProperties withServices(List services) {
+ this.services = services;
+ return this;
+ }
+
+ /**
+ * Get the diagnostics property: Describes the diagnostics definition and usage for an application resource.
+ *
+ * @return the diagnostics value.
+ */
+ public DiagnosticsDescription diagnostics() {
+ return this.diagnostics;
+ }
+
+ /**
+ * Set the diagnostics property: Describes the diagnostics definition and usage for an application resource.
+ *
+ * @param diagnostics the diagnostics value to set.
+ * @return the ApplicationResourceProperties object itself.
+ */
+ public ApplicationResourceProperties withDiagnostics(DiagnosticsDescription diagnostics) {
+ this.diagnostics = diagnostics;
+ return this;
+ }
+
+ /**
+ * Get the debugParams property: Internal - used by Visual Studio to setup the debugging session on the local
+ * development environment.
+ *
+ * @return the debugParams value.
+ */
+ public String debugParams() {
+ return this.debugParams;
+ }
+
+ /**
+ * Set the debugParams property: Internal - used by Visual Studio to setup the debugging session on the local
+ * development environment.
+ *
+ * @param debugParams the debugParams value to set.
+ * @return the ApplicationResourceProperties object itself.
+ */
+ public ApplicationResourceProperties withDebugParams(String debugParams) {
+ this.debugParams = debugParams;
+ return this;
+ }
+
+ /**
+ * Get the serviceNames property: Names of the services in the application.
+ *
+ * @return the serviceNames value.
+ */
+ public List serviceNames() {
+ return this.serviceNames;
+ }
+
+ /**
+ * Get the status property: Status of the application.
+ *
+ * @return the status value.
+ */
+ public ResourceStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Get the statusDetails property: Gives additional information about the current status of the application.
+ *
+ * @return the statusDetails value.
+ */
+ public String statusDetails() {
+ return this.statusDetails;
+ }
+
+ /**
+ * Get the healthState property: Describes the health state of an application resource.
+ *
+ * @return the healthState value.
+ */
+ public HealthState healthState() {
+ return this.healthState;
+ }
+
+ /**
+ * Get the unhealthyEvaluation property: When the application's health state is not 'Ok', this additional details
+ * from service fabric Health Manager for the user to know why the application is marked unhealthy.
+ *
+ * @return the unhealthyEvaluation value.
+ */
+ public String unhealthyEvaluation() {
+ return this.unhealthyEvaluation;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (services() != null) {
+ services().forEach(e -> e.validate());
+ }
+ if (diagnostics() != null) {
+ diagnostics().validate();
+ }
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ContainerLogsInner.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ContainerLogsInner.java
new file mode 100644
index 0000000000000..2bc525b3b83fb
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ContainerLogsInner.java
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Container logs. */
+@Fluent
+public final class ContainerLogsInner {
+ /*
+ * Container logs.
+ */
+ @JsonProperty(value = "content")
+ private String content;
+
+ /**
+ * Get the content property: Container logs.
+ *
+ * @return the content value.
+ */
+ public String content() {
+ return this.content;
+ }
+
+ /**
+ * Set the content property: Container logs.
+ *
+ * @param content the content value to set.
+ * @return the ContainerLogsInner object itself.
+ */
+ public ContainerLogsInner withContent(String content) {
+ this.content = content;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/GatewayResourceDescriptionInner.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/GatewayResourceDescriptionInner.java
new file mode 100644
index 0000000000000..73dca00c302f7
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/GatewayResourceDescriptionInner.java
@@ -0,0 +1,219 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.servicefabricmesh.models.HttpConfig;
+import com.azure.resourcemanager.servicefabricmesh.models.NetworkRef;
+import com.azure.resourcemanager.servicefabricmesh.models.ResourceStatus;
+import com.azure.resourcemanager.servicefabricmesh.models.TcpConfig;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** This type describes a gateway resource. */
+@Fluent
+public final class GatewayResourceDescriptionInner extends Resource {
+ /*
+ * This type describes properties of a gateway resource.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private GatewayResourceProperties innerProperties = new GatewayResourceProperties();
+
+ /**
+ * Get the innerProperties property: This type describes properties of a gateway resource.
+ *
+ * @return the innerProperties value.
+ */
+ private GatewayResourceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public GatewayResourceDescriptionInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public GatewayResourceDescriptionInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the description property: User readable description of the gateway.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: User readable description of the gateway.
+ *
+ * @param description the description value to set.
+ * @return the GatewayResourceDescriptionInner object itself.
+ */
+ public GatewayResourceDescriptionInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new GatewayResourceProperties();
+ }
+ this.innerProperties().withDescription(description);
+ return this;
+ }
+
+ /**
+ * Get the sourceNetwork property: Network the gateway should listen on for requests.
+ *
+ * @return the sourceNetwork value.
+ */
+ public NetworkRef sourceNetwork() {
+ return this.innerProperties() == null ? null : this.innerProperties().sourceNetwork();
+ }
+
+ /**
+ * Set the sourceNetwork property: Network the gateway should listen on for requests.
+ *
+ * @param sourceNetwork the sourceNetwork value to set.
+ * @return the GatewayResourceDescriptionInner object itself.
+ */
+ public GatewayResourceDescriptionInner withSourceNetwork(NetworkRef sourceNetwork) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new GatewayResourceProperties();
+ }
+ this.innerProperties().withSourceNetwork(sourceNetwork);
+ return this;
+ }
+
+ /**
+ * Get the destinationNetwork property: Network that the Application is using.
+ *
+ * @return the destinationNetwork value.
+ */
+ public NetworkRef destinationNetwork() {
+ return this.innerProperties() == null ? null : this.innerProperties().destinationNetwork();
+ }
+
+ /**
+ * Set the destinationNetwork property: Network that the Application is using.
+ *
+ * @param destinationNetwork the destinationNetwork value to set.
+ * @return the GatewayResourceDescriptionInner object itself.
+ */
+ public GatewayResourceDescriptionInner withDestinationNetwork(NetworkRef destinationNetwork) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new GatewayResourceProperties();
+ }
+ this.innerProperties().withDestinationNetwork(destinationNetwork);
+ return this;
+ }
+
+ /**
+ * Get the tcp property: Configuration for tcp connectivity for this gateway.
+ *
+ * @return the tcp value.
+ */
+ public List tcp() {
+ return this.innerProperties() == null ? null : this.innerProperties().tcp();
+ }
+
+ /**
+ * Set the tcp property: Configuration for tcp connectivity for this gateway.
+ *
+ * @param tcp the tcp value to set.
+ * @return the GatewayResourceDescriptionInner object itself.
+ */
+ public GatewayResourceDescriptionInner withTcp(List tcp) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new GatewayResourceProperties();
+ }
+ this.innerProperties().withTcp(tcp);
+ return this;
+ }
+
+ /**
+ * Get the http property: Configuration for http connectivity for this gateway.
+ *
+ * @return the http value.
+ */
+ public List http() {
+ return this.innerProperties() == null ? null : this.innerProperties().http();
+ }
+
+ /**
+ * Set the http property: Configuration for http connectivity for this gateway.
+ *
+ * @param http the http value to set.
+ * @return the GatewayResourceDescriptionInner object itself.
+ */
+ public GatewayResourceDescriptionInner withHttp(List http) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new GatewayResourceProperties();
+ }
+ this.innerProperties().withHttp(http);
+ return this;
+ }
+
+ /**
+ * Get the status property: Status of the resource.
+ *
+ * @return the status value.
+ */
+ public ResourceStatus status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Get the statusDetails property: Gives additional information about the current status of the gateway.
+ *
+ * @return the statusDetails value.
+ */
+ public String statusDetails() {
+ return this.innerProperties() == null ? null : this.innerProperties().statusDetails();
+ }
+
+ /**
+ * Get the ipAddress property: IP address of the gateway. This is populated in the response and is ignored for
+ * incoming requests.
+ *
+ * @return the ipAddress value.
+ */
+ public String ipAddress() {
+ return this.innerProperties() == null ? null : this.innerProperties().ipAddress();
+ }
+
+ /**
+ * Get the provisioningState property: State of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model GatewayResourceDescriptionInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(GatewayResourceDescriptionInner.class);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/GatewayResourceProperties.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/GatewayResourceProperties.java
new file mode 100644
index 0000000000000..1dee55efb55c0
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/GatewayResourceProperties.java
@@ -0,0 +1,230 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.servicefabricmesh.models.HttpConfig;
+import com.azure.resourcemanager.servicefabricmesh.models.NetworkRef;
+import com.azure.resourcemanager.servicefabricmesh.models.ProvisionedResourceProperties;
+import com.azure.resourcemanager.servicefabricmesh.models.ResourceStatus;
+import com.azure.resourcemanager.servicefabricmesh.models.TcpConfig;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** This type describes properties of a gateway resource. */
+@Fluent
+public final class GatewayResourceProperties extends ProvisionedResourceProperties {
+ /*
+ * User readable description of the gateway.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * Network the gateway should listen on for requests.
+ */
+ @JsonProperty(value = "sourceNetwork", required = true)
+ private NetworkRef sourceNetwork;
+
+ /*
+ * Network that the Application is using.
+ */
+ @JsonProperty(value = "destinationNetwork", required = true)
+ private NetworkRef destinationNetwork;
+
+ /*
+ * Configuration for tcp connectivity for this gateway.
+ */
+ @JsonProperty(value = "tcp")
+ private List tcp;
+
+ /*
+ * Configuration for http connectivity for this gateway.
+ */
+ @JsonProperty(value = "http")
+ private List http;
+
+ /*
+ * Status of the resource.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private ResourceStatus status;
+
+ /*
+ * Gives additional information about the current status of the gateway.
+ */
+ @JsonProperty(value = "statusDetails", access = JsonProperty.Access.WRITE_ONLY)
+ private String statusDetails;
+
+ /*
+ * IP address of the gateway. This is populated in the response and is
+ * ignored for incoming requests.
+ */
+ @JsonProperty(value = "ipAddress", access = JsonProperty.Access.WRITE_ONLY)
+ private String ipAddress;
+
+ /**
+ * Get the description property: User readable description of the gateway.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: User readable description of the gateway.
+ *
+ * @param description the description value to set.
+ * @return the GatewayResourceProperties object itself.
+ */
+ public GatewayResourceProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the sourceNetwork property: Network the gateway should listen on for requests.
+ *
+ * @return the sourceNetwork value.
+ */
+ public NetworkRef sourceNetwork() {
+ return this.sourceNetwork;
+ }
+
+ /**
+ * Set the sourceNetwork property: Network the gateway should listen on for requests.
+ *
+ * @param sourceNetwork the sourceNetwork value to set.
+ * @return the GatewayResourceProperties object itself.
+ */
+ public GatewayResourceProperties withSourceNetwork(NetworkRef sourceNetwork) {
+ this.sourceNetwork = sourceNetwork;
+ return this;
+ }
+
+ /**
+ * Get the destinationNetwork property: Network that the Application is using.
+ *
+ * @return the destinationNetwork value.
+ */
+ public NetworkRef destinationNetwork() {
+ return this.destinationNetwork;
+ }
+
+ /**
+ * Set the destinationNetwork property: Network that the Application is using.
+ *
+ * @param destinationNetwork the destinationNetwork value to set.
+ * @return the GatewayResourceProperties object itself.
+ */
+ public GatewayResourceProperties withDestinationNetwork(NetworkRef destinationNetwork) {
+ this.destinationNetwork = destinationNetwork;
+ return this;
+ }
+
+ /**
+ * Get the tcp property: Configuration for tcp connectivity for this gateway.
+ *
+ * @return the tcp value.
+ */
+ public List tcp() {
+ return this.tcp;
+ }
+
+ /**
+ * Set the tcp property: Configuration for tcp connectivity for this gateway.
+ *
+ * @param tcp the tcp value to set.
+ * @return the GatewayResourceProperties object itself.
+ */
+ public GatewayResourceProperties withTcp(List tcp) {
+ this.tcp = tcp;
+ return this;
+ }
+
+ /**
+ * Get the http property: Configuration for http connectivity for this gateway.
+ *
+ * @return the http value.
+ */
+ public List http() {
+ return this.http;
+ }
+
+ /**
+ * Set the http property: Configuration for http connectivity for this gateway.
+ *
+ * @param http the http value to set.
+ * @return the GatewayResourceProperties object itself.
+ */
+ public GatewayResourceProperties withHttp(List http) {
+ this.http = http;
+ return this;
+ }
+
+ /**
+ * Get the status property: Status of the resource.
+ *
+ * @return the status value.
+ */
+ public ResourceStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Get the statusDetails property: Gives additional information about the current status of the gateway.
+ *
+ * @return the statusDetails value.
+ */
+ public String statusDetails() {
+ return this.statusDetails;
+ }
+
+ /**
+ * Get the ipAddress property: IP address of the gateway. This is populated in the response and is ignored for
+ * incoming requests.
+ *
+ * @return the ipAddress value.
+ */
+ public String ipAddress() {
+ return this.ipAddress;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (sourceNetwork() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property sourceNetwork in model GatewayResourceProperties"));
+ } else {
+ sourceNetwork().validate();
+ }
+ if (destinationNetwork() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property destinationNetwork in model GatewayResourceProperties"));
+ } else {
+ destinationNetwork().validate();
+ }
+ if (tcp() != null) {
+ tcp().forEach(e -> e.validate());
+ }
+ if (http() != null) {
+ http().forEach(e -> e.validate());
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(GatewayResourceProperties.class);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/NetworkResourceDescriptionInner.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/NetworkResourceDescriptionInner.java
new file mode 100644
index 0000000000000..b52a136f65316
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/NetworkResourceDescriptionInner.java
@@ -0,0 +1,74 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.servicefabricmesh.models.NetworkResourceProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** This type describes a network resource. */
+@Fluent
+public final class NetworkResourceDescriptionInner extends Resource {
+ /*
+ * Describes properties of a network resource.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private NetworkResourceProperties properties;
+
+ /**
+ * Get the properties property: Describes properties of a network resource.
+ *
+ * @return the properties value.
+ */
+ public NetworkResourceProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Describes properties of a network resource.
+ *
+ * @param properties the properties value to set.
+ * @return the NetworkResourceDescriptionInner object itself.
+ */
+ public NetworkResourceDescriptionInner withProperties(NetworkResourceProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public NetworkResourceDescriptionInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public NetworkResourceDescriptionInner 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) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property properties in model NetworkResourceDescriptionInner"));
+ } else {
+ properties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(NetworkResourceDescriptionInner.class);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/OperationResultInner.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/OperationResultInner.java
new file mode 100644
index 0000000000000..8f360e09657c8
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/OperationResultInner.java
@@ -0,0 +1,128 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.servicefabricmesh.models.AvailableOperationDisplay;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** List of operations available at the listed Azure resource provider. */
+@Fluent
+public final class OperationResultInner {
+ /*
+ * The name of the operation.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * The object that represents the operation.
+ */
+ @JsonProperty(value = "display")
+ private AvailableOperationDisplay display;
+
+ /*
+ * Origin result
+ */
+ @JsonProperty(value = "origin")
+ private String origin;
+
+ /*
+ * The URL to use for getting the next set of results.
+ */
+ @JsonProperty(value = "nextLink")
+ private String nextLink;
+
+ /**
+ * Get the name property: The name of the operation.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: The name of the operation.
+ *
+ * @param name the name value to set.
+ * @return the OperationResultInner object itself.
+ */
+ public OperationResultInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the display property: The object that represents the operation.
+ *
+ * @return the display value.
+ */
+ public AvailableOperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display property: The object that represents the operation.
+ *
+ * @param display the display value to set.
+ * @return the OperationResultInner object itself.
+ */
+ public OperationResultInner withDisplay(AvailableOperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get the origin property: Origin result.
+ *
+ * @return the origin value.
+ */
+ public String origin() {
+ return this.origin;
+ }
+
+ /**
+ * Set the origin property: Origin result.
+ *
+ * @param origin the origin value to set.
+ * @return the OperationResultInner object itself.
+ */
+ public OperationResultInner withOrigin(String origin) {
+ this.origin = origin;
+ return this;
+ }
+
+ /**
+ * Get the nextLink property: The URL to use for getting the next set of results.
+ *
+ * @return the nextLink value.
+ */
+ public String nextLink() {
+ return this.nextLink;
+ }
+
+ /**
+ * Set the nextLink property: The URL to use for getting the next set of results.
+ *
+ * @param nextLink the nextLink value to set.
+ * @return the OperationResultInner object itself.
+ */
+ public OperationResultInner withNextLink(String nextLink) {
+ this.nextLink = nextLink;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/SecretResourceDescriptionInner.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/SecretResourceDescriptionInner.java
new file mode 100644
index 0000000000000..bcd3462927788
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/SecretResourceDescriptionInner.java
@@ -0,0 +1,74 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.servicefabricmesh.models.SecretResourceProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** This type describes a secret resource. */
+@Fluent
+public final class SecretResourceDescriptionInner extends Resource {
+ /*
+ * Describes the properties of a secret resource.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private SecretResourceProperties properties;
+
+ /**
+ * Get the properties property: Describes the properties of a secret resource.
+ *
+ * @return the properties value.
+ */
+ public SecretResourceProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Describes the properties of a secret resource.
+ *
+ * @param properties the properties value to set.
+ * @return the SecretResourceDescriptionInner object itself.
+ */
+ public SecretResourceDescriptionInner withProperties(SecretResourceProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public SecretResourceDescriptionInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public SecretResourceDescriptionInner 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) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property properties in model SecretResourceDescriptionInner"));
+ } else {
+ properties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(SecretResourceDescriptionInner.class);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/SecretValueInner.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/SecretValueInner.java
new file mode 100644
index 0000000000000..b5b39806543a5
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/SecretValueInner.java
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** This type represents the unencrypted value of the secret. */
+@Fluent
+public final class SecretValueInner {
+ /*
+ * The actual value of the secret.
+ */
+ @JsonProperty(value = "value")
+ private String value;
+
+ /**
+ * Get the value property: The actual value of the secret.
+ *
+ * @return the value value.
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The actual value of the secret.
+ *
+ * @param value the value value to set.
+ * @return the SecretValueInner object itself.
+ */
+ public SecretValueInner withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/SecretValueResourceDescriptionInner.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/SecretValueResourceDescriptionInner.java
new file mode 100644
index 0000000000000..23810eb44e4bb
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/SecretValueResourceDescriptionInner.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.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/**
+ * This type describes a value of a secret resource. The name of this resource is the version identifier corresponding
+ * to this secret value.
+ */
+@Fluent
+public final class SecretValueResourceDescriptionInner extends Resource {
+ /*
+ * This type describes properties of a secret value resource.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private SecretValueResourceProperties innerProperties = new SecretValueResourceProperties();
+
+ /**
+ * Get the innerProperties property: This type describes properties of a secret value resource.
+ *
+ * @return the innerProperties value.
+ */
+ private SecretValueResourceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public SecretValueResourceDescriptionInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public SecretValueResourceDescriptionInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the value property: The actual value of the secret.
+ *
+ * @return the value value.
+ */
+ public String value() {
+ return this.innerProperties() == null ? null : this.innerProperties().value();
+ }
+
+ /**
+ * Set the value property: The actual value of the secret.
+ *
+ * @param value the value value to set.
+ * @return the SecretValueResourceDescriptionInner object itself.
+ */
+ public SecretValueResourceDescriptionInner withValue(String value) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SecretValueResourceProperties();
+ }
+ this.innerProperties().withValue(value);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: State of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model SecretValueResourceDescriptionInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(SecretValueResourceDescriptionInner.class);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/SecretValueResourceProperties.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/SecretValueResourceProperties.java
new file mode 100644
index 0000000000000..e161c93ead15c
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/SecretValueResourceProperties.java
@@ -0,0 +1,49 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.servicefabricmesh.models.ProvisionedResourceProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** This type describes properties of a secret value resource. */
+@Fluent
+public final class SecretValueResourceProperties extends ProvisionedResourceProperties {
+ /*
+ * The actual value of the secret.
+ */
+ @JsonProperty(value = "value")
+ private String value;
+
+ /**
+ * Get the value property: The actual value of the secret.
+ *
+ * @return the value value.
+ */
+ public String value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The actual value of the secret.
+ *
+ * @param value the value value to set.
+ * @return the SecretValueResourceProperties object itself.
+ */
+ public SecretValueResourceProperties withValue(String value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ServiceReplicaDescriptionInner.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ServiceReplicaDescriptionInner.java
new file mode 100644
index 0000000000000..331092575b7f4
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ServiceReplicaDescriptionInner.java
@@ -0,0 +1,91 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.servicefabricmesh.models.ContainerCodePackageProperties;
+import com.azure.resourcemanager.servicefabricmesh.models.DiagnosticsRef;
+import com.azure.resourcemanager.servicefabricmesh.models.NetworkRef;
+import com.azure.resourcemanager.servicefabricmesh.models.OperatingSystemType;
+import com.azure.resourcemanager.servicefabricmesh.models.ServiceReplicaProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Describes a replica of a service resource. */
+@Fluent
+public final class ServiceReplicaDescriptionInner extends ServiceReplicaProperties {
+ /*
+ * Name of the replica.
+ */
+ @JsonProperty(value = "replicaName", required = true)
+ private String replicaName;
+
+ /**
+ * Get the replicaName property: Name of the replica.
+ *
+ * @return the replicaName value.
+ */
+ public String replicaName() {
+ return this.replicaName;
+ }
+
+ /**
+ * Set the replicaName property: Name of the replica.
+ *
+ * @param replicaName the replicaName value to set.
+ * @return the ServiceReplicaDescriptionInner object itself.
+ */
+ public ServiceReplicaDescriptionInner withReplicaName(String replicaName) {
+ this.replicaName = replicaName;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ServiceReplicaDescriptionInner withOsType(OperatingSystemType osType) {
+ super.withOsType(osType);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ServiceReplicaDescriptionInner withCodePackages(List codePackages) {
+ super.withCodePackages(codePackages);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ServiceReplicaDescriptionInner withNetworkRefs(List networkRefs) {
+ super.withNetworkRefs(networkRefs);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ServiceReplicaDescriptionInner withDiagnostics(DiagnosticsRef diagnostics) {
+ super.withDiagnostics(diagnostics);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (replicaName() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property replicaName in model ServiceReplicaDescriptionInner"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ServiceReplicaDescriptionInner.class);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ServiceResourceDescriptionInner.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ServiceResourceDescriptionInner.java
new file mode 100644
index 0000000000000..dd28156accace
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ServiceResourceDescriptionInner.java
@@ -0,0 +1,275 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.servicefabricmesh.models.AutoScalingPolicy;
+import com.azure.resourcemanager.servicefabricmesh.models.ContainerCodePackageProperties;
+import com.azure.resourcemanager.servicefabricmesh.models.DiagnosticsRef;
+import com.azure.resourcemanager.servicefabricmesh.models.HealthState;
+import com.azure.resourcemanager.servicefabricmesh.models.ManagedProxyResource;
+import com.azure.resourcemanager.servicefabricmesh.models.NetworkRef;
+import com.azure.resourcemanager.servicefabricmesh.models.OperatingSystemType;
+import com.azure.resourcemanager.servicefabricmesh.models.ResourceStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** This type describes a service resource. */
+@Fluent
+public final class ServiceResourceDescriptionInner extends ManagedProxyResource {
+ /*
+ * This type describes properties of a service resource.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private ServiceResourceProperties innerProperties = new ServiceResourceProperties();
+
+ /**
+ * Get the innerProperties property: This type describes properties of a service resource.
+ *
+ * @return the innerProperties value.
+ */
+ private ServiceResourceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public ServiceResourceDescriptionInner withName(String name) {
+ super.withName(name);
+ return this;
+ }
+
+ /**
+ * Get the osType property: The operation system required by the code in service.
+ *
+ * @return the osType value.
+ */
+ public OperatingSystemType osType() {
+ return this.innerProperties() == null ? null : this.innerProperties().osType();
+ }
+
+ /**
+ * Set the osType property: The operation system required by the code in service.
+ *
+ * @param osType the osType value to set.
+ * @return the ServiceResourceDescriptionInner object itself.
+ */
+ public ServiceResourceDescriptionInner withOsType(OperatingSystemType osType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServiceResourceProperties();
+ }
+ this.innerProperties().withOsType(osType);
+ return this;
+ }
+
+ /**
+ * Get the codePackages property: Describes the set of code packages that forms the service. A code package
+ * describes the container and the properties for running it. All the code packages are started together on the same
+ * host and share the same context (network, process etc.).
+ *
+ * @return the codePackages value.
+ */
+ public List codePackages() {
+ return this.innerProperties() == null ? null : this.innerProperties().codePackages();
+ }
+
+ /**
+ * Set the codePackages property: Describes the set of code packages that forms the service. A code package
+ * describes the container and the properties for running it. All the code packages are started together on the same
+ * host and share the same context (network, process etc.).
+ *
+ * @param codePackages the codePackages value to set.
+ * @return the ServiceResourceDescriptionInner object itself.
+ */
+ public ServiceResourceDescriptionInner withCodePackages(List codePackages) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServiceResourceProperties();
+ }
+ this.innerProperties().withCodePackages(codePackages);
+ return this;
+ }
+
+ /**
+ * Get the networkRefs property: The names of the private networks that this service needs to be part of.
+ *
+ * @return the networkRefs value.
+ */
+ public List networkRefs() {
+ return this.innerProperties() == null ? null : this.innerProperties().networkRefs();
+ }
+
+ /**
+ * Set the networkRefs property: The names of the private networks that this service needs to be part of.
+ *
+ * @param networkRefs the networkRefs value to set.
+ * @return the ServiceResourceDescriptionInner object itself.
+ */
+ public ServiceResourceDescriptionInner withNetworkRefs(List networkRefs) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServiceResourceProperties();
+ }
+ this.innerProperties().withNetworkRefs(networkRefs);
+ return this;
+ }
+
+ /**
+ * Get the diagnostics property: Reference to sinks in DiagnosticsDescription.
+ *
+ * @return the diagnostics value.
+ */
+ public DiagnosticsRef diagnostics() {
+ return this.innerProperties() == null ? null : this.innerProperties().diagnostics();
+ }
+
+ /**
+ * Set the diagnostics property: Reference to sinks in DiagnosticsDescription.
+ *
+ * @param diagnostics the diagnostics value to set.
+ * @return the ServiceResourceDescriptionInner object itself.
+ */
+ public ServiceResourceDescriptionInner withDiagnostics(DiagnosticsRef diagnostics) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServiceResourceProperties();
+ }
+ this.innerProperties().withDiagnostics(diagnostics);
+ return this;
+ }
+
+ /**
+ * Get the description property: User readable description of the service.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: User readable description of the service.
+ *
+ * @param description the description value to set.
+ * @return the ServiceResourceDescriptionInner object itself.
+ */
+ public ServiceResourceDescriptionInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServiceResourceProperties();
+ }
+ this.innerProperties().withDescription(description);
+ return this;
+ }
+
+ /**
+ * Get the replicaCount property: The number of replicas of the service to create. Defaults to 1 if not specified.
+ *
+ * @return the replicaCount value.
+ */
+ public Integer replicaCount() {
+ return this.innerProperties() == null ? null : this.innerProperties().replicaCount();
+ }
+
+ /**
+ * Set the replicaCount property: The number of replicas of the service to create. Defaults to 1 if not specified.
+ *
+ * @param replicaCount the replicaCount value to set.
+ * @return the ServiceResourceDescriptionInner object itself.
+ */
+ public ServiceResourceDescriptionInner withReplicaCount(Integer replicaCount) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServiceResourceProperties();
+ }
+ this.innerProperties().withReplicaCount(replicaCount);
+ return this;
+ }
+
+ /**
+ * Get the autoScalingPolicies property: Auto scaling policies.
+ *
+ * @return the autoScalingPolicies value.
+ */
+ public List autoScalingPolicies() {
+ return this.innerProperties() == null ? null : this.innerProperties().autoScalingPolicies();
+ }
+
+ /**
+ * Set the autoScalingPolicies property: Auto scaling policies.
+ *
+ * @param autoScalingPolicies the autoScalingPolicies value to set.
+ * @return the ServiceResourceDescriptionInner object itself.
+ */
+ public ServiceResourceDescriptionInner withAutoScalingPolicies(List autoScalingPolicies) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ServiceResourceProperties();
+ }
+ this.innerProperties().withAutoScalingPolicies(autoScalingPolicies);
+ return this;
+ }
+
+ /**
+ * Get the status property: Status of the service.
+ *
+ * @return the status value.
+ */
+ public ResourceStatus status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Get the statusDetails property: Gives additional information about the current status of the service.
+ *
+ * @return the statusDetails value.
+ */
+ public String statusDetails() {
+ return this.innerProperties() == null ? null : this.innerProperties().statusDetails();
+ }
+
+ /**
+ * Get the healthState property: Describes the health state of an application resource.
+ *
+ * @return the healthState value.
+ */
+ public HealthState healthState() {
+ return this.innerProperties() == null ? null : this.innerProperties().healthState();
+ }
+
+ /**
+ * Get the unhealthyEvaluation property: When the service's health state is not 'Ok', this additional details from
+ * service fabric Health Manager for the user to know why the service is marked unhealthy.
+ *
+ * @return the unhealthyEvaluation value.
+ */
+ public String unhealthyEvaluation() {
+ return this.innerProperties() == null ? null : this.innerProperties().unhealthyEvaluation();
+ }
+
+ /**
+ * Get the provisioningState property: State of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (innerProperties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model ServiceResourceDescriptionInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ServiceResourceDescriptionInner.class);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ServiceResourceProperties.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ServiceResourceProperties.java
new file mode 100644
index 0000000000000..09b5b93c8dde5
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/ServiceResourceProperties.java
@@ -0,0 +1,310 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.servicefabricmesh.models.AutoScalingPolicy;
+import com.azure.resourcemanager.servicefabricmesh.models.ContainerCodePackageProperties;
+import com.azure.resourcemanager.servicefabricmesh.models.DiagnosticsRef;
+import com.azure.resourcemanager.servicefabricmesh.models.HealthState;
+import com.azure.resourcemanager.servicefabricmesh.models.NetworkRef;
+import com.azure.resourcemanager.servicefabricmesh.models.OperatingSystemType;
+import com.azure.resourcemanager.servicefabricmesh.models.ProvisionedResourceProperties;
+import com.azure.resourcemanager.servicefabricmesh.models.ResourceStatus;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** This type describes properties of a service resource. */
+@Fluent
+public final class ServiceResourceProperties extends ProvisionedResourceProperties {
+ /*
+ * The operation system required by the code in service.
+ */
+ @JsonProperty(value = "osType", required = true)
+ private OperatingSystemType osType;
+
+ /*
+ * Describes the set of code packages that forms the service. A code
+ * package describes the container and the properties for running it. All
+ * the code packages are started together on the same host and share the
+ * same context (network, process etc.).
+ */
+ @JsonProperty(value = "codePackages", required = true)
+ private List codePackages;
+
+ /*
+ * The names of the private networks that this service needs to be part of.
+ */
+ @JsonProperty(value = "networkRefs")
+ private List networkRefs;
+
+ /*
+ * Reference to sinks in DiagnosticsDescription.
+ */
+ @JsonProperty(value = "diagnostics")
+ private DiagnosticsRef diagnostics;
+
+ /*
+ * User readable description of the service.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * The number of replicas of the service to create. Defaults to 1 if not
+ * specified.
+ */
+ @JsonProperty(value = "replicaCount")
+ private Integer replicaCount;
+
+ /*
+ * Auto scaling policies
+ */
+ @JsonProperty(value = "autoScalingPolicies")
+ private List autoScalingPolicies;
+
+ /*
+ * Status of the service.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private ResourceStatus status;
+
+ /*
+ * Gives additional information about the current status of the service.
+ */
+ @JsonProperty(value = "statusDetails", access = JsonProperty.Access.WRITE_ONLY)
+ private String statusDetails;
+
+ /*
+ * Describes the health state of an application resource.
+ */
+ @JsonProperty(value = "healthState", access = JsonProperty.Access.WRITE_ONLY)
+ private HealthState healthState;
+
+ /*
+ * When the service's health state is not 'Ok', this additional details
+ * from service fabric Health Manager for the user to know why the service
+ * is marked unhealthy.
+ */
+ @JsonProperty(value = "unhealthyEvaluation", access = JsonProperty.Access.WRITE_ONLY)
+ private String unhealthyEvaluation;
+
+ /**
+ * Get the osType property: The operation system required by the code in service.
+ *
+ * @return the osType value.
+ */
+ public OperatingSystemType osType() {
+ return this.osType;
+ }
+
+ /**
+ * Set the osType property: The operation system required by the code in service.
+ *
+ * @param osType the osType value to set.
+ * @return the ServiceResourceProperties object itself.
+ */
+ public ServiceResourceProperties withOsType(OperatingSystemType osType) {
+ this.osType = osType;
+ return this;
+ }
+
+ /**
+ * Get the codePackages property: Describes the set of code packages that forms the service. A code package
+ * describes the container and the properties for running it. All the code packages are started together on the same
+ * host and share the same context (network, process etc.).
+ *
+ * @return the codePackages value.
+ */
+ public List codePackages() {
+ return this.codePackages;
+ }
+
+ /**
+ * Set the codePackages property: Describes the set of code packages that forms the service. A code package
+ * describes the container and the properties for running it. All the code packages are started together on the same
+ * host and share the same context (network, process etc.).
+ *
+ * @param codePackages the codePackages value to set.
+ * @return the ServiceResourceProperties object itself.
+ */
+ public ServiceResourceProperties withCodePackages(List codePackages) {
+ this.codePackages = codePackages;
+ return this;
+ }
+
+ /**
+ * Get the networkRefs property: The names of the private networks that this service needs to be part of.
+ *
+ * @return the networkRefs value.
+ */
+ public List networkRefs() {
+ return this.networkRefs;
+ }
+
+ /**
+ * Set the networkRefs property: The names of the private networks that this service needs to be part of.
+ *
+ * @param networkRefs the networkRefs value to set.
+ * @return the ServiceResourceProperties object itself.
+ */
+ public ServiceResourceProperties withNetworkRefs(List networkRefs) {
+ this.networkRefs = networkRefs;
+ return this;
+ }
+
+ /**
+ * Get the diagnostics property: Reference to sinks in DiagnosticsDescription.
+ *
+ * @return the diagnostics value.
+ */
+ public DiagnosticsRef diagnostics() {
+ return this.diagnostics;
+ }
+
+ /**
+ * Set the diagnostics property: Reference to sinks in DiagnosticsDescription.
+ *
+ * @param diagnostics the diagnostics value to set.
+ * @return the ServiceResourceProperties object itself.
+ */
+ public ServiceResourceProperties withDiagnostics(DiagnosticsRef diagnostics) {
+ this.diagnostics = diagnostics;
+ return this;
+ }
+
+ /**
+ * Get the description property: User readable description of the service.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: User readable description of the service.
+ *
+ * @param description the description value to set.
+ * @return the ServiceResourceProperties object itself.
+ */
+ public ServiceResourceProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the replicaCount property: The number of replicas of the service to create. Defaults to 1 if not specified.
+ *
+ * @return the replicaCount value.
+ */
+ public Integer replicaCount() {
+ return this.replicaCount;
+ }
+
+ /**
+ * Set the replicaCount property: The number of replicas of the service to create. Defaults to 1 if not specified.
+ *
+ * @param replicaCount the replicaCount value to set.
+ * @return the ServiceResourceProperties object itself.
+ */
+ public ServiceResourceProperties withReplicaCount(Integer replicaCount) {
+ this.replicaCount = replicaCount;
+ return this;
+ }
+
+ /**
+ * Get the autoScalingPolicies property: Auto scaling policies.
+ *
+ * @return the autoScalingPolicies value.
+ */
+ public List autoScalingPolicies() {
+ return this.autoScalingPolicies;
+ }
+
+ /**
+ * Set the autoScalingPolicies property: Auto scaling policies.
+ *
+ * @param autoScalingPolicies the autoScalingPolicies value to set.
+ * @return the ServiceResourceProperties object itself.
+ */
+ public ServiceResourceProperties withAutoScalingPolicies(List autoScalingPolicies) {
+ this.autoScalingPolicies = autoScalingPolicies;
+ return this;
+ }
+
+ /**
+ * Get the status property: Status of the service.
+ *
+ * @return the status value.
+ */
+ public ResourceStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Get the statusDetails property: Gives additional information about the current status of the service.
+ *
+ * @return the statusDetails value.
+ */
+ public String statusDetails() {
+ return this.statusDetails;
+ }
+
+ /**
+ * Get the healthState property: Describes the health state of an application resource.
+ *
+ * @return the healthState value.
+ */
+ public HealthState healthState() {
+ return this.healthState;
+ }
+
+ /**
+ * Get the unhealthyEvaluation property: When the service's health state is not 'Ok', this additional details from
+ * service fabric Health Manager for the user to know why the service is marked unhealthy.
+ *
+ * @return the unhealthyEvaluation value.
+ */
+ public String unhealthyEvaluation() {
+ return this.unhealthyEvaluation;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (osType() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property osType in model ServiceResourceProperties"));
+ }
+ if (codePackages() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property codePackages in model ServiceResourceProperties"));
+ } else {
+ codePackages().forEach(e -> e.validate());
+ }
+ if (networkRefs() != null) {
+ networkRefs().forEach(e -> e.validate());
+ }
+ if (diagnostics() != null) {
+ diagnostics().validate();
+ }
+ if (autoScalingPolicies() != null) {
+ autoScalingPolicies().forEach(e -> e.validate());
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ServiceResourceProperties.class);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/VolumeResourceDescriptionInner.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/VolumeResourceDescriptionInner.java
new file mode 100644
index 0000000000000..44f211ce015e6
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/VolumeResourceDescriptionInner.java
@@ -0,0 +1,162 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.servicefabricmesh.models.ResourceStatus;
+import com.azure.resourcemanager.servicefabricmesh.models.VolumeProvider;
+import com.azure.resourcemanager.servicefabricmesh.models.VolumeProviderParametersAzureFile;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** This type describes a volume resource. */
+@Fluent
+public final class VolumeResourceDescriptionInner extends Resource {
+ /*
+ * This type describes properties of a volume resource.
+ */
+ @JsonProperty(value = "properties", required = true)
+ private VolumeResourceProperties innerProperties = new VolumeResourceProperties();
+
+ /**
+ * Get the innerProperties property: This type describes properties of a volume resource.
+ *
+ * @return the innerProperties value.
+ */
+ private VolumeResourceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public VolumeResourceDescriptionInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public VolumeResourceDescriptionInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the description property: User readable description of the volume.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.innerProperties() == null ? null : this.innerProperties().description();
+ }
+
+ /**
+ * Set the description property: User readable description of the volume.
+ *
+ * @param description the description value to set.
+ * @return the VolumeResourceDescriptionInner object itself.
+ */
+ public VolumeResourceDescriptionInner withDescription(String description) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new VolumeResourceProperties();
+ }
+ this.innerProperties().withDescription(description);
+ return this;
+ }
+
+ /**
+ * Get the status property: Status of the volume.
+ *
+ * @return the status value.
+ */
+ public ResourceStatus status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Get the statusDetails property: Gives additional information about the current status of the volume.
+ *
+ * @return the statusDetails value.
+ */
+ public String statusDetails() {
+ return this.innerProperties() == null ? null : this.innerProperties().statusDetails();
+ }
+
+ /**
+ * Get the provider property: Provider of the volume.
+ *
+ * @return the provider value.
+ */
+ public VolumeProvider provider() {
+ return this.innerProperties() == null ? null : this.innerProperties().provider();
+ }
+
+ /**
+ * Set the provider property: Provider of the volume.
+ *
+ * @param provider the provider value to set.
+ * @return the VolumeResourceDescriptionInner object itself.
+ */
+ public VolumeResourceDescriptionInner withProvider(VolumeProvider provider) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new VolumeResourceProperties();
+ }
+ this.innerProperties().withProvider(provider);
+ return this;
+ }
+
+ /**
+ * Get the azureFileParameters property: This type describes a volume provided by an Azure Files file share.
+ *
+ * @return the azureFileParameters value.
+ */
+ public VolumeProviderParametersAzureFile azureFileParameters() {
+ return this.innerProperties() == null ? null : this.innerProperties().azureFileParameters();
+ }
+
+ /**
+ * Set the azureFileParameters property: This type describes a volume provided by an Azure Files file share.
+ *
+ * @param azureFileParameters the azureFileParameters value to set.
+ * @return the VolumeResourceDescriptionInner object itself.
+ */
+ public VolumeResourceDescriptionInner withAzureFileParameters(
+ VolumeProviderParametersAzureFile azureFileParameters) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new VolumeResourceProperties();
+ }
+ this.innerProperties().withAzureFileParameters(azureFileParameters);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: State of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property innerProperties in model VolumeResourceDescriptionInner"));
+ } else {
+ innerProperties().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(VolumeResourceDescriptionInner.class);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/VolumeResourceProperties.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/VolumeResourceProperties.java
new file mode 100644
index 0000000000000..137bcc073b08b
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/VolumeResourceProperties.java
@@ -0,0 +1,146 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.servicefabricmesh.models.ProvisionedResourceProperties;
+import com.azure.resourcemanager.servicefabricmesh.models.ResourceStatus;
+import com.azure.resourcemanager.servicefabricmesh.models.VolumeProvider;
+import com.azure.resourcemanager.servicefabricmesh.models.VolumeProviderParametersAzureFile;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** This type describes properties of a volume resource. */
+@Fluent
+public final class VolumeResourceProperties extends ProvisionedResourceProperties {
+ /*
+ * User readable description of the volume.
+ */
+ @JsonProperty(value = "description")
+ private String description;
+
+ /*
+ * Status of the volume.
+ */
+ @JsonProperty(value = "status", access = JsonProperty.Access.WRITE_ONLY)
+ private ResourceStatus status;
+
+ /*
+ * Gives additional information about the current status of the volume.
+ */
+ @JsonProperty(value = "statusDetails", access = JsonProperty.Access.WRITE_ONLY)
+ private String statusDetails;
+
+ /*
+ * Provider of the volume.
+ */
+ @JsonProperty(value = "provider", required = true)
+ private VolumeProvider provider;
+
+ /*
+ * This type describes a volume provided by an Azure Files file share.
+ */
+ @JsonProperty(value = "azureFileParameters")
+ private VolumeProviderParametersAzureFile azureFileParameters;
+
+ /**
+ * Get the description property: User readable description of the volume.
+ *
+ * @return the description value.
+ */
+ public String description() {
+ return this.description;
+ }
+
+ /**
+ * Set the description property: User readable description of the volume.
+ *
+ * @param description the description value to set.
+ * @return the VolumeResourceProperties object itself.
+ */
+ public VolumeResourceProperties withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ /**
+ * Get the status property: Status of the volume.
+ *
+ * @return the status value.
+ */
+ public ResourceStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Get the statusDetails property: Gives additional information about the current status of the volume.
+ *
+ * @return the statusDetails value.
+ */
+ public String statusDetails() {
+ return this.statusDetails;
+ }
+
+ /**
+ * Get the provider property: Provider of the volume.
+ *
+ * @return the provider value.
+ */
+ public VolumeProvider provider() {
+ return this.provider;
+ }
+
+ /**
+ * Set the provider property: Provider of the volume.
+ *
+ * @param provider the provider value to set.
+ * @return the VolumeResourceProperties object itself.
+ */
+ public VolumeResourceProperties withProvider(VolumeProvider provider) {
+ this.provider = provider;
+ return this;
+ }
+
+ /**
+ * Get the azureFileParameters property: This type describes a volume provided by an Azure Files file share.
+ *
+ * @return the azureFileParameters value.
+ */
+ public VolumeProviderParametersAzureFile azureFileParameters() {
+ return this.azureFileParameters;
+ }
+
+ /**
+ * Set the azureFileParameters property: This type describes a volume provided by an Azure Files file share.
+ *
+ * @param azureFileParameters the azureFileParameters value to set.
+ * @return the VolumeResourceProperties object itself.
+ */
+ public VolumeResourceProperties withAzureFileParameters(VolumeProviderParametersAzureFile azureFileParameters) {
+ this.azureFileParameters = azureFileParameters;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (provider() == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property provider in model VolumeResourceProperties"));
+ }
+ if (azureFileParameters() != null) {
+ azureFileParameters().validate();
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(VolumeResourceProperties.class);
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/package-info.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/models/package-info.java
new file mode 100644
index 0000000000000..0e3fae3b20cf6
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/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 ServiceFabricMeshManagementClient. Service Fabric Mesh Management
+ * Client.
+ */
+package com.azure.resourcemanager.servicefabricmesh.fluent.models;
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/package-info.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/package-info.java
new file mode 100644
index 0000000000000..dc6379016561f
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/fluent/package-info.java
@@ -0,0 +1,8 @@
+// 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 ServiceFabricMeshManagementClient. Service Fabric Mesh Management Client.
+ */
+package com.azure.resourcemanager.servicefabricmesh.fluent;
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/ApplicationResourceDescriptionImpl.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/ApplicationResourceDescriptionImpl.java
new file mode 100644
index 0000000000000..f85912cf9b5a2
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/ApplicationResourceDescriptionImpl.java
@@ -0,0 +1,220 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.ApplicationResourceDescriptionInner;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.ServiceResourceDescriptionInner;
+import com.azure.resourcemanager.servicefabricmesh.models.ApplicationResourceDescription;
+import com.azure.resourcemanager.servicefabricmesh.models.DiagnosticsDescription;
+import com.azure.resourcemanager.servicefabricmesh.models.HealthState;
+import com.azure.resourcemanager.servicefabricmesh.models.ResourceStatus;
+import com.azure.resourcemanager.servicefabricmesh.models.ServiceResourceDescription;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+public final class ApplicationResourceDescriptionImpl
+ implements ApplicationResourceDescription, ApplicationResourceDescription.Definition {
+ private ApplicationResourceDescriptionInner innerObject;
+
+ private final com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager;
+
+ ApplicationResourceDescriptionImpl(
+ ApplicationResourceDescriptionInner innerObject,
+ com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = 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 String description() {
+ return this.innerModel().description();
+ }
+
+ public List services() {
+ List inner = this.innerModel().services();
+ if (inner != null) {
+ return Collections
+ .unmodifiableList(
+ inner
+ .stream()
+ .map(inner1 -> new ServiceResourceDescriptionImpl(inner1, this.manager()))
+ .collect(Collectors.toList()));
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public DiagnosticsDescription diagnostics() {
+ return this.innerModel().diagnostics();
+ }
+
+ public String debugParams() {
+ return this.innerModel().debugParams();
+ }
+
+ public List serviceNames() {
+ List inner = this.innerModel().serviceNames();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public ResourceStatus status() {
+ return this.innerModel().status();
+ }
+
+ public String statusDetails() {
+ return this.innerModel().statusDetails();
+ }
+
+ public HealthState healthState() {
+ return this.innerModel().healthState();
+ }
+
+ public String unhealthyEvaluation() {
+ return this.innerModel().unhealthyEvaluation();
+ }
+
+ public String provisioningState() {
+ return this.innerModel().provisioningState();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public ApplicationResourceDescriptionInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String applicationResourceName;
+
+ public ApplicationResourceDescriptionImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public ApplicationResourceDescription create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getApplications()
+ .createWithResponse(resourceGroupName, applicationResourceName, this.innerModel(), Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public ApplicationResourceDescription create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getApplications()
+ .createWithResponse(resourceGroupName, applicationResourceName, this.innerModel(), context)
+ .getValue();
+ return this;
+ }
+
+ ApplicationResourceDescriptionImpl(
+ String name, com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager) {
+ this.innerObject = new ApplicationResourceDescriptionInner();
+ this.serviceManager = serviceManager;
+ this.applicationResourceName = name;
+ }
+
+ public ApplicationResourceDescription refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getApplications()
+ .getByResourceGroupWithResponse(resourceGroupName, applicationResourceName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public ApplicationResourceDescription refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getApplications()
+ .getByResourceGroupWithResponse(resourceGroupName, applicationResourceName, context)
+ .getValue();
+ return this;
+ }
+
+ public ApplicationResourceDescriptionImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public ApplicationResourceDescriptionImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public ApplicationResourceDescriptionImpl withTags(Map tags) {
+ this.innerModel().withTags(tags);
+ return this;
+ }
+
+ public ApplicationResourceDescriptionImpl withDescription(String description) {
+ this.innerModel().withDescription(description);
+ return this;
+ }
+
+ public ApplicationResourceDescriptionImpl withServices(List services) {
+ this.innerModel().withServices(services);
+ return this;
+ }
+
+ public ApplicationResourceDescriptionImpl withDiagnostics(DiagnosticsDescription diagnostics) {
+ this.innerModel().withDiagnostics(diagnostics);
+ return this;
+ }
+
+ public ApplicationResourceDescriptionImpl withDebugParams(String debugParams) {
+ this.innerModel().withDebugParams(debugParams);
+ return this;
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/ApplicationsClientImpl.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/ApplicationsClientImpl.java
new file mode 100644
index 0000000000000..4b66ffab9bfd6
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/ApplicationsClientImpl.java
@@ -0,0 +1,1127 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.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.PathParam;
+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.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.servicefabricmesh.fluent.ApplicationsClient;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.ApplicationResourceDescriptionInner;
+import com.azure.resourcemanager.servicefabricmesh.models.ApplicationResourceDescriptionList;
+import com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in ApplicationsClient. */
+public final class ApplicationsClientImpl implements ApplicationsClient {
+ /** The proxy service used to perform REST calls. */
+ private final ApplicationsService service;
+
+ /** The service client containing this operation class. */
+ private final ServiceFabricMeshManagementClientImpl client;
+
+ /**
+ * Initializes an instance of ApplicationsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ ApplicationsClientImpl(ServiceFabricMeshManagementClientImpl client) {
+ this.service =
+ RestProxy.create(ApplicationsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for ServiceFabricMeshManagementClientApplications to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "ServiceFabricMeshMan")
+ private interface ApplicationsService {
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh"
+ + "/applications/{applicationResourceName}")
+ @ExpectedResponses({200, 201, 202})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> create(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam(value = "applicationResourceName", encoded = true) String applicationResourceName,
+ @BodyParam("application/json") ApplicationResourceDescriptionInner applicationResourceDescription,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh"
+ + "/applications/{applicationResourceName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> getByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam(value = "applicationResourceName", encoded = true) String applicationResourceName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh"
+ + "/applications/{applicationResourceName}")
+ @ExpectedResponses({200, 202, 204})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam(value = "applicationResourceName", encoded = true) String applicationResourceName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh"
+ + "/applications")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> listByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabricMesh/applications")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.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(ErrorErrorModelException.class)
+ Mono> listBySubscriptionNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Creates an application resource with the specified name, description and properties. If an application resource
+ * with the same name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param applicationResourceDescription Description for creating a Application resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes an application resource along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createWithResponseAsync(
+ String resourceGroupName,
+ String applicationResourceName,
+ ApplicationResourceDescriptionInner applicationResourceDescription) {
+ 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."));
+ }
+ if (applicationResourceName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter applicationResourceName is required and cannot be null."));
+ }
+ if (applicationResourceDescription == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter applicationResourceDescription is required and cannot be null."));
+ } else {
+ applicationResourceDescription.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ applicationResourceName,
+ applicationResourceDescription,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Creates an application resource with the specified name, description and properties. If an application resource
+ * with the same name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param applicationResourceDescription Description for creating a Application resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes an application resource along with {@link Response} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createWithResponseAsync(
+ String resourceGroupName,
+ String applicationResourceName,
+ ApplicationResourceDescriptionInner applicationResourceDescription,
+ Context context) {
+ 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."));
+ }
+ if (applicationResourceName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter applicationResourceName is required and cannot be null."));
+ }
+ if (applicationResourceDescription == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter applicationResourceDescription is required and cannot be null."));
+ } else {
+ applicationResourceDescription.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ applicationResourceName,
+ applicationResourceDescription,
+ accept,
+ context);
+ }
+
+ /**
+ * Creates an application resource with the specified name, description and properties. If an application resource
+ * with the same name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param applicationResourceDescription Description for creating a Application resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes an application resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(
+ String resourceGroupName,
+ String applicationResourceName,
+ ApplicationResourceDescriptionInner applicationResourceDescription) {
+ return createWithResponseAsync(resourceGroupName, applicationResourceName, applicationResourceDescription)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Creates an application resource with the specified name, description and properties. If an application resource
+ * with the same name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param applicationResourceDescription Description for creating a Application resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes an application resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ApplicationResourceDescriptionInner create(
+ String resourceGroupName,
+ String applicationResourceName,
+ ApplicationResourceDescriptionInner applicationResourceDescription) {
+ return createAsync(resourceGroupName, applicationResourceName, applicationResourceDescription).block();
+ }
+
+ /**
+ * Creates an application resource with the specified name, description and properties. If an application resource
+ * with the same name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param applicationResourceDescription Description for creating a Application resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes an application resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response createWithResponse(
+ String resourceGroupName,
+ String applicationResourceName,
+ ApplicationResourceDescriptionInner applicationResourceDescription,
+ Context context) {
+ return createWithResponseAsync(
+ resourceGroupName, applicationResourceName, applicationResourceDescription, context)
+ .block();
+ }
+
+ /**
+ * Gets the information about the application resource with the given name. The information include the description
+ * and other properties of the application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the application resource with the given name along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(
+ String resourceGroupName, String applicationResourceName) {
+ 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."));
+ }
+ if (applicationResourceName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter applicationResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .getByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ applicationResourceName,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets the information about the application resource with the given name. The information include the description
+ * and other properties of the application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the application resource with the given name along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(
+ String resourceGroupName, String applicationResourceName, Context context) {
+ 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."));
+ }
+ if (applicationResourceName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter applicationResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .getByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ applicationResourceName,
+ accept,
+ context);
+ }
+
+ /**
+ * Gets the information about the application resource with the given name. The information include the description
+ * and other properties of the application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the application resource with the given name on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getByResourceGroupAsync(
+ String resourceGroupName, String applicationResourceName) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, applicationResourceName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Gets the information about the application resource with the given name. The information include the description
+ * and other properties of the application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the application resource with the given name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ApplicationResourceDescriptionInner getByResourceGroup(
+ String resourceGroupName, String applicationResourceName) {
+ return getByResourceGroupAsync(resourceGroupName, applicationResourceName).block();
+ }
+
+ /**
+ * Gets the information about the application resource with the given name. The information include the description
+ * and other properties of the application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the application resource with the given name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getByResourceGroupWithResponse(
+ String resourceGroupName, String applicationResourceName, Context context) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, applicationResourceName, context).block();
+ }
+
+ /**
+ * Deletes the application resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException 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 Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> deleteWithResponseAsync(String resourceGroupName, String applicationResourceName) {
+ 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."));
+ }
+ if (applicationResourceName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter applicationResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ applicationResourceName,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Deletes the application resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException 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 Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> deleteWithResponseAsync(
+ String resourceGroupName, String applicationResourceName, Context context) {
+ 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."));
+ }
+ if (applicationResourceName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter applicationResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ applicationResourceName,
+ accept,
+ context);
+ }
+
+ /**
+ * Deletes the application resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String applicationResourceName) {
+ return deleteWithResponseAsync(resourceGroupName, applicationResourceName).flatMap(ignored -> Mono.empty());
+ }
+
+ /**
+ * Deletes the application resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException 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)
+ public void delete(String resourceGroupName, String applicationResourceName) {
+ deleteAsync(resourceGroupName, applicationResourceName).block();
+ }
+
+ /**
+ * Deletes the application resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException 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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response deleteWithResponse(
+ String resourceGroupName, String applicationResourceName, Context context) {
+ return deleteWithResponseAsync(resourceGroupName, applicationResourceName, context).block();
+ }
+
+ /**
+ * Gets the information about all application resources in a given resource group. The information include the
+ * description and other properties of the Application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given 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.getSubscriptionId(),
+ this.client.getApiVersion(),
+ 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 the information about all application resources in a given resource group. The information include the
+ * description and other properties of the Application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given resource group along with {@link
+ * PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupSinglePageAsync(
+ String resourceGroupName, Context context) {
+ 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";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Gets the information about all application resources in a given resource group. The information include the
+ * description and other properties of the Application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given 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 the information about all application resources in a given resource group. The information include the
+ * description and other properties of the Application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given resource group as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(
+ String resourceGroupName, Context context) {
+ return new PagedFlux<>(
+ () -> listByResourceGroupSinglePageAsync(resourceGroupName, context),
+ nextLink -> listByResourceGroupNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Gets the information about all application resources in a given resource group. The information include the
+ * description and other properties of the Application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given resource group as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName));
+ }
+
+ /**
+ * Gets the information about all application resources in a given resource group. The information include the
+ * description and other properties of the Application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given resource group as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(
+ String resourceGroupName, Context context) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName, context));
+ }
+
+ /**
+ * Gets the information about all application resources in a given resource group. The information include the
+ * description and other properties of the application.
+ *
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given resource group along with {@link
+ * PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync() {
+ 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
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ 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 the information about all application resources in a given resource group. The information include the
+ * description and other properties of the application.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given resource group along with {@link
+ * PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(Context context) {
+ 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";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Gets the information about all application resources in a given resource group. The information include the
+ * description and other properties of the application.
+ *
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given resource group as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync() {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(), nextLink -> listBySubscriptionNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Gets the information about all application resources in a given resource group. The information include the
+ * description and other properties of the application.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given resource group as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(context), nextLink -> listBySubscriptionNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Gets the information about all application resources in a given resource group. The information include the
+ * description and other properties of the application.
+ *
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given resource group as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list() {
+ return new PagedIterable<>(listAsync());
+ }
+
+ /**
+ * Gets the information about all application resources in a given resource group. The information include the
+ * description and other properties of the application.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all application resources in a given resource group as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(Context context) {
+ return new PagedIterable<>(listAsync(context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a pageable list of application resources along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupNextSinglePageAsync(
+ String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listByResourceGroupNext(nextLink, this.client.getEndpoint(), 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()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a pageable list of application resources along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResourceGroupNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a pageable list of application resources along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listBySubscriptionNextSinglePageAsync(
+ String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listBySubscriptionNext(nextLink, this.client.getEndpoint(), 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()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a pageable list of application resources along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listBySubscriptionNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listBySubscriptionNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/ApplicationsImpl.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/ApplicationsImpl.java
new file mode 100644
index 0000000000000..c08d207999b08
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/ApplicationsImpl.java
@@ -0,0 +1,175 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+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.servicefabricmesh.fluent.ApplicationsClient;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.ApplicationResourceDescriptionInner;
+import com.azure.resourcemanager.servicefabricmesh.models.ApplicationResourceDescription;
+import com.azure.resourcemanager.servicefabricmesh.models.Applications;
+
+public final class ApplicationsImpl implements Applications {
+ private static final ClientLogger LOGGER = new ClientLogger(ApplicationsImpl.class);
+
+ private final ApplicationsClient innerClient;
+
+ private final com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager;
+
+ public ApplicationsImpl(
+ ApplicationsClient innerClient,
+ com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public ApplicationResourceDescription getByResourceGroup(String resourceGroupName, String applicationResourceName) {
+ ApplicationResourceDescriptionInner inner =
+ this.serviceClient().getByResourceGroup(resourceGroupName, applicationResourceName);
+ if (inner != null) {
+ return new ApplicationResourceDescriptionImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getByResourceGroupWithResponse(
+ String resourceGroupName, String applicationResourceName, Context context) {
+ Response inner =
+ this.serviceClient().getByResourceGroupWithResponse(resourceGroupName, applicationResourceName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new ApplicationResourceDescriptionImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public void deleteByResourceGroup(String resourceGroupName, String applicationResourceName) {
+ this.serviceClient().delete(resourceGroupName, applicationResourceName);
+ }
+
+ public Response deleteWithResponse(
+ String resourceGroupName, String applicationResourceName, Context context) {
+ return this.serviceClient().deleteWithResponse(resourceGroupName, applicationResourceName, context);
+ }
+
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ PagedIterable inner =
+ this.serviceClient().listByResourceGroup(resourceGroupName);
+ return Utils.mapPage(inner, inner1 -> new ApplicationResourceDescriptionImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByResourceGroup(
+ String resourceGroupName, Context context) {
+ PagedIterable inner =
+ this.serviceClient().listByResourceGroup(resourceGroupName, context);
+ return Utils.mapPage(inner, inner1 -> new ApplicationResourceDescriptionImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list() {
+ PagedIterable inner = this.serviceClient().list();
+ return Utils.mapPage(inner, inner1 -> new ApplicationResourceDescriptionImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(Context context) {
+ PagedIterable inner = this.serviceClient().list(context);
+ return Utils.mapPage(inner, inner1 -> new ApplicationResourceDescriptionImpl(inner1, this.manager()));
+ }
+
+ public ApplicationResourceDescription getById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String applicationResourceName = Utils.getValueFromIdByName(id, "applications");
+ if (applicationResourceName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'applications'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, applicationResourceName, Context.NONE).getValue();
+ }
+
+ public Response getByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String applicationResourceName = Utils.getValueFromIdByName(id, "applications");
+ if (applicationResourceName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'applications'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, applicationResourceName, context);
+ }
+
+ public void deleteById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String applicationResourceName = Utils.getValueFromIdByName(id, "applications");
+ if (applicationResourceName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'applications'.", id)));
+ }
+ this.deleteWithResponse(resourceGroupName, applicationResourceName, Context.NONE);
+ }
+
+ public Response deleteByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String applicationResourceName = Utils.getValueFromIdByName(id, "applications");
+ if (applicationResourceName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'applications'.", id)));
+ }
+ return this.deleteWithResponse(resourceGroupName, applicationResourceName, context);
+ }
+
+ private ApplicationsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager manager() {
+ return this.serviceManager;
+ }
+
+ public ApplicationResourceDescriptionImpl define(String name) {
+ return new ApplicationResourceDescriptionImpl(name, this.manager());
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/CodePackagesClientImpl.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/CodePackagesClientImpl.java
new file mode 100644
index 0000000000000..75ca1036702ce
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/CodePackagesClientImpl.java
@@ -0,0 +1,340 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.implementation;
+
+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.PathParam;
+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.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.servicefabricmesh.fluent.CodePackagesClient;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.ContainerLogsInner;
+import com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in CodePackagesClient. */
+public final class CodePackagesClientImpl implements CodePackagesClient {
+ /** The proxy service used to perform REST calls. */
+ private final CodePackagesService service;
+
+ /** The service client containing this operation class. */
+ private final ServiceFabricMeshManagementClientImpl client;
+
+ /**
+ * Initializes an instance of CodePackagesClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ CodePackagesClientImpl(ServiceFabricMeshManagementClientImpl client) {
+ this.service =
+ RestProxy.create(CodePackagesService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for ServiceFabricMeshManagementClientCodePackages to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "ServiceFabricMeshMan")
+ private interface CodePackagesService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh"
+ + "/applications/{applicationResourceName}/services/{serviceResourceName}/replicas/{replicaName}"
+ + "/codePackages/{codePackageName}/logs")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> getContainerLogs(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam(value = "applicationResourceName", encoded = true) String applicationResourceName,
+ @PathParam(value = "serviceResourceName", encoded = true) String serviceResourceName,
+ @PathParam(value = "replicaName", encoded = true) String replicaName,
+ @PathParam("codePackageName") String codePackageName,
+ @QueryParam("tail") Integer tail,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Gets the logs for the container of the specified code package of the service replica.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param serviceResourceName The identity of the service.
+ * @param replicaName Service Fabric replica name.
+ * @param codePackageName The name of code package of the service.
+ * @param tail Number of lines to show from the end of the logs. Default is 100.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the logs for the container of the specified code package of the service replica along with {@link
+ * Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getContainerLogsWithResponseAsync(
+ String resourceGroupName,
+ String applicationResourceName,
+ String serviceResourceName,
+ String replicaName,
+ String codePackageName,
+ Integer tail) {
+ 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."));
+ }
+ if (applicationResourceName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter applicationResourceName is required and cannot be null."));
+ }
+ if (serviceResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter serviceResourceName is required and cannot be null."));
+ }
+ if (replicaName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter replicaName is required and cannot be null."));
+ }
+ if (codePackageName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter codePackageName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .getContainerLogs(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ applicationResourceName,
+ serviceResourceName,
+ replicaName,
+ codePackageName,
+ tail,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets the logs for the container of the specified code package of the service replica.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param serviceResourceName The identity of the service.
+ * @param replicaName Service Fabric replica name.
+ * @param codePackageName The name of code package of the service.
+ * @param tail Number of lines to show from the end of the logs. Default is 100.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the logs for the container of the specified code package of the service replica along with {@link
+ * Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getContainerLogsWithResponseAsync(
+ String resourceGroupName,
+ String applicationResourceName,
+ String serviceResourceName,
+ String replicaName,
+ String codePackageName,
+ Integer tail,
+ Context context) {
+ 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."));
+ }
+ if (applicationResourceName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter applicationResourceName is required and cannot be null."));
+ }
+ if (serviceResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter serviceResourceName is required and cannot be null."));
+ }
+ if (replicaName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter replicaName is required and cannot be null."));
+ }
+ if (codePackageName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter codePackageName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .getContainerLogs(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ applicationResourceName,
+ serviceResourceName,
+ replicaName,
+ codePackageName,
+ tail,
+ accept,
+ context);
+ }
+
+ /**
+ * Gets the logs for the container of the specified code package of the service replica.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param serviceResourceName The identity of the service.
+ * @param replicaName Service Fabric replica name.
+ * @param codePackageName The name of code package of the service.
+ * @param tail Number of lines to show from the end of the logs. Default is 100.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the logs for the container of the specified code package of the service replica on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getContainerLogsAsync(
+ String resourceGroupName,
+ String applicationResourceName,
+ String serviceResourceName,
+ String replicaName,
+ String codePackageName,
+ Integer tail) {
+ return getContainerLogsWithResponseAsync(
+ resourceGroupName, applicationResourceName, serviceResourceName, replicaName, codePackageName, tail)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Gets the logs for the container of the specified code package of the service replica.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param serviceResourceName The identity of the service.
+ * @param replicaName Service Fabric replica name.
+ * @param codePackageName The name of code package of the service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the logs for the container of the specified code package of the service replica on successful completion
+ * of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getContainerLogsAsync(
+ String resourceGroupName,
+ String applicationResourceName,
+ String serviceResourceName,
+ String replicaName,
+ String codePackageName) {
+ final Integer tail = null;
+ return getContainerLogsWithResponseAsync(
+ resourceGroupName, applicationResourceName, serviceResourceName, replicaName, codePackageName, tail)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Gets the logs for the container of the specified code package of the service replica.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param serviceResourceName The identity of the service.
+ * @param replicaName Service Fabric replica name.
+ * @param codePackageName The name of code package of the service.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the logs for the container of the specified code package of the service replica.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ContainerLogsInner getContainerLogs(
+ String resourceGroupName,
+ String applicationResourceName,
+ String serviceResourceName,
+ String replicaName,
+ String codePackageName) {
+ final Integer tail = null;
+ return getContainerLogsAsync(
+ resourceGroupName, applicationResourceName, serviceResourceName, replicaName, codePackageName, tail)
+ .block();
+ }
+
+ /**
+ * Gets the logs for the container of the specified code package of the service replica.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param applicationResourceName The identity of the application.
+ * @param serviceResourceName The identity of the service.
+ * @param replicaName Service Fabric replica name.
+ * @param codePackageName The name of code package of the service.
+ * @param tail Number of lines to show from the end of the logs. Default is 100.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the logs for the container of the specified code package of the service replica along with {@link
+ * Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getContainerLogsWithResponse(
+ String resourceGroupName,
+ String applicationResourceName,
+ String serviceResourceName,
+ String replicaName,
+ String codePackageName,
+ Integer tail,
+ Context context) {
+ return getContainerLogsWithResponseAsync(
+ resourceGroupName,
+ applicationResourceName,
+ serviceResourceName,
+ replicaName,
+ codePackageName,
+ tail,
+ context)
+ .block();
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/CodePackagesImpl.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/CodePackagesImpl.java
new file mode 100644
index 0000000000000..9858193da2820
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/CodePackagesImpl.java
@@ -0,0 +1,85 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.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.servicefabricmesh.fluent.CodePackagesClient;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.ContainerLogsInner;
+import com.azure.resourcemanager.servicefabricmesh.models.CodePackages;
+import com.azure.resourcemanager.servicefabricmesh.models.ContainerLogs;
+
+public final class CodePackagesImpl implements CodePackages {
+ private static final ClientLogger LOGGER = new ClientLogger(CodePackagesImpl.class);
+
+ private final CodePackagesClient innerClient;
+
+ private final com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager;
+
+ public CodePackagesImpl(
+ CodePackagesClient innerClient,
+ com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public ContainerLogs getContainerLogs(
+ String resourceGroupName,
+ String applicationResourceName,
+ String serviceResourceName,
+ String replicaName,
+ String codePackageName) {
+ ContainerLogsInner inner =
+ this
+ .serviceClient()
+ .getContainerLogs(
+ resourceGroupName, applicationResourceName, serviceResourceName, replicaName, codePackageName);
+ if (inner != null) {
+ return new ContainerLogsImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getContainerLogsWithResponse(
+ String resourceGroupName,
+ String applicationResourceName,
+ String serviceResourceName,
+ String replicaName,
+ String codePackageName,
+ Integer tail,
+ Context context) {
+ Response inner =
+ this
+ .serviceClient()
+ .getContainerLogsWithResponse(
+ resourceGroupName,
+ applicationResourceName,
+ serviceResourceName,
+ replicaName,
+ codePackageName,
+ tail,
+ context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new ContainerLogsImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ private CodePackagesClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/ContainerLogsImpl.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/ContainerLogsImpl.java
new file mode 100644
index 0000000000000..9d47ebc2c0685
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/ContainerLogsImpl.java
@@ -0,0 +1,33 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.implementation;
+
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.ContainerLogsInner;
+import com.azure.resourcemanager.servicefabricmesh.models.ContainerLogs;
+
+public final class ContainerLogsImpl implements ContainerLogs {
+ private ContainerLogsInner innerObject;
+
+ private final com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager;
+
+ ContainerLogsImpl(
+ ContainerLogsInner innerObject,
+ com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String content() {
+ return this.innerModel().content();
+ }
+
+ public ContainerLogsInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/GatewayResourceDescriptionImpl.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/GatewayResourceDescriptionImpl.java
new file mode 100644
index 0000000000000..6d027d0b3df19
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/GatewayResourceDescriptionImpl.java
@@ -0,0 +1,214 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.GatewayResourceDescriptionInner;
+import com.azure.resourcemanager.servicefabricmesh.models.GatewayResourceDescription;
+import com.azure.resourcemanager.servicefabricmesh.models.HttpConfig;
+import com.azure.resourcemanager.servicefabricmesh.models.NetworkRef;
+import com.azure.resourcemanager.servicefabricmesh.models.ResourceStatus;
+import com.azure.resourcemanager.servicefabricmesh.models.TcpConfig;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+public final class GatewayResourceDescriptionImpl
+ implements GatewayResourceDescription, GatewayResourceDescription.Definition {
+ private GatewayResourceDescriptionInner innerObject;
+
+ private final com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager;
+
+ GatewayResourceDescriptionImpl(
+ GatewayResourceDescriptionInner innerObject,
+ com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = 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 String description() {
+ return this.innerModel().description();
+ }
+
+ public NetworkRef sourceNetwork() {
+ return this.innerModel().sourceNetwork();
+ }
+
+ public NetworkRef destinationNetwork() {
+ return this.innerModel().destinationNetwork();
+ }
+
+ public List tcp() {
+ List inner = this.innerModel().tcp();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List http() {
+ List inner = this.innerModel().http();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public ResourceStatus status() {
+ return this.innerModel().status();
+ }
+
+ public String statusDetails() {
+ return this.innerModel().statusDetails();
+ }
+
+ public String ipAddress() {
+ return this.innerModel().ipAddress();
+ }
+
+ public String provisioningState() {
+ return this.innerModel().provisioningState();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public GatewayResourceDescriptionInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String gatewayResourceName;
+
+ public GatewayResourceDescriptionImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public GatewayResourceDescription create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getGateways()
+ .createWithResponse(resourceGroupName, gatewayResourceName, this.innerModel(), Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public GatewayResourceDescription create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getGateways()
+ .createWithResponse(resourceGroupName, gatewayResourceName, this.innerModel(), context)
+ .getValue();
+ return this;
+ }
+
+ GatewayResourceDescriptionImpl(
+ String name, com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager) {
+ this.innerObject = new GatewayResourceDescriptionInner();
+ this.serviceManager = serviceManager;
+ this.gatewayResourceName = name;
+ }
+
+ public GatewayResourceDescription refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getGateways()
+ .getByResourceGroupWithResponse(resourceGroupName, gatewayResourceName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public GatewayResourceDescription refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getGateways()
+ .getByResourceGroupWithResponse(resourceGroupName, gatewayResourceName, context)
+ .getValue();
+ return this;
+ }
+
+ public GatewayResourceDescriptionImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public GatewayResourceDescriptionImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public GatewayResourceDescriptionImpl withSourceNetwork(NetworkRef sourceNetwork) {
+ this.innerModel().withSourceNetwork(sourceNetwork);
+ return this;
+ }
+
+ public GatewayResourceDescriptionImpl withDestinationNetwork(NetworkRef destinationNetwork) {
+ this.innerModel().withDestinationNetwork(destinationNetwork);
+ return this;
+ }
+
+ public GatewayResourceDescriptionImpl withTags(Map tags) {
+ this.innerModel().withTags(tags);
+ return this;
+ }
+
+ public GatewayResourceDescriptionImpl withDescription(String description) {
+ this.innerModel().withDescription(description);
+ return this;
+ }
+
+ public GatewayResourceDescriptionImpl withTcp(List tcp) {
+ this.innerModel().withTcp(tcp);
+ return this;
+ }
+
+ public GatewayResourceDescriptionImpl withHttp(List http) {
+ this.innerModel().withHttp(http);
+ return this;
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/GatewaysClientImpl.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/GatewaysClientImpl.java
new file mode 100644
index 0000000000000..95e958d0eafe4
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/GatewaysClientImpl.java
@@ -0,0 +1,1121 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.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.PathParam;
+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.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.servicefabricmesh.fluent.GatewaysClient;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.GatewayResourceDescriptionInner;
+import com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException;
+import com.azure.resourcemanager.servicefabricmesh.models.GatewayResourceDescriptionList;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in GatewaysClient. */
+public final class GatewaysClientImpl implements GatewaysClient {
+ /** The proxy service used to perform REST calls. */
+ private final GatewaysService service;
+
+ /** The service client containing this operation class. */
+ private final ServiceFabricMeshManagementClientImpl client;
+
+ /**
+ * Initializes an instance of GatewaysClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ GatewaysClientImpl(ServiceFabricMeshManagementClientImpl client) {
+ this.service = RestProxy.create(GatewaysService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for ServiceFabricMeshManagementClientGateways to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "ServiceFabricMeshMan")
+ private interface GatewaysService {
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh"
+ + "/gateways/{gatewayResourceName}")
+ @ExpectedResponses({200, 201, 202})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> create(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam(value = "gatewayResourceName", encoded = true) String gatewayResourceName,
+ @BodyParam("application/json") GatewayResourceDescriptionInner gatewayResourceDescription,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh"
+ + "/gateways/{gatewayResourceName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> getByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam(value = "gatewayResourceName", encoded = true) String gatewayResourceName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh"
+ + "/gateways/{gatewayResourceName}")
+ @ExpectedResponses({200, 202, 204})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam(value = "gatewayResourceName", encoded = true) String gatewayResourceName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh"
+ + "/gateways")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> listByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabricMesh/gateways")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.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(ErrorErrorModelException.class)
+ Mono> listBySubscriptionNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Creates a gateway resource with the specified name, description and properties. If a gateway resource with the
+ * same name exists, then it is updated with the specified description and properties. Use gateway resources to
+ * create a gateway for public connectivity for services within your application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @param gatewayResourceDescription Description for creating a Gateway resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a gateway resource along with {@link Response} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createWithResponseAsync(
+ String resourceGroupName,
+ String gatewayResourceName,
+ GatewayResourceDescriptionInner gatewayResourceDescription) {
+ 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."));
+ }
+ if (gatewayResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter gatewayResourceName is required and cannot be null."));
+ }
+ if (gatewayResourceDescription == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter gatewayResourceDescription is required and cannot be null."));
+ } else {
+ gatewayResourceDescription.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ gatewayResourceName,
+ gatewayResourceDescription,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Creates a gateway resource with the specified name, description and properties. If a gateway resource with the
+ * same name exists, then it is updated with the specified description and properties. Use gateway resources to
+ * create a gateway for public connectivity for services within your application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @param gatewayResourceDescription Description for creating a Gateway resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a gateway resource along with {@link Response} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createWithResponseAsync(
+ String resourceGroupName,
+ String gatewayResourceName,
+ GatewayResourceDescriptionInner gatewayResourceDescription,
+ Context context) {
+ 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."));
+ }
+ if (gatewayResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter gatewayResourceName is required and cannot be null."));
+ }
+ if (gatewayResourceDescription == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter gatewayResourceDescription is required and cannot be null."));
+ } else {
+ gatewayResourceDescription.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ gatewayResourceName,
+ gatewayResourceDescription,
+ accept,
+ context);
+ }
+
+ /**
+ * Creates a gateway resource with the specified name, description and properties. If a gateway resource with the
+ * same name exists, then it is updated with the specified description and properties. Use gateway resources to
+ * create a gateway for public connectivity for services within your application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @param gatewayResourceDescription Description for creating a Gateway resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a gateway resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(
+ String resourceGroupName,
+ String gatewayResourceName,
+ GatewayResourceDescriptionInner gatewayResourceDescription) {
+ return createWithResponseAsync(resourceGroupName, gatewayResourceName, gatewayResourceDescription)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Creates a gateway resource with the specified name, description and properties. If a gateway resource with the
+ * same name exists, then it is updated with the specified description and properties. Use gateway resources to
+ * create a gateway for public connectivity for services within your application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @param gatewayResourceDescription Description for creating a Gateway resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a gateway resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public GatewayResourceDescriptionInner create(
+ String resourceGroupName,
+ String gatewayResourceName,
+ GatewayResourceDescriptionInner gatewayResourceDescription) {
+ return createAsync(resourceGroupName, gatewayResourceName, gatewayResourceDescription).block();
+ }
+
+ /**
+ * Creates a gateway resource with the specified name, description and properties. If a gateway resource with the
+ * same name exists, then it is updated with the specified description and properties. Use gateway resources to
+ * create a gateway for public connectivity for services within your application.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @param gatewayResourceDescription Description for creating a Gateway resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a gateway resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response createWithResponse(
+ String resourceGroupName,
+ String gatewayResourceName,
+ GatewayResourceDescriptionInner gatewayResourceDescription,
+ Context context) {
+ return createWithResponseAsync(resourceGroupName, gatewayResourceName, gatewayResourceDescription, context)
+ .block();
+ }
+
+ /**
+ * Gets the information about the gateway resource with the given name. The information include the description and
+ * other properties of the gateway.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the gateway resource with the given name along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(
+ String resourceGroupName, String gatewayResourceName) {
+ 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."));
+ }
+ if (gatewayResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter gatewayResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .getByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ gatewayResourceName,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets the information about the gateway resource with the given name. The information include the description and
+ * other properties of the gateway.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the gateway resource with the given name along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(
+ String resourceGroupName, String gatewayResourceName, Context context) {
+ 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."));
+ }
+ if (gatewayResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter gatewayResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .getByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ gatewayResourceName,
+ accept,
+ context);
+ }
+
+ /**
+ * Gets the information about the gateway resource with the given name. The information include the description and
+ * other properties of the gateway.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the gateway resource with the given name on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getByResourceGroupAsync(
+ String resourceGroupName, String gatewayResourceName) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, gatewayResourceName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Gets the information about the gateway resource with the given name. The information include the description and
+ * other properties of the gateway.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the gateway resource with the given name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public GatewayResourceDescriptionInner getByResourceGroup(String resourceGroupName, String gatewayResourceName) {
+ return getByResourceGroupAsync(resourceGroupName, gatewayResourceName).block();
+ }
+
+ /**
+ * Gets the information about the gateway resource with the given name. The information include the description and
+ * other properties of the gateway.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the gateway resource with the given name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getByResourceGroupWithResponse(
+ String resourceGroupName, String gatewayResourceName, Context context) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, gatewayResourceName, context).block();
+ }
+
+ /**
+ * Deletes the gateway resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException 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 Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> deleteWithResponseAsync(String resourceGroupName, String gatewayResourceName) {
+ 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."));
+ }
+ if (gatewayResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter gatewayResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ gatewayResourceName,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Deletes the gateway resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException 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 Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> deleteWithResponseAsync(
+ String resourceGroupName, String gatewayResourceName, Context context) {
+ 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."));
+ }
+ if (gatewayResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter gatewayResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ gatewayResourceName,
+ accept,
+ context);
+ }
+
+ /**
+ * Deletes the gateway resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String gatewayResourceName) {
+ return deleteWithResponseAsync(resourceGroupName, gatewayResourceName).flatMap(ignored -> Mono.empty());
+ }
+
+ /**
+ * Deletes the gateway resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException 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)
+ public void delete(String resourceGroupName, String gatewayResourceName) {
+ deleteAsync(resourceGroupName, gatewayResourceName).block();
+ }
+
+ /**
+ * Deletes the gateway resource identified by the name.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param gatewayResourceName The identity of the gateway.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException 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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response deleteWithResponse(String resourceGroupName, String gatewayResourceName, Context context) {
+ return deleteWithResponseAsync(resourceGroupName, gatewayResourceName, context).block();
+ }
+
+ /**
+ * Gets the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the Gateway.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given 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.getSubscriptionId(),
+ this.client.getApiVersion(),
+ 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 the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the Gateway.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given resource group along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupSinglePageAsync(
+ String resourceGroupName, Context context) {
+ 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";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Gets the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the Gateway.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given 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 the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the Gateway.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given resource group as paginated response with {@link
+ * PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceGroupAsync(
+ String resourceGroupName, Context context) {
+ return new PagedFlux<>(
+ () -> listByResourceGroupSinglePageAsync(resourceGroupName, context),
+ nextLink -> listByResourceGroupNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Gets the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the Gateway.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName));
+ }
+
+ /**
+ * Gets the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the Gateway.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResourceGroup(
+ String resourceGroupName, Context context) {
+ return new PagedIterable<>(listByResourceGroupAsync(resourceGroupName, context));
+ }
+
+ /**
+ * Gets the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the gateway.
+ *
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given resource group along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync() {
+ 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
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ 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 the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the gateway.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given resource group along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(Context context) {
+ 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";
+ context = this.client.mergeContext(context);
+ return service
+ .list(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Gets the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the gateway.
+ *
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given resource group as paginated response with {@link
+ * PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync() {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(), nextLink -> listBySubscriptionNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Gets the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the gateway.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given resource group as paginated response with {@link
+ * PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(context), nextLink -> listBySubscriptionNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Gets the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the gateway.
+ *
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list() {
+ return new PagedIterable<>(listAsync());
+ }
+
+ /**
+ * Gets the information about all gateway resources in a given resource group. The information include the
+ * description and other properties of the gateway.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about all gateway resources in a given resource group as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(Context context) {
+ return new PagedIterable<>(listAsync(context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a pageable list of gateway resources along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupNextSinglePageAsync(
+ String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listByResourceGroupNext(nextLink, this.client.getEndpoint(), 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()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a pageable list of gateway resources along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResourceGroupNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a pageable list of gateway resources along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listBySubscriptionNextSinglePageAsync(
+ String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.listBySubscriptionNext(nextLink, this.client.getEndpoint(), 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()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a pageable list of gateway resources along with {@link PagedResponse} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listBySubscriptionNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listBySubscriptionNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/GatewaysImpl.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/GatewaysImpl.java
new file mode 100644
index 0000000000000..1f93147933e71
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/GatewaysImpl.java
@@ -0,0 +1,173 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+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.servicefabricmesh.fluent.GatewaysClient;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.GatewayResourceDescriptionInner;
+import com.azure.resourcemanager.servicefabricmesh.models.GatewayResourceDescription;
+import com.azure.resourcemanager.servicefabricmesh.models.Gateways;
+
+public final class GatewaysImpl implements Gateways {
+ private static final ClientLogger LOGGER = new ClientLogger(GatewaysImpl.class);
+
+ private final GatewaysClient innerClient;
+
+ private final com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager;
+
+ public GatewaysImpl(
+ GatewaysClient innerClient,
+ com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public GatewayResourceDescription getByResourceGroup(String resourceGroupName, String gatewayResourceName) {
+ GatewayResourceDescriptionInner inner =
+ this.serviceClient().getByResourceGroup(resourceGroupName, gatewayResourceName);
+ if (inner != null) {
+ return new GatewayResourceDescriptionImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getByResourceGroupWithResponse(
+ String resourceGroupName, String gatewayResourceName, Context context) {
+ Response inner =
+ this.serviceClient().getByResourceGroupWithResponse(resourceGroupName, gatewayResourceName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new GatewayResourceDescriptionImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public void deleteByResourceGroup(String resourceGroupName, String gatewayResourceName) {
+ this.serviceClient().delete(resourceGroupName, gatewayResourceName);
+ }
+
+ public Response deleteWithResponse(String resourceGroupName, String gatewayResourceName, Context context) {
+ return this.serviceClient().deleteWithResponse(resourceGroupName, gatewayResourceName, context);
+ }
+
+ public PagedIterable listByResourceGroup(String resourceGroupName) {
+ PagedIterable inner =
+ this.serviceClient().listByResourceGroup(resourceGroupName);
+ return Utils.mapPage(inner, inner1 -> new GatewayResourceDescriptionImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByResourceGroup(String resourceGroupName, Context context) {
+ PagedIterable inner =
+ this.serviceClient().listByResourceGroup(resourceGroupName, context);
+ return Utils.mapPage(inner, inner1 -> new GatewayResourceDescriptionImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list() {
+ PagedIterable inner = this.serviceClient().list();
+ return Utils.mapPage(inner, inner1 -> new GatewayResourceDescriptionImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(Context context) {
+ PagedIterable inner = this.serviceClient().list(context);
+ return Utils.mapPage(inner, inner1 -> new GatewayResourceDescriptionImpl(inner1, this.manager()));
+ }
+
+ public GatewayResourceDescription getById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String gatewayResourceName = Utils.getValueFromIdByName(id, "gateways");
+ if (gatewayResourceName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'gateways'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, gatewayResourceName, Context.NONE).getValue();
+ }
+
+ public Response getByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String gatewayResourceName = Utils.getValueFromIdByName(id, "gateways");
+ if (gatewayResourceName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'gateways'.", id)));
+ }
+ return this.getByResourceGroupWithResponse(resourceGroupName, gatewayResourceName, context);
+ }
+
+ public void deleteById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String gatewayResourceName = Utils.getValueFromIdByName(id, "gateways");
+ if (gatewayResourceName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'gateways'.", id)));
+ }
+ this.deleteWithResponse(resourceGroupName, gatewayResourceName, Context.NONE);
+ }
+
+ public Response deleteByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String gatewayResourceName = Utils.getValueFromIdByName(id, "gateways");
+ if (gatewayResourceName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String.format("The resource ID '%s' is not valid. Missing path segment 'gateways'.", id)));
+ }
+ return this.deleteWithResponse(resourceGroupName, gatewayResourceName, context);
+ }
+
+ private GatewaysClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager manager() {
+ return this.serviceManager;
+ }
+
+ public GatewayResourceDescriptionImpl define(String name) {
+ return new GatewayResourceDescriptionImpl(name, this.manager());
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/NetworkResourceDescriptionImpl.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/NetworkResourceDescriptionImpl.java
new file mode 100644
index 0000000000000..be67fbb19c81f
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/NetworkResourceDescriptionImpl.java
@@ -0,0 +1,148 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.NetworkResourceDescriptionInner;
+import com.azure.resourcemanager.servicefabricmesh.models.NetworkResourceDescription;
+import com.azure.resourcemanager.servicefabricmesh.models.NetworkResourceProperties;
+import java.util.Collections;
+import java.util.Map;
+
+public final class NetworkResourceDescriptionImpl
+ implements NetworkResourceDescription, NetworkResourceDescription.Definition {
+ private NetworkResourceDescriptionInner innerObject;
+
+ private final com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager;
+
+ NetworkResourceDescriptionImpl(
+ NetworkResourceDescriptionInner innerObject,
+ com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = 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 NetworkResourceProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public NetworkResourceDescriptionInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String networkResourceName;
+
+ public NetworkResourceDescriptionImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public NetworkResourceDescription create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getNetworks()
+ .createWithResponse(resourceGroupName, networkResourceName, this.innerModel(), Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public NetworkResourceDescription create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getNetworks()
+ .createWithResponse(resourceGroupName, networkResourceName, this.innerModel(), context)
+ .getValue();
+ return this;
+ }
+
+ NetworkResourceDescriptionImpl(
+ String name, com.azure.resourcemanager.servicefabricmesh.ServiceFabricMeshManager serviceManager) {
+ this.innerObject = new NetworkResourceDescriptionInner();
+ this.serviceManager = serviceManager;
+ this.networkResourceName = name;
+ }
+
+ public NetworkResourceDescription refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getNetworks()
+ .getByResourceGroupWithResponse(resourceGroupName, networkResourceName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public NetworkResourceDescription refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getNetworks()
+ .getByResourceGroupWithResponse(resourceGroupName, networkResourceName, context)
+ .getValue();
+ return this;
+ }
+
+ public NetworkResourceDescriptionImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public NetworkResourceDescriptionImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public NetworkResourceDescriptionImpl withProperties(NetworkResourceProperties properties) {
+ this.innerModel().withProperties(properties);
+ return this;
+ }
+
+ public NetworkResourceDescriptionImpl withTags(Map tags) {
+ this.innerModel().withTags(tags);
+ return this;
+ }
+}
diff --git a/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/NetworksClientImpl.java b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/NetworksClientImpl.java
new file mode 100644
index 0000000000000..17064556c7253
--- /dev/null
+++ b/sdk/servicefabricmesh/azure-resourcemanager-servicefabricmesh/src/main/java/com/azure/resourcemanager/servicefabricmesh/implementation/NetworksClientImpl.java
@@ -0,0 +1,1116 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.servicefabricmesh.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.PathParam;
+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.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.servicefabricmesh.fluent.NetworksClient;
+import com.azure.resourcemanager.servicefabricmesh.fluent.models.NetworkResourceDescriptionInner;
+import com.azure.resourcemanager.servicefabricmesh.models.ErrorErrorModelException;
+import com.azure.resourcemanager.servicefabricmesh.models.NetworkResourceDescriptionList;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in NetworksClient. */
+public final class NetworksClientImpl implements NetworksClient {
+ /** The proxy service used to perform REST calls. */
+ private final NetworksService service;
+
+ /** The service client containing this operation class. */
+ private final ServiceFabricMeshManagementClientImpl client;
+
+ /**
+ * Initializes an instance of NetworksClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ NetworksClientImpl(ServiceFabricMeshManagementClientImpl client) {
+ this.service = RestProxy.create(NetworksService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for ServiceFabricMeshManagementClientNetworks to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "ServiceFabricMeshMan")
+ private interface NetworksService {
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh"
+ + "/networks/{networkResourceName}")
+ @ExpectedResponses({200, 201, 202})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> create(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam(value = "networkResourceName", encoded = true) String networkResourceName,
+ @BodyParam("application/json") NetworkResourceDescriptionInner networkResourceDescription,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh"
+ + "/networks/{networkResourceName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> getByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam(value = "networkResourceName", encoded = true) String networkResourceName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh"
+ + "/networks/{networkResourceName}")
+ @ExpectedResponses({200, 202, 204})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam(value = "networkResourceName", encoded = true) String networkResourceName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabricMesh"
+ + "/networks")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> listByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabricMesh/networks")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ErrorErrorModelException.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(ErrorErrorModelException.class)
+ Mono> listBySubscriptionNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Creates a network resource with the specified name, description and properties. If a network resource with the
+ * same name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param networkResourceName The identity of the network.
+ * @param networkResourceDescription Description for creating a Network resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a network resource along with {@link Response} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createWithResponseAsync(
+ String resourceGroupName,
+ String networkResourceName,
+ NetworkResourceDescriptionInner networkResourceDescription) {
+ 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."));
+ }
+ if (networkResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter networkResourceName is required and cannot be null."));
+ }
+ if (networkResourceDescription == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter networkResourceDescription is required and cannot be null."));
+ } else {
+ networkResourceDescription.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ networkResourceName,
+ networkResourceDescription,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Creates a network resource with the specified name, description and properties. If a network resource with the
+ * same name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param networkResourceName The identity of the network.
+ * @param networkResourceDescription Description for creating a Network resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a network resource along with {@link Response} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createWithResponseAsync(
+ String resourceGroupName,
+ String networkResourceName,
+ NetworkResourceDescriptionInner networkResourceDescription,
+ Context context) {
+ 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."));
+ }
+ if (networkResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter networkResourceName is required and cannot be null."));
+ }
+ if (networkResourceDescription == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter networkResourceDescription is required and cannot be null."));
+ } else {
+ networkResourceDescription.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ networkResourceName,
+ networkResourceDescription,
+ accept,
+ context);
+ }
+
+ /**
+ * Creates a network resource with the specified name, description and properties. If a network resource with the
+ * same name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param networkResourceName The identity of the network.
+ * @param networkResourceDescription Description for creating a Network resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a network resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(
+ String resourceGroupName,
+ String networkResourceName,
+ NetworkResourceDescriptionInner networkResourceDescription) {
+ return createWithResponseAsync(resourceGroupName, networkResourceName, networkResourceDescription)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Creates a network resource with the specified name, description and properties. If a network resource with the
+ * same name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param networkResourceName The identity of the network.
+ * @param networkResourceDescription Description for creating a Network resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a network resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public NetworkResourceDescriptionInner create(
+ String resourceGroupName,
+ String networkResourceName,
+ NetworkResourceDescriptionInner networkResourceDescription) {
+ return createAsync(resourceGroupName, networkResourceName, networkResourceDescription).block();
+ }
+
+ /**
+ * Creates a network resource with the specified name, description and properties. If a network resource with the
+ * same name exists, then it is updated with the specified description and properties.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param networkResourceName The identity of the network.
+ * @param networkResourceDescription Description for creating a Network resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return this type describes a network resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response createWithResponse(
+ String resourceGroupName,
+ String networkResourceName,
+ NetworkResourceDescriptionInner networkResourceDescription,
+ Context context) {
+ return createWithResponseAsync(resourceGroupName, networkResourceName, networkResourceDescription, context)
+ .block();
+ }
+
+ /**
+ * Gets the information about the network resource with the given name. The information include the description and
+ * other properties of the network.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param networkResourceName The identity of the network.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the network resource with the given name along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupWithResponseAsync(
+ String resourceGroupName, String networkResourceName) {
+ 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."));
+ }
+ if (networkResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter networkResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .getByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ resourceGroupName,
+ networkResourceName,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets the information about the network resource with the given name. The information include the description and
+ * other properties of the network.
+ *
+ * @param resourceGroupName Azure resource group name.
+ * @param networkResourceName The identity of the network.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ErrorErrorModelException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the information about the network resource with the given name along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono